Postado Julho 8, 2018 7 anos Então, Tem esse mod no meu servidor, funciona e tal, mas quando um jogador sai de dentro dele sem ser completando ou morre dentro dele, o jogador fica impossibilitado de deslogar nem o ADM consegue kikar usando o comando /kick ou /r. Mod: Spoiler <?xml version="1.0" encoding="UTF-8"?> <mod name="Exame Chunin" enabled="yes" author="Demonbholder" forum="XTibia.com"> <config name="ArenaLib"><![CDATA[ dinheiro = 10000 storage = 40008 storage2 = 40007 playerpos = {x = 983, y = 893, z = 7} -- posicao da arena trofypos = {x=966, y=888, z=8} -- posicao da area apos a arena monpos = {x = 983, y = 889, z = 7} -- posicao onde o monstro sera criado fromPos,toPos = {x = 987, y = 887, z = 7},{x = 978, y = 894, z = 7} -- posio do canto superior direito, posio do canto inferior esquerdo da arena monsters = { [0] = 'kiba', [1] = 'neji', [2] = 'temari', [3] = 'shikamaru', [4] = 'sasuke', [5] = 'gaara' } function doRemoveCorpse(pos) for i = 1, 255 do corp = {x=pos.x, y=pos.y, z=pos.z, stackpos=i} if isCorpse(getThingFromPos(corp).uid) then break end end doRemoveItem(getThingFromPos(corp).uid, 1) end ]]></config> <creaturescript type="death" name="Arena" event="script"><![CDATA[ domodlib('ArenaLib') if isPlayer(deathList[1]) and isMonster(cid) then if getPlayerStorageValue(deathList[1], storage) > -1 and getPlayerStorageValue(deathList[1], storage) < 6 then setPlayerStorageValue(deathList[1], storage, getPlayerStorageValue(deathList[1], storage) + 1) addEvent(doRemoveCorpse, 500, getCreaturePosition(cid)) setPlayerStorageValue(deathList[1], storage2, -1) end if getPlayerStorageValue(deathList[1], storage) == 6 then doTeleportThing(deathList[1], trofypos) setPlayerStorageValue(deathList[1],49501,1) end end return TRUE ]]></creaturescript> <creaturescript type="kill" name="ArenaK" event="script"><![CDATA[ domodlib('ArenaLib') if isMonster(cid) and isPlayer(target) then if getPlayerStorageValue(target, storage) > -1 and getPlayerStorageValue(target, storage) < 6 then setPlayerStorageValue(target, storage, -1) setPlayerStorageValue(target, storage2, -1) doRemoveCreature(cid) addEvent(doRemoveCorpse, 500, getCreaturePosition(target)) end end return TRUE ]]></creaturescript> <creaturescript type="logout" name="ArenaL" event="script"><![CDATA[ domodlib('ArenaLib') if getPlayerStorageValue(cid, storage) > -1 and getPlayerStorageValue(cid, storage) < 6 then return FALSE, doPlayerSendCancel(cid, "You can't logout during arena!") end return TRUE ]]></creaturescript> <movevent type="StepIn" actionid="40000" event="script"><![CDATA[ domodlib('ArenaLib') if monsters[getPlayerStorageValue(cid, storage)] then if getPlayerStorageValue(cid, storage2) == -1 then local mon = doCreateMonster(monsters[getPlayerStorageValue(cid, storage)], monpos) setPlayerStorageValue(cid, storage2, 1) registerCreatureEvent(mon, "Arena") registerCreatureEvent(mon, "ArenaK") end end return TRUE ]]></movevent> <movevent type="StepIn" actionid="40001" event="script"><![CDATA[ domodlib('ArenaLib') for x = fromPos.x, toPos.x do for y = fromPos.y,toPos.y do local m = getTopCreature({x=x, y=y, z=fromPos.z}).uid if m~= 0 and isPlayer(m) then doTeleportThing(cid, fromPosition, true) return doPlayerSendCancel(cid, "Alguem esta fazendo o exame Chunin.") end end end if getPlayerMoney(cid) < dinheiro then return TRUE, doTeleportThing(cid, fromPosition), doPlayerSendCancel(cid, "Tens que ter 1g para fazer o exame chunin, sera para seus proprios medicamentos.") end doPlayerRemoveMoney(cid, dinheiro) setPlayerStorageValue(cid, storage, 0) doPlayerSendTextMessage(cid, 4, "Exame Chunin!") return TRUE, doTeleportThing(cid, playerpos) ]]></movevent> </mod> Olá, que tal dar uma olhada no meu projeto? https://discord.gg/bsNkbsyJ3W
Postado Julho 8, 2018 7 anos <?xml version="1.0" encoding="UTF-8"?> <mod name="Exame Chunin" enabled="yes" author="Demonbholder" forum="XTibia.com"> <config name="ArenaLib"><![CDATA[ dinheiro = 10000 storage = 40008 storage2 = 40007 playerpos = {x = 983, y = 893, z = 7} -- posicao da arena trofypos = {x=966, y=888, z=8} -- posicao da area apos a arena monpos = {x = 983, y = 889, z = 7} -- posicao onde o monstro sera criado fromPos,toPos = {x = 987, y = 887, z = 7},{x = 978, y = 894, z = 7} -- posio do canto superior direito, posio do canto inferior esquerdo da arena monsters = { [0] = 'kiba', [1] = 'neji', [2] = 'temari', [3] = 'shikamaru', [4] = 'sasuke', [5] = 'gaara' } function doRemoveCorpse(pos) for i = 1, 255 do corp = {x=pos.x, y=pos.y, z=pos.z, stackpos=i} if isCorpse(getThingFromPos(corp).uid) then break end end doRemoveItem(getThingFromPos(corp).uid, 1) end ]]></config> <creaturescript type="death" name="Arena" event="script"><![CDATA[ domodlib('ArenaLib') if isPlayer(deathList[1]) and isMonster(cid) then if getPlayerStorageValue(deathList[1], storage) >= 0 and getPlayerStorageValue(deathList[1], storage) < 6 then setPlayerStorageValue(deathList[1], storage, getPlayerStorageValue(deathList[1], storage) + 1) addEvent(doRemoveCorpse, 500, getCreaturePosition(cid)) setPlayerStorageValue(deathList[1], storage2, -1) end if getPlayerStorageValue(deathList[1], storage) == 6 then doTeleportThing(deathList[1], trofypos) setPlayerStorageValue(deathList[1],49501,1) end end return TRUE ]]></creaturescript> <creaturescript type="kill" name="ArenaK" event="script"><![CDATA[ domodlib('ArenaLib') if isMonster(cid) and isPlayer(target) then if getPlayerStorageValue(target, storage) >= 0 then setPlayerStorageValue(target, storage, -1) doTeleportThing(target, getTownTemplePosition(getPlayerTown(target))) setPlayerStorageValue(target, storage2, -1) doRemoveCreature(cid) addEvent(doRemoveCorpse, 500, getCreaturePosition(target)) end end return TRUE ]]></creaturescript> <creaturescript type="logout" name="ArenaL" event="script"><![CDATA[ domodlib('ArenaLib') if getPlayerStorageValue(cid, storage) >= 0 then return FALSE, doPlayerSendCancel(cid, "You can't logout during arena!") end return TRUE ]]></creaturescript> <movevent type="StepIn" actionid="40000" event="script"><![CDATA[ domodlib('ArenaLib') if monsters[getPlayerStorageValue(cid, storage)] then if getPlayerStorageValue(cid, storage2) == -1 then local mon = doCreateMonster(monsters[getPlayerStorageValue(cid, storage)], monpos) setPlayerStorageValue(cid, storage2, 1) registerCreatureEvent(mon, "Arena") registerCreatureEvent(mon, "ArenaK") end end return TRUE ]]></movevent> <movevent type="StepIn" actionid="40001" event="script"><![CDATA[ domodlib('ArenaLib') for x = fromPos.x, toPos.x do for y = fromPos.y,toPos.y do local m = getTopCreature({x=x, y=y, z=fromPos.z}).uid if m~= 0 and isPlayer(m) then doTeleportThing(cid, fromPosition, true) return doPlayerSendCancel(cid, "Alguem esta fazendo o exame Chunin.") end end end if getPlayerMoney(cid) < dinheiro then return TRUE, doTeleportThing(cid, fromPosition), doPlayerSendCancel(cid, "Tens que ter 1g para fazer o exame chunin, sera para seus proprios medicamentos.") end doPlayerRemoveMoney(cid, dinheiro) setPlayerStorageValue(cid, storage, 0) doPlayerSendTextMessage(cid, 4, "Exame Chunin!") return TRUE, doTeleportThing(cid, playerpos) ]]></movevent> </mod> [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Julho 8, 2018 7 anos Autor @Vodkart Vodkart, a script só da erro do player não deslogar quando 2 pessoas entram na arena, eu to vendo no mod que tem ali pra não fazer isso tem como dar uma olhada e me ajudar? pq não ta funcionando a parte de 2 pessoas não poder entrar Olá, que tal dar uma olhada no meu projeto? https://discord.gg/bsNkbsyJ3W
Postado Julho 9, 2018 7 anos Autor @Vodkart testei agora e só quem buga é quem entra no teleport quando alguem esta dentro. Olá, que tal dar uma olhada no meu projeto? https://discord.gg/bsNkbsyJ3W
Postado Julho 10, 2018 7 anos Autor @Vodkart Se puder me ajudar mano? o Exame Chunin esta dando os seguintes erros --> Não pode deslogar se entrar 2 pessoas no exame, 2 pessoas podem entrar no exame, as vezes o exame não funciona. Aqui o script do exame jounin que funciona perfeitamente 100% Spoiler <?xml version="1.0" encoding="UTF-8"?> <mod name="Exame Jounin" enabled="yes" author="Demonbholder" forum="XTibia.com"> <config name="ArenaLib2"><![CDATA[ dinheiro = 10000 storage = 47002 storage2 = 47003 playerpos = {x = 964, y = 899, z = 7} -- posicao da arena trofypos = {x=986, y=902, z=8} -- posicao da area apos a arena monpos = {x = 964, y = 894, z = 7} -- posicao onde o monstro sera criado fromPos,toPos = {x = 960, y = 893, z = 7},{x = 969, y = 900, z = 7} -- posio do canto superior direito, posio do canto inferior esquerdo da arena monsters = { [0] = 'uchiha fugaku', [1] = 'chouza akimichi', [2] = 'anko', [3] = 'zabuza', [4] = 'kakashi' } function doRemoveCorpse(pos) for i = 0, 255 do pos.stackpos = i tile = getTileThingByPos(pos) if tile.uid > 0 and isCorpse(tile.uid) then doRemoveItem(tile.uid) end end end ]]></config> <creaturescript type="death" name="Arena2" event="script"><![CDATA[ domodlib('ArenaLib2') if isPlayer(deathList[1]) and isMonster(cid) then if getPlayerStorageValue(deathList[1], storage) > -1 and getPlayerStorageValue(deathList[1], storage) < 5 then setPlayerStorageValue(deathList[1], storage, getPlayerStorageValue(deathList[1], storage) + 1) addEvent(doRemoveCorpse, 500, getCreaturePosition(cid)) setPlayerStorageValue(deathList[1], storage2, -1) end if getPlayerStorageValue(deathList[1], storage) == 5 then doTeleportThing(deathList[1], trofypos) setPlayerStorageValue(deathList[1],49502,1) end end return TRUE ]]></creaturescript> <creaturescript type="kill" name="ArenaK2" event="script"><![CDATA[ domodlib('ArenaLib2') if isMonster(cid) and isPlayer(target) then if getPlayerStorageValue(target, storage) > -1 and getPlayerStorageValue(target, storage) < 5 then setPlayerStorageValue(target, storage, -1) setPlayerStorageValue(target, storage2, -1) doRemoveCreature(cid) addEvent(doRemoveCorpse, 500, getCreaturePosition(target)) end end return TRUE ]]></creaturescript> <creaturescript type="logout" name="ArenaL2" event="script"><![CDATA[ domodlib('ArenaLib2') if isInRange(getPlayerPosition(cid), fromPos, toPos) then return FALSE, doPlayerSendCancel(cid, "You can't logout during arena!") end return TRUE ]]></creaturescript> <movevent type="StepIn" actionid="40003" event="script"><![CDATA[ domodlib('ArenaLib2') if monsters[getPlayerStorageValue(cid, storage)] then if getPlayerStorageValue(cid, storage2) == -1 then local mon = doCreateMonster(monsters[getPlayerStorageValue(cid, storage)], monpos) setPlayerStorageValue(cid, storage2, 1) registerCreatureEvent(mon, "Arena2") registerCreatureEvent(mon, "ArenaK2") end end return TRUE ]]></movevent> <movevent type="StepIn" actionid="40002" event="script"><![CDATA[ domodlib('ArenaLib2') for x = fromPos.x, toPos.x do for y = fromPos.y,toPos.y do local m = getTopCreature({x=x, y=y, z=fromPos.z}).uid if m~= 0 and isPlayer(m) then doTeleportThing(cid, fromPosition, true) return doPlayerSendCancel(cid, "Alguem esta fazendo o exame Jounin.") end end end if getPlayerMoney(cid) < dinheiro then return TRUE, doTeleportThing(cid, fromPosition), doPlayerSendCancel(cid, "Tens que ter 1g para fazer o exame jounin, sera para seus proprios medicamentos.") end doPlayerRemoveMoney(cid, dinheiro) setPlayerStorageValue(cid, storage, 0) doPlayerSendTextMessage(cid, 4, "Exame Jounin!") return TRUE, doTeleportThing(cid, playerpos) ]]></movevent> </mod> E aqui o do chunin que esta bugando. Spoiler <?xml version="1.0" encoding="UTF-8"?> <mod name="Exame Chunin" enabled="yes" author="Demonbholder" forum="XTibia.com"> <config name="ArenaLib"><![CDATA[ dinheiro = 10000 storage = 40008 storage2 = 40007 playerpos = {x = 983, y = 893, z = 7} -- posicao da arena trofypos = {x=966, y=888, z=8} -- posicao da area apos a arena monpos = {x = 983, y = 889, z = 7} -- posicao onde o monstro sera criado fromPos,toPos = {x = 987, y = 887, z = 7},{x = 978, y = 894, z = 7} -- posio do canto superior direito, posio do canto inferior esquerdo da arena monsters = { [0] = 'kiba', [1] = 'neji', [2] = 'temari', [3] = 'shikamaru', [4] = 'sasuke', [5] = 'gaara' } function doRemoveCorpse(pos) for i = 1, 255 do corp = {x=pos.x, y=pos.y, z=pos.z, stackpos=i} if isCorpse(getThingFromPos(corp).uid) then break end end doRemoveItem(getThingFromPos(corp).uid, 1) end ]]></config> <creaturescript type="death" name="Arena" event="script"><![CDATA[ domodlib('ArenaLib') if isPlayer(deathList[1]) and isMonster(cid) then if getPlayerStorageValue(deathList[1], storage) >= 0 and getPlayerStorageValue(deathList[1], storage) < 6 then setPlayerStorageValue(deathList[1], storage, getPlayerStorageValue(deathList[1], storage) + 1) addEvent(doRemoveCorpse, 500, getCreaturePosition(cid)) setPlayerStorageValue(deathList[1], storage2, -1) end if getPlayerStorageValue(deathList[1], storage) == 6 then doTeleportThing(deathList[1], trofypos) setPlayerStorageValue(deathList[1],49501,1) end end return TRUE ]]></creaturescript> <creaturescript type="kill" name="ArenaK" event="script"><![CDATA[ domodlib('ArenaLib') if isMonster(cid) and isPlayer(target) then if getPlayerStorageValue(target, storage) >= 0 then setPlayerStorageValue(target, storage, -1) doTeleportThing(target, getTownTemplePosition(getPlayerTown(target))) setPlayerStorageValue(target, storage2, -1) doRemoveCreature(cid) addEvent(doRemoveCorpse, 500, getCreaturePosition(target)) end end return TRUE ]]></creaturescript> <creaturescript type="logout" name="ArenaL" event="script"><![CDATA[ domodlib('ArenaLib') if getPlayerStorageValue(cid, storage) >= 0 then return FALSE, doPlayerSendCancel(cid, "You can't logout during arena!") end return TRUE ]]></creaturescript> <movevent type="StepIn" actionid="40000" event="script"><![CDATA[ domodlib('ArenaLib') if monsters[getPlayerStorageValue(cid, storage)] then if getPlayerStorageValue(cid, storage2) == -1 then local mon = doCreateMonster(monsters[getPlayerStorageValue(cid, storage)], monpos) setPlayerStorageValue(cid, storage2, 1) registerCreatureEvent(mon, "Arena") registerCreatureEvent(mon, "ArenaK") end end return TRUE ]]></movevent> <movevent type="StepIn" actionid="40001" event="script"><![CDATA[ domodlib('ArenaLib') for x = fromPos.x, toPos.x do for y = fromPos.y,toPos.y do local m = getTopCreature({x=x, y=y, z=fromPos.z}).uid if m~= 0 and isPlayer(m) then doTeleportThing(cid, fromPosition, true) return doPlayerSendCancel(cid, "Alguem esta fazendo o exame Chunin.") end end end if getPlayerMoney(cid) < dinheiro then return TRUE, doTeleportThing(cid, fromPosition), doPlayerSendCancel(cid, "Tens que ter 1g para fazer o exame chunin, sera para seus proprios medicamentos.") end doPlayerRemoveMoney(cid, dinheiro) setPlayerStorageValue(cid, storage, 0) doPlayerSendTextMessage(cid, 4, "Exame Chunin!") return TRUE, doTeleportThing(cid, playerpos) ]]></movevent> </mod> Olá, que tal dar uma olhada no meu projeto? https://discord.gg/bsNkbsyJ3W
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.