Ir para conteúdo

[Pedido] script de quando mata um bicho ou um boss apareci um tp igual da inquisition

Featured Replies

Postado

\data\creaturescripts\scripts

function onDeath(cid, corpse, killer)


registerCreatureEvent(cid, "inquisitionPortals")


local creaturename = getCreatureName(cid)


local ushuriel_in_position = {x=246, y=351, z=12, stackpos=2}

local annihilon_in_position = {x=637, y=472, z=13, stackpos=2}

local hellgorak_in_position = {x=335, y=581, z=10, stackpos=2}

local madareth_in_position = {x=340, y=460, z=13, stackpos=2}

local zugurosh_in_position = {x=390, y=525, z=13, stackpos=2}

local brothers_in_position = {x=505, y=345, z=13, stackpos=1}


local ushuriel_to_position = {x=172, y=559, z=13, stackpos=1}

local annihilon_to_position = {x=294, y=681, z=13, stackpos=1}

local hellgorak_to_position = {x=255, y=467, z=13, stackpos=1}

local madareth_to_position = {x=287, y=365, z=13, stackpos=1}

local zugurosh_to_position = {x=314, y=474, z=13, stackpos=1}

local brothers_to_position = {x=408, y=413, z=13, stackpos=1}


local time_to_pass = 180

local tpID = 5023

local doEffect = CONST_ME_ENERGYHIT

local message = "You now have 3 minutes to exit this room through the teleporter. It will bring you to the next room only during his time or the teleporter will disappear."


if creaturename == 'Ushuriel' then


teleport = doCreateTeleport(tpID, ushuriel_to_position, ushuriel_in_position)


doSendMagicEffect(ushuriel_in_position, CONST_ME_ENERGYHIT)


doCreatureSay(cid, message, TALKTYPE_ORANGE_1)


addEvent(removeTeleportInUshurielWard, (1000*time_to_pass))


elseif creaturename == 'Annihilon' then


teleport = doCreateTeleport(tpID, annihilon_to_position, annihilon_in_position)


doSendMagicEffect(annihilon_in_position, CONST_ME_ENERGYHIT)


doCreatureSay(cid, message, TALKTYPE_ORANGE_1)


addEvent(removeTeleportInAnnihilonWard, (1000*time_to_pass))


elseif creaturename == 'Madareth' then


teleport = doCreateTeleport(tpID, madareth_to_position, madareth_in_position)


doSendMagicEffect(madareth_in_position, CONST_ME_ENERGYHIT)


doCreatureSay(cid, message, TALKTYPE_ORANGE_1)


addEvent(removeTeleportInMadarethWard, (1000*time_to_pass))


elseif creaturename == 'Hellgorak' then


teleport = doCreateTeleport(tpID, hellgorak_to_position, hellgorak_in_position)


doSendMagicEffect(hellgorak_in_position, CONST_ME_ENERGYHIT)


doCreatureSay(cid, message, TALKTYPE_ORANGE_1)


addEvent(removeTeleportInHellgorakWard, (1000*time_to_pass))


elseif creaturename == 'Zugurosh' then


teleport = doCreateTeleport(tpID, zugurosh_to_position, zugurosh_in_position)


doSendMagicEffect(zugurosh_in_position, CONST_ME_ENERGYHIT)


doCreatureSay(cid, message, TALKTYPE_ORANGE_1)


addEvent(removeTeleportInZuguroshWard, (1000*time_to_pass))


elseif creaturename == 'Latrivan' then


teleport = doCreateTeleport(tpID, brothers_to_position, brothers_in_position)


doSendMagicEffect(brothers_in_position, CONST_ME_ENERGYHIT)


doCreatureSay(cid, message, TALKTYPE_ORANGE_1)


addEvent(removeTeleportInBrothersWard, (1000*time_to_pass))



end

end


function removeTeleportInUshurielWard()

if getThingfromPos({x=246, y=351, z=12, stackpos=1}).itemid == 5023 then

doRemoveItem(getThingfromPos({x=246, y=351, z=12, stackpos=1}).uid,1)

doSendMagicEffect({x=246, y=351, z=12, stackpos=1}, CONST_ME_POFF)

return TRUE

end

end


function removeTeleportInAnnihilonWard()

if getThingfromPos({x=637, y=472, z=13, stackpos=1}).itemid == 5023 then

doRemoveItem(getThingfromPos({x=637, y=472, z=13, stackpos=1}).uid,1)

doSendMagicEffect({x=637, y=472, z=13, stackpos=1}, CONST_ME_POFF)

return TRUE

end

end


function removeTeleportInHellgorakWard()

if getThingfromPos({x=335, y=581, z=10, stackpos=1}).itemid == 5023 then

doRemoveItem(getThingfromPos({x=335, y=581, z=10, stackpos=1}).uid,1)

doSendMagicEffect({x=335, y=581, z=10, stackpos=1}, CONST_ME_POFF)

return TRUE

end

end


function removeTeleportInMadarethWard()

if getThingfromPos({x=340, y=460, z=13, stackpos=1}).itemid == 5023 then

doRemoveItem(getThingfromPos({x=340, y=460, z=13, stackpos=1}).uid,1)

doSendMagicEffect({x=340, y=460, z=13, stackpos=1}, CONST_ME_POFF)

return TRUE

end

end


function removeTeleportInZuguroshWard()

if getThingfromPos({x=390, y=525, z=13, stackpos=1}).itemid == 5023 then

doRemoveItem(getThingfromPos({x=390, y=525, z=13, stackpos=1}).uid,1)

doSendMagicEffect({x=390, y=525, z=13, stackpos=1}, CONST_ME_POFF)

return TRUE

end

end


function removeTeleportInBrothersWard()

