\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 kk dá pra entender facim lendo ai !
@Edit.. esqueci Adiciona ai na login.lua nas creaturescripts ae:
registerCreatureEvent(cid, "inquisitionPortals")