[spoiler=Padrão]
Nome: Delay em Escadas;
Autor: MiltonHit, Mirto;
Testada: Sim, TFS 0.3.6 (8.54).
Olá, hoje vou postar um script muito simples, porém bastante legal e útil. Ele é o seguinte, quando o player sobe ou desce uma escada, o script faz o player esperar um tempo configurável não repetir a mesma ação, ou seja, ele terá de esperar o tempo que você determinar para subir ou descer alguma escada novamente, ideal para servidores que tem muito PvP de escadas.
Em data/movements/scripts copie um arquivo qualquer .lua e renomeie para stairs.lua, apague tudo que estiver la dentro e coloque o seguinte code:
function onStepIn(cid, item, position, fromPosition)
local storage = 89301 --storage gravada
local delay = 1 --tempo configuravel do delay
if (getPlayerStorageValue(cid, storage) <= os.time()) then
setPlayerStorageValue(cid, storage, os.time()+delay)
return true
else
doTeleportThing(cid, fromPosition, false)
doPlayerSendCancel(cid, "Wait one moment for use this stair.")
end
return true
end
Bom, agora vem a parte mais "chata", você precisa setar o id de todas escadas do servidor, tanto as que descem quanto as que sobem, eu vou postar a lista que eu fiz para o meu servidor (8.54) mais se o seu servidor for outra versão com certeza você terá de alterar os IDS, vá em data/movements/movements.xml e adicione a seguinte linha:
<movevent type="StepIn" itemid="459;8564;8565;8566;8560;8561;8562;8563;8559;6924;6923;6922;6918;6919;6920;6917;9574;480;5259;5260;3687;3688;9573;1388;1390;1392;1394;5258;6921;6130;6129;6128;411;423;4836;9846;432;433;4837;475;429;3138;8282;476;3219;3220;8283;479;4834;4835;7925;7924;1396;1385;8372;6915;6913;6911;6909;3685;3683;3681;8374;8376;8378" event="script" value="stairs.lua"/>
Pronto, está tudo instalado! Só não se esqueça que se você não configurar essa linha acima de acordo com o seu servidor, você poderá ter problemas. Abraços, qualquer coisa dá um grito.