Ir para conteúdo

Pergunta

Oi galera do Xtibia, hoje alguns players foram fazer a quest anihilator, e quando acionaram a alavanca apareceu esse erro no console:

 

errosr.png

 

Alguém saberia me dizer o que está acontecendo e poderia me ajudar a resolver isso!?

 

Segue o script da anihilator:

 

function onUse(cid, item, frompos, item2, topos)
if item.uid == 7000 then
if item.itemid == 1946 then
player1pos = {x=194, y=118, z=9, stackpos=253}
player1 = getThingfromPos(player1pos)
player2pos = {x=193, y=118, z=9, stackpos=253}
player2 = getThingfromPos(player2pos)
player3pos = {x=192, y=118, z=9, stackpos=253}
player3 = getThingfromPos(player3pos)
player4pos = {x=191, y=118, z=9, stackpos=253}
player4 = getThingfromPos(player4pos)

if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then
player1level = getPlayerLevel(player1.uid)
player2level = getPlayerLevel(player2.uid)
player3level = getPlayerLevel(player3.uid)
player4level = getPlayerLevel(player4.uid)
questlevel = 100
if player1level >= questlevel and player2level >= questlevel and player3level >= questlevel and player4level >= questlevel then
demon1pos = {x=190, y=116, z=10}
demon2pos = {x=192, y=116, z=10}
demon3pos = {x=191, y=120, z=10}
demon4pos = {x=193, y=120, z=10}
demon5pos = {x=194, y=118, z=10}
demon6pos = {x=195, y=118, z=10}
doSummonCreature("Demon", demon1pos)
doSummonCreature("Demon", demon2pos)
doSummonCreature("Demon", demon3pos)
doSummonCreature("Demon", demon4pos)
doSummonCreature("Demon", demon5pos)
doSummonCreature("Demon", demon6pos)
nplayer1pos = {x=193, y=118, z=10}
nplayer2pos = {x=192, y=118, z=10}
nplayer3pos = {x=191, y=118, z=10}
nplayer4pos = {x=190, y=118, z=10}
doSendMagicEffect(player1pos,2)
doSendMagicEffect(player2pos,2)
doSendMagicEffect(player3pos,2)
doSendMagicEffect(player4pos,2)
doTeleportThing(player1.uid,nplayer1pos)
doTeleportThing(player2.uid,nplayer2pos)
doTeleportThing(player3.uid,nplayer3pos)
doTeleportThing(player4.uid,nplayer4pos)
doSendMagicEffect(nplayer1pos,10)
doSendMagicEffect(nplayer2pos,10)
doSendMagicEffect(nplayer3pos,10)
doSendMagicEffect(nplayer4pos,10)
doTransformItem(item.uid,1945)
else
doPlayerSendCancel(cid,"All players must have level 100 to enter.")
end
else
doPlayerSendCancel(cid,"You need 4 players in your team.")
end
end
if item.itemid == 1945 then
starting={x=188, y=111, z=10, stackpos=253}
checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}
ending={x=210, y=122, z=10, stackpos=253}
players=0
totalmonsters=0
monster = {}
repeat
creature= getThingfromPos(checking)
if creature.itemid > 0 then
if getPlayerAccess(creature.uid) == 0 then
players=players+1
end
if getPlayerAccess(creature.uid) ~= 0 and getPlayerAccess(creature.uid) ~= 3 then
totalmonsters=totalmonsters+1
monster[totalmonsters]=creature.uid
end
end
checking.x=checking.x+1
if checking.x>ending.x then
checking.x=starting.x
checking.y=checking.y+1
end
until checking.y>ending.y
if players==0 then
trash= {x=233, y=125, z=10}
current=0
repeat
current=current+1
doTeleportThing(monster[current],trash)
until current>=totalmonsters
doTransformItem(item.uid,1946)
end

