Spell:
local config = {
time = 10, --Tempo de stun.
statue = xxx, --ID da estátua.
storage = 9181
}
function onCastSpell(cid)
local target = getCreatureTarget(cid)
if not isCreature(target) then
return doPlayerSendCancel(cid, "You do not have a target.")
end
doCreatureSetNoMove(target, true)
doCreateItem(config.statue, 1, getThingPos(target))
setPlayerStorageValue(target, config.storage, 1)
local guid, toPos = getPlayerGUID(target), getThingPos(target)
addEvent(function()
local item = getTileItemById(toPos, config.statue).uid
if item > 0 then
doRemoveItem(item)
end
local pid = isCreature(target) and target or getPlayerByName(getPlayerNameByGUID(guid))
if isCreature(pid) then
setPlayerStorageValue(pid, config.storage, -1)
doCreatureSetNoMove(pid, false)
else
db.executeQuery("UPDATE player_storage SET value = -1 WHERE key = "..config.storage.." AND player_id = "..guid)
end
end, config.time * 1000)
return true
end
data/creaturescripts/scripts:
local storage = 9181
function onTarget(cid, target)
return getPlayerStorageValue(target, storage) < 1
end
function onStatsChange(cid, attacker, type, combat, value)
return getPlayerStorageValue(cid, storage) < 1
end
function onLogin(cid)
registerCreatureEvent(cid, "stunStatsChange")
registerCreatureEvent(cid, "stunTarget")
return true
end
Tags:
<event type="login" name="stunLogin" event="script" value="nome_do_arquivo.lua"/>
<event type="statschange" name="stunStatsChange" event="script" value="nome_do_arquivo.lua"/>
<event type="target" name="stunTarget" event="script" value="nome_do_arquivo.lua"/>
Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.