Ir para conteúdo
  • 0

perfect teleport


narutomaniacos

Pergunta

Bom pessoal, vasculhando pelo forum encontrei um talkaction de teleport, faltava algumas coisas eu adicionei com ajuda de membros mas ainda preciso de ajuda em 2 coisas para deixar o teleport perfeito, me ajudando vai estar ajudando a comunidade pois irei postar o script.

1° coisa, na verdade nem sei se é possível: deixar o player completamente paralisado durante os 10 segundos em que o player vai estar sendo teletransportado(se possível, com uma mensagem "você não pode se mover enquanto teleporta")

 

2° durante os 10 segundos o player fique com um efeito que só acabe quando ele for teleportado.

 

 

script:

 

--[[script By Vodkart]]--

function onSay(cid, words, param)
if getPlayerStorageValue(cid, 212193) > os.time() then
return doPlayerSendCancel(cid, "Espere " .. getPlayerStorageValue(cid, 212193) - os.time() .. " segundos.")
end
local config = {
pz = False, -- players precisam estar em protection zone para usar? (true or false)
battle = true, -- players deve estar sem battle (true or false)
custo = true, -- se os teleport irão custa (true or false)
need_level = true, -- se os teleport irão precisar de level (true or false)
premium = false, -- se precisa ser premium account (true or false)
}
--[[ Config lugares]]--
local lugar = {
["depot"] = { -- nome do lugar
pos = {x=122, y=836, z=7},level = 50,price = 1000},
["templo"] = { -- nome do lugar
pos = {x=99, y=188, z=7},level = 50, price = 2000},
["trainer"] = { -- nome do lugar
pos = {x=334, y=265, z=15},level = 20,price = 3000},
["yama"] ={ -- nome do lugar
pos = {x=301, y=842, z=15},level = 10,price = 4000}
}
--[[ Lista de Viagem (Não mexa) ]]--
if (param == "lista") then
local str = ""
str = str .. "lista de viagem :\n\n"
for name, pos in pairs(lugar) do
str = str..name.."\n"
end
str = str .. ""
doShowTextDialog(cid, 6579, str)
return TRUE
end
local a = lugar[param]
if not(a) then
doPlayerSendTextMessage(cid, 22, "Este Local Não Esta Disponivel Cheque A Lista Dos Locais !tp lista")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return TRUE
elseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.")
return TRUE
elseif config.premium == true and not isPremium(cid) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players com premium account podem teleportar.")
return TRUE
elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.")
return TRUE
elseif config.need_level == true and getPlayerLevel(cid) < a.level then
doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return TRUE
elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then
doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return TRUE
end
addEvent(function()
if isCreature(cid) then
doTeleportThing(cid, a.pos)
doSendMagicEffect(getPlayerPosition(cid), 115)
end
end, 5 * 1000, cid, townpos) -- 10 * 1000 representa 10 segundos ate teleportar.
doPlayerSendTextMessage(cid, 22, "" .. getPlayerName(cid) .. " Está Em Teletransporte Para: \n " .. param .. ".")
setPlayerStorageValue(cid, 212193, os.time() + 300) -- tempo em segundos.
return TRUE
end

 

Desde já obrigado.

 

 

 


@UP

@up


@UP


@UP

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

×
×
  • Criar Novo...