• 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 After killing Annihilon the teleport do not appear.

GM Drama

Member
Joined
Mar 13, 2013
Messages
127
Reaction score
6
---PROBLEM SOLVED---
Solution =
Change from "annihilon" to "Annihilon". Capital A bitches.
Lua:
<monster name="Annihilon" nameDescription="annihilon" race="fire" experience="15000" speed="100" manacost="0"


After killing all other bosses they spawn a teleport in the room except Annihilon. I've got no idea of what could be wrong.
This is data/creaturescripts/inqusition.lua
Lua:
local config = {
        timeToRemove = 180, -- seconds
		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",
        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, 'You don\'t have enough energy to enter this portal', TALKTYPE_ORANGE_1)
			addEvent(removal, config.timeToRemove * 1000, position)
		end
	end
	return TRUE
end
This is in movements
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)
  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)
   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)
  end
end
end
 
Last edited:
Lua:
local config = {
        timeToRemove = 180, -- seconds
		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",
        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, tpid)
	doRemoveItem(getTileItemById(position, tpid).uid)
    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
		doSetItemActionId(teleport, 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
                        doSetItemActionId(teleport, t.aid)
    			doCreatureSay(cid, 'You don\'t have enough energy to enter this portal', TALKTYPE_ORANGE_1)
                        addEvent(removal, config.timeToRemove * 1000) 
		end
	end
	return TRUE
end
 
Used it and it still doesn't work ;:(

Lua:
local config = {
        timeToRemove = 180, -- seconds
		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",
        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, tpid)
	doRemoveItem(getTileItemById(position, tpid).uid)
    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
		doSetItemActionId(teleport, 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
                        doSetItemActionId(teleport, t.aid)
    			doCreatureSay(cid, 'You don\'t have enough energy to enter this portal', TALKTYPE_ORANGE_1)
                        addEvent(removal, config.timeToRemove * 1000) 
		end
	end
	return TRUE
end
 
Lua:
doItemSetAttribute(teleport, "aid", t.aid)
for
Lua:
 doSetItemActionId(teleport, t.aid)
and other line and functions.
 
I found the problem! Thank's Limos for getting me to think in the right direction.
Had to write monster name Annihilon with a capital "A" I had "annihilon"
Lua:
<monster name="Annihilon" nameDescription="annihilon" race="fire" experience="15000" speed="100" manacost="0">
 
Back
Top