Postado Abril 21, 2013 12 anos Oi pessoal, Estes são os scripts para a quest inquisition. Eles foram testados em 0.3.7! Adicionar estas coisas em suas pastas de script, as posições são definidas como no tibia real, se você usar um mapa personalizado terá que mudá-los! Este tutorial inquisition contém MoveEvents, Actions e Creaturescripts (2 de 3 são para esta seção para que eu postei aqui).Chest PartsActions.xml - <!-- INQ Chests --> <action uniqueid="1300" event="script" value="quests/inqchests.lua" /> <action uniqueid="1301" event="script" value="quests/inqchests.lua" /> <action uniqueid="1302" event="script" value="quests/inqchests.lua" /> <action uniqueid="1303" event="script" value="quests/inqchests.lua" /> <action uniqueid="1304" event="script" value="quests/inqchests.lua" /> <action uniqueid="1305" event="script" value="quests/inqchests.lua" /> <action uniqueid="1306" event="script" value="quests/inqchests.lua" /> <action uniqueid="1307" event="script" value="quests/inqchests.lua" /> <action uniqueid="1308" event="script" value="quests/inqchests.lua" /> inqchests.lua fica em actions/scripts/quests - function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 1300 then queststatus = getPlayerStorageValue(cid,6076) if queststatus == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found robe of the underworld.") doPlayerAddItem(cid,8890,1) setPlayerStorageValue(cid,6076,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 289, 2) doPlayerAddOutfit(cid, 289, 1) doSendMagicEffect(getCreaturePosition(cid), 49) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 288, 2) doPlayerAddOutfit(cid, 288, 1) doSendMagicEffect(getCreaturePosition(cid), 49) end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 1301 then queststatus = getPlayerStorageValue(cid,6076) if queststatus == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Spellbook of Dark Mysteries.") doPlayerAddItem(cid,8918,1) setPlayerStorageValue(cid,6076,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 289, 2) doPlayerAddOutfit(cid, 289, 1) doSendMagicEffect(getCreaturePosition(cid), 49) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 288, 2) doPlayerAddOutfit(cid, 288, 1) doSendMagicEffect(getCreaturePosition(cid), 49) end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 1302 then queststatus = getPlayerStorageValue(cid,6076) if queststatus == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Fireborn Giant Armor.") doPlayerAddItem(cid,8881,1) setPlayerStorageValue(cid,6076,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 289, 2) doPlayerAddOutfit(cid, 289, 1) doSendMagicEffect(getCreaturePosition(cid), 49) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 288, 2) doPlayerAddOutfit(cid, 288, 1) doSendMagicEffect(getCreaturePosition(cid), 49) end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 1303 then queststatus = getPlayerStorageValue(cid,6076) if queststatus == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Master Archer's Armor.") doPlayerAddItem(cid,8888,1) setPlayerStorageValue(cid,6076,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 289, 2) doPlayerAddOutfit(cid, 289, 1) doSendMagicEffect(getCreaturePosition(cid), 49) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 288, 2) doPlayerAddOutfit(cid, 288, 1) doSendMagicEffect(getCreaturePosition(cid), 49) end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 1304 then queststatus = getPlayerStorageValue(cid,6076) if queststatus == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Royal Crossbow.") doPlayerAddItem(cid,8851,1) setPlayerStorageValue(cid,6076,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 289, 2) doPlayerAddOutfit(cid, 289, 1) doSendMagicEffect(getCreaturePosition(cid), 49) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 288, 2) doPlayerAddOutfit(cid, 288, 1) doSendMagicEffect(getCreaturePosition(cid), 49) end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 1305 then queststatus = getPlayerStorageValue(cid,6076) if queststatus == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Hellforged Axe.") doPlayerAddItem(cid,8924,1) setPlayerStorageValue(cid,6076,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 289, 2) doPlayerAddOutfit(cid, 289, 1) doSendMagicEffect(getCreaturePosition(cid), 49) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 288, 2) doPlayerAddOutfit(cid, 288, 1) doSendMagicEffect(getCreaturePosition(cid), 49) end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 1306 then queststatus = getPlayerStorageValue(cid,6076) if queststatus == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Obsidian Truncheon.") doPlayerAddItem(cid,8928,1) setPlayerStorageValue(cid,6076,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 289, 2) doPlayerAddOutfit(cid, 289, 1) doSendMagicEffect(getCreaturePosition(cid), 49) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 288, 2) doPlayerAddOutfit(cid, 288, 1) doSendMagicEffect(getCreaturePosition(cid), 49) end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 1307 then queststatus = getPlayerStorageValue(cid,6076) if queststatus == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Emerald Sword.") doPlayerAddItem(cid,8930,1) setPlayerStorageValue(cid,6076,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 289, 2) doPlayerAddOutfit(cid, 289, 1) doSendMagicEffect(getCreaturePosition(cid), 49) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 288, 2) doPlayerAddOutfit(cid, 288, 1) doSendMagicEffect(getCreaturePosition(cid), 49) end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 1308 then queststatus = getPlayerStorageValue(cid,6076) if queststatus == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Warsinger Bow.") doPlayerAddItem(cid,8854,1) setPlayerStorageValue(cid,6076,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 289, 2) doPlayerAddOutfit(cid, 289, 1) doSendMagicEffect(getCreaturePosition(cid), 49) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 288, 2) doPlayerAddOutfit(cid, 288, 1) doSendMagicEffect(getCreaturePosition(cid), 49) end else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end end return 1 end Unique id's adicionados nos baús: 1300 = Robe of Underworld 1301 = Spellbook of Dark Mysteries 1302 = Fireborn Giant Armor 1303 = Master Archer's Armor 1304 = Royal Crossbow 1305 = Hellforged Axe 1306 = Obsidian Truncheon 1307 = Emerald Sword 1308 = Warsinger Bow --Nota: O script permite apenas um para ser escolhido!Teleport if bosses killed partCreaturescripts.xml -<event type="kill" name="Inq" event="script" value="Inquisition.lua"/> Também adicionar -registerCreatureEvent(cid, "Inq") Em login.lua que fica em creaturescripts/scripts E Inquisition.lua (com I maiúsculo) em creaturescripts/scripts - local config = { timeToRemove = 120, -- seconds message = "You now have 2 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", teleportId = 9773, bosses = { -- Monster Name, Teleport Position ["Ushuriel"] = { pos={ x=33157, y=31725, z=11, stackpos=1 }, aid=1001 }, ["Zugurosh"] = { pos={ x=33123, y=31689, z=11, stackpos=1 }, aid=1002}, ["Madareth"] = { pos={ x=33194, y=31768, z=11, stackpos=1 }, aid=1003}, ["Annihilon"] = { pos={ x=33200, y=31704, z=11, stackpos=1 }, aid=1005}, ["Hellgorak"] = { pos={ x=33107, y=31735, z=11, stackpos=1 }, aid=1006} }, brothers ={ ["Golgordan"] = {pos={ x=33235, y=31734, z=11, stackpos=1 },aid=1004, brother = "Latrivan"}, ["Latrivan"] = {pos={ x=33235, y=31734, z=11, stackpos=1 },aid=1004, brother = "Golgordan"}, brothersArea ={ fromPos = {x = 33224, y = 31722, z = 11}, toPos = {x = 33240, y = 31734, z = 11} } } } local function removal(position) doRemoveThing(getTileItemById(position, config.teleportId).uid, 1) return TRUE end function onKill(cid, target, lastHit) if(config.bosses[getCreatureName(target)]) then local t = config.bosses[getCreatureName(target)] local teleport = doCreateItem(config.teleportId, t.pos) local position = t.pos doItemSetAttribute(teleport, "aid", t.aid) doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1) addEvent(removal, config.timeToRemove * 1000, position) elseif(config.brothers[getCreatureName(target)]) then local t = config.brothers[getCreatureName(target)] local brother = getCreatureByName(t.brother) if(isMonster(brother) == true) then if(isInRange(getCreaturePosition(brother), config.brothers.brothersArea.fromPos, config.brothers.brothersArea.toPos) == true) then return TRUE end else local teleport = doCreateItem(config.teleportId, t.pos) local position = t.pos doItemSetAttribute(teleport, "aid", t.aid) doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1) addEvent(removal, config.timeToRemove * 1000, position) end end return TRUE end A posição de teletransporte é o local onde o portal vai aparecer quando o boss for morto, também o brother bosses precisam ser mortos para o portal aparecer.Teleport configurationmovements.xml - <!--INQ--> <movevent type="StepIn" actionid="1001" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="1002" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="1003" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="1004" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="1005" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="1006" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="2001" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="2002" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="2003" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="2004" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="2005" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="3000" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="3001" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="3002" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="3003" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="3004" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="3005" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="3006" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="3007" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="3008" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="3009" event="script" value="inq.lua"/> <movevent type="StepIn" actionid="3010" event="script" value="inq.lua"/> inq.lua em 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"} }, 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) end end end Explicação:Bosses: O teleporte que os bosses criaram são teleporte sem destino, que recebem um action ID!! Então, se Ushuriel está morto o teleporte fica action ID 1001 que vai teleportar-lo a cordenada 1001 e mostrar o texto Entering The Crystal Caves.Mainroom: Os teleports na mainroom terá o ID de 2001-2005 que irá verificar se você matou o primeiro boss, se você matou o bossque você pode prosseguir, se você tiver matado por exemplo Ushuriel você pode ir para as cavernas de cristal. Se você não tiver matado você não pode ir para as Caves de cristal.Portais: Todos os portais na quest com actionj ID não é com os destinos de teleporte que você terá que adicionar o ID que nos teletransporta para que ele te teleporte para o seu destino. Assim, por exemplo, todo o teleporte que vai para a Inquisition Portal Room terá a action ID 3000. Estes são colocados nos bosses teletransporta para se você quiser voltar (não o que foi criado!), ou colocado no Crystal Caves quando você entra, há também um teletransporte para voltar para a sala de Portais. Espero que isso ajude vocês.Créditos - SoloQ ►[Mega Topic] Seu Primeiro Open Tibia Server◄ ►Lista Dos Meus Trabalhos◄
Postado Março 6, 2015 10 anos Gente alguem me ajuda configurar essa inquisition, fiz identico ao cara ai mais não entendi como configurar o teleporte nao aparece e apararenta não esta dando erro quando abre o server. Creio eu que esse Warning nao e erro :S Trinity Games inovação em Servidores privados http://trinitygames.com.br https://www.youtube.com/user/mrcreu10
Postado Março 7, 2015 10 anos up ..... alguem ajudaaaa Editado Março 7, 2015 10 anos por misternis (veja o histórico de edições) Trinity Games inovação em Servidores privados http://trinitygames.com.br https://www.youtube.com/user/mrcreu10
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.