berkmenoo 1
berkmenoo
farkmt2official 1
farkmt2official
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle

Activating Korean 7-8th skills like Saveyourself2

  • Konuyu başlatan Konuyu başlatan callmedanny
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 817
Just for fun 7-8th skills without wolfman like Korean version


open your
Pythonnetworkstreamphasegame.cpp
Kod:
bool CPythonNetworkStream::RecvSkillLevelNew()
{
    TPacketGCSkillLevelNew packet;

    if (!Recv(sizeof(TPacketGCSkillLevelNew), &packet))
    {
        Tracen("CPythonNetworkStream::RecvSkillLevelNew - RecvError");
        return false;
    }

    CPythonPlayer& rkPlayer=CPythonPlayer::Instance();

    rkPlayer.SetSkill(7, 0);
    rkPlayer.SetSkill(8, 0);

    for (int i = 0; i < SKILL_MAX_NUM; ++i)
    {
        TPlayerSkill & rPlayerSkill = packet.skills[i];

        if (i >= 112 && i <= 115 && rPlayerSkill.bLevel)
            rkPlayer.SetSkill(7, i);

        if (i >= 116 && i <= 119 && rPlayerSkill.bLevel)
            rkPlayer.SetSkill(8, i);

        rkPlayer.SetSkillLevel_(i, rPlayerSkill.bMasterType, rPlayerSkill.bLevel);
    }

    __RefreshSkillWindow();
    __RefreshStatus();
    //Tracef(" >> RecvSkillLevelNew\n");
    return true;
}
change this part to this
Kod:
bool CPythonNetworkStream::RecvSkillLevelNew()
{
    TPacketGCSkillLevelNew packet;

    if (!Recv(sizeof(TPacketGCSkillLevelNew), &packet))
    {
        Tracen("CPythonNetworkStream::RecvSkillLevelNew - RecvError");
        return false;
    }

    CPythonPlayer& rkPlayer = CPythonPlayer::Instance();

    for (int i = 0; i < SKILL_MAX_NUM; ++i)
    {
        TPlayerSkill & rPlayerSkill = packet.skills[i];
        rkPlayer.SetSkillLevel_(i, rPlayerSkill.bMasterType, rPlayerSkill.bLevel);
    }

    __RefreshSkillWindow();
    __RefreshStatus();
    //Tracef(" >> RecvSkillLevelNew\n");
    return true;
}
now you can build your Binary's exe.

open your root.:
playersettingsmodule.py
find this:
SKILL_INDEX_DICT = {
and edit the following lines with your new skillIDs

SKILL_INDEX_DICT = {
JOB_WARRIOR : {
1 : (1, 2, 3, 4, 5, 6, 7, 8, 137, 0, 138, 0, 139, 0,),
2 : (16, 17, 18, 19, 20, 21, 22, 23, 137, 0, 138, 0, 139, 0,),
"SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 141, 142,),
},
JOB_ASSASSIN : {
1 : (31, 32, 33, 34, 35, 36, 37, 38, 137, 0, 138, 0, 139, 0, 140,),
2 : (46, 47, 48, 49, 50, 51, 52, 53, 137, 0, 138, 0, 139, 0, 140,),
"SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 141, 142,),
},
JOB_SURA : {
1 : (61, 62, 63, 64, 65, 66, 67, 68, 137, 0, 138, 0, 139, 0,),
2 : (76, 77, 78, 79, 80, 81, 82, 83, 137, 0, 138, 0, 139, 0,),
"SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 141, 142,),
},
JOB_SHAMAN : {
1 : (91, 92, 93, 94, 95, 96, 97, 98, 137, 0, 138, 0, 139, 0,),
2 : (106, 107, 108, 109, 110, 111, 112, 113, 137, 0, 138, 0, 139, 0,),
"SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 141, 142,),
},
}
Kod:
now find this
[code]
    if i != 6 and i != 7:
    player.SetSkill(i+1, skillIndex)

and replace it with
[code]
    if i != 7:
or
Kod:
    if i != 8:
depending the amount of skills.


now add your new skills like me
search
## Warrior
and few lines down you can see
Kod:
        chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+7, "jipjung" + END_STRING + ".msa")
        chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+8, "rampage" + END_STRING + ".msa")
        chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+22, "musa" + END_STRING + ".msa")
        chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+23, "jeonsinbangeo" + END_STRING + ".msa")
