SoloQ
Hard With Style
Hi guys,
These are scripts for the inquisition quest.
They have been tested on 0.3.7!
Edited on 8-6-2013:
I have changed something that should allow it to work on all versions now.
-Credits to Limos for telling me.
Add these things in your script folders, positions are set as in real tibia so if you use a custom map do change them!
This inquisition tutorial contains MoveEvents, Actions and Creaturescripts (2 out of 3 are for this section so I posted it here)
Chests Part
Actions.xml
'
inqchests.lua place in actions/scripts/quests
Unique id's added on chests:
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
--note: script only allows one to be picked!
Teleport if bosses killed part
Creaturescripts.xml
Also add
In the login.lua found in creaturescripts/scripts
And Inquisition.lua (with capital i) in creaturescripts/scripts
The teleport position is the spot where the teleport will appear when the boss has been killed, also the brother bosses need to be killed both before the teleport will appear.
Teleport configuration
movements.xml
inq.lua in movements/scripts (this one is will small i not like the one before).
Explanation:
Bosses: The teleport that the bosses have created are teleport with no destination, they get an action id!!!! So if Ushuriel is dead the teleport gets action id 1001 what will teleport him to the 1001 coordinations and show the text Entering The Crystal Caves.
Mainroom:The teleports in the mainroom will have the id's 2001-2005 it will check if you have killed the boss first, if you have killed the boss you can proceed threw the teleport so if you have killed for instance Ushuriel and have gone threw his teleport you can go to the Crystal Caves. If you haven't killed him and gone threw his teleport you cannot go to the Crystal Caves.
Portals: All the portals in the quest work with action id's not with teleport destinations so you will have to add the id's on the teleports so they teleport you to your destination.
So for example all the teleport that will go to the Inquisition Portal Room will have the action id 3000.
These are placed in the bosses teleports for if you want to go back (NOT THE ONE CREATED!!!), or placed at Crystal Caves when you enter, there is also a teleport to get back to the Portals room there.
I hope this helped you.
-SoloQ
--note: I do not know who the original creator is.
These are scripts for the inquisition quest.
They have been tested on 0.3.7!
Edited on 8-6-2013:
I have changed something that should allow it to work on all versions now.
-Credits to Limos for telling me.
Add these things in your script folders, positions are set as in real tibia so if you use a custom map do change them!
This inquisition tutorial contains MoveEvents, Actions and Creaturescripts (2 out of 3 are for this section so I posted it here)
Chests Part
Actions.xml
XML:
<!-- INQ Chests -->
<action uniqueid="1300-1308" event="script" value="quests/inqchests.lua" />
inqchests.lua place in actions/scripts/quests
Lua:
local t = {
[1300] = {8890, 1},
[1301] = {8918, 1},
[1302] = {8881, 1},
[1303] = {8888, 1},
[1304] = {8881, 1},
[1305] = {8924, 1},
[1306] = {8928, 1},
[1307] = {8930, 1},
[1308] = {8854, 1}
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
local v, storage, outfitId = t[item.uid], 6076, 20
if v then
if (getPlayerStorageValue(cid, storage) < 0) then
doPlayerAddOutfitId(cid, outfitId, 3)
doPlayerAddItem(cid, v[1], v[2])
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found " .. getItemDescriptionsById(v[1]).name .. ".")
doSendMagicEffect(getThingPos(cid), CONST_ME_HOLYAREA)
setPlayerStorageValue(cid, storage, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have already taken your reward.")
end
end
return true
end
Unique id's added on chests:
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
--note: script only allows one to be picked!
Teleport if bosses killed part
Creaturescripts.xml
XML:
<event type="kill" name="Inq" event="script" value="Inquisition.lua"/>
Also add
Lua:
registerCreatureEvent(cid, "Inq")
In the login.lua found in creaturescripts/scripts
And Inquisition.lua (with capital i) in creaturescripts/scripts
Lua:
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
The teleport position is the spot where the teleport will appear when the boss has been killed, also the brother bosses need to be killed both before the teleport will appear.
Teleport configuration
movements.xml
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 in movements/scripts (this one is will small i not like the one before).
Lua:
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,TALKTYPE_ORANGE_1)
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,TALKTYPE_ORANGE_1)
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,TALKTYPE_ORANGE_1)
end
end
end
Explanation:
Bosses: The teleport that the bosses have created are teleport with no destination, they get an action id!!!! So if Ushuriel is dead the teleport gets action id 1001 what will teleport him to the 1001 coordinations and show the text Entering The Crystal Caves.
Mainroom:The teleports in the mainroom will have the id's 2001-2005 it will check if you have killed the boss first, if you have killed the boss you can proceed threw the teleport so if you have killed for instance Ushuriel and have gone threw his teleport you can go to the Crystal Caves. If you haven't killed him and gone threw his teleport you cannot go to the Crystal Caves.
Portals: All the portals in the quest work with action id's not with teleport destinations so you will have to add the id's on the teleports so they teleport you to your destination.
So for example all the teleport that will go to the Inquisition Portal Room will have the action id 3000.
These are placed in the bosses teleports for if you want to go back (NOT THE ONE CREATED!!!), or placed at Crystal Caves when you enter, there is also a teleport to get back to the Portals room there.
I hope this helped you.
-SoloQ
--note: I do not know who the original creator is.
Last edited: