Ir para conteúdo

Posts Recomendados

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
end

 

eu 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 por cizao
Link para o comentário
https://xtibia.com/forum/topic/114507-time-nas-raids/
Compartilhar em outros sites

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: :blush:

Editado por _ferrari_
Link para o comentário
https://xtibia.com/forum/topic/114507-time-nas-raids/#findComment-749270
Compartilhar em outros sites

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