• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Inquisition bugs

bybbzan

mapper
Joined
Aug 4, 2012
Messages
809
Solutions
2
Reaction score
136
Location
Sweden
Hello. I dont need any storage to enter the main teleports. I can just walk with a random character and enter for example "The Hive" teleport.
It should make me walkback cuz i dont have the storage, but it allows me to enter! :blink:
Please someone help me.



Lua:
local config = 
{
	bosses=
	{
		[2001] = {pos={x=314, y=1037, z=13}, value=1, text="Entering The Crystal Caves"},
		[2002] = {pos={x=573, y=971, z=12}, value=2, text="Entering The Blood Halls"},
		[2003] = {pos={x=420, y=1043, z=13}, value=3, text="Entering The Vats"},
		[2004] = {pos={x=462, y=809, z=12}, value=4, text="Entering The Arcanum"},
		[2005] = {pos={x=476, y=922, z=12}, value=5, text="Entering The Hive"},
		[2006] = {pos={x=606, y=947, z=12}, value=6, text="Entering The Shadow Nexus"},
		[2007] = {pos={x=633, y=936, z=12}, value=7, text="You completed the Inquisition. You should be proud."}	
	},
	portals=
	{
		[3000] = {pos={x=441, y=944, z=14}, text="Entering Inquisition Portals Room"},
		[3001] = {pos={x=553, y=926, z=12}, text="Entering The Ward of Ushuriel"},
		[3002] = {pos={x=416, y=1080, z=13}, text="Entering The Sunken Cave"},
		[3003] = {pos={x=552, y=868, z=12}, text="Entering The Ward of Zugurosh"},
		[3004] = {pos={x=638, y=885, z=12}, text="Entering The Foundry"},
		[3005] = {pos={x=598, y=932, z=12}, text="Entering The Ward of Madareth"},
		[3006] = {pos={x=309, y=1085, z=13}, text="Entering The Battlefield"},
		[3007] = {pos={x=596, y=902, z=12}, text="Entering The Ward of The Demon Twins"},
		[3008] = {pos={x=371, y=822, z=11}, text="Entering The Soul Wells"},
		[3009] = {pos={x=593, y=876, z=12}, text="Entering The Ward of Annihilon"},
		[3010] = {pos={x=560, y=904, z=12}, text="Entering The Ward of Hellgorak"}	
	},
	mainroom={},
	storage=56123,
	walkback="You don't have enough energy to enter this portal",
	texttype = TALKTYPE_MONSTER_SAY
}
for i = 1, 5 do
   config.mainroom[2000+i]=config.bosses[1000+i]
end	

function onStepIn(cid, item, position, fromPosition)
	if isPlayer(cid) then
		if(config.bosses[item.actionid]) then
			if getPlayerStorageValue(cid, config.storage) < config.bosses[item.actionid].value then
				setPlayerStorageValue(cid, config.storage, config.bosses[item.actionid].value)
			end
			doTeleportThing(cid, config.bosses[item.actionid].pos)
			doCreatureSay(cid,config.bosses[item.actionid].text,config.texttype)
		elseif(config.mainroom[item.actionid]) then
			if getPlayerStorageValue(cid, config.storage)>=config.mainroom[item.actionid].value then
				doTeleportThing(cid, config.mainroom[item.actionid].pos)
				doCreatureSay(cid,config.mainroom[item.actionid].text,config.texttype)
			else
				doTeleportThing(cid, fromPosition)
				doCreatureSay(cid, config.walkback, config.texttype)
			end
		elseif(config.portals[item.actionid]) then
			doTeleportThing(cid, config.portals[item.actionid].pos)
			doCreatureSay(cid,config.portals[item.actionid].text,config.texttype)
		end
	end
end

Movements.xml
Code:
	<movevent type="StepIn" actionid="2001-2007" event="script" value="inquisition/inq_portals.lua"/>
	<movevent type="StepIn" actionid="3000-3010" event="script" value="inquisition/inq_portals.lua"/>



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 this time.",
        teleportId = 9773,
        bosses = { -- Monster Name,  Teleport Position
                ["Ushuriel"] = {  pos={ x=552, y=925, z=12, stackpos=2 }, aid=1001 },
				["Zugurosh"] = {  pos={ x=551, y=867, z=12, stackpos=2 }, aid=1002},
				["Madareth"] = {  pos={ x=597, y=933, z=12, stackpos=2 }, aid=1003},
                ["Annihilon"] = {  pos={ x=594, y=877, z=12, stackpos=2 }, aid=1005},
                ["Hellgorak"] = {  pos={ x=561, y=905, z=12, stackpos=2 }, aid=1006}
				},
		brothers ={
        ["Golgordan"] = {pos={ x=597, y=903, z=12, stackpos=1 },aid=1004, brother = "Latrivan"},
        ["Latrivan"] = {pos={ x=597, y=903, z=12, stackpos=1 },aid=1004, brother = "Golgordan"},
        brothersArea ={
                fromPos = {x = 589, y = 891, z = 12},
                toPos = {x = 605, y = 903, z = 12}	}	}
}
local function change(position)
	doItemSetAttribute(getTileItemById(position, config.teleportId).uid, "aid", 3000)
    return TRUE
end

function onKill(cid, target, lastHit)
    if(config.bosses[getCreatureName(target)]) then
		local t = config.bosses[getCreatureName(target)]
		local position = t.pos
		doItemSetAttribute(getTileItemById(position, config.teleportId).uid, "aid", t.aid)
        doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
		addEvent(change, 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 position = t.pos
			doItemSetAttribute(getTileItemById(position, config.teleportId).uid, "aid", t.aid)
			doItemSetAttribute(teleport, "aid", t.aid)
			doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
			addEvent(removal, config.timeToRemove * 1000, position)
		end
	end
	return TRUE
end

Creaturescript.xml
Code:
	<event type="kill" name="inquisitionPortals" script="inquisition/teleports_inquisition.lua"/>

Login.lua
Code:
	registerCreatureEvent(cid, "inquisitionPortals")


Very thankful for help!
Thanks :)
 
