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

Lua Linux - NPC and MODS error.

adikus95

New Member
Joined
May 17, 2009
Messages
29
Reaction score
0
Hello,
Linux Debian 7.6 wheezy
I compiled [8.6] TFS 0.3 - 0.3.7-r5916-v8.60 and i have problems with NPC and MODS.
On windows all works but on linux with ./configure --enable-mysql i have these errors:
MODS:
Code:
[10:46:19.264] [Error - GlobalEvent Interface]
[10:46:19.264]                  domodlib("config_run_event")
[10:46:19.264]                  domodlib("lib_run_event")

[10:46:19.264]                  local daysOpen = {}
[10:46:19.264]                  for k, v in pairs(configRunEvent.days) do
[10:46:19.264]                          table.insert(daysOpen, k)
[10:46:19.264]                  end

[10:46:19.264]                  function onThink(interval)
[10:46:19.264]                          if isInArray(daysOpen, os.date("%A")) then
[10:46:19.264]                                  if isInArray(configRunEvent.days[os.date("%A")], os.date("%X", os.time())) then
[10:46:19.264]                                          if getStorage(configRunEvent.storages.joining) ~= 1 then
[10:46:19.264]                                                  doSetStorage(configRunEvent.storages.joining, 1)
[10:46:19.264]                                                  addEvent(doStartEventRun, configRunEvent.delayTime * 60 * 1000)
[10:46:19.264]                                                  doStartCountingRunEvent(0)

[10:46:19.264]                                                  for _, pid in ipairs(getPlayersOnline()) do
[10:46:19.264]                                                          if getCreatureStorage(pid, configRunEvent.storages.player) > 0 then
[10:46:19.264]                                                                 doCreatureSetStorage(pid, configRunEvent.storages.player, -1)

[10:46:19.264]                                                                 doPlayerSetGroupId(pid, math.max(1, getCreatureStorage(pid, configRunEvent.storages.group)))
[10:46:19.264]                                                                 doChangeSpeed(pid, getCreatureBaseSpeed(pid) - configRunEvent.players.speed)
[10:46:19.264]                                                                 doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true)
[10:46:19.264]                                                          end
[10:46:19.264]                                                  end
[10:46:19.264]                                          end
[10:46:19.264]                                  end
[10:46:19.264]                          end
[10:46:19.264]                          return true
[10:46:19.264]                  end
[10:46:19.264]          :onThink
[10:46:19.264] Description:
[10:46:19.264] [string "LuaInterface::loadBuffer"]:10: attempt to call global 'isInArray' (a nil value)
[10:46:19.264] stack traceback:
[10:46:19.264]  [string "LuaInterface::loadBuffer"]:10: in function <[string "LuaInterface::loadBuffer"]:9>
[10:46:19.264] [Error - GlobalEvents::think] Couldn't execute event: Run_Event_Days

[10:46:20.291] [Error - GlobalEvents::think] Couldn't execute event: LMS_Event_Days

[10:46:20.291] [Error - GlobalEvent Interface]
[10:46:20.291]                  domodlib("config_run_event")
[10:46:20.291]                  domodlib("lib_run_event")

[10:46:20.291]                  local daysOpen = {}
[10:46:20.291]                  for k, v in pairs(configRunEvent.days) do
[10:46:20.291]                          table.insert(daysOpen, k)
[10:46:20.291]                  end

[10:46:20.291]                  function onThink(interval)
[10:46:20.291]                          if isInArray(daysOpen, os.date("%A")) then
[10:46:20.291]                                  if isInArray(configRunEvent.days[os.date("%A")], os.date("%X", os.time())) then
[10:46:20.291]                                          if getStorage(configRunEvent.storages.joining) ~= 1 then
[10:46:20.291]                                                  doSetStorage(configRunEvent.storages.joining, 1)
[10:46:20.291]                                                  addEvent(doStartEventRun, configRunEvent.delayTime * 60 * 1000)
[10:46:20.291]                                                  doStartCountingRunEvent(0)

[10:46:20.291]                                                  for _, pid in ipairs(getPlayersOnline()) do
[10:46:20.291]                                                          if getCreatureStorage(pid, configRunEvent.storages.player) > 0 then
[10:46:20.291]                                                                 doCreatureSetStorage(pid, configRunEvent.storages.player, -1)

[10:46:20.291]                                                                 doPlayerSetGroupId(pid, math.max(1, getCreatureStorage(pid, configRunEvent.storages.group)))
[10:46:20.291]                                                                 doChangeSpeed(pid, getCreatureBaseSpeed(pid) - configRunEvent.players.speed)
[10:46:20.291]                                                                 doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true)
[10:46:20.291]                                                          end
[10:46:20.292]                                                  end
[10:46:20.292]                                          end
[10:46:20.292]                                  end
[10:46:20.292]                          end
[10:46:20.292]                          return true
[10:46:20.292]                  end
[10:46:20.292]          :onThink
[10:46:20.292] Description:
[10:46:20.292] [string "LuaInterface::loadBuffer"]:10: attempt to call global 'isInArray' (a nil value)
[10:46:20.292] stack traceback:
[10:46:20.292]  [string "LuaInterface::loadBuffer"]:10: in function <[string "LuaInterface::loadBuffer"]:9>
[10:46:20.292] [Error - GlobalEvents::think] Couldn't execute event: Run_Event_Days
and more errors with all events.

