cara, acho difícil fazer isso. quando se trabalha com scripts, tem que se referir a um "objeto", e existem diversas funções, mas a maioria não pode ser usada para monstros. por exemplo, não tem como usar getThingfromPos(), pois não temos certeza de onde o monstro está. também não pode ser usadas varias das demais funções, pois são para localizar jogadores. algo que pode ser tentado:
crie um addEvent() que irá executar setGlobalStorageValue(). na área onde será feita a invasão, terá que ser colocado um actionID no chão. então, é criado um movement:
function onStepIn(cid)
if isPlayer(cid) ~= TRUE then
if getGlobalStorageValue(9876) == 1 then
doPlayerAddHealth(cid,-100000)
doRemoveItem(getThingfromPos({x=getPlayerPosition(cid).x,y=getPlayerPosition(cid
).y,z=getPlayerPosition(cid).z,stackpos=1}),1)
else
return TRUE
end
end
end
Esse movement é bem simples. Caso o storage ativado pelo addEvent() (que foi ativado x segundos ou minutos após a invasão) estiver ativado, qualquer monstro que pisar no SQM com esse actionID irá morrer e seu corpo apagado.
Diversos bugs podem acontecer.
Primeiro: Se houver um item entre o monstro e o chão, esse item será apagado ao invés do corpo do monstro. Isso inclui tapetes, fields, pedrinhas, gramas e qualquer coisa que não seja o chão da base.
Segundo: A área de invasão for pequena demais, e o monstro acabe indo para longe.
Terceiro: Qualquer outro errinho que aconteça, por exemplo o monstro sobreviver ao dano da action, debug talvez.
Espero ter te ajudado. :smile_positivo: ![]()





info
Grupo: Campones
Registrado: 20/01/08
Posts: 10
Reputação: 0
Char no Tibia: Digo n ;D!!!!!
n sei se é bem simples ou complicado, em meu ot as raids sao por arquivos lua como mostra abaixo so que quando eu solto o bixo ele fik la matando todo mundo teve uma vez q soltei apocalipse e ninguem mato entao eu fui la e fiz /r entao eu queria um complemento no script por exemplo eu executo a raid e se ninguem conseguir matar o mostro ele some em 10min.
veja o exemplo do alatrim.lua
-- 1º script de invasao para Styller, por Zyron-- function onSay(cid, words, param) moNstro = "Alatrim" Monstro = "Demon" Monstro = "Demon" Monstro = "Demon" Monstro = "Demon" Monstro = "Demon" pos1 = {x=132, y=60, z=7} pos2 = {x=137, y=47, z=7} pos3 = {x=161, y=57, z=7} pos4 = {x=169, y=48, z=7} pos5 = {x=146, y=38, z=7} pos6 = {x=116, y=60, z=7} if getPlayerAccess(cid) >= 1 then --so GM e GOD pode usar esse comando doSummonCreature(moNstro, pos1) doSummonCreature(Monstro, pos2) doSummonCreature(Monstro, pos3) doSummonCreature(Monstro, pos4) doSummonCreature(Monstro, pos5) doSummonCreature(Monstro, pos6) broadcastMessage("Run now or die, stupid humans HUAHUAHUAHUAHA, the Great Alatrim it´s free.", MESSAGE_EVENT_ADVANCE) end endeu uso tfs 3.0.1
obrigado ao zyron por desenvolver o script e ao pessoal to tfs por fazer um emulador tao bom. :positive:
Editado Junho 13 por cizao