Ir para conteúdo

Featured Replies

Postado

Olá, tenho aqui um Mod de exame jounin e ele esta falhando quando mato o primeiro monstro.

Erro na distro:

Spoiler

[21:27:15.804] end:onDeath
[21:27:15.805] Description:
[21:27:15.805] (luaGetThing) Thing not found

[21:27:15.806] [Error - CreatureScript Interface]
[21:27:15.807] In a timer event called from:
[21:27:15.808] function onDeath(cid, corpse, deathList)
[21:27:15.811] domodlib('ArenaLib2')
[21:27:15.811] if isPlayer(deathList[1]) and isMonster(cid) then
[21:27:15.812] if getPlayerStorageValue(deathList[1], storage) > -1 and getPlayerStorageValue(deathList[1], storage) < 5 then
[21:27:15.814] setPlayerStorageValue(deathList[1], storage, getPlayerStorageValue(deathList[1], storage) + 1)
[21:27:15.815] addEvent(doRemoveCorpse, 500, getCreaturePosition(cid))
[21:27:15.815] setPlayerStorageValue(deathList[1], storage2, -1)
[21:27:15.816] end
[21:27:15.817] if getPlayerStorageValue(deathList[1], storage) == 5 then
[21:27:15.817] doTeleportThing(deathList[1], trofypos)
[21:27:15.818] setPlayerStorageValue(deathList[1],49502,1)
[21:27:15.821] end
[21:27:15.822] end
[21:27:15.823] return TRUE

[21:27:15.824] end:onDeath
[21:27:15.825] Description:
[21:27:15.826] (luaDoRemoveItem) Item not found


E aqui a script:

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 = 969, y = 893, z = 7},{x = 960, 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 = 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="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 getPlayerStorageValue(cid, storage) > -1 and getPlayerStorageValue(cid, storage) < 5 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>

 

@Vodkart

VlVKQKC.png&key=d5c17620ae9567a1f898dd7a

 

 

 

  • 532144234_Logo_NTO_BLOOD_Finish_HIM_By_Antonio_Luckas(3).png.fd58d1af125a7e82ccdd751637e9ca93.png

Resolvido por Vodkart

Ir para solução
  • Respostas 7
  • Visualizações 458
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • <?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

Postado

tenta trocar essa função:

 

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

 

por essa:

 

 

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

 

acho que com essa edição funciona

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • Autor

@Vodkart mano no script também quando sai da arena por tp ele não consegue deslogar nem dentro do dp como desativo a opção de não deixar o player deslogar dentro da arena? (n é nologout no rme é no mod mesmo) ele buga e não deixa mais o player desloga não desloga nem com /r ou /kick

VlVKQKC.png&key=d5c17620ae9567a1f898dd7a

 

 

 

  • 532144234_Logo_NTO_BLOOD_Finish_HIM_By_Antonio_Luckas(3).png.fd58d1af125a7e82ccdd751637e9ca93.png
Postado
  • Solução
<?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>

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • Autor

@Vodkart Sei que o topico ja esta respondido mas devido o bug de cima meu adm não desloga mais, nem fechando e abrindo o servidor, não queria resetar a database só por isso teria como desbugar por algum lugar?

VlVKQKC.png&key=d5c17620ae9567a1f898dd7a

 

 

 

  • 532144234_Logo_NTO_BLOOD_Finish_HIM_By_Antonio_Luckas(3).png.fd58d1af125a7e82ccdd751637e9ca93.png

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.8k

Informação Importante

Confirmação de Termo