NPC:
Code:
[10:45:47.669] [Error - NpcScript Interface]
[10:45:47.669] data/npc/scripts/exp.lua
[10:45:47.669] Description:
[10:45:47.669] data/npc/scripts/exp.lua:2: attempt to index global 'KeywordHandler' (a nil value)
[10:45:47.669] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scripts/exp.lua


[10:45:47.669] [Error - NpcScript Interface]
[10:45:47.669] data/npc/scripts/addons.lua
[10:45:47.669] Description:
[10:45:47.669] data/npc/scripts/addons.lua:1: attempt to index global 'KeywordHandler' (a nil value)
[10:45:47.669] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scripts/addons.lua


[10:45:47.673] [Error - NpcScript Interface]
[10:45:47.673] data/npc/scripts/runes.lua
[10:45:47.673] Description:
[10:45:47.673] data/npc/scripts/runes.lua:1: attempt to index global 'KeywordHandler' (a nil value)
[10:45:47.673] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scripts/runes.lua

[10:45:47.684] [Error - NpcScript Interface]
[10:45:47.684] data/npc/scripts/Parcel Seller.lua
[10:45:47.684] Description:
[10:45:47.684] data/npc/scripts/Parcel Seller.lua:1: attempt to index global 'KeywordHandler' (a nil value)
[10:45:47.684] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scripts/Parcel Seller.lua


[10:45:47.685] [Error - NpcScript Interface]
[10:45:47.685] data/npc/scripts/food.lua
[10:45:47.685] Description:
[10:45:47.685] data/npc/scripts/food.lua:1: attempt to index global 'KeywordHandler' (a nil value)
[10:45:47.685] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scripts/food.lua
Errors in all scripts.

Can any help me?
 
Now i have problem with isInArray();
I added ur:
Code:
[13:57:17.841] [Error - Action Interface]
[13:57:17.841] data/actions/scripts/other/doors.lua:onUse
[13:57:17.841] Description:
[13:57:17.841] data/lib/050-function.lua:10: bad argument #1 to 'ipairs' (table expected, got nil)
[13:57:17.841] stack traceback:
[13:57:17.841]  [C]: in function 'ipairs'
[13:57:17.841]  data/lib/050-function.lua:10: in function 'isInArray'
[13:57:17.841]  data/actions/scripts/other/doors.lua:90: in function <data/actions/scripts/other/doors.lua:17>

doors.lua
Code:
if(isInArray(specialDoors, item.itemid)) then
        if(item.actionid == 100 or (item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) > 0)) then
            doorEnter(cid, item, toPosition)
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.")
        end

        return true
    end

    if(isInArray(keys, item.itemid)) then
        if(itemEx.actionid > 0) then
            if(item.actionid == itemEx.actionid and doors[itemEx.itemid] ~= nil) then
                doTransformItem(itemEx.uid, doors[itemEx.itemid])
                return true
            end

            doPlayerSendCancel(cid, "The key does not match.")
            return true
        end

        return false
    end
if(isInArray(horizontalOpenDoors, item.itemid) and checkStackpos(item, fromPosition)) 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
            local pzDoorPosition = getTileInfo(doorPosition).protection
            local pzNewPosition = getTileInfo(newPosition).protection
            if((pzDoorPosition and not pzNewPosition and doorCreature.uid ~= cid) or
                (not pzDoorPosition and pzNewPosition and doorCreature.uid == cid and isPlayerPzLocked(cid))) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
            else
                doTeleportThing(doorCreature.uid, newPosition)
                if(not isInArray(closingDoors, item.itemid)) then
                    doTransformItem(item.uid, item.itemid - 1)
                end
            end

            return true
        end

        doTransformItem(item.uid, item.itemid - 1)
        return true
    end

    if(isInArray(verticalOpenDoors, item.itemid) and checkStackpos(item, fromPosition)) 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(getTileInfo(doorPosition).protection and not getTileInfo(newPosition).protection and doorCreature.uid ~= cid) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
            else
                doTeleportThing(doorCreature.uid, newPosition)
                if(not isInArray(closingDoors, item.itemid)) then
                    doTransformItem(item.uid, item.itemid - 1)
                end
            end

            return true
        end

        doTransformItem(item.uid, item.itemid - 1)
        return true
    end

ect.
 
