Назад

Disguiser

Автор: DiS[IP]: Дата: 05.02.2009

Решил выложить свою версию дисгайсера..Буду рад если кому-то он понадобится.

// ===========================================================

// = - Disguiser NPC

// ===========================================================

// = - Created by Dis[IP]

// ===========================================================

// = - All eAthena Versions

// ===========================================================

// = - Desc:Mob and Size Disguiser

// ===========================================================

// = - Script Version:1.3

// ===========================================================

// 1.0 - Первая версия

// 1.1 - В меню НПС добавлен список мобов по городам

// 1.2 - Добавлена возможность изменения роста

// 1.3 - Добавил еще больше мобов в список

// НПС появляется в городе каждый час,но исчезает через 10 мин

// после появления.И так каждый каждый час.

// ===========================================================

// = - Если вы хотите разместить где-либо этот скрипт,то не

// = - забывайте указывать копирайты,уважайте чужой труд :)

// ===========================================================



prontera,1,1,1    script    hide_npc    -1,{

    end;



OnInit:

    disablenpc "Шаман";

    end;

OnMinute00:

    enablenpc "Шаман";

    end;

OnMinute10:

    disablenpc "Шаман";

    end;

}



prontera,140,180,5    script    Шаман    784,{

    set .npc$,"[Шаман]";

    mes .npc$;

    mes "Здравствуйте,"+strcharinfo(0)+"!Я шаман древней затерянной цивилизации!";

    mes "Я могу превратить вас в монстра за определённую плату или изменить ваш рост.;

    next;

    mes .npc$;

    mes "Каждая из моих услуг стоит 5 000 000z.";

    mes "Хотите воспользоваться ими?";

    next;

    if (select("Да.:Нет.") == 2) {

    mes .npc$;

    mes "До свидания!";

    close;

    }

    mes .npc$;

    mes "Итак,что Вы желаете?";

    next;

    switch(select("Превратиться в монстра.:Изменить свой рост.:Уйти.")){

    case 1:

        L_gruop:

        mes .npc$;

        mes "Выберите группу монстров.";

        next;

        switch(select("Amatsu:Geffen:Geffenia:Glast Heim:Kiel и Odin:Morroc:Niflheim:Payon:Thanatos Tower:Другие")){

        case 1:

            mes .npc$;

            mes "Выберите монстра в которого хотите превратиться.";

            mes "Если хотите вернуться в предыдущее меню выберите 'К списку групп'.";

            next;

            switch(select("Antique Firelock:Incantation Samurai:Shinobi:Tamruan:Tengu:К списку групп")){

            case 1: next; callfunc "L_dis",1403; break;

            case 2: next; callfunc "L_dis",1492; break;

            case 3: next; callfunc "L_dis",1401; break;

            case 4: next; callfunc "L_dis",1584; break;

            case 5: next; callfunc "L_dis",1405; break;

            case 6: goto L_gruop; close2; break;

            }

        case 2:

            mes .npc$;

            mes "Выберите монстра в которого хотите превратиться.";

            mes "Если хотите вернуться в предыдущее меню выберите 'К списку групп'.";

            next;

            switch(select("Deviruchi:Doppelganger:Dracula:Ghoul:Jakk:Nightmare:Nightmare Terror:Whisper:К списку групп")){

            case 1: next; callfunc "L_dis",1109; break;

            case 2: next; callfunc "L_dis",1046; break;

            case 3: next; callfunc "L_dis",1389; break;

            case 4: next; callfunc "L_dis",1036; break;

            case 5: next; callfunc "L_dis",1130; break;

            case 6: next; callfunc "L_dis",1061; break;

            case 7: next; callfunc "L_dis",1379; break;

            case 8: next; callfunc "L_dis",1179; break;

            case 9: goto L_gruop; close2; break;

            }

        case 3:

            mes .npc$;

            mes "Выберите монстра в которого хотите превратиться.";

            mes "Если хотите вернуться в предыдущее меню выберите 'К списку групп'.";

            next;

            switch(select("Executioner:Fake Angel:Incubus:Mini Demon:Mysteltainn:Succubus:Tirfing:К списку групп")){

            case 1: next; callfunc "L_dis",1205; break;

            case 2: next; callfunc "L_dis",1371; break;

            case 3: next; callfunc "L_dis",1374; break;

            case 4: next; callfunc "L_dis",1292; break;

            case 5: next; callfunc "L_dis",1203; break;

            case 6: next; callfunc "L_dis",1370; break;

            case 7: next; callfunc "L_dis",1204; break;

            case 8: goto L_gruop; close2; break;

            }

        case 4:

            mes .npc$;

            mes "Выберите монстра в которого хотите превратиться.";

            mes "Если хотите вернуться в предыдущее меню выберите 'К списку групп'.";

            next;

            switch(select("Bathory:Dark Frame:Dark Illusion:Dark Lord:Evil Druid:Gargoyle:Injustice:Joker:Khalitzburg:Owl Baron:Owl Duke:Phendark:Raydric:Raydric Archer:Rybio:Skeleton Prisoner:Wind Ghost:Wraith:Wraith Dead:Zherlthsh:Zombie Prisoner:К списку групп")){

            case 1: next; callfunc "L_dis",1102; break;

            case 2: next; callfunc "L_dis",1260; break;

            case 3: next; callfunc "L_dis",1302; break;

            case 4: next; callfunc "L_dis",1272; break;

            case 5: next; callfunc "L_dis",1117; break;

            case 6: next; callfunc "L_dis",1253; break;

            case 7: next; callfunc "L_dis",1257; break;

            case 8: next; callfunc "L_dis",1131; break;

            case 9: next; callfunc "L_dis",1132; break;

            case 10: next; callfunc "L_dis",1295; break;

            case 11: next; callfunc "L_dis",1320; break;

            case 12: next; callfunc "L_dis",1202; break;

            case 13: next; callfunc "L_dis",1163; break;

            case 14: next; callfunc "L_dis",1276; break;

            case 15: next; callfunc "L_dis",1201; break;

            case 16: next; callfunc "L_dis",1196; break;

            case 17: next; callfunc "L_dis",1263; break;

            case 18: next; callfunc "L_dis",1192; break;

            case 19: next; callfunc "L_dis",1291; break;

            case 20: next; callfunc "L_dis",1200; break;

            case 21: next; callfunc "L_dis",1197; break;

            case 22: goto L_gruop; close2; break;

            }

        case 5:

            mes .npc$;

            mes "Выберите монстра в которого хотите превратиться.";

            mes "Если хотите вернуться в предыдущее меню выберите 'К списку групп'.";

            next;

            switch(select("Alicel:Aliot:Constant:Frus:Kiel:К списку групп")){

            case 1: next; callfunc "L_dis",1735; break;

            case 2: next; callfunc "L_dis",1736; break;

            case 3: next; callfunc "L_dis",1738; break;

            case 4: next; callfunc "L_dis",1753; break;

            case 5: next; callfunc "L_dis",1733; break;

            case 6: goto L_gruop; close2; break;

            }

        case 6:

            mes .npc$;

            mes "Выберите монстра в которого хотите превратиться.";

            mes "Если хотите вернуться в предыдущее меню выберите 'К списку групп'.";

            next;

            switch(select("Amon Ra:Ancient Mummy:Isis:Mummy:Osiris:Verit:К списку групп")){

            case 1: next; callfunc "L_dis",1511; break;

            case 2: next; callfunc "L_dis",1297; break;

            case 3: next; callfunc "L_dis",1029; break;

            case 4: next; callfunc "L_dis",1041; break;

            case 5: next; callfunc "L_dis",1036; break;

            case 6: next; callfunc "L_dis",1032; break;

            case 7: goto L_gruop; close2; break;

            }

        case 7:

            mes .npc$;

            mes "Выберите монстра в которого хотите превратиться.";

            mes "Если хотите вернуться в предыдущее меню выберите 'К списку групп'.";

            next;

            switch(select("Bloody Knight:Bloody Murderer:Disguise:Dullahan:Gibbet:Hylozoist:Loli Ruri:Lude:Quve:К списку групп")){

            case 1: next; callfunc "L_dis",1268; break;

            case 2: next; callfunc "L_dis",1507; break;

            case 3: next; callfunc "L_dis",1506; break;

            case 4: next; callfunc "L_dis",1504; break;

            case 5: next; callfunc "L_dis",1503; break;

            case 6: next; callfunc "L_dis",1510; break;

            case 7: next; callfunc "L_dis",1505; break;

            case 8: next; callfunc "L_dis",1509; break;

            case 9: next; callfunc "L_dis",1508; break;

            case 10: goto L_gruop; close2; break;

            }

        case 8:

            mes .npc$;

            mes "Выберите монстра в которого хотите превратиться.";

            mes "Если хотите вернуться в предыдущее меню выберите 'К списку групп'.";

            next;

            switch(select("Archer Skeleton:Bongun:Cat o' Nine Tails:Dokebi:Giant Whisper:Moonlight Flower:Munak:Skeleton:Sohee:Soldier Skeleton:Wander Man:Zombie:К списку групп")){

            case 1: next; callfunc "L_dis",1016; break;

            case 2: next; callfunc "L_dis",1188; break;

            case 3: next; callfunc "L_dis",1307; break;

            case 4: next; callfunc "L_dis",1110; break;

            case 5: next; callfunc "L_dis",1186; break;

            case 6: next; callfunc "L_dis",1150; break;

            case 7: next; callfunc "L_dis",1026; break;

            case 8: next; callfunc "L_dis",1076; break;

            case 9: next; callfunc "L_dis",1170; break;

            case 10: next; callfunc "L_dis",1028; break;

            case 11: next; callfunc "L_dis",1208; break;

            case 12: next; callfunc "L_dis",1015; break;

            case 13: goto L_gruop; close2; break;

            }

        case 9:

            mes .npc$;

            mes "Выберите монстра в которого хотите превратиться.";

            mes "Если хотите вернуться в предыдущее меню выберите 'К списку групп'.";

            next;

            switch(select("Thanatos Despero:Thanatos Dolor:Thanatos Maero:Thanatos Odium:Thanatos:К списку групп")){

            case 1: next; callfunc "L_dis",1705; break;

            case 2: next; callfunc "L_dis",1707; break;

            case 3: next; callfunc "L_dis",1706; break;

            case 4: next; callfunc "L_dis",1704; break;

            case 5: next; callfunc "L_dis",1708; break;

            case 6: goto L_gruop; close2; break;

            }

        case 10:

            mes .npc$;

            mes "Выберите монстра в которого хотите превратиться.";

            mes "Если хотите вернуться в предыдущее меню выберите 'К списку групп'.";

            next;

            switch(select("Baba-Yaga:Banshee:Baphomet:Dark Priest:Deviling:Diabolic:Falling Bishop:Flame Skull:Ghostring:Hyegun:Necromancer:Lord of Death:Orc Skeleton:Orc Zombie:Ragged Zombie:Skeleton General:Skeleton Worker:Tristan III:Wicked Nymph:Zombie Master:Zombie Slaughter:К списку групп")){

            case 1: next; callfunc "L_dis",1882; break;

            case 2: next; callfunc "L_dis",1867; break;

            case 3: next; callfunc "L_dis",1039; break;

            case 4: next; callfunc "L_dis",1198; break;

            case 5: next; callfunc "L_dis",1582; break;

            case 6: next; callfunc "L_dis",1382; break;

            case 7: next; callfunc "L_dis",1871; break;

            case 8: next; callfunc "L_dis",1869; break;

            case 9: next; callfunc "L_dis",1120; break;

            case 10: next; callfunc "L_dis",1512; break;

            case 11: next; callfunc "L_dis",1870; break;

            case 12: next; callfunc "L_dis",1373; break;

            case 13: next; callfunc "L_dis",1152; break;

            case 14: next; callfunc "L_dis",1153; break;

            case 15: next; callfunc "L_dis",1865; break;

            case 16: next; callfunc "L_dis",1290; break;

            case 17: next; callfunc "L_dis",1169; break;

            case 18: next; callfunc "L_dis",1875; break;

            case 19: next; callfunc "L_dis",1416; break;

            case 20: next; callfunc "L_dis",1298; break;

            case 21: next; callfunc "L_dis",1864; break;

            case 22: goto L_gruop; close2; break;

            }

        }

    case 2:

        mes .npc$;

        mes "Какого роста вы хотите стать?";

        next;

        switch(select("Маленького:Большого")){

            case 1:

                If (Zeny < 5000000) {

                mes .npc$;

                mes "У Вас не хватает денег,поднакопите немного.";

                close;}

                mes .npc$;

                mes "Спасибо и до свидания!";

                close2;

                specialeffect2 542;

                atcommand "@size 1";

                break;

            case 2:

                If (Zeny < 5000000) {

                mes .npc$;

                mes "У Вас не хватает денег,поднакопите немного.";

                close;}

                mes .npc$;

                mes "Спасибо и до свидания!";

                close2;

                specialeffect2 542;

                atcommand "@size 2";

                break;

        }

        break;

    case 3:

        mes "[Шаман]";

        mes "До свидания!";

        close;

        break;

    }



}

function    script    L_dis    {

    If (Zeny < 5000000) {

    mes .npc$;

    mes "У Вас не хватает денег,поднакопите немного.";

    close;}

    mes .npc$;

    mes "Спасибо и до свидания!";

    close2;

    specialeffect2 668;

    specialeffect2 578;

    atcommand "@disguise "+getarg(0);

}

Автор: : Дата: 01.01.1970