Postado Outubro 17, 2014 10 anos Em 17/10/2014 em 18:44, Ribeiro Foda disse: só que ai quando o player desloga com o script funcionando o OT dá varios erros e fecha Em 17/10/2014 em 22:12, Ribeiro Foda disse: ESTÁ DANDO ESTE ERRO! E ISSO QUE FAZ TRAVAR! [17/10/2014 19:10:02] [GOD] R1B31R0 has logged out. Já que isso só ocorre se o player fizer logout, tenta adicionar uma condição a ele ao usar a spell para que não possa sair do jogo, a não ser morrendo: local tempo = 400 local distance_effect = 37 local condition_infight = createConditionObject(CONDITION_INFIGHT) setConditionParam(condition_infight, CONDITION_PARAM_TICKS, -1) local function getPosDirs(p, dir) return dir == 1 and {x=p.x-1, y=p.y+1, z=p.z} or dir == 2 and {x=p.x-1, y=p.y-1, z=p.z} or dir == 3 and {x=p.x+1, y=p.y-1, z=p.z} or dir == 4 and {x=p.x+1, y=p.y+1, z=p.z} or dir == 5 and {x=p.x-1, y=p.y+1, z=p.z} end local f = 1 local function executeEffect(cid) if isCreature(cid) then doSendDistanceShoot(getPosDirs(getThingPos(cid), f), getPosDirs(getThingPos(cid), f+1), distance_effect) if f == 4 then f = 1 else f = f + 1 end addEvent(executeEffect, tempo, cid) end end function onCastSpell(cid, var) if getPlayerStorageValue(cid, 101518) < 0 then executeEffect(cid) setPlayerStorageValue(cid, 101518, 1) doAddCondition(cid, condition_infight) else return doPlayerSendCancel(cid, "You cannot use this spell.") and false end return true end Esses seus creaturescripts estão muito confusos em relação aos valores da storage na spell. Retire-os do seu servidor e use este: deathorlog.lua function onDeath(cid, corpse, lastHitKiller, mostDamageKiller) if isPlayer(lastHitKiller) then setPlayerStorageValue(lastHitKiller, 101518, -1) end return true end function onLogout(cid) if getPlayerStorageValue(cid, 101518) > 0 then setPlayerStorageValue(cid, 101518, -1) end return true end Adicione as tags (creaturescripts.xml): <event type="death" name="SpellDeath" script="deathorlog.lua"/> <event type="logout" name="SpellLogout" script="deathorlog.lua"/> Procure e abra o arquivo login.lua (data/creaturescripts/scripts) e adicione as linhas de registros à ele: registerCreatureEvent(cid, "SpellDeath") registerCreatureEvent(cid, "SpellLogout") Espero ter ajudado. Editado Outubro 18, 2014 10 anos por Suicide (veja o histórico de edições)
Postado Outubro 18, 2014 10 anos Autor Deu um erro aqui: [17/10/2014 23:22:46] Warning: [Event::loadScript] Can not load script. data/creaturescripts/scripts/deathorlog.lua [17/10/2014 23:22:46] data/creaturescripts/scripts/deathorlog.lua:11: 'end' expected (to close 'function' at line 7) near '<eof>' [17/10/2014 23:22:46] Warning: [Event::loadScript] Can not load script. data/creaturescripts/scripts/deathorlog.lua [17/10/2014 23:22:46] data/creaturescripts/scripts/deathorlog.lua:11: 'end' expected (to close 'function' at line 7) near '<eof>' e mesmo relogando com o efeito ele da o mesmo erro: [17/10/2014 19:10:02] Lua Script Error: [spell Interface] [17/10/2014 19:10:02] in a timer event called from: [17/10/2014 19:10:02] data/spells/scripts/monsters/rodopio.lua:onCastSpell [17/10/2014 19:10:02] luaGetThingPos(). Thing not found Editado Outubro 18, 2014 10 anos por Ribeiro Foda (veja o histórico de edições)
Postado Outubro 18, 2014 10 anos Nossa, postei o script errado, desatenção minha..desculpa. Taí:deathorlog.lua function onDeath(cid, corpse, lastHitKiller, mostDamageKiller) if isPlayer(lastHitKiller) then setPlayerStorageValue(lastHitKiller, 101518, -1) end return true end function onLogout(cid) if getPlayerStorageValue(cid, 101518) > 0 then setPlayerStorageValue(cid, 101518, -1) end return true end Em 18/10/2014 em 02:23, Ribeiro Foda disse: e mesmo relogando com o efeito ele da o mesmo erro: [17/10/2014 19:10:02] Lua Script Error: [spell Interface] [17/10/2014 19:10:02] in a timer event called from: [17/10/2014 19:10:02] data/spells/scripts/monsters/rodopio.lua:onCastSpell [17/10/2014 19:10:02] luaGetThingPos(). Thing not found hm.. Editado Outubro 18, 2014 10 anos por Suicide (veja o histórico de edições)
Postado Outubro 18, 2014 10 anos Autor Mano não deu nenhum erro, mais ai quando eu mato e falo a palavra ele roda, mais depois que relogo ele não volta e da o erro! Editado Outubro 18, 2014 10 anos por Ribeiro Foda (veja o histórico de edições)
Postado Outubro 18, 2014 10 anos Em 18/10/2014 em 02:39, Ribeiro Foda disse: mais depois que relogo ele não volta e da o erro! ele não volta e da o erro, você quer dizer que o servidor cai definitivamente só acusando o mesmo erro?
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.