• 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!

Solved INQ tp doesnt change back?!

bybbzan

mapper
Joined
Aug 4, 2012
Messages
809
Solutions
2
Reaction score
136
Location
Sweden
Hello! I made a thread earlier about INQ errors that i had. @SoloQ solved it for me.
But now im back with problems again.. :$

I have these problems.

1: When i kill a boss for example Ushuriel, the tp changes as it should to aid 1001. But then after 180 sec its still aid 1001.
It should change back to 3000.

2: The tps are changing aid on every boss EXCEPT Zugurosh, nothing happens when i kill him. The tp is still the same.
What could be wrong? I'm sure its the right coordinates.


creaturescript.lua
LUA:
local config = {
        timeToRemove = 180, -- seconds
        message = "You have 180 seconds before the teleport changes back.",
        teleportId = 1387,
        bosses = { -- Monster Name,  Teleport Position
                ["Ushuriel"] = {  pos={ x=552, y=925, z=12, stackpos=1 }, aid=1001 },
                ["Zugurosh"] = {  pos={ x=551, y=867, z=12, stackpos=1 }, aid=1002 },
                ["Madareth"] = {  pos={ x=597, y=933, z=12, stackpos=1 }, aid=1003 },
                ["Annihilon"] = {  pos={ x=594, y=877, z=12, stackpos=1 }, aid=1005 },
                ["Hellgorak"] = {  pos={ x=561, y=905, z=12, stackpos=1 }, 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

movements.lua
LUA:
local config = {
	bosses={---aid of portal, position where it sends, value it sets, text it shows
		[1001] = {pos={x=314, y=1037, z=13, stackpos=1}, value=1, text="Entering The Crystal Caves"},
		[1002] = {pos={x=573, y=971, z=12, stackpos=1}, value=2, text="Entering The Blood Halls"},
		[1003] = {pos={x=420, y=1043, z=13, stackpos=1}, value=3, text="Entering The Vats"},
		[1004] = {pos={x=462, y=809, z=12, stackpos=1}, value=4, text="Entering The Arcanum"},
		[1005] = {pos={x=476, y=922, z=12, stackpos=1}, value=5, text="Entering The Hive"},
		[1006] = {pos={x=606, y=947, z=12, stackpos=1}, value=6, text="Entering The Shadow Nexus"},
		[1007] = {pos={x=633, y=936, z=12, stackpos=1}, value=7, text="You completed the Inquisition. You should be proud."} },
	mainroom={---aid, position, lowest value that can use this portal, text
		[2001] = {pos={x=314, y=1037, z=13, stackpos=1}, value=1, text="Entering The Crystal Caves"},
		[2002] = {pos={x=573, y=971, z=12, stackpos=1}, value=2, text="Entering The Blood Halls"},
		[2003] = {pos={x=420, y=1043, z=13, stackpos=1}, value=3, text="Entering The Vats"},
		[2004] = {pos={x=462, y=809, z=12, stackpos=1}, value=4, text="Entering The Arcanum"},
		[2005] = {pos={x=476, y=922, z=12, stackpos=1}, value=5, text="Entering The Hive"} },
	portals={---aid, position, text
		[3000] = {pos={x=441, y=944, z=14}, text="Escaping back to the Retreat."},
		[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"} },
	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

Please help
 
Unlap them so you get 2 different teleports. Does the teleport dissappear then after 180 seconds?

Well i did get so many bugs i can hardly count. It has to be a solution.. The script was like global tibia, it shouldnt create a new tp, just change the aids..
 
Correct.

You have a exit portal in INQ that will take you to the main portal room.

If the Boss is killed a teleport will appear at a position you have indicated in your script. And THAT teleport will disappear after 180 seconds.
 
Correct.

You have a exit portal in INQ that will take you to the main portal room.

If the Boss is killed a teleport will appear at a position you have indicated in your script. And THAT teleport will disappear after 180 seconds.

Yea it works like a charm.. too bad it didnt work to change aid on the same tp, more epic ^^ but anyway, thanks again.
 
Back
Top