• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

[Error - CreatureScript Interface]

GOD Fito

Member
Joined
Oct 3, 2008
Messages
97
Solutions
1
Reaction score
9
Hi otland i wanna some help.

I have this mod

LUA:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Map Change" version="2.0" author="Syntax" contact="[email protected]" enabled="yes">
   <description>
        This should teleport all players to a new random town in intervals.
   </description>
	<config name="mapchange_config"><![CDATA[
		config = {
			access = 3, -- minimum access to bypass teleportation.
			temples = {1,2,3}, -- townids to teleport to.
			storage = 3454, -- number to store map status in.
			changetime = 30 -- time to change in seconds (change in globalevents too)
		}
 ]]></config>
     <event type="login" name="Map Login" event="script"><![CDATA[
	loadmodlib('mapchange_config')
		function onLogin(cid)
			doPlayerSetTown(cid, getGlobalStorageValue(config.storage))
			doTeleportThing(cid, getPlayerMasterPos(cid))
		return true
		end
]]></event>
	<globalevent name="Map Change" interval="30" event="script"><![CDATA[
	domodlib('mapchange_config')
		function onThink(interval, lastExecution, thinkInterval)
			repeat
				RDM = math.random(1,#config.temples)
			until RDM ~= getGlobalStorageValue(config.storage) and isInArray(config.temples, RDM)
			if getWorldCreatures(0) > 0 then
				for _, pid in ipairs(getPlayersOnline()) do
					if getPlayerAccess(pid) < config.access and getPlayerAccountManager(pid) == MANAGER_NONE then
						doPlayerSetTown(pid, config.temples[RDM])
						doTeleportThing(pid, getTownTemplePosition(config.temples[RDM]), false)
						doSendMagicEffect(getCreaturePosition(pid), 37)
						doCreatureAddHealth(pid, getCreatureMaxHealth(pid))
						doCreatureAddMana(pid, getCreatureMaxMana(pid))
						doRemoveConditions(pid, FALSE)
					end
				doBroadcastMessage("Round over. Map switched to " ..getTownName(config.temples[RDM]).. ".", MESSAGE_EVENT_ADVANCE)
				setGlobalStorageValue(config.storage, config.temples[RDM])
				end
			else
				print ("[MAP] No players online, aborting map change!")
			end
		return true
		end
]]></globalevent>
</mod>


MY LOGIN.LUA

LUA:
local config = {
	loginMessage = getConfigValue('loginMessage'),
	useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}

function onLogin(cid)
	local loss = getConfigValue('deathLostPercent')
	if(loss ~= nil) then
		doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
		doPlayerAddBlessing(cid, 1)
		doPlayerAddBlessing(cid, 2)
		doPlayerAddBlessing(cid, 3)
		doPlayerAddBlessing(cid, 4)
		doPlayerAddBlessing(cid, 5)
doPlayerSetLossPercent(cid, PLAYERLOSS_ITEMS, 0)
doPlayerSetLossPercent(cid, PLAYERLOSS_CONTAINERS, 0)
		doPlayerAddPremiumDays(cid, 2)
		doPlayerSetPromotionLevel(cid, 1)
	end

	local accountManager = getPlayerAccountManager(cid)
	if(accountManager == MANAGER_NONE) then
		local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
		if(lastLogin > 0) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
			str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
		else
			str = str .. " Please choose your outfit."
			doPlayerSendOutfitWindow(cid)
		end

		doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
	elseif(accountManager == MANAGER_NAMELOCK) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
	elseif(accountManager == MANAGER_ACCOUNT) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
	end

	if(not isPlayerGhost(cid)) then
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
	end

     registerCreatureEvent(cid, "kill")
     registerCreatureEvent(cid, "onPrepareDeath")
     registerCreatureEvent(cid, "PlayerLogout")
     registerCreatureEvent(cid, "onPrepareDeath")
     registerCreatureEvent(cid, "deathBroadcast")
     registerCreatureEvent(cid, "DeathBroadcast")
     registerCreatureEvent(cid, "showKD")
registerCreatureEvent(cid, "Addons")

	registerCreatureEvent(cid, "Idle")
	if(config.useFragHandler) then
		registerCreatureEvent(cid, "SkullCheck")
	end

	registerCreatureEvent(cid, "ReportBug")
	return true
end

ERROR CONSOLE

Code:
 [Error - CreatureScript Interface] 
 buffer:onLogin
Description: 
 [string "loadBuffer"]:3: attempt to index global 'config' (a nil value)
 stack traceback:	
[string "loadBuffer"]:3: in function <[string "loadBuffer"]:2>

WHEN I TRY ENTER TO MY SERVER APPEARS THIS ERROR ^ AND I CAN'T LOGIN
 
Back
Top