Ir para conteúdo

[ Resolvido ] Scripts = The Inquisition Quest.


951357

Posts Recomendados

Olá XTibianos,

 

- Primeiramente gostaria de dizer que eu já possuo um NPC que vende a licença para a Inquisition.

- Segundo, já possuo onde acontecerá o desenvolvimento da The Inquisition Quest.

 

Possuo alguns scripts que retirei do Styller Yourots (8.42) 0.5 Rev 7, porém, não consegui fazer com que eles funcionassem corretamente.

 

Os scripts que eu quero devem envolver creature events e fazem com que, ao matar um boss, surja um 'teleport' de ID 1387 com destino para a próxima fase da quest.

Citarei os scripts, que foram retirados do OT, abaixo para quem quiser observar.

 

creaturescripts/creaturescripts.xml

<event type="death" name="inquisitionPortals" script="inquisitionPortals.lua"/>

 

creaturescripts/scripts/inquisitionPortals.lua

function onDeath(cid, corpse, killer)

 

registerCreatureEvent(cid, "inquisitionPortals")

 

local creaturename = getCreatureName(cid)

 

--- positions where the teleports will be created:

 

local madareth_in_pos = {x=603, y=586, z=9, stackpos=2}

local necropharus_in_pos = {x=59, y=124, z=7, stackpos=2}

local hellgorak_in_pos = {x=626, y=536, z=9, stackpos=2}

local ushuriel_in_pos = {x=604, y=586, z=9, stackpos=2}

local zugurosh_in_pos = {x=509, y=1190, z=7, stackpos=2}

local brothers_in_pos = {x=219, y=1041, z=7, stackpos=1}

 

--- positions where the teleports will be teleported you:

 

local madareth_to_pos = {x=211, y=292, z=9, stackpos=1}

local necropharus_to_pos = {x=22, y=112, z=8, stackpos=1}

local hellgorak_to_pos = {x=782, y=237, z=8, stackpos=1}

local ushuriel_to_pos = {x=211, y=292, z=9, stackpos=1}

local zugurosh_to_pos = {x=424, y=1119, z=7, stackpos=1}

local brothers_to_pos = {x=46, y=1109, z=7, stackpos=1}

 

local time_to_pass = 30 -- in seconds

local tpID = 1387

local doEffect = CONST_ME_TELEPORT

local message = "You now have 30 seconds to exit this room through the teleporter."

 

if creaturename == 'Madareth' then

 

teleport = doCreateTeleport(tpID, ushuriel_to_pos, ushuriel_in_pos)

 

doSendMagicEffect(ushuriel_in_pos, doEffect)

 

doCreatureSay(cid, message, TALKTYPE_ORANGE_1)

 

addEvent(removeTeleportInushurielWard, (1000*time_to_pass))

 

elseif creaturename == 'necropharus' then

 

teleport = doCreateTeleport(tpID, necropharus_to_pos, necropharus_in_pos)

 

doSendMagicEffect(necropharus_in_pos, doEffect)

 

doCreatureSay(cid, message, TALKTYPE_ORANGE_1)

 

addEvent(removeTeleportInnecropharusWard, (1000*time_to_pass))

 

elseif creaturename == 'Ushuriel' then

 

teleport = doCreateTeleport(tpID, ushuriel_to_pos, ushuriel_in_pos)

 

doSendMagicEffect(ushuriel_in_pos, doEffect)

 

doCreatureSay(cid, message, TALKTYPE_ORANGE_1)

 

addEvent(removeTeleportInUshurielWard, (1000*time_to_pass))

 

elseif creaturename == 'Hellgorak' then

 

teleport = doCreateTeleport(tpID, hellgorak_to_pos, hellgorak_in_pos)

 

doSendMagicEffect(hellgorak_in_pos, doEffect)

 

doCreatureSay(cid, message, TALKTYPE_ORANGE_1)

 

addEvent(removeTeleportInHellgorakWard, (1000*time_to_pass))

 

elseif creaturename == 'Zugurosh' then

 

teleport = doCreateTeleport(tpID, zugurosh_to_pos, zugurosh_in_pos)

 

doSendMagicEffect(zugurosh_in_pos, doEffect)

 

doCreatureSay(cid, message, TALKTYPE_ORANGE_1)

 

addEvent(removeTeleportInZuguroshWard, (1000*time_to_pass))

 

elseif creaturename == 'Latrivan' then

 

teleport = doCreateTeleport(tpID, brothers_to_pos, brothers_in_pos)

 

doSendMagicEffect(brothers_in_pos, doEffect)

 

doCreatureSay(cid, message, TALKTYPE_ORANGE_1)

 

addEvent(removeTeleportInBrothersWard, (1000*time_to_pass))

 

 

end

end

 

function removeTeleportInMadarethWard()

if getThingfromPos({605, y=586, z=9, stackpos=2}).itemid == 1387 then

doRemoveItem(getThingfromPos({605, y=586, z=9, stackpos=1}).uid,1)

doSendMagicEffect({605, y=586, z=9, stackpos=1}, CONST_ME_POFF)

return TRUE

end

end

 

function removeTeleportInnecropharusWard()

if getThingfromPos({x=59, y=124, z=7, stackpos=1}).itemid == 1387 then

doRemoveItem(getThingfromPos({x=59, y=124, z=7, stackpos=1}).uid,1)

doSendMagicEffect({x=59, y=124, z=7, stackpos=1}, CONST_ME_POFF)

return TRUE

end

end

 

function removeTeleportInHellgorakWard()

if getThingfromPos({x=626, y=536, z=9, stackpos=1}).itemid == 1387 then

doRemoveItem(getThingfromPos({x=626, y=536, z=9, stackpos=1}).uid,1)

doSendMagicEffect({x=626, y=536, z=9, stackpos=1}, CONST_ME_POFF)

return TRUE

end

end

 

function removeTeleportInUshurielWard()

if getThingfromPos({604, y=586, z=9, stackpos=2}).itemid == 1387 then

doRemoveItem(getThingfromPos({604, y=586, z=9, stackpos=1}).uid,1)

doSendMagicEffect({604, y=586, z=9, stackpos=1}, CONST_ME_POFF)

return TRUE

end

end

 

function removeTeleportInZuguroshWard()

if getThingfromPos({x=509, y=1190, z=7, stackpos=2}).itemid == 1387 then

doRemoveItem(getThingfromPos({x=509, y=1190, z=7, stackpos=2}).uid,1)

doSendMagicEffect({x=509, y=1190, z=7, stackpos=1}, CONST_ME_POFF)

return TRUE

end

end

 

function removeTeleportInBrothersWard()

if getThingfromPos({x=219, y=1041, z=7, stackpos=1}).itemid == 1387 then

doRemoveItem(getThingfromPos({x=219, y=1041, z=7, stackpos=1}).uid,1)

doSendMagicEffect({x=219, y=1041, z=7, stackpos=1}, CONST_ME_POFF)

return TRUE

end

end

 

Opções adicionais

Possuo o emulador: The Forgotten Server 3.4 (Crying Damson)

 

Apenas isso.

 

Cya ~

Link para o comentário
Compartilhar em outros sites

acredito que seja isso que falta pra funcionar.

 

Opa Marcryzius,

 

Adicionei o seguinte código no .xml de cada monsters e deu certo.

 

<script>

<event name="inquisitionPortals"/>

</script>

 

Muito obrigado pela dica.

 

Cya ~

Link para o comentário
Compartilhar em outros sites

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