(it will work under M1 cuz the original files has them but there's no M1-G1-P yet there at the korean skills... )



NOW YOU CAN REPACK YOUR ROOT if you're ready with it and you need to create your skills in locale_xy
just copy an original skill at your skillID and at your korean skillname too + the numbers after the korean skillnames

also later you need to make subs and images too which you can make at Etc like ui
so there goes the .dds images
Kod:
ymir work/ui/

Kod:
and there goes the .sub folders
ymir work/ui/skill/warrior/
ymir work/ui/skill/sura/
ymir work/ui/skill/assassin/
ymir work/ui/skill/shaman/


Now the SRC part:

for the src part:
game/src/char_skill.cpp
search
const int SKILL_COUNT = 6;
edit
Kod:
        const int SKILL_COUNT = 8;
        static const DWORD SkillList[JOB_MAX_NUM][SKILL_GROUP_MAX_NUM][SKILL_COUNT] =
        {
            { {    1,    2,    3,    4,    5,    6,    7,    8    }, {    16,    17,    18,    19,    20,    21,    22,    23    } },
            { {    31,    32,    33,    34,    35,    36,    37,    38    }, {    46,    47,    48,    49,    50,    51,    52,    53    } },
            { {    61,    62,    63,    64,    65,    66,    67,    68    }, {    76,    77,    78,    79,    80,    81,    82,    83    } },
            { {    91,    92,    93,    94,    95,    96,    97,    98    }, {    106,107,108,109,110,111,112,113    } },
        };
search
Kod:
bool CHARACTER::IsUsableSkillMotion(DWORD dwMotionIndex) const

edit it like this

Kod:
bool CHARACTER::IsUsableSkillMotion(DWORD dwMotionIndex) const
{
    DWORD selfJobGroup = (GetJob()+1) * 10 + GetSkillGroup();

    const DWORD SKILL_NUM = 158;
    static DWORD s_anSkill2JobGroup[SKILL_NUM] = {
        0, // common_skill 0
        11, // job_skill 1
        11, // job_skill 2
        11, // job_skill 3
        11, // job_skill 4
        11, // job_skill 5
        11, // job_skill 6
        11, // job_skill 7
        11, // job_skill 8
        0, // common_skill 9
        0, // common_skill 10
        0, // common_skill 11
        0, // common_skill 12
        0, // common_skill 13
        0, // common_skill 14
        0, // common_skill 15
        12, // job_skill 16
        12, // job_skill 17
        12, // job_skill 18
        12, // job_skill 19
        12, // job_skill 20
        12, // job_skill 21
        12, // job_skill 22
        12, // job_skill 23
        0, // common_skill 24
        0, // common_skill 25
        0, // common_skill 26
        0, // common_skill 27
        0, // common_skill 28
        0, // common_skill 29
        0, // common_skill 30
        21, // job_skill 31
        21, // job_skill 32
        21, // job_skill 33
        21, // job_skill 34
        21, // job_skill 35
        21, // job_skill 36
        21, // job_skill 37
        21, // job_skill 38
        0, // common_skill 39
        0, // common_skill 40
        0, // common_skill 41
        0, // common_skill 42
        0, // common_skill 43
        0, // common_skill 44
        0, // common_skill 45
        22, // job_skill 46
        22, // job_skill 47
        22, // job_skill 48
        22, // job_skill 49
        22, // job_skill 50
        22, // job_skill 51
        22, // job_skill 52
        22, // job_skill 53
        0, // common_skill 54
        0, // common_skill 55
        0, // common_skill 56
        0, // common_skill 57
        0, // common_skill 58
        0, // common_skill 59
        0, // common_skill 60
        31, // job_skill 61
        31, // job_skill 62
        31, // job_skill 63
        31, // job_skill 64
        31, // job_skill 65
        31, // job_skill 66
        31, // job_skill 67
        31, // job_skill 68
        0, // common_skill 69
        0, // common_skill 70
        0, // common_skill 71
        0, // common_skill 72
        0, // common_skill 73
        0, // common_skill 74
        0, // common_skill 75
        32, // job_skill 76
        32, // job_skill 77
        32, // job_skill 78
        32, // job_skill 79
        32, // job_skill 80
        32, // job_skill 81
        32, // job_skill 82
        32, // job_skill 83
        0, // common_skill 84
        0, // common_skill 85
        0, // common_skill 86
        0, // common_skill 87
        0, // common_skill 88
        0, // common_skill 89
        0, // common_skill 90
        41, // job_skill 91
        41, // job_skill 92
        41, // job_skill 93
        41, // job_skill 94
        41, // job_skill 95
        41, // job_skill 96
        41, // job_skill 97
        41, // job_skill 98
        0, // common_skill 99
        0, // common_skill 100
        0, // common_skill 101
        0, // common_skill 102
        0, // common_skill 103
        0, // common_skill 104
        0, // common_skill 105
        42, // job_skill 106
        42, // job_skill 107
        42, // job_skill 108
        42, // job_skill 109
        42, // job_skill 110
        42, // job_skill 111
        42, // job_skill 112
        42, // job_skill 113
        0, // common_skill 114
        0, // common_skill 115
        0, // common_skill 116
        0, // common_skill 117
        0, // common_skill 118
        0, // common_skill 119
        0, // common_skill 120
        0, // common_skill 121
        0, // common_skill 122
        0, // common_skill 123
        0, // common_skill 124
        0, // common_skill 125
        0, // common_skill 126
        0, // common_skill 127
        0, // common_skill 128
        0, // common_skill 129
        0, // common_skill 130
        0, // common_skill 131
        0, // common_skill 132
        0, // common_skill 133
        0, // common_skill 134
        0, // common_skill 135
        0, // common_skill 136
        0, // job_skill 137
        0, // job_skill 138
        0, // job_skill 139
        0, // job_skill 140
        0, // common_skill 141
        0, // common_skill 142
        0, // common_skill 143
        0, // common_skill 144
        0, // common_skill 145
        0, // common_skill 146
        0, // common_skill 147
        0, // common_skill 148
        0, // common_skill 149
        0, // common_skill 150
        0, // common_skill 151
        0, // job_skill 152
        0, // job_skill 153
        0, // job_skill 154
        0, // job_skill 155
        0, // job_skill 156
        0, // job_skill 157
    }; // s_anSkill2JobGroup

    const DWORD MOTION_MAX_NUM     = 124;
    const DWORD SKILL_LIST_MAX_COUNT    = 5;

    static DWORD s_anMotion2SkillVnumList[MOTION_MAX_NUM][SKILL_LIST_MAX_COUNT] =
    {
        // 스킬수   무사스킬ID  자객스킬ID  수라스킬ID  무당스킬ID
        {   0,        0,            0,            0,            0        }, //  0

        // 1번 직군 기본 스킬
        {   4,        1,            31,            61,            91        }, //  1
        {   4,        2,            32,            62,            92        }, //  2
        {   4,        3,            33,            63,            93        }, //  3
        {   4,        4,            34,            64,            94        }, //  4
        {   4,        5,            35,            65,            95        }, //  5
        {   4,        6,            36,            66,            96        }, //  6
        {   4,        7,            37,            67,            97        }, //  7
        {   4,        8,            38,            68,            98        }, //  8
        // 1번 직군 기본 스킬 끝

        // 여유분
        {   0,        0,            0,            0,            0        }, //  9
        {   0,        0,            0,            0,            0        }, //  10
        {   0,        0,            0,            0,            0        }, //  11
        {   0,        0,            0,            0,            0        }, //  12
        {   0,        0,            0,            0,            0        }, //  13
        {   0,        0,            0,            0,            0        }, //  14
        {   0,        0,            0,            0,            0        }, //  15
        // 여유분 끝

        // 2번 직군 기본 스킬
        {   4,        16,            46,            76,            106        }, //  16
        {   4,        17,            47,            77,            107        }, //  17
        {   4,        18,            48,            78,            108        }, //  18
        {   4,        19,            49,            79,            109        }, //  19
        {   4,        20,            50,            80,            110        }, //  20
        {   4,        21,            51,            81,            111        }, //  21
        {   4,        22,            52,            82,            112        }, //  22
        {   4,        23,            53,            83,            113        }, //  23
        // 2번 직군 기본 스킬 끝

        // 여유분
        {   0,        0,            0,            0,            0        }, //  24
        {   0,        0,            0,            0,            0        }, //  25
        // 여유분 끝

        // 1번 직군 마스터 스킬
        {   4,        1,            31,            61,            91        }, //  26
        {   4,        2,            32,            62,            92        }, //  27
        {   4,        3,            33,            63,            93        }, //  28
        {   4,        4,            34,            64,            94        }, //  29
        {   4,        5,            35,            65,            95        }, //  30
        {   4,        6,            36,            66,            96        }, //  31
        {   4,        7,            37,            67,            97        }, //  32
        {   4,        8,            38,            68,            98        }, //  33
        // 1번 직군 마스터 스킬 끝

        // 여유분
        {   0,        0,            0,            0,            0        }, //  34
        {   0,        0,            0,            0,            0        }, //  35
        {   0,        0,            0,            0,            0        }, //  36
        {   0,        0,            0,            0,            0        }, //  37
        {   0,        0,            0,            0,            0        }, //  38
        {   0,        0,            0,            0,            0        }, //  39
        {   0,        0,            0,            0,            0        }, //  40
        // 여유분 끝

        // 2번 직군 마스터 스킬
        {   4,        16,            46,            76,            106        }, //  41
        {   4,        17,            47,            77,            107        }, //  42
        {   4,        18,            48,            78,            108        }, //  43
        {   4,        19,            49,            79,            109        }, //  44
        {   4,        20,            50,            80,            110        }, //  45
        {   4,        21,            51,            81,            111        }, //  46
        {   4,        22,            52,            82,            112        }, //  47
        {   4,        23,            53,            83,            113        }, //  48
        // 2번 직군 마스터 스킬 끝

        // 여유분
        {   0,        0,            0,            0,            0        }, //  49
        {   0,        0,            0,            0,            0        }, //  50
        // 여유분 끝

        // 1번 직군 그랜드 마스터 스킬
        {   4,        1,            31,            61,            91        }, //  51
        {   4,        2,            32,            62,            92        }, //  52
        {   4,        3,            33,            63,            93        }, //  53
        {   4,        4,            34,            64,            94        }, //  54
        {   4,        5,            35,            65,            95        }, //  55
        {   4,        6,            36,            66,            96        }, //  56
        {   4,        7,            37,            67,            97        }, //  32
        {   4,        8,            38,            68,            98        }, //  33
        // 1번 직군 그랜드 마스터 스킬 끝

        // 여유분
        {   0,        0,            0,            0,            0        }, //  59
        {   0,        0,            0,            0,            0        }, //  60
        {   0,        0,            0,            0,            0        }, //  61
        {   0,        0,            0,            0,            0        }, //  62
        {   0,        0,            0,            0,            0        }, //  63
        {   0,        0,            0,            0,            0        }, //  64
        {   0,        0,            0,            0,            0        }, //  65
        // 여유분 끝

        // 2번 직군 그랜드 마스터 스킬
        {   4,        16,            46,            76,            106        }, //  66
        {   4,        17,            47,            77,            107        }, //  67
        {   4,        18,            48,            78,            108        }, //  68
        {   4,        19,            49,            79,            109        }, //  69
        {   4,        20,            50,            80,            110        }, //  70
        {   4,        21,            51,            81,            111        }, //  71
        {   4,        22,            52,            82,            112        }, //  72
        {   4,        23,            53,            83,            113        }, //  73
        // 2번 직군 그랜드 마스터 스킬 끝

        //여유분
        {   0,        0,            0,            0,            0        }, //  74
        {   0,        0,            0,            0,            0        }, //  75
        // 여유분 끝

        // 1번 직군 퍼펙트 마스터 스킬
        {   4,        1,            31,            61,            91        }, //  76
        {   4,        2,            32,            62,            92        }, //  77
        {   4,        3,            33,            63,            93        }, //  78
        {   4,        4,            34,            64,            94        }, //  79
        {   4,        5,            35,            65,            95        }, //  80
        {   4,        6,            36,            66,            96        }, //  81
        {   4,        7,            37,            67,            97        }, //  82
        {   4,        8,            38,            68,            98        }, //  83
        // 1번 직군 퍼펙트 마스터 스킬 끝

        // 여유분
        {   0,        0,            0,            0,            0        }, //  84
        {   0,        0,            0,            0,            0        }, //  85
        {   0,        0,            0,            0,            0        }, //  86
        {   0,        0,            0,            0,            0        }, //  87
        {   0,        0,            0,            0,            0        }, //  88
        {   0,        0,            0,            0,            0        }, //  89
        {   0,        0,            0,            0,            0        }, //  90
        // 여유분 끝

        // 2번 직군 퍼펙트 마스터 스킬
        {   4,        16,            46,            76,            106        }, //  91
        {   4,        17,            47,            77,            107        }, //  92
        {   4,        18,            48,            78,            108        }, //  93
        {   4,        19,            49,            79,            109        }, //  94
        {   4,        20,            50,            80,            110        }, //  95
        {   4,        21,            51,            81,            111        }, //  96
        {   4,        22,            52,            82,            112        }, //  97
        {   4,        23,            53,            83,            113        }, //  98
        // 2번 직군 퍼펙트 마스터 스킬 끝

        // 여유분
        {   0,        0,            0,            0,            0        }, //  99
        {   0,        0,            0,            0,            0        }, //  100
        // 여유분 끝

        // 길드 스킬
        {   1,  152,    0,    0,    0}, //  101
        {   1,  153,    0,    0,    0}, //  102
        {   1,  154,    0,    0,    0}, //  103
        {   1,  155,    0,    0,    0}, //  104
        {   1,  156,    0,    0,    0}, //  105
        {   1,  157,    0,    0,    0}, //  106
        // 길드 스킬 끝

        // 여유분
        {   0,    0,    0,    0,    0}, //  107
        {   0,    0,    0,    0,    0}, //  108
        {   0,    0,    0,    0,    0}, //  109
        {   0,    0,    0,    0,    0}, //  110
        {   0,    0,    0,    0,    0}, //  111
        {   0,    0,    0,    0,    0}, //  112
        {   0,    0,    0,    0,    0}, //  113
        {   0,    0,    0,    0,    0}, //  114
        {   0,    0,    0,    0,    0}, //  115
        {   0,    0,    0,    0,    0}, //  116
        {   0,    0,    0,    0,    0}, //  117
        {   0,    0,    0,    0,    0}, //  118
        {   0,    0,    0,    0,    0}, //  119
        {   0,    0,    0,    0,    0}, //  120
        // 여유분 끝

        // 승마 스킬
        {   2,  137,  140,    0,    0}, //  121
        {   1,  138,    0,    0,    0}, //  122
        {   1,  139,    0,    0,    0}, //  123
        // 승마 스킬 끝
    };
you may also need the skill_power.txt part too so you need to navigate /usr/game/share/locale/xy/ to modify that txt

Now you can use 7-8th skills but remember that you need to make the M-G-P effects and scripts per skill if you want to use them
ps.: you may can make packet bugs with this modification but at least it can work at 1-19 skillpoints if you're too lazy to make the MGP parts ;)
meh sorry for the SY2 title but I wanted a clickbaity stuff without affects for the skills
 
Son düzenleme:

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst