Иконка ресурса

Декомпилятор AI 1.5

Нет прав для скачивания

verbrannt

Выдающийся
Местный
Сообщения
188
Розыгрыши
0
Репутация
503
Реакции
205
Баллы
1 358
Пользователь verbrannt разместил новый ресурс:

Декомпилятор AI - Декомпилятор AI (Gracia Epilogue) в AST/NASC

  • Декомпилирует ai.obj в AST, затем в NASC. При желании AST можно конвертировать в любой другой ЯП (Java, ...). См. core/codegen.php для написания генератора в другой ЯП.
  • Также работает с ai.obj от AdvExt. Для добавления своих типов и функций см. в папку data. Большинство адресов функций и переменных получено дизассемблированием L2NPC.exe.
  • Полученный NASC успешно компилируется обратно.
Запуск:
  1. Закинуть ai.obj в папку с декомпилятором.
  2. Запустить run.bat....

Узнать больше об этом ресурсе...
 

    Violence

    Баллов: 44
    Спасибо за вклад в развитие форума

    Mifesto

    Баллов: 23
    Спасибо за вклад в развитие форума

    Maiden7

    Баллов: 9
    Спасибо за вклад в развитие форума

Очень хорошо восстанавливает код, но еще есть куда стремиться.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Я бы сказал что даже лучше чем адвексов декомпилятор.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Серьезно? Пояснишь? А то аж обидно стало за 7500 рубликов (этот еще не тестил)
К примеру самое простое, это адвексы
Код:
class newbie_guide : citizen
{
parameter:
    string    fnHi = "";
    string    fnHighLevel = "";
    string    fnRaceMisMatch = "";
    string    fnGuideF05 = "";
    string    fnGuideF10 = "";
    string    fnGuideF15 = "";
    string    fnGuideF20 = "";
    string    fnGuideM07 = "";
    string    fnGuideM14 = "";
    string    fnGuideM20 = "";
    string    ShopName = "";
    string    fnCoupon1Ok = "newbie_guide002.htm";
    string    fnCoupon1Not1 = "newbie_guide003.htm";
    string    fnCoupon1Not2 = "newbie_guide004.htm";
    string    fnCoupon1Not3 = "newbie_guide005.htm";
    string    fnCoupon2Ok = "newbie_guide011.htm";
    string    fnCoupon2Not1 = "newbie_guide012.htm";
    string    fnCoupon2Not2 = "newbie_guide013.htm";
    string    fnCoupon2Not3 = "newbie_guide014.htm";
    int    num_coupon1 = 5;
    int    num_coupon2 = 1;
    string    fnNoSummonCreature = "blessing_list002b.htm";

property:
    TelPosList Position = {{"Talking Island Village"; -84169; 244693; -3729; 100000; 0 }};

handler:
    EventHandler TALKED(talker)
    {
        myself.ShowPage(talker,fnHi);
    }

    EventHandler CREATED()
    {
        myself.RegisterTeleporterType(1,0);
        super;
    }