if getThingfromPos({x=505, y=345, z=13, stackpos=1}).itemid == 5023 then

doRemoveItem(getThingfromPos({x=505, y=345, z=13, stackpos=1}).uid,1)

doSendMagicEffect({x=505, y=345, z=13, stackpos=1}, CONST_ME_POFF)

return TRUE

end

end 
Ai c aruma onde os portais vão ser abertos no caso .. tag no creaturescripts.xml
<event type="death" name="inquisitionPortals" script="teleports_inquisition.lua"/>
\data\movements\scripts
local config = {

bosses={---aid of portal, position where it sends, value it sets, text it shows

[1001] = {pos={x=33069, y=31783, z=13, stackpos=1}, value=1, text="Entering The Crystal Caves"},

[1002] = {pos={x=33371, y=31613, z=14, stackpos=1}, value=2, text="Entering The Blood Halls"},

[1003] = {pos={x=33153, y=31781, z=12, stackpos=1}, value=3, text="Entering The Vats"},

[1004] = {pos={x=33038, y=31753, z=15, stackpos=1}, value=4, text="Entering The Arcanum"},

[1005] = {pos={x=33199, y=31686, z=12, stackpos=1}, value=5, text="Entering The Hive"},

[1006] = {pos={x=33111, y=31682, z=12, stackpos=1}, value=6, text="Entering The Shadow Nexus"}

},

mainroom={---aid, position, lowest value that can use this portal, text

[2001] = {pos={x=33069, y=31783, z=13, stackpos=1}, value=1, text="Entering The Crystal Caves"},

[2002] = {pos={x=33371, y=31613, z=14, stackpos=1}, value=2, text="Entering The Blood Halls"},

[2003] = {pos={x=33153, y=31781, z=12, stackpos=1}, value=3, text="Entering The Vats"},

[2004] = {pos={x=33038, y=31753, z=15, stackpos=1}, value=4, text="Entering The Arcanum"},

[2005] = {pos={x=33199, y=31686, z=12, stackpos=1}, value=5, text="Entering The Hive"} },

portals={---aid, position, text

[3000] = {pos={x=33163, y=31708, z=14}, text="Entering Inquisition Portals Room"},

[3001] = {pos={x=33158, y=31728, z=11}, text="Entering The Ward of Ushuriel"},

[3002] = {pos={x=33169, y=31755, z=13}, text="Entering The Undersea Kingdom"},

[3003] = {pos={x=33124, y=31692, z=11}, text="Entering The Ward of Zugurosh"},

[3004] = {pos={x=33356, y=31590, z=11}, text="Entering The Foundry"},

[3005] = {pos={x=33197, y=31767, z=11}, text="Entering The Ward of Madareth"},

[3006] = {pos={x=33250, y=31632, z=13}, text="Entering The Battlefield"},

[3007] = {pos={x=33232, y=31733, z=11}, text="Entering The Ward of The Demon Twins"},

[3008] = {pos={x=33094, y=31575, z=11}, text="Entering The Soul Wells"},

[3009] = {pos={x=33197, y=31703, z=11}, text="Entering The Ward of Annihilon"},

[3010] = {pos={x=33105, y=31734, z=11}, text="Entering The Ward of Hellgorak"},

[3011] = {pos={x=32319, y=32248, z=9}, text="Congratulations!"}

},

storage=56123,---storage used in boss and mainroom portals

e={} }----dunno whats this but have to be like this to make doCreatureSayWithDelay working, DON'T TOUCH}

function onStepIn(cid, item, position, fromPosition)

if isPlayer(cid) == TRUE then

if(config.bosses[item.actionid]) then

local t= config.bosses[item.actionid]

if getPlayerStorageValue(cid, config.storage)< t.value then

setPlayerStorageValue(cid, config.storage, t.value)

end

doTeleportThing(cid, t.pos)

doSendMagicEffect(getCreaturePosition(cid),10)

doCreatureSay(cid,t.text,19,1, config.e)

elseif(config.mainroom[item.actionid]) then

local t= config.mainroom[item.actionid]

if getPlayerStorageValue(cid, config.storage)>=t.value then

doTeleportThing(cid, t.pos)

doSendMagicEffect(getCreaturePosition(cid),10)

doCreatureSay(cid,t.text,19,1,config.e)

else

doTeleportThing(cid, fromPosition)

doSendMagicEffect(getCreaturePosition(cid),10)

doCreatureSay(cid, 'You don\'t have enough energy to enter this portal', TALKTYPE_ORANGE_1)

end

elseif(config.portals[item.actionid]) then

local t= config.portals[item.actionid]

doTeleportThing(cid, t.pos)

doSendMagicEffect(getCreaturePosition(cid),10)

doCreatureSay(cid,t.text,19,1,config.e)

if item.actionid == 3011 then

setPlayerStorageValue(cid, 14916, 1)

end

end

end

end

i aque pra onde os tps vão mandar saka? tag no movements.xml
<movevent type="StepIn" fromaid="3000" toaid="3011" event="script" value="inq.lua"/>

Dá pra configurar o tempo ae q o portal vai fica aberto i e a mensagem ao passar pelo portal e tals -' então eh isso ae c vira :D kk dá pra entender facim lendo ai !

@Edit.. esqueci :O Adiciona ai na login.lua nas creaturescripts ae:

registerCreatureEvent(cid, "inquisitionPortals")

Editado por Fausto32 (veja o histórico de edições)

          Procuro Equipe para projeto sério com remuneração, maior necessidade Programador em C\C++.

  • Respostas 6
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • \data\creaturescripts\scripts function onDeath(cid, corpse, killer) registerCreatureEvent(cid, "inquisitionPortals") local creaturename = getCreatureName(cid) local ushuriel_in_position = {

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 520.1k

Informação Importante

Confirmação de Termo