Автор: 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