Em algum arquivo de data/lib:
TRAP_IDS = {itemid, itemid, ...} --IDs dos items que exercem a função de trap.
Nos códigos das traps, troque:
for n, pos in ipairs(permittedPos[cid]) do doSendMagicEffect(pos, 130) doCreateItem(config.createGates[n], 1, pos) addEvent(function() if(getTileItemById(pos, config.createGates[n]).uid > 0) then doRemoveItem(getTileItemById(pos, config.createGates[n]).uid, 1) end end, config.gatesTime*1000)end
por:
for n, pos in ipairs(permittedPos[cid]) do local break_scope for i = 1, #TRAP_IDS do if getTileItemById(pos, TRAP_IDS[i]).uid > 0 then break_scope = true break end end if not break_scope then doSendMagicEffect(pos, 130) doCreateItem(config.createGates[n], 1, pos) addEvent(function() if(getTileItemById(pos, config.createGates[n]).uid > 0) then doRemoveItem(getTileItemById(pos, config.createGates[n]).uid, 1) end end, config.gatesTime*1000) endend
Deve haver alguma maneira mais elegante de evitar esse problema de acumulação de traps, mas meu cérebro trabalha mal de madrugada.





info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril
Olá a todos, eu possuo um script de trap no qual se utilizar a pessoa fica presa, só que esse script possui um erro, queria saber se vocês podem me ajudar a solicionar, o erro consiste no qual se uma pessoa usar uma trap dentro de outra trap, elas vão se estacando, fazendo assim, duas pessoas conseguirem trapar uma pessoa infinitamente, gostaria de pedir a ajuda no qual colocasse algo para impedir que a pessoa consiga usar duas traps no mesmo sqm, segue uma foto mostrando o error
Vou postar o script abaixo, qualquer dúvida pode deixar mensagem no tópico, que auxilio, o script não é de minha autoria, apenas peguei na internet e adaptei do modo que eu sei.
obs: ambas as magias são o mesmo script, só muda o id