Jump to content

4peppe

Member
  • Posts

    79
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by 4peppe

  1. I introduce myself to everyone, my name is Peppe, I am 22 years old and I have been playing metin2 for about 10 years. I met your forum thanks to TMP4, a beast of a boy-a whom I respect a lot! Hope to make friends with someone else of you! I'm working on a server, entirely made by me and you will be working alone both server-side and client-side, I will publish it in Italian but it is not certain that, if it is successful, it will become an international one! I apologize for my bad English, but I use google translate

    • Good 2
  2. Hi everyone, as the title suggests, I need help implementing a bonus switcher in my server! i downloaded this 

    This is the hidden content, please
    , i followed the instructions, but it doesn't work. My client blocks at the loading screen; the client releases me this syerr 

    Spoiler

    1014 05:24:13775 :: Traceback (most recent call last):

    1014 05:24:13775 ::   File "networkModule.py", line 245, in SetGamePhase

    1014 05:24:13776 ::   File "system.py", line 130, in __pack_import

    1014 05:24:13776 ::   File "
    1014 05:24:13776 :: game.py
    1014 05:24:13776 :: ", line 
    1014 05:24:13776 :: 129
    1014 05:24:13776 :: 

    1014 05:24:13776 ::     
    1014 05:24:13776 :: self.switchbot = Bot()

    1014 05:24:13776 ::     
    1014 05:24:13776 :: ^

    1014 05:24:13776 :: IndentationError
    1014 05:24:13776 :: : 
    1014 05:24:13776 :: unexpected indent
    1014 05:24:13776 :: 

     

    • Metin2 Dev 24
    • Eyes 2
    • Confused 1
    • Lmao 1
    • Good 9
    • Love 2
    • Love 9
  3. Spoiler

     

    4 hours ago, TMP4 said:

    The prob is actually calculated on the source. The logic fcked up as usual for Ymir... so I advice this rework for you:

    (You should use unmodified quest for this one)

    I love you, you are number one! 🥰 If you need a hand I'm here;
    may I ask you where should I put this file? like quest for file 50513 (Stone of Souls)? Ok, in char_skill.cpp! obviously, it works!
     

    Spoiler

    // ADD_GRANDMASTER_SKILL
    bool CHARACTER::LearnGrandMasterSkill(DWORD dwSkillVnum)    //SAVIRIS EDIT - Dziwny algorytm treningu zast?piony najzwyklejsz? szans? na przeczytanie
    {
        CSkillProto * pkSk = CSkillManager::instance().Get(dwSkillVnum);

        if (!pkSk)
            return false;

        if (!IsLearnableSkill(dwSkillVnum))
        {
            return false;
        }

        sys_log(0, "learn grand master skill[%d] cur %d, next %d", dwSkillVnum, get_global_time(), GetSkillNextReadTime(dwSkillVnum));

        if (pkSk->dwType == 0)
        {
            return false;
        }

        std::string strTrainSkill;
        {
            std::ostringstream os;
            os << "training_grandmaster_skill.skill" << dwSkillVnum;
            strTrainSkill = os.str();
        }

        // ?ⓒ±a?­ ?®·u?≫ °?≫?C?´?´?.
        BYTE bLastLevel = GetSkillLevel(dwSkillVnum);

        int idx = MIN(9, GetSkillLevel(dwSkillVnum) - 30);

        sys_log(0, "LearnGrandMasterSkill %s table idx %d value %d", GetName(), idx, aiGrandMasterSkillBookCountForLevelUp[idx]);

        int iBookCount = aiGrandMasterSkillBookCountForLevelUp[idx];

        if (FindAffect(AFFECT_SKILL_BOOK_BONUS))
        {
            if (iBookCount&1)
                iBookCount = iBookCount / 2 + 1; 
            else
                iBookCount = iBookCount / 2; 

            RemoveAffect(AFFECT_SKILL_BOOK_BONUS);
        }

        int n = number(1, 100);
        sys_log(0, "Number(%d)", n);

        DWORD nextTime = get_global_time() + number(28800, 43200);
        
        bool bSuccess = false;
        
        const int aiGrandMasterSkillBookSuccessProb[10] = 
            { //1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10    <-- Poziomy G
                100, 100, 100, 100, 100, 100, 100, 100, 100, 100
            };
        if (n <= aiGrandMasterSkillBookSuccessProb[idx])
        {
            bSuccess = true;
        }
            
        if (test_server)
        {
            ChatPacket(CHAT_TYPE_INFO, "[TEST] Dane: aiGrandMasterSkillBookSuccessProb[%d] = %d, n = %d", idx, aiGrandMasterSkillBookSuccessProb[idx], n);
        }
        
        if (bSuccess)
        {
            SkillLevelUp(dwSkillVnum, SKILL_UP_BY_QUEST);
        }

        SetSkillNextReadTime(dwSkillVnum, nextTime);

        if (bLastLevel == GetSkillLevel(dwSkillVnum))
        {
            LogManager::instance().CharLog(this, dwSkillVnum, "GM_READ_FAIL", "");
            return false;
        }

        LogManager::instance().CharLog(this, dwSkillVnum, "GM_READ_SUCCESS", "");
        return true;
    }
    // END_OF_ADD_GRANDMASTER_SKILL

    here it is edited without korean writing, and 100% chance

  4. Hi everyone, I would like to change the probability from the soul stones to 100% success, can you help me? This is my quest: 

    Spoiler

    quest training_grandmaster_skill begin
        state start begin
            when 50513.use begin
                if pc.get_skill_group() == 0 then
                    say_title(gameforge.training_grandmaster_skill._10_sayTitle)
                    say(gameforge.training_grandmaster_skill._20_say)
                    return
                end

                if get_time() < pc.getqf("next_time") then
                    if pc.is_skill_book_no_delay() then
                        say_title(gameforge.training_grandmaster_skill._10_sayTitle)
                        say(gameforge.training_grandmaster_skill._30_say)
                        wait()
                    else
                        say_title(gameforge.training_grandmaster_skill._10_sayTitle)
                        say(gameforge.training_grandmaster_skill._40_say)
                        return
                    end
                end

                local result = training_grandmaster_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())

                local vnum_list = result[1]
                local name_list = result[2]

                if table.getn(vnum_list) == 0 then
                    say_title(gameforge.training_grandmaster_skill._10_sayTitle)
                    say(gameforge.training_grandmaster_skill._50_say)
                    return
                end
                say_title(gameforge.training_grandmaster_skill._10_sayTitle)
                say(gameforge.training_grandmaster_skill._60_say)

                local menu_list = {}
                table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
                table.insert(menu_list, gameforge.locale.cancel) 

                local s=select_table(menu_list)
                
                if table.getn(menu_list) == s then
                    return
                end

                local skill_name=name_list[s]
                local skill_vnum=vnum_list[s]
                local skill_level = pc.get_skill_level(skill_vnum)
                local cur_alignment = pc.get_real_alignment()
                local need_alignment = 1000+500*(skill_level-30)

                test_chat(string.format(gameforge.training_grandmaster_skill._70_chat, cur_alignment..gameforge.training_grandmaster_skill._75_chat..need_alignment))

                local title=string.format(gameforge.training_grandmaster_skill._80_stringFormat, skill_name, skill_level-30+1)

                say_title(gameforge.training_grandmaster_skill._10_sayTitle)
                say(gameforge.training_grandmaster_skill._90_say)

                if cur_alignment<-19000+need_alignment then
                    say_reward(gameforge.training_grandmaster_skill._100_sayReward)
                                    return
                end

                if cur_alignment<0 then
    say_reward(string.format(gameforge.training_grandmaster_skill._110_sayReward, need_alignment, need_alignment*2))
                    say_reward(gameforge.training_grandmaster_skill._120_sayReward)
                    need_alignment=need_alignment*2
                elseif cur_alignment<need_alignment then
    say_reward(string.format(gameforge.training_grandmaster_skill._130_sayReward, need_alignment))
                    say_reward(gameforge.training_grandmaster_skill._140_sayReward)
                else
    say_reward(string.format(gameforge.training_grandmaster_skill._130_sayReward, need_alignment))
                end
                    
                local s= select(gameforge.locale.levelup.prev_quest_go, gameforge.locale.cancel)    
                
                if s==2 then
                    return
                end


                if cur_alignment>=0 and cur_alignment<need_alignment then
    say_title(title)
                    say_reward(gameforge.training_grandmaster_skill._150_sayReward)
                    say(gameforge.training_grandmaster_skill._160_say)
                    say_reward(gameforge.training_grandmaster_skill._170_sayReward)
                    say(gameforge.training_grandmaster_skill._180_say)
                    local s=input()
                    s = string.gsub(s, "(%a*)%s*", "%1")
                    s = string.lower(string.gsub(s, "(%a*)%s*", "%1"))

                    local t = string.gsub(gameforge.training_grandmaster_skill._10_answer, "(%a*)%s*", "%1")
                    t = string.lower(string.gsub(gameforge.training_grandmaster_skill._10_answer, "(%a*)%s*", "%1"))
                    
                    if s!=t then
                        return
                    end
                end

                if get_time() < pc.getqf("next_time") then
                    if pc.is_skill_book_no_delay() then
                        pc.remove_skill_book_no_delay()
                    else
                        say_title(gameforge.training_grandmaster_skill._10_sayTitle)
                        return
                    end
                end

                pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))


                if need_alignment>0 then
                    if pc.count_item(50513) > 0 then
                        if pc.learn_grand_master_skill(skill_vnum) then
                            pc.change_alignment(-need_alignment)
                    
                            say_title(title)
                            say_reward(gameforge.training_grandmaster_skill._190_sayReward)

                            if 40 == pc.get_skill_level(skill_vnum) then
                                say(gameforge.training_grandmaster_skill._200_say)
                                say(string.format(gameforge.training_grandmaster_skill._210_say, skill_name))
                                say(gameforge.training_grandmaster_skill._220_say)
                            else
                                say(gameforge.training_grandmaster_skill._230_say)
                                say(string.format(gameforge.training_grandmaster_skill._240_say, skill_name, skill_level-30+1+1))
                            end
                            say_reward(gameforge.training_grandmaster_skill._250_sayReward)
                            say_reward(string.format(gameforge.training_grandmaster_skill._260_sayReward, need_alignment))
                        else
                            say_title(title)
                            say_reward(gameforge.training_grandmaster_skill._270_sayReward)
                            say(gameforge.training_grandmaster_skill._280_say)
                            say_reward(gameforge.training_grandmaster_skill._290_sayReward)
                            pc.change_alignment(-number(need_alignment/3, need_alignment/2))
                        end
                        pc.remove_item(50513)
                    else
                        char_log(0, "HACK 50513", pc.getname())
                    end
                end
            end

            function BuildGrandMasterSkillList(job, group)
                GRAND_MASTER_SKILL_LEVEL = 30
                PERFECT_MASTER_SKILL_LEVEL = 40

                local skill_list = special.active_skill_list[job+1][group]
                local ret_vnum_list = {}
                local ret_name_list = {}

                table.foreach(skill_list, 
                function(i, skill_vnum) 
                local skill_level = pc.get_skill_level(skill_vnum)

                if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
                    table.insert(ret_vnum_list, skill_vnum)
                    local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
                    
                    if name == nil then name=skill_vnum end
                        table.insert(ret_name_list, name)
                    end
                end)
                return {ret_vnum_list, ret_name_list}
            end
        end
    end
     

     

  5. You can close, in order to add items to the fishing system you must first go to src / game / src and modify the fishing.cpp file, go to line 108, select a facsimile and copy it by modifying the vnum of the item, example: 

    Spoiler

    { "붕어",    27803, 27833, 27863, { 2100, 1500,  100 },   13, FISHING_LIMIT_NONE,    {  0,   0,   0}, FISHING_TIME_EASY,   {1000,2500,2800},
           {USED_NONE, USED_SHELLFISH, USED_NONE, USED_NONE, USED_WATER_STONE, USED_TREASURE_MAP, USED_EARTHWARM, USED_NONE,USED_NONE,  USED_NONE } },

    in

    Spoiler

    { _YOUR NAME",    YOUR VALUE, 0, 0, { 2100, 1500,  100 },   13, FISHING_LIMIT_NONE,    {  0,   0,   0}, FISHING_TIME_EASY,   {1000,2500,2800},
           {USED_NONE, USED_SHELLFISH, USED_NONE, USED_NONE, USED_WATER_STONE, USED_TREASURE_MAP, USED_EARTHWARM, USED_NONE,USED_NONE,  USED_NONE } },
           

    after go in the file fishing.txt and add a line after this
     

    Spoiler

    ±Ý¿­¼è    50008    0    0    0    0    100    50    100    0    0    0    0    0    0    0    0    0    0    0    0    0    0
     

    Using a facsimile like:
     

    Spoiler

    YOUR NAME   YOUR VALUE    0    0    0    0    100    50    100    0    0    0    0    0    0    0    0    0    0    0    0    0    0
     

    Now, following this table
     

    Spoiler

    case 0: strlcpy(fish_info[idx].name, szCol, sizeof(fish_info[idx].name)); break;
                        case 1: str_to_number(fish_info[idx].vnum, szCol); break;
                        case 2: str_to_number(fish_info[idx].dead_vnum, szCol); break;
                        case 3: str_to_number(fish_info[idx].grill_vnum, szCol); break;
                        case 4: str_to_number(fish_info[idx].prob[0], szCol); break;
                        case 5: str_to_number(fish_info[idx].prob[1], szCol); break;
                        case 6: str_to_number(fish_info[idx].prob[2], szCol); break;
                        case 7: str_to_number(fish_info[idx].prob[3], szCol); break;
                        case 8: str_to_number(fish_info[idx].difficulty, szCol); break;
                        case 9: str_to_number(fish_info[idx].time_type, szCol); break;
                        case 10: str_to_number(fish_info[idx].length_range[0], szCol); break;
                        case 11: str_to_number(fish_info[idx].length_range[1], szCol); break;
                        case 12: str_to_number(fish_info[idx].length_range[2], szCol); break;

    Edit this, with prob max 10000 and - DIFFICULTY + EASILY

    Spoiler

    YOUR NAME   YOUR VALUE    0    0    PROB0 PROB1  PROB2  PROB3   DIFFICULTY    0    0    0    0    0    0    0    0    0    0    0    0    0    0

     

  6. Hi, I need to modify the fishing system, exactly I would like to know how to insert the items I want and modify their percentage of being caught, the only thing I know is a change to do to the fishing.txt file. Looking at my sources and my file, I came to this conclusion: 

    Spoiler

    case 0: strlcpy(fish_info[idx].name, szCol, sizeof(fish_info[idx].name)); break;
                        case 1: str_to_number(fish_info[idx].vnum, szCol); break;
                        case 2: str_to_number(fish_info[idx].dead_vnum, szCol); break;
                        case 3: str_to_number(fish_info[idx].grill_vnum, szCol); break;
                        case 4: str_to_number(fish_info[idx].prob[0], szCol); break;
                        case 5: str_to_number(fish_info[idx].prob[1], szCol); break;
                        case 6: str_to_number(fish_info[idx].prob[2], szCol); break;
                        case 7: str_to_number(fish_info[idx].prob[3], szCol); break;
                        case 8: str_to_number(fish_info[idx].difficulty, szCol); break;
                        case 9: str_to_number(fish_info[idx].time_type, szCol); break;
                        case 10: str_to_number(fish_info[idx].length_range[0], szCol); break;
                        case 11: str_to_number(fish_info[idx].length_range[1], szCol); break;
                        case 12: str_to_number(fish_info[idx].length_range[2], szCol); break;

    and so I tried to insert a sword + 9 with 100% chance, only this modification doesn't work! Here's what I did:
     

    Spoiler

    # À̸§    ¾ÆÅÛ¹øÈ£    Á×Àº¹øÈ£    ±¸¿î¹øÈ£    È®·ü Å×ÀÌºí                ³­À̵µ    ½Ã°£À¯Çü    ±æÀÌÃÖ¼Ò    ±æÀÌÃÖ´ë    ¿ùôÃÖ´ë    USED0    USED1    USED2    USED3    USED4    USED5    USED6    USED7    USED8    USED9
    Prova    19    0    0    100    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
     

     

    • Metin2 Dev 1
  7. I managed to solve, just open the ClientManager.cpp file (put in / src / db or in any case the source of the db file) and edit

    Spoiler

                else if (strcmp (locale.szValue, "english") == 0)

                {

                    sys_log (0, "locale [LOCALE] =% s", locale.szValue);

                    if (g_stLocale! = locale.szValue)

                        sys_log (0, "Changed g_stLocale% s to% s", g_stLocale.c_str (), "euckr");

                    g_stLocale = "";

                    g_stLocaleNameColumn = "locale_name";

     

    with this 

    Spoiler

                else if (strcmp (locale.szValue, "english") == 0)

                {

                    sys_log (0, "locale [LOCALE] =% s", locale.szValue);

                    if (g_stLocale! = locale.szValue)

                        sys_log (0, "Changed g_stLocale% s to% s", g_stLocale.c_str (), "euckr");

                    g_stLocale = "latin1";

                    g_stLocaleNameColumn = "locale_name";

    then add latin1 in g_stLocale = "";

    On 8/31/2021 at 1:55 AM, Cunoo said:

    You can deactivate it, but so far delete it is no easy way. Because included is some new stuff manipulate with inventory, exchange and more things.. Last year I try it and is possible but you must outdated client code back to 2012 year.. And server so this is next story..

    For disable dragon soul system, just comment "define ENABLE_DRAGON_SOUL_SYSTEM" in ClientVS19/source/UserInterface/Locale_inc.h and you have disabled it at the client! To disable it from the game just remove the items from the drop and quests

  8. I managed to solve, just open the ClientManager.cpp file (put in / src / db or in any case the source of the db file) and edit

    Spoiler

                else if (strcmp (locale.szValue, "english") == 0)

                {

                    sys_log (0, "locale [LOCALE] =% s", locale.szValue);

                    if (g_stLocale! = locale.szValue)

                        sys_log (0, "Changed g_stLocale% s to% s", g_stLocale.c_str (), "euckr");

                    g_stLocale = "";

                    g_stLocaleNameColumn = "locale_name";

     

    with this 

    Spoiler

                else if (strcmp (locale.szValue, "english") == 0)

                {

                    sys_log (0, "locale [LOCALE] =% s", locale.szValue);

                    if (g_stLocale! = locale.szValue)

                        sys_log (0, "Changed g_stLocale% s to% s", g_stLocale.c_str (), "euckr");

                    g_stLocale = "latin1";

                    g_stLocaleNameColumn = "locale_name";

    then add latin1 in g_stLocale = "";

  9. 23 hours ago, TMP4 said:

    That's not a real bug just Ymir (original developer of metin2) back in the time wanted to implement some auto locale set for mysql but did not really finished it and AsyncSql never gets a value there, but until your database have correct collation you're good. 

    If that syserr abuses you then change it to sys_log

        if (0 == m_stLocale.length())
        {
            // sys_err("m_stLocale == 0"); //change
            sys_log(0, "m_stLocale == 0"); //to this...
            return true;
        }

    Your db starting fine isn't it? I did test it with every collation so I hope so.

    yes, the server works perfectly! It just bothers me to have the syerr ...

  10. 14 minutes ago, asanae123 said:

    when i change the language to czech, it says in the virutalbox locale/czech/translate.lua:2060 unexpected symbol near ´not´ .. and then i cannot connect, where am I making a mistake? Thanks

    If you change the language you must (as it is written in the file languages.txt): 

    Spoiler

    Current Languages: EN/DE/HU/FR/CZ/DK/ES/GR/IT/NL/PL/PT/RO/RU/TR
    Default Language: EN
    May be extended in the future! -- DONE in V1.1
    Video tutorial: https://youtu.be/gzo6JK8_K9Y?t=487

    Every language related file have it's other variants too, you just need to swap file names.

    Server:
    1. /usr/metin2/server/share/conf/item_names_xy.txt
    2. /usr/metin2/server/share/conf/mob_names_xy.txt
    3. /usr/metin2/server/share/locale/english/translate_xy.lua
    4. /usr/metin2/server/share/locale/english/locale_string_xy.txt

    You have to rename the files listed above for example item_names.txt to item_names_en.txt,
    then item_names_de.txt to item_names.txt, then you'll have german item names. Do the same with the others!

    Client:
    1. locale_xy.cfg

    You have to rename locale.cfg to locale_en.cfg, and rename locale_de.cfg to locale.cfg, then you'll have german language at clientside.

    Optional but recommended:
    1: /usr/metin2/server/share/locale/english <-- rename english to your locale like germany/hungary/france.
    2: Open database common/locale table and rename LOCALE's mValue to your locale like germany/hungary/france.
    3: Edit root/.cshrc file's questcompile command ..locale/english/quest/make.py to the correct folder name if you are using the vdi.
    EN: english
    DE: germany
    HU: hungary
    FR: france
    CZ: czech
    DK: denmark
    ES: spain
    GR: greek
    IT: italy
    NL: netherlands
    PL: poland
    PT: portugal
    RO: romania
    RU: russia
    TR: turkey

    You can delete unused language files as you wish.

    Locale_string for GR (greek) is currently missing, I will update it if I find a greek one.

     

    As soon as I start the server, without touching your files I have these errors:
     

    Spoiler

    SYSERR: Jul 31 01:29:55 :: LoadSkillMotion: Motion: Skill exist but no motion data for index 0 mob 3596 skill 257
    SYSERR: Jul 31 01:29:55 :: LoadSkillMotion: Motion: Skill exist but no motion data for index 1 mob 3596 skill 258
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: yamachun have not motlist.txt vnum(6091) folder(yamachun)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: yamachun have not motlist.txt vnum(6091) folder(yamachun)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: yamachun have not motlist.txt vnum(6091) folder(yamachun)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: yamachun have not motlist.txt vnum(6091) folder(yamachun)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: yamachun have not motlist.txt vnum(6091) folder(yamachun)
    SYSERR: Jul 31 01:29:55 :: LoadMotion: cannot find accumulation data in file 'data/monster/horse_event1/03.msa'
    SYSERR: Jul 31 01:29:55 :: LoadMotion: cannot find accumulation data in file 'data/monster/boar/run.msa'
    SYSERR: Jul 31 01:29:55 :: LoadMotion: cannot find accumulation data in file 'data/monster/dog_god/run.msa'
    SYSERR: Jul 31 01:29:55 :: LoadMotion: cannot find accumulation data in file 'data/monster/lion/run.msa'
    SYSERR: Jul 31 01:29:55 :: LoadMotion: cannot find accumulation data in file 'data/monster/boar/run.msa'
    SYSERR: Jul 31 01:29:55 :: LoadMotion: cannot find accumulation data in file 'data/monster/dog_god/run.msa'
    SYSERR: Jul 31 01:29:55 :: LoadMotion: cannot find accumulation data in file 'data/monster/lion/run.msa'
    SYSERR: Jul 31 01:29:55 :: LoadMotion: cannot find accumulation data in file 'data/monster/boar/run.msa'
    SYSERR: Jul 31 01:29:55 :: LoadMotion: cannot find accumulation data in file 'data/monster/dog_god/run.msa'
    SYSERR: Jul 31 01:29:55 :: LoadMotion: cannot find accumulation data in file 'data/monster/lion/run.msa'
    SYSERR: Jul 31 01:29:55 :: LoadMotion: cannot find accumulation data in file 'data/monster/horse_event1/03.msa'
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: leechung have not motlist.txt vnum(20369) folder(leechung)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: leechung have not motlist.txt vnum(20369) folder(leechung)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: leechung have not motlist.txt vnum(20369) folder(leechung)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: spy1 have not motlist.txt vnum(20370) folder(spy1)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: spy1 have not motlist.txt vnum(20370) folder(spy1)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: spy1 have not motlist.txt vnum(20370) folder(spy1)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: zombie_key_stone have not motlist.txt vnum(30101) folder(zombie_key_stone)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: zombie_key_stone have not motlist.txt vnum(30101) folder(zombie_key_stone)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: zombie_key_stone have not motlist.txt vnum(30101) folder(zombie_key_stone)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: zombie_god_stone have not motlist.txt vnum(30102) folder(zombie_god_stone)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: zombie_god_stone have not motlist.txt vnum(30102) folder(zombie_god_stone)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: zombie_god_stone have not motlist.txt vnum(30102) folder(zombie_god_stone)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: zombie_security_stone have not motlist.txt vnum(30103) folder(zombie_security_stone)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: zombie_security_stone have not motlist.txt vnum(30103) folder(zombie_security_stone)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: zombie_security_stone have not motlist.txt vnum(30103) folder(zombie_security_stone)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: zombie_security_stone have not motlist.txt vnum(30104) folder(zombie_security_stone)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: zombie_security_stone have not motlist.txt vnum(30104) folder(zombie_security_stone)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: zombie_security_stone have not motlist.txt vnum(30104) folder(zombie_security_stone)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: pwahuang1_2 have not motlist.txt vnum(34009) folder(pwahuang1_2)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: pwahuang1_2 have not motlist.txt vnum(34009) folder(pwahuang1_2)
    SYSERR: Jul 31 01:29:55 :: GetMotionFileName: Motion: pwahuang1_2 have not motlist.txt vnum(34009) folder(pwahuang1_2)
     

    These are all things that anyone can fix with a bit of commitment but it is right that you point them out!

    • Good 2
  11. 8 hours ago, TMP4 said:

    Gli item_names dovrebbero essere originali al 100% (anche con piccoli errori come questo) perché l'ho scaricato con reverse dump_proto. È un file del server di riferimento, quindi lo lascio così com'è ma mi sento libero di rimuovere lo spazio. Credo che ci siano anche degli spazi extra da qualche parte in translate.lua (almeno quello ungherese). Se qualcuno è infastidito dagli spazi, spero che tutti abbiano le competenze per rimuoverlo  <font style=😂">

    Ma per favore segnala anche i bug, quello CLAW è stata una buona cattura, grazie ancora <font style=🙂">

    This is my way of trying to thank you for making your work public on which you have surely wasted time. Most likely I will open my first public retroserver with your files! Some time ago I used the franzi 2011 to do the server with hamachi and no-ip, now we go to dedicated 🙂

    • Metin2 Dev 1
    • Love 1
  12. Sorry, it was my mistake: I forgot to remove | between CLAW and BELL

    1 hour ago, TMP4 said:

    Hello, thank you. I'm on it. Yes I left some claw on some skilldesc in locale (not all, like EN/HU/DE/FR doesn't have them because I made them in v1.0 🙃)

    Splash why tho? That is just on "139    HORSE" and I believe that should be there.

    139	HORSE	Power Wave			Attack all enemies from your horse. (from lv.55)	Riding Skill				ATTACK_SKILL|HORSE_SKILL|WEAPON_LIMITATION	SWORD|TWO_HANDED|DAGGER|DOUBLE_SWORD|BOW|FAN|BELL	splash	123	1							

     

    Gonna reupload the client with the CLAWs removed from skilldesc soon.

    Edit: Done, version stays V1.1, I mentioned the change in Changelog.txt.

    yeah, just remove CLAW

    • Good 1
×
×
  • 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.