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

Bug - help

arthurluna

Member
Joined
Apr 12, 2008
Messages
180
Reaction score
15
Someone can tell me how to fix up this bug in gutters, doors, staircases?

Every time I open the door with some acations implatado, it's this error.

[11/11/2012 4:38:9] [Error - Action Interface]
[11/11/2012 4:38:9] data / actions / scripts / other / doors.lua: onUse
[11/11/2012 4:38:9] Description:
[11/11/2012 4:38:9] data / actions / scripts / other / doors.lua: 13: attempt to index global 'DOORS' (a nil value)
[11/11/2012 4:38:9] stack traceback:
[11/11/2012 4:38:9] data / actions / scripts / other / doors.lua: 13: in function <data/actions/scripts/other/doors.lua:7>

My map was changed in version 8.60 and 9.70 for the why of this bug in 8.60 funfa normal = /
 
Use the following doors action:

Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)
	if isInArray(questDoors, item.itemid) == TRUE then
		if getPlayerStorageValue(cid, item.actionid) ~= -1 then
			doTransformItem(item.uid, item.itemid + 1)
			doTeleportThing(cid, toPosition, TRUE)
		else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.")
		end
		return TRUE
	elseif isInArray(levelDoors, item.itemid) == TRUE then
		if item.actionid > 0 and getPlayerLevel(cid) >= item.actionid - 1000 then
			doTransformItem(item.uid, item.itemid + 1)
			doTeleportThing(cid, toPosition, TRUE)
		else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
		end
		return TRUE
	elseif isInArray(keys, item.itemid) == TRUE then
		if itemEx.actionid > 0 then
			if item.actionid == itemEx.actionid then
				if doors[itemEx.itemid] ~= nil then
					doTransformItem(itemEx.uid, doors[itemEx.itemid])
					return TRUE
				end
			end
			doPlayerSendCancel(cid, "The key does not match.")
			return TRUE
		end
		return FALSE
	elseif isInArray(horizontalOpenDoors, item.itemid) == TRUE then
		local newPosition = toPosition
		newPosition.y = newPosition.y + 1
		local doorPosition = fromPosition
		doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
		local doorCreature = getThingfromPos(doorPosition)
		if doorCreature.itemid ~= 0 then
			if getTilePzInfo(doorPosition) == TRUE and getTilePzInfo(newPosition) == FALSE and doorCreature.uid ~= cid then
				doPlayerSendCancel(cid, "Sorry, not possible.")
			else
				doTeleportThing(doorCreature.uid, newPosition, TRUE)
				if isInArray(openSpecialDoors, item.itemid) ~= TRUE then
					doTransformItem(item.uid, item.itemid - 1)
				end
			end
			return TRUE
		end
		doTransformItem(item.uid, item.itemid - 1)
		return TRUE
	elseif isInArray(verticalOpenDoors, item.itemid) == TRUE then
		local newPosition = toPosition
		newPosition.x = newPosition.x + 1
		local doorPosition = fromPosition
		doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
		local doorCreature = getThingfromPos(doorPosition)
		if doorCreature.itemid ~= 0 then
			if getTilePzInfo(doorPosition) == TRUE and getTilePzInfo(newPosition) == FALSE and doorCreature.uid ~= cid then
				doPlayerSendCancel(cid, "Sorry, not possible.")
			else
				doTeleportThing(doorCreature.uid, newPosition, TRUE)
				if isInArray(openSpecialDoors, item.itemid) ~= TRUE then
					doTransformItem(item.uid, item.itemid - 1)
				end
			end
			return TRUE
		end
		doTransformItem(item.uid, item.itemid - 1)
		return TRUE
	elseif doors[item.itemid] ~= nil then
		if item.actionid == 0 then
			doTransformItem(item.uid, doors[item.itemid])
		else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")
		end
		return TRUE
	end
	return FALSE
end
 
BUG -.-"

[11/11/2012 5:1:47] [Error - Test Interface]
[11/11/2012 5:1:47] data/movements/scripts/firewalker.lua
[11/11/2012 5:1:47] Description:
[11/11/2012 5:1:47] data/movements/scripts/firewalker.lua:5: attempt to call global 'isInArray' (a nil value)
[11/11/2012 5:1:47] [Error - Event::checkScript] Cannot load script (data/movements/scripts/firewalker.lua)


[11/11/2012 5:1:47] [Error - Test Interface]
[11/11/2012 5:1:47] data/movements/scripts/firewalker.lua
[11/11/2012 5:1:47] Description:
[11/11/2012 5:1:47] data/movements/scripts/firewalker.lua:5: attempt to call global 'isInArray' (a nil value)
[11/11/2012 5:1:47] [Error - Event::checkScript] Cannot load script (data/movements/scripts/firewalker.lua)
 
Maybe add the inInArray function to one of the lib files:
LUA:
function isInArray(array, value)
	for k, v in ipairs(array) do
		if value == v then 
			return true 
		end
	end
end

In case you get more errors I recommend you getting a TFS server.
 
Back
Top