    EventHandler MENU_SELECTED(talker,ask,reply,i0,c0)
    {
        if( ask == -7 && reply == 1 )
        {
            if( myself.sm.race == 5 )
            {
                if( talker.race != myself.sm.race )
                {
                    myself.ShowPage(talker,"guide_krenisk003.htm");
                }
                else if( talker.level > 20 || myself.IsInCategory(62,talker.occupation) != 1 )
                {
                    myself.ShowPage(talker,"guide_krenisk002.htm");
                }
                else if( talker.occupation == 123 )
                {
                    if( talker.level <= 5 )
                    {
                        myself.ShowPage(talker,"guide_krenisk_kmf05.htm");
                    }
                    else if( talker.level <= 10 )
                    {
                        myself.ShowPage(talker,"guide_krenisk_kmf10.htm");
                    }
                    else if( talker.level <= 15 )
                    {
                        myself.ShowPage(talker,"guide_krenisk_kmf15.htm");
                    }
                    else
                    {
                        myself.ShowPage(talker,"guide_krenisk_kmf20.htm");
                    }
                }
                else if( talker.occupation == 124 )
                {
                    if( talker.level <= 5 )
                    {
                        myself.ShowPage(talker,"guide_krenisk_kff05.htm");
                    }
                    else if( talker.level <= 10 )
                    {
                        myself.ShowPage(talker,"guide_krenisk_kff10.htm");
                    }
                    else if( talker.level <= 15 )
                    {
                        myself.ShowPage(talker,"guide_krenisk_kff15.htm");
                    }
                    else
                    {
                        myself.ShowPage(talker,"guide_krenisk_kff20.htm");
                    }
                }
            }
            else if( talker.race != myself.sm.race )
            {
                myself.ShowPage(talker,fnRaceMisMatch);
            }
            else if( talker.level > 20 || myself.IsInCategory(6,talker.occupation) == 0 )
            {
                myself.ShowPage(talker,fnHighLevel);
            }
            else if( myself.IsInCategory(0,talker.occupation) )
            {
                if( talker.level <= 5 )
                {
                    myself.ShowPage(talker,fnGuideF05);
                }
                else if( talker.level <= 10 )
                {
                    myself.ShowPage(talker,fnGuideF10);
                }
                else if( talker.level <= 15 )
                {
                    myself.ShowPage(talker,fnGuideF15);
                }
                else
                {
                    myself.ShowPage(talker,fnGuideF20);
                }
            }
            else if( talker.level <= 7 )
            {
                myself.ShowPage(talker,fnGuideM07);
            }
            else if( talker.level <= 14 )
            {
                myself.ShowPage(talker,fnGuideM14);
            }
            else
            {
                myself.ShowPage(talker,fnGuideM20);
            }
        }
        else if( ask == -7 && reply == 2 )
        {
            if( talker.level <= 62 )
            {
                if( talker.level < 6 )
                {
                    myself.ShowPage(talker,"guide_for_newbie002.htm");
                }
                else
                {
                    myself.CastBuffForQuestReward(talker,283246593);
                    myself.CastBuffForQuestReward(talker,283312129);
                    myself.CastBuffForQuestReward(talker,369426433);
                    if( myself.IsInCategory(66,talker.occupation) )
                    {
                        myself.CastBuffForQuestReward(talker,283377665);
                        myself.CastBuffForQuestReward(talker,283443201);
                        myself.CastBuffForQuestReward(talker,283508737);
                        if( talker.level >= 6 && talker.level <= 39 )
                        {
                            myself.CastBuffForQuestReward(talker,283574273);
                        }
                        if( talker.level >= 40 && talker.level <= 62 )
                        {
                            myself.CastBuffForQuestReward(talker,369098753);
                        }
                        if( talker.level >= 16 && talker.level <= 34 )
                        {
                            myself.CastBuffForQuestReward(talker,284295169);
                        }
                    }
                    else if( myself.IsInCategory(67,talker.occupation) )
                    {
                        myself.CastBuffForQuestReward(talker,283639809);
                        myself.CastBuffForQuestReward(talker,283705345);
                        myself.CastBuffForQuestReward(talker,283770881);
                        myself.CastBuffForQuestReward(talker,283836417);
                        if( talker.level >= 16 && talker.level <= 34 )
                        {
                            myself.CastBuffForQuestReward(talker,284295169);
                        }
                    }
                }
            }
            else
            {
                myself.ShowPage(talker,"guide_for_newbie003.htm");
            }
        }
        else if( ask == -7 && reply == 3 )
        {
            if( talker.level <= 39 && ( myself.IsInCategory(6,talker.occupation) || myself.IsInCategory(7,talker.occupation) ) )
            {
                myself.CastBuffForQuestReward(talker,339607553);
            }
            else
            {
                myself.ShowPage(talker,"pk_protect002.htm");
            }
        }
        else if( ask == -7 && reply == 4 )
        {
            c0 = myself.GetSummon(talker);
            if( myself.IsNullCreature(c0) == 0 && myself.IsInCategory(12,c0.class_id) && myself.IsInCategory(35,c0.class_id) == 0 )
            {
                if( talker.level < 6 || talker.level > 62 )
                {
                    myself.ShowPage(talker,"guide_for_newbie003.htm");
                }
                else
                {
                    myself.CastBuffForQuestReward(c0,283246593);
                    myself.CastBuffForQuestReward(c0,283312129);
                    myself.CastBuffForQuestReward(c0,369426433);
                    myself.CastBuffForQuestReward(c0,283377665);
                    myself.CastBuffForQuestReward(c0,283443201);
                    myself.CastBuffForQuestReward(c0,283508737);
                    myself.CastBuffForQuestReward(c0,283639809);
                    myself.CastBuffForQuestReward(c0,283705345);
                    myself.CastBuffForQuestReward(c0,283770881);
                    myself.CastBuffForQuestReward(c0,283836417);
                    if( talker.level >= 6 && talker.level <= 39 )
                    {
                        myself.CastBuffForQuestReward(c0,283574273);
                    }
                    if( talker.level >= 40 && talker.level <= 62 )
                    {
                        myself.CastBuffForQuestReward(c0,369098753);
                    }
                }
            }
            else
            {
                myself.ShowPage(talker,fnNoSummonCreature);
            }
        }
        if( ask == -1000 )
        {
            select(reply)
            {
                case 1:
                    if( talker.level > 5 )
                    {
                        if( talker.level < 20 && myself.IsInCategory(6,talker.occupation) )
                        {
                            if( myself.GetOneTimeQuestFlag(talker,207) == 0 )
                            {
                                if( myself.GetInventoryInfo(talker,0) >= ( myself.GetInventoryInfo(talker,1) * 0.800000 ) || myself.GetInventoryInfo(talker,2) >= ( myself.GetInventoryInfo(talker,3) * 0.800000 ) )
                                {
                                    myself.ShowSystemMessage(talker,1118);
                                    return;
                                }
                                myself.GiveItem1(talker,@q_adventure_coupon1,num_coupon1);
                                myself.SetOneTimeQuestFlag(talker,207,@letters_of_love1);
                                myself.ShowPage(talker,fnCoupon1Ok);
                                i0 = gg.GetNRMemoState(talker,@guide_mission);
                                myself.SetNRMemoState(talker,@guide_mission,( i0 + 100 ));
                                gg.ShowOnScreenMsgStr(talker,2,0,0,0,1,0,5000,0,gg.MakeFString(4153,"","","","",""));
                            }
                            else
                            {
                                myself.ShowPage(talker,fnCoupon1Not2);
                            }
                        }
                        else
                        {
                            myself.ShowPage(talker,fnCoupon1Not1);
                        }
                    }
                    else
                    {
                        myself.ShowPage(talker,fnCoupon1Not1);
                    }
                    break;
                case 2:
                    if( myself.IsInCategory(7,talker.occupation) )
                    {
                        if( talker.level < 40 )
                        {
                            if( myself.GetOneTimeQuestFlag(talker,208) == 0 )
                            {
                                if( myself.GetInventoryInfo(talker,0) >= ( myself.GetInventoryInfo(talker,1) * 0.800000 ) || myself.GetInventoryInfo(talker,2) >= ( myself.GetInventoryInfo(talker,3) * 0.800000 ) )
                                {
                                    myself.ShowSystemMessage(talker,1118);
                                    return;
                                }
                                myself.GiveItem1(talker,@q_adventure_coupon2,num_coupon2);
                                myself.SetOneTimeQuestFlag(talker,208,@letters_of_love1);
                                myself.ShowPage(talker,fnCoupon2Ok);
                            }
                            else
                            {
                                myself.ShowPage(talker,fnCoupon2Not2);
                            }
                        }
                        else
                        {
                            myself.ShowPage(talker,fnCoupon2Not1);
                        }
                    }
                    else
                    {
                        myself.ShowPage(talker,fnCoupon2Not1);
                    }
                    break;
            }
        }
        if( ask == -303 )
        {
            select(reply)
            {
                case 528:
                case 530:
                    if( talker.level > 5 )
                    {
                        if( talker.level < 20 && myself.IsInCategory(6,talker.occupation) )
                        {
                            if( reply != 532 || reply != 549 )
                            {
                                myself.ShowMultisell(reply,talker);
                            }
                        }
                        else if( reply >= 557 && reply <= 562 )
                        {
                            if( myself.sm.class_id == 1032103 )
                            {
                                myself.ShowMultisell(reply,talker);
                            }
                        }
                        else if( reply == 567 )
                        {
                            if( myself.sm.class_id == 1032091 )
                            {
                                myself.ShowMultisell(reply,talker);
                            }
                        }
                        else
                        {
                            myself.ShowPage(talker,fnCoupon1Not3);
                        }
                    }
                    else
                    {
                        myself.ShowPage(talker,fnCoupon1Not3);
                    }
                    break;
                case 529:
                case 531:
                    if( myself.IsInCategory(7,talker.occupation) )
                    {
                        if( talker.level < 40 )
                        {
                            if( reply != 532 || reply != 549 )
                            {
                                myself.ShowMultisell(reply,talker);
                            }
                        }
                        else if( reply >= 557 && reply <= 562 )
                        {
                            if( myself.sm.class_id == 1032103 )
                            {
                                myself.ShowMultisell(reply,talker);
                            }
                        }
                        else if( reply == 567 )
                        {
                            if( myself.sm.class_id == 1032091 )
                            {
                                myself.ShowMultisell(reply,talker);
                            }
                        }
                        else
                        {
                            myself.ShowPage(talker,fnCoupon2Not3);
                        }
                    }
                    else
                    {
                        myself.ShowPage(talker,fnCoupon2Not3);
                    }
                    break;
            }
        }
    }