Last edited:
You put the unique id on tps?

try:

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 this time.",
        teleportId = 9773,
        bosses = { -- Monster Name,  Teleport Position
                ["Ushuriel"] = {  pos={ x=552, y=925, z=12, stackpos=2 }, aid=1001 },
				["Zugurosh"] = {  pos={ x=551, y=867, z=12, stackpos=2 }, aid=1002},
				["Madareth"] = {  pos={ x=597, y=933, z=12, stackpos=2 }, aid=1003},
                ["Annihilon"] = {  pos={ x=594, y=877, z=12, stackpos=2 }, aid=1005},
                ["Hellgorak"] = {  pos={ x=561, y=905, z=12, stackpos=2 }, aid=1006}
				},
		brothers ={
        ["Golgordan"] = {pos={ x=597, y=903, z=12, stackpos=1 },aid=1004, brother = "Latrivan"},
        ["Latrivan"] = {pos={ x=597, y=903, z=12, stackpos=1 },aid=1004, brother = "Golgordan"},
        brothersArea ={
                fromPos = {x = 589, y = 891, z = 12},
                toPos = {x = 605, y = 903, z = 12} } }
}
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
 
Last edited:
You put the unique id on tps?

try:

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 this time.",
        teleportId = 9773,
        bosses = { -- Monster Name,  Teleport Position
                ["Ushuriel"] = {  pos={ x=552, y=925, z=12, stackpos=2 }, aid=1001 },
				["Zugurosh"] = {  pos={ x=551, y=867, z=12, stackpos=2 }, aid=1002},
				["Madareth"] = {  pos={ x=597, y=933, z=12, stackpos=2 }, aid=1003},
                ["Annihilon"] = {  pos={ x=594, y=877, z=12, stackpos=2 }, aid=1005},
                ["Hellgorak"] = {  pos={ x=561, y=905, z=12, stackpos=2 }, aid=1006}
				},
		brothers ={
        ["Golgordan"] = {pos={ x=597, y=903, z=12, stackpos=1 },aid=1004, brother = "Latrivan"},
        ["Latrivan"] = {pos={ x=597, y=903, z=12, stackpos=1 },aid=1004, brother = "Golgordan"},
        brothersArea ={
                fromPos = {x = 589, y = 891, z = 12},
                toPos = {x = 605, y = 903, z = 12} } }
}
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

No, shouldnt i use actionid?

Well it didnt work.. Can you tell me how i should setup it?
 
Last edited:
You don't have the mainroom={} tps if you look at your script the "mainroom={} is empty. Here is my script for an example:
Code:
 mainroom= {
[2001] = {pos={x=301, y=174, z=15}, value=1, text="Entering The Crystal Caves"},
[2002] = {pos={x=431, y=220, z=15}, value=2, text="Entering The Blood Halls"},
[2003] = {pos={x=164, y=270, z=15}, value=3, text="Entering The Vats"},
[2004] = {pos={x=422, y=253, z=15}, value=4, text="Entering The Arcanum"},
[2005] = {pos={x=497, y=286, z=14}, value=5, text="Entering The Hive"},
},

2001-2005 should be the actionid of the teleports.
Notice that you have to change the positions were the teleports will take you.

Also add in movements.xml
Code:
<movevent type="StepIn" fromaid="2001" toaid="2005" event="script" value="FILENAMEHERE.lua"/>
 
You don't have the mainroom={} tps if you look at your script the "mainroom={} is empty. Here is my script for an example:
Code:
 mainroom= {
[2001] = {pos={x=301, y=174, z=15}, value=1, text="Entering The Crystal Caves"},
[2002] = {pos={x=431, y=220, z=15}, value=2, text="Entering The Blood Halls"},
[2003] = {pos={x=164, y=270, z=15}, value=3, text="Entering The Vats"},
[2004] = {pos={x=422, y=253, z=15}, value=4, text="Entering The Arcanum"},
[2005] = {pos={x=497, y=286, z=14}, value=5, text="Entering The Hive"},
},

2001-2005 should be the actionid of the teleports.
Notice that you have to change the positions were the teleports will take you.

Also add in movements.xml
Code:
<movevent type="StepIn" fromaid="2001" toaid="2005" event="script" value="FILENAMEHERE.lua"/>

Okay actually i didnt get that.. This is in my script
Code:
	mainroom={},
, should i put something in between?
Otherwise maybe u wanna send ur script?
 
You don't have the mainroom={} tps if you look at your script the "mainroom={} is empty. Here is my script for an example:
Code:
for i = 1, 5 do
   config.mainroom[2000+i]=config.bosses[1000+i]
end
fills the mainroom array in much smarter way
(could be done other way, but this is what I thought about while trying to reduce code lenght and simplify config)

All the numbers in brackets are aids, in creatureevent you have id to configure
and all portals except ones between arcanum rooms should NOT have positions set
 
Code:
for i = 1, 5 do
   config.mainroom[2000+i]=config.bosses[1000+i]
end
fills the mainroom array in much smarter way
(could be done other way, but this is what I thought about while trying to reduce code lenght and simplify config)

All the numbers in brackets are aids, in creatureevent you have id to configure
and all portals except ones between arcanum rooms should NOT have positions set


So can you answer on this? i do get debugs..

http://otland.net/f16/debug-using-script-180849/
 
Back
Top