Jump to content

Syserr Metin2 Game 40k


Recommended Posts

My syserr what is resolve?

 

SYSERR: Jun 28 03:15:07.771790 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:09.8796 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:09.8808 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:09.728920 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:09.728931 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:16.46629 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:16.46641 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:16.46738 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:16.46747 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:16.485620 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:16.485631 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:16.846629 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:16.846641 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:20.923733 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:20.923744 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:22.323624 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:22.323636 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:22.443857 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:22.443868 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:22.963620 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:22.963631 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:23.203619 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:23.203630 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:23.803625 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:23.803636 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:23.803867 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:23.803877 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter
SYSERR: Jun 28 03:15:23.803962 :: RunState: LUA_ERROR: [string "dragon_soul"]:5: attempt to call global `drop_gamble_with_flag' (a nil value)
SYSERR: Jun 28 03:15:23.803971 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragon_soul.state_learning enter

 

 

My quest

quest dragon_soul begin
    state start begin
        when levelup or letter with pc.level >= 30 begin
            send_letter(gameforge.dragon_soul._1010_sendLetter)
            local v = find_npc_by_vnum(20001)
            
            if 0 != v then
                target.vid("__TARGET__", v, mob_name(20001))
            end
        end
        when info or button begin
            say(gameforge.dragon_soul._1020_say)
        end

        when 20001.chat.gameforge.dragon_soul._1030_npcChat with pc.level >= 30 begin
            target.delete("__TARGET__")

            say_title(mob_name(20001))
            say(gameforge.dragon_soul._1040_say)
            set_state(state_learning)
        end
    end
    state state_learning begin
        when letter begin
            send_letter(gameforge.dragon_soul._1050_sendLetter)
        end
        when info or button begin
            say(gameforge.dragon_soul._1060_say)
        end
        when kill begin
            if npc.is_pc() then
                return
            end
            
            if pc.count_item(30270) < 10 then
                if drop_gamble_with_flag("ds_drop") then
                    game.drop_item_with_ownership(30270, 1, 300)
                end
            end
        end
        when 20001.chat.gameforge.dragon_soul._1050_sendLetter begin
            say_title(mob_name(20001))
            if pc.count_item(30270) >= 10 then
                say(gameforge.dragon_soul._1070_say)
                pc.remove_item(30270, 10)
                ds.give_qualification()
                char_log(pc.get_player_id(), 'DS_QUALIFICATION', 'SUCCESS')
                pc.give_item2(50255)
                local today = math.floor(get_global_time() / 86400)
                pc.setf("dragon_soul", "eye_timestamp", today)
                pc.setf("dragon_soul", "eye_left", 9)
                set_state(state_farming)
            else
                say(gameforge.dragon_soul._1080_say)
            end
        end
    end
    state state_farming begin
        when letter begin
            send_letter(gameforge.dragon_soul._1090_sendLetter)
        end
        when info or button begin
            say(string.format(gameforge.dragon_soul._1100_say, pc.getf("dragon_soul", "eye_left")))
        end
        when kill begin
            if npc.is_pc() then
                return
            end
            
            if drop_gamble_with_flag("ds_drop") then
                local eye_left = pc.getf("dragon_soul", "eye_left")
                local haved_gemstone_number = pc.count_item(30270)
                
                if eye_left > haved_gemstone_number / 10 then
                    game.drop_item_with_ownership(30270, 1, 300)
                end
            end
        end
        when 30270.pick begin
            local eye_left = pc.getf("dragon_soul", "eye_left")
            if eye_left <= 0 then
                return
            end

            if pc.count_item(30270) >= 10 then
                pc.setf("dragon_soul", "eye_left", eye_left - 1)
                pc.remove_item(30270, 10)
                pc.give_item2(50255)
                if 1 == eye_left then
                    notice_multiline(gameforge.dragon_soul._1110_notice, notice)
                    set_state(state_closed_season)
                end
            end
        end
        when 20001.chat.gameforge.dragon_soul._1120_npcChat begin
            say_title(mob_name(20001))
            local today = math.floor(get_global_time() / 86400)
            if today == pc.getf("dragon_soul", "eye_timestamp") then
                say(gameforge.dragon_soul._1130_say)
            else
                say(gameforge.dragon_soul._1140_say)
                pc.setf("dragon_soul", "eye_timestamp", today)
                pc.setf("dragon_soul", "eye_left", 10)
            end    
        end
    end
    state state_closed_season begin
        when letter begin
            send_letter(gameforge.dragon_soul._1150_sendLetter)
        end
        when info or button begin
            say(gameforge.dragon_soul._1160_say)
            local today = math.floor(get_global_time() / 86400)
            if today == pc.getf("dragon_soul", "eye_timestamp") then
                say(gameforge.dragon_soul._1170_say)
            else
                say(gameforge.dragon_soul._1180_say)
            end
        end
        
        when 20001.chat.gameforge.dragon_soul._1090_sendLetter begin
            say_title(mob_name(20001))
            local today = math.floor(get_global_time() / 86400)
            if today == pc.getf("dragon_soul", "eye_timestamp") then
                say(gameforge.dragon_soul._1130_say)
            else
                say(gameforge.dragon_soul._1140_say)
                pc.setf("dragon_soul", "eye_timestamp", today)
                pc.setf("dragon_soul", "eye_left", 10)
                set_state(state_farming)
            end
        end
    end
    -- deprecated states. so, jump to new state.
    state state_1 begin
        when login begin
            set_state(state_learning)
        end
    end
    state state_2 begin
        when login begin
            set_state(state_learning)
        end
    end
    state state_3 begin
        when login begin
            set_state(state_closed_season)
        end
    end
end
 

 

Link to comment
Share on other sites

  • Active Member

You don't have drop_gamble_with_flag function. Add this to questlib.lua:

function get_today_count(questname, flag_name)
    local today = math.floor(get_global_time() / 86400)
    local today_flag = flag_name.."_today"
    local today_count_flag = flag_name.."_today_count"
    local last_day = pc.getf(questname, today_flag)
    if last_day == today then
        return pc.getf(questname, today_count_flag)
    else
        return 0
    end
end
-- "$flag_name"_today unix_timestamp % 86400
-- "$flag_name"_count count
function inc_today_count(questname, flag_name, count)
    local today = math.floor(get_global_time() / 86400)
    local today_flag = flag_name.."_today"
    local today_count_flag = flag_name.."_today_count"
    local last_day = pc.getqf(questname, today_flag)
    if last_day == today then
        pc.setf(questname, today_count_flag, pc.getf(questname, today_count_flag) + 1)
    else
        pc.setf(questname, today_flag, today)
        pc.setf(questname, today_count_flag, 1)
    end
end

-- This function will return true always in window os,
--  but not in freebsd.
-- (In window os, RAND_MAX = 0x7FFF = 32767.)
function drop_gamble_with_flag(drop_flag)
        local dp, range = pc.get_killee_drop_pct()
        dp = 40000 * dp / game.get_event_flag(drop_flag)
        if dp < 0 or range < 0 then
            return false
        end
        return dp >= number(1, range)
end
  • Love 3
Link to comment
Share on other sites

  • 1 year later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



  • Similar Content

  • Activity

    1. 24

      Experimental Renderer

    2. 11

      Multi Language System

    3. 0

      [FREE DESIGN] Interface + Logo + Discord Banner and Avatar

    4. 4

      Feeding game source to LLM

    5. 0

      Quest 6/7 Problem

    6. 5

      Effect weapons

    7. 0

      [C++] Fix Core Downer Using Negative Number in GM Codes

  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.