    EventHandler TELEPORT_REQUESTED(talker)
    {
        if( talker.level >= 20 )
        {
            myself.ShowPage(talker,"guide_teleport_over001.htm");
        }
        else
        {
            myself.Teleport(talker,Position,ShopName,"","","",57,"");
        }
    }

}

Это авторы темы
Код:
class newbie_guide : citizen {
parameter:
    string fnHi = "";
    string fnHighLevel = "";
    string fnRaceMisMatch = "";
    string fnGuideF05 = "";
    string fnGuideF10 = "";
    string fnGuideF15 = "";
    string fnGuideF20 = "";
    string fnGuideM07 = "";
    string fnGuideM14 = "";
    string fnGuideM20 = "";
    string ShopName = "";
    string fnCoupon1Ok = "newbie_guide002.htm";
    string fnCoupon1Not1 = "newbie_guide003.htm";
    string fnCoupon1Not2 = "newbie_guide004.htm";
    string fnCoupon1Not3 = "newbie_guide005.htm";
    string fnCoupon2Ok = "newbie_guide011.htm";
    string fnCoupon2Not1 = "newbie_guide012.htm";
    string fnCoupon2Not2 = "newbie_guide013.htm";
    string fnCoupon2Not3 = "newbie_guide014.htm";
    int num_coupon1 = 5;
    int num_coupon2 = 1;
    string fnNoSummonCreature = "blessing_list002b.htm";
    
property:
    TelPosList    Position = {
        {"Talking Island Village"; -84169; 244693; -3729; 100000; 0}
    };
    
handler:
    EventHandler TALKED(talker) {
        ShowPage(talker, fnHi);
    }

