Вот скрипт:
prt_in,38,107,7 script Leiv#custom_stylist 923,{
// Retrieving bound vaules from current config for maximum flexibility
// Note: when min_hair_style is set to 0 in config, eAthena resets it to 1.
set @min_hair_style,getbattleflag("min_hair_style");
set @max_hair_style,getbattleflag("max_hair_style");
set @min_hair_color,getbattleflag("min_hair_color");
set @max_hair_color,getbattleflag("max_hair_color");
set @min_cloth_color,getbattleflag("min_cloth_color");
set @max_cloth_color,getbattleflag("max_cloth_color");
// Correcting slot count; avalilable maximum is 8,
// as string length is limited to 255 characters.
if ($sty_slots < 1) set $sty_slots,3;
else if ($sty_slots > 8) set $sty_slots,8;
mes "[Stylish Stylist]";
mes "Приветствую тебя воин.";
mes "Я могу тебя чуть-чуть улутшить";
mes "Сделаем тебя смешнее";
mes "Мм красивый ты и так.";
mes "Но я сделаю тебя лутше";
mes "Начнём пожалуй.";
next;
LStart: // Main menu
set @s$,"";
set @s$,"Изменить мой стиль:Загрузить мой стиль:Сохранить мой стиль:";
if (getgmlevel() > 89) set @s$,@s$+"[GM] Кол-во слотов:";
set @s$,@s$+"Спасибо пока!";
switch(select(@s$)) {
case 1:
mes "[Stylish Stylist]";
mes "Начнём пожалуй?";
next;
LRepeat: // Here we go again
switch(select("Изменить мою причу:Цвет волос другой:Цвет одежды другой:В начало.")) {
case 1:
callfunc "F_StyleBrowse",1,@min_hair_style,@min_hair_style,@max_hair_style;
break;
case 2:
callfunc "F_StyleBrowse",6,@min_hair_color,@min_hair_color,@max_hair_color;
break;
case 3:
callfunc "F_StyleBrowse",7,@min_cloth_color,@min_cloth_color,@max_cloth_color;
break;
case 4:
mes "[Stylish Stylist]";
mes "Что?";
mes "Ладно.";
next;
goto LStart;
break;
}
goto LRepeat;
break;
case 2:
callfunc "F_StyleLoad";
goto LStart;
break;
case 3:
callfunc "F_StyleSave";
goto LStart;
break;
case 4:
if (getgmlevel() > 39) {
mes "[Stylish Stylist]";
mes "Скока слотов?";
next;
input @n;
set $sty_slots,@n;
close;
}
}
mes "[Stylish Stylist]";
mes "Всё увидимся в другой раз.";
close;
}
function script F_StyleBrowse {
set @name$[1],"hairstyle";
set @name$[6],"hair color";
set @name$[7],"clothes color";
set @type,getarg(0);
set @n,getarg(1);
set @min,getarg(2);
set @max,getarg(3);
set @t,getlook(@type);
mes "[Stylish Stylist]";
mes "Итак ты хочеш поменять "+@name$[@type];
mes "Выбирай себе.";
next;
LRepeat: // Here we go again
setlook @type,@n;
if (@n < @max) set @s$,"Дальше "+@name$[@type]+":";
else set @s$,"Первую "+@name$[@type]+":";
if (@n > @min) set @s$,@s$+"Предыдущую "+@name$[@type]+":";
else set @s$,@s$+"Последнюю "+@name$[@type]+":";
set @s$,@s$+"Мне '^000088"+@n+"'^000000 нравиться...:Я выбиру сам...:Неет, дай мою обратно.";
switch(select(@s$)) {
case 1:
if (@n < @max) set @n,@n+1;
else set @n,@min;
goto LRepeat;
return;
case 2:
if (@n > @min) set @n,@n-1;
else set @n,@max;
goto LRepeat;
return;
case 3:
mes "[Stylish Stylist]";
mes "Прекрасный выбор "+@name$[@type]+".";
next;
return;
case 4:
mes "[Stylish Stylist]";
mes "Выбери номер с ^000088"+@min+"^000000 до ^880000"+@max+"^000000.";
next;
input @i;
if (@i >= @min && @i <= @max) {
set @n,@i;
mes "[Stylish Stylist]";
mes "Прекрасный выбор.";
next;
}
else {
mes "[Stylish Stylist]";
mes "Ой, я ввёл не тот номер.";
next;
}
goto LRepeat;
return;
case 5:
mes "[Stylish Stylist]";
mes "На тебе обратно";
next;
specialeffect2 253;
setlook @type,@t;
return;
}
}
function script F_StyleLoad {
mes "[Stylish Stylist]";
mes "Выбери слот откуда загрузить.";
next;
set @s$,"";
for( set @i,1; @i<=$sty_slots; set @i,@i+1)
set @s$,@s$+"Slot "+@i+" (HS["+getd("sty_"+@i+"hs")+"] HC["+getd("sty_"+@i+"hc")+"] CC["+getd("sty_"+@i+"cc")+"]):";
set @s$,@s$+"Нет спасибо.";
set @n,select(@s$);
if (@n <= $sty_slots) {
setlook 1,getd("sty_"+@n+"hs");
setlook 6,getd("sty_"+@n+"hc");
setlook 7,getd("sty_"+@n+"cc");
specialeffect2 454;
mes "[Stylish Stylist]";
mes "На.";
next;
}
else {
mes "[Stylish Stylist]";
mes "Без проблем.";
next;
}
return;
}
function script F_StyleSave {
mes "[Stylish Stylist]";
mes "Куда сохраним?.";
next;
set @s$,"";
for( set @i,1; @i<=$sty_slots; set @i,@i+1)
set @s$,@s$+"Slot "+@i+" (HS["+getd("sty_"+@i+"hs")+"] HC["+getd("sty_"+@i+"hc")+"] CC["+getd("sty_"+@i+"cc")+"]):";
set @s$,@s$+"Нет спасибо.";
set @n,select(@s$);
if (@n <= $sty_slots) {
setd "sty_"+@n+"hs",getlook(1);
setd "sty_"+@n+"hc",getlook(6);
setd "sty_"+@n+"cc",getlook(7);
specialeffect2 244;
mes "[Stylish Stylist]";
mes "Всё отлично.";
next;
}
else {
mes "[Stylish Stylist]";
mes "Без проблем.";
next;
}
return;
}
Вот ошибка, перепробовал все!
И пользуясь случаем, reset npc вот скрипт, ошибка на скрине:
prt_in,38,104,7 script Vostein 918,{
// Skills, Stats, Both, Limit
setarray .@Reset, 5000, 5000, 9000, 0;
setarray .@Item, 7227, 7227, 7227, 0;
setarray .@Count, 1, 1, 1, 0;
mes "^FF3355[Vostein]^000000";
if(.@Reset[3] && reset_limit > .@Reset[3]) {
mes "Sorry you can only reset "+callfunc("F_InsertPlural",.@Reset[3],"time")+" in your life.";
close;
}
mes "I welcome, my name is Vostein!";
mes "I erase memory.";
mes "Than I can help?";
next;
mes "^FF3355[Vostein]^000000";
mes "^00565Price^000000";
mes "To erase characteristics - loot, zeny";
mes "It will cost to you";
mes "To erase Abilities - ^FFA500loot, zeny^000000";
mes "To erase Statistics - ^FFA500loot, zeny^000000";
mes "To erase all memory - ^FFA500loot, zeny^000000";
set .@i,(select("^0055FFAbilities:Statistics:To erase all memory^000000:No, Thanks"));
if(.@i > 3)
next;
mes "^FF3355[Vostein]^000000";
mes "I say goodbye to you!";
close;
}
mes "^FF3355[Vostein]^000000";
if (Zeny < .@Reset[.@i-1]) {
mes "I'm Sorry, isn't enough zeny!";
close;
}
if(countitem(.@Item[.@i-1]<.@Count[.@i-1])){
mes "I'm Sorry, isn't enough loot's!";
close;
}
if(.@Reset[3]){
mes "You can only reset "+callfunc("F_InsertPlural",.@Reset[3],"time")+" in your life, are you sure?";
if(select("Let me think:That's fine") == 1) close;
}
set Zeny, Zeny-.@Reset[.@i-1];
delitem .@Item[.@i-1],.@Count[.@i-1];
if(.@i&1){
sc_end SC_ALL;// TODO make a sc_end current classes sc only
ResetSkill;
}
if(.@i&2) ResetStatus;
mes "Memory is erased!";
if(.@Reset[3]) set reset_limit,reset_limit + 1;
close;
}