Postado Novembro 24, 2014 10 anos Não que esteja ruim, não. Não foi por isso que eu citei, mas você copiar algo e nem sequer citar sobre o desenvolvedor é plágio. Tá certo, haja como quiser. The corrupt fear us. The honest support us. The heroic join us.
Postado Novembro 24, 2014 10 anos Tá bom, mestre da arte do CTRL+C/CTRL+V. Enfim, não vou discutir com criança.@avalax Apropriei o script: local tab = { effect = {55, 1000}, -- {magicEffectNumber, delay em milissegundos} stor = 54321 -- storage } local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, -1) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 30) function effectOnEquip(cid) if not isCreature(cid) then return false end if getPlayerStorageValue(cid, tab.stor) < 1 then return false end doSendMagicEffect(getThingPos(cid), tab.effect[1]) return addEvent(effectOnEquip, tab.effect[2] * 1000, cid) end function onEquip(cid, item) if getPlayerStorageValue(cid, tab.stor) < 1 then setPlayerStorageValue(cid, tab.stor, 1) doChangeSpeed(cid, getCreatureSpeed(cid) + 30) doAddCondition(cid, condition) return addEvent(effectOnEquip, tab.effect[2] * 1000, cid) end return true end function onDeEquip(cid, item) setPlayerStorageValue(cid, tab.stor, -1) doChangeSpeed(cid, getCreatureSpeed(cid) - 30) doRemoveCondition(cid, CONDITION_ATTRIBUTES) return true end Só pra garantir que o player fique com a storage negativa ao morrer/fazer logout:itembuff.lua (data/creaturescripts/scripts): local item, stor = 1234, 54321 -- itemID, storage function onPrepareDeath(cid) if getPlayerStorageValue(cid, stor) > 0 then setPlayerStorageValue(cid, stor, -1) if isContainer(getPlayerSlotItem(cid, 3).uid) then doRemovePlayerItem(cid, item, 1) doAddContainerItem(getPlayerSlotItem(cid, 3).uid, item, 1) end end return true end function onLogout(cid) if getPlayerStorageValue(cid, stor) > 0 then setPlayerStorageValue(cid, stor, -1) if isContainer(getPlayerSlotItem(cid, 3).uid) then doRemovePlayerItem(cid, item, 1) doAddContainerItem(getPlayerSlotItem(cid, 3).uid, item, 1) end end return true end PS: a storage usado no creature script tem de ser a mesma do movement script. Tag - creaturescripts.xml (data/creaturescripts): <event type="preparedeath" name="ItemBuffPD" event="script" value="itembuff.lua"/> <event type="logout" name="ItemBuffLO" event="script" value="itembuff.lua"/> Adicione o registro do creature event (preparedeath) em login.lua (data/creaturescripts/scripts): registerCreatureEvent(cid, "ItemBuffPD") The corrupt fear us. The honest support us. The heroic join us.
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.