    EventHandler CREATED() {
        RegisterTeleporterType(1, 0);
        super;
    }

    EventHandler MENU_SELECTED(talker, ask, reply, i0, c0) {
        if (ask == -7 && reply == 1) {
            if (myself.sm.race == @race_kamael) {
                if (talker.race != myself.sm.race) {
                    ShowPage(talker, "guide_krenisk003.htm");
                } else if (talker.level > 20 || IsInCategory(@kamael_first_class_group, talker.occupation) != 1) {
                    ShowPage(talker, "guide_krenisk002.htm");
                } else if (talker.occupation == @kamael_m_soldier) {
                    if (talker.level <= 5) {
                        ShowPage(talker, "guide_krenisk_kmf05.htm");
                    } else if (talker.level <= 10) {
                        ShowPage(talker, "guide_krenisk_kmf10.htm");
                    } else if (talker.level <= 15) {
                        ShowPage(talker, "guide_krenisk_kmf15.htm");
                    } else {
                        ShowPage(talker, "guide_krenisk_kmf20.htm");
                    }
                } else if (talker.occupation == @kamael_f_soldier) {
                    if (talker.level <= 5) {
                        ShowPage(talker, "guide_krenisk_kff05.htm");
                    } else if (talker.level <= 10) {
                        ShowPage(talker, "guide_krenisk_kff10.htm");
                    } else if (talker.level <= 15) {
                        ShowPage(talker, "guide_krenisk_kff15.htm");
                    } else {
                        ShowPage(talker, "guide_krenisk_kff20.htm");
                    }
                }
            } else if (talker.race != myself.sm.race) {
                ShowPage(talker, fnRaceMisMatch);
            } else if (talker.level > 20 || IsInCategory(@first_class_group, talker.occupation) == 0) {
                ShowPage(talker, fnHighLevel);
            } else if (IsInCategory(@fighter_group, talker.occupation)) {
                if (talker.level <= 5) {
                    ShowPage(talker, fnGuideF05);
                } else if (talker.level <= 10) {
                    ShowPage(talker, fnGuideF10);
                } else if (talker.level <= 15) {
                    ShowPage(talker, fnGuideF15);
                } else {
                    ShowPage(talker, fnGuideF20);
                }
            } else if (talker.level <= 7) {
                ShowPage(talker, fnGuideM07);
            } else if (talker.level <= 14) {
                ShowPage(talker, fnGuideM14);
            } else {
                ShowPage(talker, fnGuideM20);
            }
        } else if (ask == -7 && reply == 2) {
            if (talker.level <= 62) {
                if (talker.level < 6) {
                    ShowPage(talker, "guide_for_newbie002.htm");
                } else {
                    CastBuffForQuestReward(talker, 283246593);
                    CastBuffForQuestReward(talker, 283312129);
                    CastBuffForQuestReward(talker, 369426433);

                    if (IsInCategory(@beginner_fighter, talker.occupation)) {
                        CastBuffForQuestReward(talker, 283377665);
                        CastBuffForQuestReward(talker, 283443201);
                        CastBuffForQuestReward(talker, 283508737);

                        if (talker.level >= 6 && talker.level <= 39) {
                            CastBuffForQuestReward(talker, 283574273);
                        }

                        if (talker.level >= 40 && talker.level <= 62) {
                            CastBuffForQuestReward(talker, 369098753);
                        }

                        if (talker.level >= 16 && talker.level <= 34) {
                            CastBuffForQuestReward(talker, 284295169);
                        }
                    } else if (IsInCategory(@beginner_mage, talker.occupation)) {
                        CastBuffForQuestReward(talker, 283639809);
                        CastBuffForQuestReward(talker, 283705345);
                        CastBuffForQuestReward(talker, 283770881);
                        CastBuffForQuestReward(talker, 283836417);

                        if (talker.level >= 16 && talker.level <= 34) {
                            CastBuffForQuestReward(talker, 284295169);
                        }
                    }
                }
            } else {
                ShowPage(talker, "guide_for_newbie003.htm");
            }
        } else if (ask == -7 && reply == 3) {
            if (talker.level <= 39 && (IsInCategory(@first_class_group, talker.occupation) || IsInCategory(@second_class_group, talker.occupation))) {
                CastBuffForQuestReward(talker, 339607553);
            } else {
                ShowPage(talker, "pk_protect002.htm");
            }
        } else if (ask == -7 && reply == 4) {
            c0 = GetSummon(talker);

            if (IsNullCreature(c0) == 0 && IsInCategory(@summon_npc_group, c0.class_id) && IsInCategory(@pet_group, c0.class_id) == 0) {
                if (talker.level < 6 || talker.level > 62) {
                    ShowPage(talker, "guide_for_newbie003.htm");
                } else {
                    CastBuffForQuestReward(c0, 283246593);
                    CastBuffForQuestReward(c0, 283312129);
                    CastBuffForQuestReward(c0, 369426433);
                    CastBuffForQuestReward(c0, 283377665);
                    CastBuffForQuestReward(c0, 283443201);
                    CastBuffForQuestReward(c0, 283508737);
                    CastBuffForQuestReward(c0, 283639809);
                    CastBuffForQuestReward(c0, 283705345);
                    CastBuffForQuestReward(c0, 283770881);
                    CastBuffForQuestReward(c0, 283836417);

                    if (talker.level >= 6 && talker.level <= 39) {
                        CastBuffForQuestReward(c0, 283574273);
                    }

                    if (talker.level >= 40 && talker.level <= 62) {
                        CastBuffForQuestReward(c0, 369098753);
                    }
                }
            } else {
                ShowPage(talker, fnNoSummonCreature);
            }
        }

        if (ask == -1000) {
            select (reply) {
            case 1:
                if (talker.level > 5) {
                    if (talker.level < 20 && IsInCategory(@first_class_group, talker.occupation)) {
                        if (GetOneTimeQuestFlag(talker, 207) == 0) {
                            if (GetInventoryInfo(talker, 0) >= GetInventoryInfo(talker, 1) * 0.800000 || GetInventoryInfo(talker, 2) >= GetInventoryInfo(talker, 3) * 0.800000) {
                                ShowSystemMessage(talker, 1118);
                                return;
                            }

                            GiveItem1(talker, @q_adventure_coupon1, num_coupon1);
                            SetOneTimeQuestFlag(talker, 207, 1);
                            ShowPage(talker, fnCoupon1Ok);
                            i0 = GetNRMemoState(talker, 41);
                            SetNRMemoState(talker, 41, i0 + 100);
                            ShowOnScreenMsgStr(talker, 2, 0, 0, 0, 1, 0, 5000, 0, MakeFString(4153, "", "", "", "", ""));
                        } else {
                            ShowPage(talker, fnCoupon1Not2);
                        }
                    } else {
                        ShowPage(talker, fnCoupon1Not1);
                    }
                } else {
                    ShowPage(talker, fnCoupon1Not1);
                }

                break;
            case 2:
                if (IsInCategory(@second_class_group, talker.occupation)) {
                    if (talker.level < 40) {
                        if (GetOneTimeQuestFlag(talker, 208) == 0) {
                            if (GetInventoryInfo(talker, 0) >= GetInventoryInfo(talker, 1) * 0.800000 || GetInventoryInfo(talker, 2) >= GetInventoryInfo(talker, 3) * 0.800000) {
                                ShowSystemMessage(talker, 1118);
                                return;
                            }

                            GiveItem1(talker, @q_adventure_coupon2, num_coupon2);
                            SetOneTimeQuestFlag(talker, 208, 1);
                            ShowPage(talker, fnCoupon2Ok);
                        } else {
                            ShowPage(talker, fnCoupon2Not2);
                        }
                    } else {
                        ShowPage(talker, fnCoupon2Not1);
                    }
                } else {
                    ShowPage(talker, fnCoupon2Not1);
                }

                break;
            }
        }

        if (ask == -303) {
            select (reply) {
            case 528:
            case 530:
                if (talker.level > 5) {
                    if (talker.level < 20 && IsInCategory(@first_class_group, talker.occupation)) {
                        if (reply != 532 || reply != 549) {
                            ShowMultisell(reply, talker);
                        }
                    } else if (reply >= 557 && reply <= 562) {
                        if (myself.sm.class_id == @telling_the_cat) {
                            ShowMultisell(reply, talker);
                        }
                    } else if (reply == 567) {
                        if (myself.sm.class_id == @event_cat_soccer) {
                            ShowMultisell(reply, talker);
                        }
                    } else {
                        ShowPage(talker, fnCoupon1Not3);
                    }
                } else {
                    ShowPage(talker, fnCoupon1Not3);
                }

                break;
            case 529:
            case 531:
                if (IsInCategory(@second_class_group, talker.occupation)) {
                    if (talker.level < 40) {
                        if (reply != 532 || reply != 549) {
                            ShowMultisell(reply, talker);
                        }
                    } else if (reply >= 557 && reply <= 562) {
                        if (myself.sm.class_id == @telling_the_cat) {
                            ShowMultisell(reply, talker);
                        }
                    } else if (reply == 567) {
                        if (myself.sm.class_id == @event_cat_soccer) {
                            ShowMultisell(reply, talker);
                        }
                    } else {
                        ShowPage(talker, fnCoupon2Not3);
                    }
                } else {
                    ShowPage(talker, fnCoupon2Not3);
                }

                break;
            }
        }
    }