Add the door tables in data/lib/000-constant.lua.
Code:
doors = {[1209] = 1211, [1210] = 1211, [1212] = 1214, [1213] = 1214, [1219] = 1220, [1221] = 1222, [1231] = 1233, [1232] = 1233, [1234] = 1236, [1235] = 1236, [1237] = 1238, [1239] = 1240, [1249] = 1251, [1250] = 1251, [1252] = 1254, [1253] = 1254, [1539] = 1540, [1541] = 1542, [3535] = 3537, [3536] = 3537, [3538] = 3539, [3544] = 3546, [3545] = 3546, [3547] = 3548, [4913] = 4915, [4914] = 4915, [4916] = 4918, [4917] = 4918, [5082] = 5083, [5084] = 5085, [5098] = 5100, [5099] = 5100, [5101] = 5102, [5107] = 5109, [5108] = 5109, [5110] = 5111, [5116] = 5118, [5117] = 5118, [5119] = 5120, [5125] = 5127, [5126] = 5127, [5128] = 5129, [5134] = 5136, [5135] = 5136, [5137] = 5139, [5138] = 5139, [5140] = 5142, [5141] = 5142, [5143] = 5145, [5144] = 5145, [5278] = 5280, [5279] = 5280, [5281] = 5283, [5282] = 5283, [5284] = 5285, [5286] = 5287, [5515] = 5516, [5517] = 5518, [5732] = 5734, [5733] = 5734, [5735] = 5737, [5736] = 5737, [6192] = 6194, [6193] = 6194, [6195] = 6197, [6196] = 6197, [6198] = 6199, [6200] = 6201, [6249] = 6251, [6250] = 6251, [6252] = 6254, [6253] = 6254, [6255] = 6256, [6257] = 6258, [6795] = 6796, [6797] = 6798, [6799] = 6800, [6801] = 6802, [6891] = 6893, [6892] = 6893, [6894] = 6895, [6900] = 6902, [6901] = 6902, [6903] = 6904, [7033] = 7035, [7034] = 7035, [7036] = 7037, [7042] = 7044, [7043] = 7044, [7045] = 7046, [7054] = 7055, [7056] = 7057, [8541] = 8543, [8542] = 8543, [8544] = 8546, [8545] = 8546, [8547] = 8548, [8549] = 8550, [9165] = 9167, [9166] = 9167, [9168] = 9170, [9169] = 9170, [9171] = 9172, [9173] = 9174, [9267] = 9269, [9268] = 9269, [9270] = 9272, [9271] = 9272, [9273] = 9274, [9275] = 9276, [10276] = 10277, [10274] = 10275, [10268] = 10270, [10269] = 10270, [10271] = 10273, [10272] = 10273, [10471] = 10472, [10480] = 10481, [10477] = 10479, [10478] = 10479, [10468] = 10470, [10469] = 10470, [10774] = 10776, [10775] = 10776, [10779] = 10780, [10781] = 10782, [10783] = 10785, [10784] = 10785, [10788] = 10789, [10790] = 10791}
closingDoors = {1224, 1226, 1228, 1230, 1242, 1244, 1246, 1248, 1256, 1258, 1260, 1262, 3541, 3543, 3550, 3552, 5104, 5106, 5113, 5115, 5122, 5124, 5131, 5133, 5289, 5291, 5293, 5295, 6203, 6205, 6207, 6209, 6260, 6262, 6264, 6266, 6897, 6899, 6906, 6908, 7039, 7041, 7048, 7050, 8552, 8554, 8556, 8558, 9176, 9178, 9180, 9182, 9278, 9280, 9282, 9284, 10279, 10281, 10283, 10285, 10474, 10476, 10483, 10485, 10780, 10782, 10789, 10791}
verticalOpenDoors = {1211, 1220, 1224, 1228, 1233, 1238, 1242, 1246, 1251, 1256, 1260, 1540, 3546, 3548, 3550, 3552, 4915, 5083, 5109, 5111, 5113, 5115, 5127, 5129, 5131, 5133, 5142, 5145, 5283, 5285, 5289, 5293, 5516, 5737, 5749, 6194, 6199, 6203, 6207, 6251, 6256, 6260, 6264, 6798, 6802, 6902, 6904, 6906, 6908, 7044, 7046, 7048, 7050, 7055, 8543, 8548, 8552, 8556, 9167, 9172, 9269, 9274, 9278, 9282, 10270, 10275, 10279, 10283, 10479, 10481, 10483, 10485, 10789, 10791}
horizontalOpenDoors = {1214, 1222, 1226, 1230, 1236, 1240, 1244, 1248, 1254, 1258, 1262, 1542, 3537, 3539, 3541, 3543, 4918, 5085, 5100, 5102, 5104, 5106, 5118, 5120, 5122, 5124, 5136, 5139, 5280, 5287, 5291, 5295, 5518, 5734, 5746, 6197, 6201, 6205, 6209, 6254, 6258, 6262, 6266, 6796, 6800, 6893, 6895, 6897, 6899, 7035, 7037, 7039, 7041, 7057, 8546, 8550, 8554, 8558, 9170, 9174, 9272, 9276, 9280, 9284, 10273, 10277, 10281, 10285, 10470, 10472, 10474, 10476, 10780, 10782}
specialDoors = {1223, 1225, 1241, 1243, 1255, 1257, 3542, 3551, 5105, 5114, 5123, 5132, 5288, 5290, 5745, 5748, 6202, 6204, 6259, 6261, 6898, 6907, 7040, 7049, 8551, 8553, 9175, 9177, 9277, 9279, 10278, 10280, 10475, 10484, 10781, 10790}
keys = {2086, 2087, 2088, 2089, 2090, 2091, 2092, 10032, 10091}
 
Back
Top