Jump to content
  • 0

O que há de errado nesse script de invasão por alavanca?


juliok80
 Share

Question

Oi meus amores!

 

Estou tentando adicionar um script de invasão por alavanca, fiz tudo certo, como manda o figurino, adicionei o actionID 19000 na alavanca, e aí quando eu vou testar surge este erro:

 

errohg.png

 

O script ficou assim:

 

 

function onUse(cid, item, pos, item2, topos) -- By Byerne XTibia
local raids, r = {
[19000] = {msg = "Demons appeared somewhere!",exhaustion=120,price=100,monsters = {
["Demon"]={x=164,y=57,z=7},
["Demon"]={x=183,y=57,z=7},
["Demon"]={x=180,y=39,z=7} }
}
}, raids[item.actionid]
if not doPlayerRemoveMoney(cid, r.price) then
doPlayerSendCancel(cid, "It seems that you need to insert "..r.price.." coins to this lever to work.")
return true
end
if getGlobalStorageValue(item.actionid)-os.time >= raids[item.actionid].exhaustion then
doPlayerSendCancel(cid, "This lever doesn\'t seems to work. Try again after waiting "..getGlobalStorageValue(item.actionid)-os.time".. seconds.")
return true
end
for monster,position in pairs(raids[item.actionid].monsters) do
if doCreateMonster(monster, position) then
doSendMagicEffect(position, CONST_ME_TELEPORT)
end
end
doBroadcastMessage(raids[item.actionid].msg)
setGlobalStorageValue(item.actionid, os.time+raids[item.actionid].exhaustion)
doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
return true
end

 

 

 

Tópico original do script: http://www.xtibia.co...com-exhaustion/

 

Pelo o que eu entendi, a variável raids está recebendo valor nulo, mas não sei o que está errado no script, alguém sabe me dizer como faço pra arrumar?

 

Obrigado!

Edited by juliok80
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

soh para garantir.. tenta deixar a tabela assim.. ;x

local raids = {
[19000] = {msg = "Demons appeared somewhere!",exhaustion=120,price=100,monsters = {
["Demon"]={x=164,y=57,z=7},
["Demon"]={x=183,y=57,z=7},
["Demon"]={x=180,y=39,z=7} }
}
}
local r = raids[item.actionid]

Link to comment
Share on other sites

  • 0

Agora o erro começou a dar no exhaustion, mas eu já removi do script, pois não tem problema, já que só o GOD terá acesso a esta alavanca, também tirei as linhas que fazem remover dinheiro... agora a alavanca funciona, mas só sumona o ultimo Demon da posição {x=180,y=39,z=7}, sabe o que devo fazer para que os outros demons também sejam sumonados?

 

O script está assim:

 

 

 

function onUse(cid, item, pos, item2, topos) -- By Byerne XTibia
local raids = {
[19000] = {msg = "Demons appeared somewhere!",monsters = {
["Demon"]={x=164,y=57,z=7},
["Demon"]={x=183,y=57,z=7},
["Demon"]={x=180,y=39,z=7} }
}
}
local r = raids[item.actionid]
for monster,position in pairs(raids[item.actionid].monsters) do
if doCreateMonster(monster, position) then
doSendMagicEffect(position, CONST_ME_TELEPORT)
end
end
doBroadcastMessage(raids[item.actionid].msg)
doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
return true
end

 

 

 

Não aparece nenhum erro no console, sabe o que pode ser dessa vez?

 

Valeu!

Edited by juliok80
Link to comment
Share on other sites

  • 0

estranhu cara.. n parece ter nenhum erro ms no script.. essas posiçoes q tao ae.. elas existem ms? -tem tiles nela- pq pra n invocar aparentemente eh pq a funçao 'doCreateMonster' n ta conseguindo criar eles na pos... mas tb se fosse isso daria erro no console ;x tenta tirar o 'if' ali tpw..

 

function onUse(cid, item, pos, item2, topos) -- By Byerne XTibia
local raids = {
[19000] = {msg = "Demons appeared somewhere!",
monsters = {
["Demon"]={x=164,y=57,z=7},
["Demon"]={x=183,y=57,z=7},
["Demon"]={x=180,y=39,z=7}, }
}
}
local r = raids[item.actionid]
for monster, position in pairs(r.monsters) do
   doCreateMonster(monster, position)
   doSendMagicEffect(position, CONST_ME_TELEPORT)
end
doBroadcastMessage(r.msg)
doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
return true
end

 

Link to comment
Share on other sites

  • 0

Bah... continua sumonando só na ultima posição.

 

Mesmo a segunda posição existindo alterei ela pra perto da ultima posição pra ver se era o local, porém continuou sumonando apenas a ultima posição. sad.png

 

posxj.png

 

 

 

function onUse(cid, item, pos, item2, topos) -- By Byerne XTibia
local raids = {
[19000] = {msg = "Demons appeared somewhere!",
monsters = {
["Demon"]={x=164,y=57,z=7},
["Demon"]={x=179,y=39,z=7}, -- Alterado para teste, posição anterior ["Demon"]={x=183,y=57,z=7}
["Demon"]={x=180,y=39,z=7}, }
}
}
local r = raids[item.actionid]
for monster, position in pairs(r.monsters) do
doCreateMonster(monster, position)
doSendMagicEffect(position, CONST_ME_TELEPORT)
end
doBroadcastMessage(r.msg)
doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
return true
end

 

 

 

Que estranho!

 

Alguém teria outro script de invasão por alavanca que funcione?

 

@EDIT

 

Ah pessoal, deixa pra lá... já resolvi!

 

Adaptei o script da annihilator, agora ta tudo certo. laugh.png

 

Se alguém quiser o script, tá ai:

 

function onUse(cid, item, frompos, item2, topos)
if item.uid == 19000 then
 doBroadcastMessage("Demons appeared somewhere!")
 demon1pos = {x=164,y=57,z=7}
 demon2pos = {x=179,y=39,z=7}
 demon3pos = {x=180,y=39,z=7}
  doSummonCreature("Demon", demon1pos)
  doSummonCreature("Demon", demon2pos)
  doSummonCreature("Demon", demon3pos)
end
end

 

Podem fechar o tópico!

 

Abraços!

Edited by juliok80
Link to comment
Share on other sites

 Share

×
×
  • Create New...