Postado Janeiro 25, 2013 12 anos \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") Editado Janeiro 25, 2013 12 anos por Fausto32 (veja o histórico de edições) Procuro Equipe para projeto sério com remuneração, maior necessidade Programador em C\C++.
Postado Janeiro 25, 2013 12 anos Autor pow mlk vo testa aqui no meu server aqui se der certo volto pra te da reputaçao. bom deu certo consegui me vira aqui Reputado Editado Janeiro 26, 2013 12 anos por julemar (veja o histórico de edições)
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.