    EventHandler TELEPORT_REQUESTED(talker) {
        if (talker.level >= 20) {
            ShowPage(talker, "guide_teleport_over001.htm");
        } else {
            Teleport(talker, Position, ShopName, "", "", "", 57, "");
        }
    }
 
CastBuffForQuestReward(talker, 283377665);
Чтобы заменить число на название баффа в functions.json строки 2370 и 2378 следует заменить с "int" на "SKILL".
Актуальную версию планирую выложить на гитхаб.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Чтобы заменить число на название баффа в functions.json строки 2370 и 2378 следует заменить с "int" на "SKILL".
Актуальную версию планирую выложить на гитхаб.
skill id * 65536 + skill level что бы узнать id баффа)
 
Чтобы заменить число на название баффа в functions.json строки 2370 и 2378 следует заменить с "int" на "SKILL".
Актуальную версию планирую выложить на гитхаб.
Будем признательны. Не забудь ссылку кинуть)
skill id * 65536 + skill level что бы узнать id баффа)
а зачем?
[s_bless_the_body_for_newbie] = 283377665 вот же все на ладони.
 
skill id * 65536 + skill level что бы узнать id баффа)
Ага.
А то аж обидно стало за 7500 рубликов.
Судя по всему это просто сауроновский декомпилятор за 7500 продают (судя по коду, который скинул ade0t).
Он есть в шаре, даже несколько его версий на разных ЯП.
 