end
end
if item.uid == 5006 then
queststatus = getPlayerStorageValue(cid,100)
if queststatus == -1 then
doPlayerSendTextMessage(cid,22,"You have found a demon armor.")
doPlayerAddItem(cid,2494,1)
setPlayerStorageValue(cid,100,1)
else
doPlayerSendTextMessage(cid,22,"It is empty.")
end
end
if item.uid == 5007 then
queststatus = getPlayerStorageValue(cid,100)
if queststatus ~= 1 then
doPlayerSendTextMessage(cid,22,"You have found a magic sword.")
doPlayerAddItem(cid,2400,1)
setPlayerStorageValue(cid,100,1)
else
doPlayerSendTextMessage(cid,22,"It is empty.")
end
end
if item.uid == 5008 then
queststatus = getPlayerStorageValue(cid,100)
if queststatus ~= 1 then
doPlayerSendTextMessage(cid,22,"You have found a stonecutter axe.")
doPlayerAddItem(cid,2431,1)
setPlayerStorageValue(cid,100,1)
else
doPlayerSendTextMessage(cid,22,"It is empty.")
end
end
if item.uid == 5009 then
queststatus = getPlayerStorageValue(cid,100)
if queststatus ~= 1 then
doPlayerSendTextMessage(cid,22,"You have found a Thunder Hammer.")
doPlayerAddItem(cid,2421,1)
setPlayerStorageValue(cid,100,1)
else
doPlayerSendTextMessage(cid,22,"It is empty.")
end
end
return 1
end

 

 

Agradeço desde que nasci!

 

Abraços!

Link para o comentário
https://xtibia.com/forum/topic/202497-erro-no-script-da-anihilator/
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
  Em 26/12/2012 em 12:09, Krhiegen disse:

Você alterou o local da anihi ?

 

Não, e a propósito, fui lá no local checar se as coordenadas batiam e aparentemente está ok.

 

anihij.png

Editado por juliok80
Link para o comentário
https://xtibia.com/forum/topic/202497-erro-no-script-da-anihilator/#findComment-1423086
Compartilhar em outros sites

  • 0

eu n testei mas.. tenta usar esse aki..

 

  Mostrar conteúdo oculto

 

Editado por Slicer
Link para o comentário
https://xtibia.com/forum/topic/202497-erro-no-script-da-anihilator/#findComment-1423133
Compartilhar em outros sites

  • 0

Vou testar assim que reiniciar o ot... se funciona eu num sei, mas esse script está MUITO mais limpo oh.png

 

Obrigado Slicer, jaja eu volto pra dizer se funcionou!

 

Ah man... se der pra você dar um pulinho nesse meu outro tópico eu agradeceria muito!

 

http://www.xtibia.co...73#entry1419873

 

 

@Edit

 

Cara, não sei o que tem nesse script ai... mas depois que eu coloquei ele, o ot parou de funcionar, quando eu tento rodar o console aparece a mensagem dizendo que o Windows encontrou um erro no OT e precisa ser fechado, depois eu voltei para o script anterior e o OT voltou a funcionar.

Editado por juliok80
Link para o comentário
https://xtibia.com/forum/topic/202497-erro-no-script-da-anihilator/#findComment-1423194
Compartilhar em outros sites

  • 0

Que tal usar outro script? :)

 

AnihiAlavanca

 

function onUse(cid, item, frompos, item2, topos)
if item.uid == 7000 and item.itemid == 1945 then
player1pos = {x=1109, y=1204, z=11, stackpos=253}
player1 = getThingfromPos(player1pos)
player2pos = {x=1110, y=1204, z=11, stackpos=253}
player2 = getThingfromPos(player2pos)
player3pos = {x=1111, y=1204, z=11, stackpos=253}
player3 = getThingfromPos(player3pos)
player4pos = {x=1112, y=1204, z=11, stackpos=253}
player4 = getThingfromPos(player4pos)
if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then
queststatus1 = getPlayerStorageValue(player1.uid,7000)
queststatus2 = getPlayerStorageValue(player2.uid,7000)
queststatus3 = getPlayerStorageValue(player3.uid,7000)
queststatus4 = getPlayerStorageValue(player4.uid,7000)
if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then
nplayer1pos = {x=1128, y=1181, z=11}
nplayer2pos = {x=1129, y=1181, z=11}
nplayer3pos = {x=1130, y=1181, z=11}
nplayer4pos = {x=1131, y=1181, z=11}
doSendMagicEffect(player1pos,2)
doSendMagicEffect(player2pos,2)
doSendMagicEffect(player3pos,2)
doSendMagicEffect(player4pos,2)
doTeleportThing(player1.uid,nplayer1pos)
doTeleportThing(player2.uid,nplayer2pos)
doTeleportThing(player3.uid,nplayer3pos)
doTeleportThing(player4.uid,nplayer4pos)
doSendMagicEffect(nplayer1pos,10)
doSendMagicEffect(nplayer2pos,10)
doSendMagicEffect(nplayer3pos,10)
doSendMagicEffect(nplayer4pos,10)
doTransformItem(item.uid,item.itemid+1)
else
doPlayerSendCancel(cid,"Alguem do seu grupo ja fez essa quest .")
end
else
doPlayerSendCancel(cid,"É necessário quatro pessoas para fazer a quest.")
end
elseif item.uid == 7000 and item.itemid == 1946 then
if getPlayerAccess(cid) > 0 then
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendCancel(cid,"Desculpe, impossivel")
end
else
return FALSE
end
return TRUE
end

 

Anihi Báu

function onUse(cid,  item,  frompos,  item2,  topos)
if item.uid == 5006 then
queststatus = getPlayerStorageValue(cid, 5010)
if queststatus == -1 then
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "Você encontrou um Demon Armor.")
doPlayerAddItem(cid, 2494, 1)
setPlayerStorageValue(cid, 5010, 1)
else
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "O baú está vazio")
end
elseif item.uid == 5007 then
queststatus = getPlayerStorageValue(cid, 5010)
if queststatus == -1 then
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "Você encontrou uma Magic Sword.")
doPlayerAddItem(cid, 2400, 1)
setPlayerStorageValue(cid, 5010, 1)
else
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR,  "O baú está vazio")
end
elseif item.uid == 5008 then
queststatus = getPlayerStorageValue(cid, 5010)
if queststatus == -1 then
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "Você encontrou um Stonecutter Axe.")
doPlayerAddItem(cid, 2431, 1)
setPlayerStorageValue(cid, 5010, 1)
else
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "O baú está vazio.")
end
elseif item.uid == 5009 then
queststatus = getPlayerStorageValue(cid, 5010)
if queststatus == -1 then
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "Você encontrou um thunder hammer")
doPlayerAddItem(cid, 2421, 1)
setPlayerStorageValue(cid,  5010,  1)
else
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "O baú está vazio.")
end
else
return FALSE
end
return TRUE
end

 

Obs: Só pode pegar 1 item em apenas 1 báu ou seja o báu dará storage :)

Link para o comentário
https://xtibia.com/forum/topic/202497-erro-no-script-da-anihilator/#findComment-1425616
Compartilhar em outros sites

  • 0
  Em 29/12/2012 em 04:28, StackMinute disse:

Que tal usar outro script? :)

 

AnihiAlavanca

 

