Postado Setembro 27, 2017 7 anos Pessoal, estou a procura de um script action que triplica a velocidade do jogador por um tempo (30min) - o player usa o item (removivel) e tem a velocidade do char triplicada e nesse tempo que está sob o efeito do item o char ficasse soltando green sparks (efeito 14), palavra "+Speed" em verde e mostrasse um timer pra acabar o efeito. Editado Setembro 28, 2017 7 anos por dimmebag (veja o histórico de edições)
Postado Setembro 28, 2017 7 anos Solução Em actions/scripts, crie um arquivo: itemspeed.lua Spoiler local multiplier = 3 -- quantas vezes vai aumentar a speed local duration = {30, "min"} local t = { effect = CONST_ME_MAGIC_GREEN, -- id do efeito text = "+Speed", time = 3, -- intervalo entre efeitos em segundos color = COLOR_GREEN } function onUse(cid, item, fromPosition, itemEx, toPosition) setPlayerStorageValue(cid, 19067, 1) doChangeSpeed(cid, (multiplier-1)*getCreatureSpeed(cid)) addEvent(doSetBaseSpeed, mathtime(duration)*1000, cid) SendEffect(cid, t.effect, t.text, t.time, t.color, condition) doRemoveItem(item.uid,1) return true end function doSetBaseSpeed(cid) if isPlayer(cid) then setPlayerStorageValue(cid, 19067, -1) doChangeSpeed(cid, getCreatureBaseSpeed(cid)-getCreatureSpeed(cid)) end end function SendEffect(cid, effect, text, time, color, condition) if isPlayer(cid) and getPlayerStorageValue(cid, 19067) == 1 then doSendMagicEffect(getPlayerPosition(cid), effect) doSendAnimatedText(getPlayerPosition(cid), text, color) addEvent(SendEffect, time*1000, cid, effect, text, time, color, condition) end return true end function mathtime(table) -- by dwarfer local unit = {"sec", "min", "hour", "day"} for i, v in pairs(unit) do if v == table[2] then return table[1]*(60^(v == unit[4] and 2 or i-1))*(v == unit[4] and 24 or 1) end end return error("Bad declaration in mathtime function.") end Em actions.xml: <action itemid="ID_DO_ITEM" script="itemspeed.lua" /> Contato: Email: [email protected] Discord: Dwarfer#2715
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.