Ага.

Судя по всему это просто сауроновский декомпилятор за 7500 продают (судя по коду, который скинул ade0t).
Он есть в шаре, даже несколько его версий на разных ЯП.
главное, что у них компилятор есть
 
Ага.

Судя по всему это просто сауроновский декомпилятор за 7500 продают (судя по коду, который скинул ade0t).
Он есть в шаре, даже несколько его версий на разных ЯП.
Причем просто подняли поддержку с с4 до гф, и не удосужились походу даже запарится и восстановить нормально код.
главное, что у них компилятор есть
У эмки нормальный компилятор.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Как радостно читать тред о ПТСе)))
Мне декомпил понравился очень, читабелен в отличии от адексовского.
Да может у адвексов сейчас и лучше компилятор я хз но не думаю.
 
Как радостно читать тред о ПТСе)))
Мне декомпил понравился очень, читабелен в отличии от адексовского.
Да может у адвексов сейчас и лучше компилятор я хз но не думаю.
Обратись к емке у нее очень хороший декомпил есть если поделится конечно)
 
Обратись к емке у нее очень хороший декомпил есть если поделится конечно)
Я уже обращался, это тот же сауроновский, правда с довольно хорошими фиксами и реальными сигнатурами функций и переменных. Правда там солянка, не все напрямую из L2NPC.exe дизассемблировано.
 
Я уже обращался, это тот же сауроновский, правда с довольно хорошими фиксами и реальными сигнатурами функций и переменных. Правда там солянка, не все напрямую из L2NPC.exe дизассемблировано.
Для замен по одному с головой)
 
Ловите .
 
Назад
Сверху Снизу