function onUse(cid, item, frompos, item2, topos)
if item.uid == 7000 and item.itemid == 1945 then
player1pos = {x=1109, y=1204, z=11, stackpos=253}
player1 = getThingfromPos(player1pos)
player2pos = {x=1110, y=1204, z=11, stackpos=253}
player2 = getThingfromPos(player2pos)
player3pos = {x=1111, y=1204, z=11, stackpos=253}
player3 = getThingfromPos(player3pos)
player4pos = {x=1112, y=1204, z=11, stackpos=253}
player4 = getThingfromPos(player4pos)
if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then
queststatus1 = getPlayerStorageValue(player1.uid,7000)
queststatus2 = getPlayerStorageValue(player2.uid,7000)
queststatus3 = getPlayerStorageValue(player3.uid,7000)
queststatus4 = getPlayerStorageValue(player4.uid,7000)
if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then
nplayer1pos = {x=1128, y=1181, z=11}
nplayer2pos = {x=1129, y=1181, z=11}
nplayer3pos = {x=1130, y=1181, z=11}
nplayer4pos = {x=1131, y=1181, z=11}
doSendMagicEffect(player1pos,2)
doSendMagicEffect(player2pos,2)
doSendMagicEffect(player3pos,2)
doSendMagicEffect(player4pos,2)
doTeleportThing(player1.uid,nplayer1pos)
doTeleportThing(player2.uid,nplayer2pos)
doTeleportThing(player3.uid,nplayer3pos)
doTeleportThing(player4.uid,nplayer4pos)
doSendMagicEffect(nplayer1pos,10)
doSendMagicEffect(nplayer2pos,10)
doSendMagicEffect(nplayer3pos,10)
doSendMagicEffect(nplayer4pos,10)
doTransformItem(item.uid,item.itemid+1)
else
doPlayerSendCancel(cid,"Alguem do seu grupo ja fez essa quest .")
end
else
doPlayerSendCancel(cid,"É necessário quatro pessoas para fazer a quest.")
end
elseif item.uid == 7000 and item.itemid == 1946 then
if getPlayerAccess(cid) > 0 then
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendCancel(cid,"Desculpe, impossivel")
end
else
return FALSE
end
return TRUE
end

 

Anihi Báu

function onUse(cid,  item,  frompos,  item2,  topos)
if item.uid == 5006 then
queststatus = getPlayerStorageValue(cid, 5010)
if queststatus == -1 then
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "Você encontrou um Demon Armor.")
doPlayerAddItem(cid, 2494, 1)
setPlayerStorageValue(cid, 5010, 1)
else
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "O baú está vazio")
end
elseif item.uid == 5007 then
queststatus = getPlayerStorageValue(cid, 5010)
if queststatus == -1 then
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "Você encontrou uma Magic Sword.")
doPlayerAddItem(cid, 2400, 1)
setPlayerStorageValue(cid, 5010, 1)
else
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR,  "O baú está vazio")
end
elseif item.uid == 5008 then
queststatus = getPlayerStorageValue(cid, 5010)
if queststatus == -1 then
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "Você encontrou um Stonecutter Axe.")
doPlayerAddItem(cid, 2431, 1)
setPlayerStorageValue(cid, 5010, 1)
else
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "O baú está vazio.")
end
elseif item.uid == 5009 then
queststatus = getPlayerStorageValue(cid, 5010)
if queststatus == -1 then
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "Você encontrou um thunder hammer")
doPlayerAddItem(cid, 2421, 1)
setPlayerStorageValue(cid,  5010,  1)
else
doPlayerSendTextMessage(cid,  MESSAGE_INFO_DESCR, "O baú está vazio.")
end
else
return FALSE
end
return TRUE
end

 

Obs: Só pode pegar 1 item em apenas 1 báu ou seja o báu dará storage :)

 

Vou testar o script da alavanca, pq o erro ocorre quando a pessoa tenta puxar a alavanca, só não gostei de uma coisa nesse script ai... é que ele faz a verificação se a pessoa já fez a quest e não deixa o pessoal puxar a alavanca se existir alguém no grupo que já fez a quest, e acho que a pessoa que já fez poderia ajudar outros players a fazer. Dai vou tirar esse if da verificação, o else e o end abaixo dele pra ver se vai dar certo.

 

E essas posições que estão ai!? Como eu devo alterar?

 

Já o premio da quest eu vou colocar pelo map editor mesmo, eu acho mais fácil.

 

Daqui a pouco eu volto para avisar se deu certo.

 

Valeu!

Editado por juliok80
Link para o comentário
https://xtibia.com/forum/topic/202497-erro-no-script-da-anihilator/#findComment-1426320
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...