• 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 npc, error movement

Sigoles

Discord: @sigoles
Joined
Nov 20, 2015
Messages
1,209
Solutions
2
Reaction score
154
error 1:
Code:
Lua Script Error: [Npc interface]
data/npc/scripts/MarisFenrock.lua:onCreatureSay
attempt to index a nil value
stack traceback:
    [C]: at 0x0056b710
    [C]: in function 'teleportTo'
    data/npc/lib/npcsystem/customModules.lua:44: in function 'callback'
    data/npc/lib/npcsystem/keywordhandler.lua:31: in function 'processMessage'
    data/npc/lib/npcsystem/keywordhandler.lua:186: in function 'processNodeMessage'
    data/npc/lib/npcsystem/keywordhandler.lua:161: in function 'processMessage'
    data/npc/lib/npcsystem/npchandler.lua:428: in function 'onCreatureSay'
    data/npc/scripts/MarisFenrock.lua:7: in function <data/npc/scripts/MarisFenrock.lua:7>

LUA:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid)            npcHandler:onCreatureAppear(cid)            end
function onCreatureDisappear(cid)        npcHandler:onCreatureDisappear(cid)            end
function onCreatureSay(cid, type, msg)        npcHandler:onCreatureSay(cid, type, msg)        end
function onThink()                npcHandler:onThink()                    end

-- Travel
local function addTravelKeyword(keyword, text, cost, destination)
    local travelKeyword = keywordHandler:addKeyword({keyword}, StdModule.say, {npcHandler = npcHandler, text = 'Do you want go to ' .. text .. ' for |TRAVELCOST|?', cost = cost})
    travelKeyword:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, cost = cost, destination = destination})
    travelKeyword:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, text = 'Alright then!', reset = true})
end

addTravelKeyword('yalahar', 'back to Yalahar', 0, Position(32649, 31292, 6))
addTravelKeyword('fenrock', 'to the Fenrock', 0, Position(32563, 31313, 7))

-- Kick
keywordHandler:addKeyword({'kick'}, StdModule.kick, {npcHandler = npcHandler, destination = {Position(32634, 31437, 7), Position(32634, 31438, 7)}})

-- Basic
keywordHandler:addKeyword({'mistrock'}, StdModule.say, {npcHandler = npcHandler,
    text = {
        "Do you smell this? It's the smell of fire... the fire of a forge. Many people searched this rock here for a hidden path, but they haven't found anything. ...",
        "I'd search on Fenrock if I were you. Even though there's snow on the surface, it's still warm underground. There are often caves under fresh lava streams."
    }}, nil, function(player) if player:getStorageValue(Storage.hiddenCityOfBeregar.WayToBeregar) ~= 1 then player:setStorageValue(Storage.hiddenCityOfBeregar.WayToBeregar, 1) end end
)
keywordHandler:addKeyword({'offer'}, StdModule.say, {npcHandler = npcHandler, text = 'I can take you to {Yalahar} or {Fenrock}!'})
keywordHandler:addKeyword({'passage'}, StdModule.say, {npcHandler = npcHandler, text = 'I can take you to {Yalahar} or {Fenrock}!'})
keywordHandler:addKeyword({'job'}, StdModule.say, {npcHandler = npcHandler, text = 'I am Maris, Captain of this ship.'})
keywordHandler:addKeyword({'captain'}, StdModule.say, {npcHandler = npcHandler, text = 'I am Maris, Captain of this ship.'})

npcHandler:setMessage(MESSAGE_GREET, "Oh, you're still alive. Hello, |PLAYERNAME|.")
npcHandler:setMessage(MESSAGE_FAREWELL, "Yeah, bye or whatever.")
npcHandler:setMessage(MESSAGE_WALKAWAY, "Bye.")

npcHandler:addModule(FocusModule:new())


error 2:

Code:
Lua Script Error: [MoveEvents Interface]
data/movements/scripts/quests/svargrond arena/arenaPit.lua:onStepIn
data/lib/miscellaneous/svargrondArenaQuest.lua:290: attempt to index a nil value
stack traceback:
    [C]: in function '__index'
    data/lib/miscellaneous/svargrondArenaQuest.lua:290: in function 'startTimer'
    data/lib/miscellaneous/svargrondArenaQuest.lua:284: in function 'scheduleKickPlayer'
    data/movements/scripts/quests/svargrond arena/arenaPit.lua:59: in function <data/movements/scripts/quests/svargrond arena/arenaPit.lua:5>

LUA:
local condition = Condition(CONDITION_OUTFIT)
condition:setTicks(120000)
condition:setOutfit({lookType = 111})

function onStepIn(creature, item, position, fromPosition)
    local player = creature:getPlayer()
    if not player then
        return true
    end

    local playerId = player.uid
    if item.actionid == 25300 then
        player:addCondition(condition)

        player:setStorageValue(Storage.SvargrondArena.Pit, 0)
        player:teleportTo(SvargrondArena.kickPosition)
        player:say('Coward!', TALKTYPE_MONSTER_SAY)
        SvargrondArena.cancelEvents(playerId)
        return true
    end

    local pitId = player:getStorageValue(Storage.SvargrondArena.Pit)
    local arenaId = player:getStorageValue(Storage.SvargrondArena.Arena)
    if pitId > 10 then
        player:teleportTo(SvargrondArena.rewardPosition)
        player:setStorageValue(Storage.SvargrondArena.Pit, 0)

        if arenaId == 1 then
            SvargrondArena.rewardPosition:sendMagicEffect(CONST_ME_FIREWORK_BLUE)
            player:setStorageValue(Storage.SvargrondArena.Greenhorn, 1)
            player:say('Welcome back, little hero!', TALKTYPE_MONSTER_SAY)
        elseif arenaId == 2 then
            SvargrondArena.rewardPosition:sendMagicEffect(CONST_ME_FIREWORK_YELLOW)
            player:setStorageValue(Storage.SvargrondArena.Scrapper, 1)
            player:say('Congratulations, brave warrior!', TALKTYPE_MONSTER_SAY)
        elseif arenaId == 3 then
            SvargrondArena.rewardPosition:sendMagicEffect(CONST_ME_FIREWORK_RED)
            player:setStorageValue(Storage.SvargrondArena.Warlord, 1)
            player:say('Respect and honour to you, champion!', TALKTYPE_MONSTER_SAY)
        end

        player:setStorageValue(Storage.SvargrondArena.Arena, player:getStorageValue(Storage.SvargrondArena.Arena) + 1)
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Congratulations! You completed ' .. ARENA[arenaId].name .. ' arena, you should take your reward now.')
        player:setStorageValue(ARENA[arenaId].questLog, 2)
        player:addAchievement(ARENA[arenaId].achievement)
        SvargrondArena.cancelEvents(playerId)
        return true
    end

    local occupant = SvargrondArena.getPitOccupant(pitId, player)
    if occupant then
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, occupant:getName() .. ' is currently in the next arena pit. Please wait until ' .. (occupant:getSex() == PLAYERSEX_FEMALE and 's' or '') .. 'he is done fighting.')
        player:teleportTo(fromPosition, true)
        return true
    end

    SvargrondArena.cancelEvents(playerId)
    SvargrondArena.resetPit(pitId)
    SvargrondArena.scheduleKickPlayer(playerId, pitId)
    Game.createMonster(ARENA[arenaId].creatures[pitId], PITS[pitId].summon, false, true)

    player:teleportTo(PITS[pitId].center)
    player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
    player:say('Fight!', TALKTYPE_MONSTER_SAY)
    return true
end

lib:
hastebin
 
Last edited by a moderator:
Back
Top