Я всё понял... Ошибки то показывает по одной... Нужно было ссразу создать Function для Case 2 отдельную... И переписать её немножко... Теперь непонимаю следующего По сути всё правильно ошибок нету и судя по свич селекту он должен прыгать на кейс 1 2 3 Но почему то какой бы я язык невыбрал он прыгает на Case1 Вот скрипт... Я перевёл только первые строки что бы проверить...... prontera,164,158,5 script Refiner 810 ,{ function RefElu; function RefOri; function Refine; function RefElu2; function RefOri2; function Refine2; function RefElu3; function RefOri3; function Refine3; set @relu, 757; set @elu, 985; set @eluprice, 5000; set @relunum, 5; set @rori, 756; set @ori, 984; set @oriprice, 5000; set @rorinum, 5; set @refprice, 50000000; set @maxrefine, 10; set @repprice, 500; mes "[Refiner]"; mes "Choose Your Languagе"; switch (select("Russian","Inglish","Turkish")) { case1: mes "Привет, что вы хотите сделать сегодня?"; menu "Заточить вещи",REFIN,"Зделать Elunium",ELU,"Зделать Oridecon",ORI,"Починить вещи",REP,"Ничего мне не нужно",QUIT; REFIN: mes "Вам нужно "+@refprice+"z на 1-ну заточку."; mes "Кроме того вам нужно ещё ^FF0000 1 Elunium ^000000 для заточки одежды"; mes "и ^FF0000 1 Oridecon ^000000 для заточки оружия."; mes "заточить можно до ^FF0000 +10 ^000000."; set @headtop$, getequipname(1); set @armor$, getequipname(2); set @handl$, getequipname(3); set @handr$, getequipname(4); set @garment$, getequipname(5); set @shoes$, getequipname(6); set @accl$, getequipname(7); set @accr$, getequipname(8); set @headmid$, getequipname(9); set @headlow$, getequipname(10); menu "[Head - Top] "+@headtop$,HEADTOP, "[Head - Mid] "+@headmid$,HEADMID, "[Head - Low] "+@headlow$,HEADLOW, "[Armor] "+@armor$,ARMOR, "[Garment] "+@garment$,GARMENT, "[Left Hand] "+@handl$,HANDL, "[Right Hand] "+@handr$,HANDR, "[Left Acc] "+@accl$,ACCL, "[Right Acc] "+@accr$,ACCR, "[shoes] "+@shoes$,SHOES; HEADTOP: set @slot, 1; callfunc Refine; HEADMID: set @slot, 9; callfunc Refine; HEADLOW: set @slot, 10; callfunc Refine; ARMOR: set @slot, 2; callfunc Refine; GARMENT: set @slot, 5; callfunc Refine; HANDL: set @slot, 3; callfunc Refine; HANDR: set @slot, 4; callfunc Refine; ACCL: set @slot, 7; callfunc Refine; ACCR: set @slot, 8; callfunc Refine; SHOES: set @slot, 6; callfunc Refine; ELU: mes "Вам нужно ^FF0000 "+@relunum+" Rough Elunium ^000000"; mes "А так же ещё понадобится "+@eluprice+"z для 1-ного Elunium'a"; mes "Вам нужно это?"; callfunc RefElu; ORI: mes "Вам нужно ^FF0000 "+@rorinum+" Rough Oridecon ^000000"; mes "А так же ещё понадобится "+@oriprice+"z для 1-ного Oridecon'a"; mes "Вам нужно это?"; callfunc RefOri; REP: if (getbrokenid(1) == 0) goto NOREP; mes "Чтобы починить одежду, вам понадобится "+@repprice+"z."; mes "Выберите что вы хотите починить."; set @choice, select(getitemname(getbrokenid(1)), getitemname(getbrokenid(2)), getitemname(getbrokenid(3)), getitemname(getbrokenid(4)), getitemname(getbrokenid(5)), getitemname(getbrokenid(6)), getitemname(getbrokenid(7)), getitemname(getbrokenid(8)), getitemname(getbrokenid(9)), getitemname(getbrokenid(10))); set zeny, zeny - @repprice; repair(@choice); goto LATER; NOREP: mes "Извените, но у вас нету поломоной вещички."; close; QUIT: mes "Ухх, ну ладно, пока."; close; LATER: mes "Спасибо, удачного вам дня."; close; NO: mes "Эх..., ну ладно, пока."; close; NOELU: mes "Извените, но у вас нету Elunium."; close; NOORI: mes "Извените, но у вас нету Oridicon."; close; CANCEL: mes "Ладно, приходите попозже."; close; MAX: mes "Извените, но вы заточили на максимум эту вещь."; close; NOWAY: mes "Ммм.... Я немогу заточить эту вещь!!!"; close; NOREQ: mes "Извените, но у вас нехватает денег или лута для пользования моей услуги"; close; // ---------------Refine Elunium function RefElu { if (countitem(@relu) < @relunum) goto NOELU; menu "Yes",-,"No",NO; set zeny, zeny - @eluprice; delitem @relu, @relunum; getitem @elu, 1; callfunc RefElu; } // ---------------Refine Oridecon function RefOri { if (countitem(@rori) < @rorinum) goto NOORI; menu "Yes",-,"No",NO; set zeny, zeny - @oriprice; delitem @rori, @rorinum; getitem @ori, 1; callfunc RefOri; } // ---------------Refine Equipment function Refine { if (getequiprefinerycnt(@slot) >= @maxrefine) goto MAX; if (getequipisenableref(@slot) == 0) goto NOWAY; menu "Do it!",-,"Cancel",CANCEL; if (zeny < @refprice) goto NOREQ; set zeny, zeny - @refprice; if (@slot != 3 && @slot != 4) { goto USEELU; } else { goto CHECKWEAP; } USEELU: if (countitem(@elu) < 1) goto NOREQ; delitem @elu, 1; successrefitem(@slot); goto LOOP; USEORI: if (countitem(@ori) < 1) goto NOREQ; delitem @ori, 1; successrefitem(@slot); goto LOOP; CHECKWEAP: if (getequipweaponlv(@slot) == 0) goto USEELU; goto USEORI; LOOP: callfunc Refine; } } case2: mes "[Refiner]"; mes "Hello Friend What do you want Today?"; menu "Заточить вещи",REFIN,"Зделать Elunium",ELU,"Зделать Oridecon",ORI,"Починить вещи",REP,"Ничего мне не нужно",QUIT; REFIN2: mes "Вам нужно "+@refprice+"z на 1-ну заточку."; mes "Кроме того вам нужно ещё ^FF0000 1 Elunium ^000000 для заточки одежды"; mes "и ^FF0000 1 Oridecon ^000000 для заточки оружия."; mes "заточить можно до ^FF0000 +10 ^000000."; set @headtop$, getequipname(1); set @armor$, getequipname(2); set @handl$, getequipname(3); set @handr$, getequipname(4); set @garment$, getequipname(5); set @shoes$, getequipname(6); set @accl$, getequipname(7); set @accr$, getequipname(8); set @headmid$, getequipname(9); set @headlow$, getequipname(10); menu "[Head - Top] "+@headtop$,HEADTOP, "[Head - Mid] "+@headmid$,HEADMID, "[Head - Low] "+@headlow$,HEADLOW, "[Armor] "+@armor$,ARMOR, "[Garment] "+@garment$,GARMENT, "[Left Hand] "+@handl$,HANDL, "[Right Hand] "+@handr$,HANDR, "[Left Acc] "+@accl$,ACCL, "[Right Acc] "+@accr$,ACCR, "[shoes] "+@shoes$,SHOES; HEADTOP2: set @slot, 1; callfunc Refine; HEADMID2: set @slot, 9; callfunc Refine; HEADLOW2: set @slot, 10; callfunc Refine; ARMOR2: set @slot, 2; callfunc Refine; GARMENT2: set @slot, 5; callfunc Refine; HANDL2: set @slot, 3; callfunc Refine; HANDR2: set @slot, 4; callfunc Refine; ACCL2: set @slot, 7; callfunc Refine; ACCR2: set @slot, 8; callfunc Refine; SHOES2: set @slot, 6; callfunc Refine; ELU2: mes "Вам нужно ^FF0000 "+@relunum+" Rough Elunium ^000000"; mes "А так же ещё понадобится "+@eluprice+"z для 1-ного Elunium'a"; mes "Вам нужно это?"; callfunc RefElu; ORI2: mes "Вам нужно ^FF0000 "+@rorinum+" Rough Oridecon ^000000"; mes "А так же ещё понадобится "+@oriprice+"z для 1-ного Oridecon'a"; mes "Вам нужно это?"; callfunc RefOri; REP2: if (getbrokenid(1) == 0) goto NOREP; mes "Чтобы починить одежду, вам понадобится "+@repprice+"z."; mes "Выберите что вы хотите починить."; set @choice, select(getitemname(getbrokenid(1)), getitemname(getbrokenid(2)), getitemname(getbrokenid(3)), getitemname(getbrokenid(4)), getitemname(getbrokenid(5)), getitemname(getbrokenid(6)), getitemname(getbrokenid(7)), getitemname(getbrokenid(8)), getitemname(getbrokenid(9)), getitemname(getbrokenid(10))); set zeny, zeny - @repprice; repair(@choice); goto LATER; NOREP2: mes "Извените, но у вас нету поломоной вещички."; close; QUIT2: mes "Ухх, ну ладно, пока."; close; LATER2: mes "Спасибо, удачного вам дня."; close; NO2: mes "Эх..., ну ладно, пока."; close; NOELU2: mes "Извените, но у вас нету Elunium."; close; NOORI2: mes "Извените, но у вас нету Oridicon."; close; CANCEL2: mes "Ладно, приходите попозже."; close; MAX2: mes "Извените, но вы заточили на максимум эту вещь."; close; NOWAY2: mes "Ммм.... Я немогу заточить эту вещь!!!"; close; NOREQ2: mes "Извените, но у вас нехватает денег или лута для пользования моей услуги"; close; // ---------------Refine Elunium function RefElu2 { if (countitem(@relu) < @relunum) goto NOELU2; menu "Yes",-,"No",NO; set zeny, zeny - @eluprice; delitem @relu, @relunum; getitem @elu, 1; callfunc RefElu2; } // ---------------Refine Oridecon function RefOri2 { if (countitem(@rori) < @rorinum) goto NOORI; menu "Yes",-,"No",NO; set zeny, zeny - @oriprice; delitem @rori, @rorinum; getitem @ori, 1; callfunc RefOri2; } // ---------------Refine Equipment function Refine2 { if (getequiprefinerycnt(@slot) >= @maxrefine) goto MAX; if (getequipisenableref(@slot) == 0) goto NOWAY; menu "Do it!",-,"Cancel",CANCEL; if (zeny < @refprice) goto NOREQ; set zeny, zeny - @refprice; if (@slot != 3 && @slot != 4) { goto USEELU; } else { goto CHECKWEAP; } USEELU2: if (countitem(@elu) < 1) goto NOREQ; delitem @elu, 1; successrefitem(@slot); goto LOOP; USEORI2: if (countitem(@ori) < 1) goto NOREQ; delitem @ori, 1; successrefitem(@slot); goto LOOP; CHECKWEAP2: if (getequipweaponlv(@slot) == 0) goto USEELU; goto USEORI; LOOP2: callfunc Refine; } case3: mes "[Refiner]"; mes "Selam Dostum bugün ne etmek istersin?"; menu "Artı Basma",REFIN,"Elunıum Yaratma",ELU,"Oridecon Yaratmak",ORI,"Kırılmış Eşya düzeltmek",REP,"Boş ver hiç bişey istemiyorum",QUIT; REFIN3: mes "Вам нужно "+@refprice+"z на 1-ну заточку."; mes "Кроме того вам нужно ещё ^FF0000 1 Elunium ^000000 для заточки одежды"; mes "и ^FF0000 1 Oridecon ^000000 для заточки оружия."; mes "заточить можно до ^FF0000 +10 ^000000."; set @headtop$, getequipname(1); set @armor$, getequipname(2); set @handl$, getequipname(3); set @handr$, getequipname(4); set @garment$, getequipname(5); set @shoes$, getequipname(6); set @accl$, getequipname(7); set @accr$, getequipname(8); set @headmid$, getequipname(9); set @headlow$, getequipname(10); menu "[Head - Top] "+@headtop$,HEADTOP, "[Head - Mid] "+@headmid$,HEADMID, "[Head - Low] "+@headlow$,HEADLOW, "[Armor] "+@armor$,ARMOR, "[Garment] "+@garment$,GARMENT, "[Left Hand] "+@handl$,HANDL, "[Right Hand] "+@handr$,HANDR, "[Left Acc] "+@accl$,ACCL, "[Right Acc] "+@accr$,ACCR, "[shoes] "+@shoes$,SHOES; HEADTOP3: set @slot, 1; callfunc Refine; HEADMID3: set @slot, 9; callfunc Refine; HEADLOW3: set @slot, 10; callfunc Refine; ARMOR3: set @slot, 2; callfunc Refine; GARMENT3: set @slot, 5; callfunc Refine; HANDL3: set @slot, 3; callfunc Refine; HANDR3: set @slot, 4; callfunc Refine; ACCL3: set @slot, 7; callfunc Refine; ACCR3: set @slot, 8; callfunc Refine; SHOES3: set @slot, 6; callfunc Refine; ELU3: mes "Вам нужно ^FF0000 "+@relunum+" Rough Elunium ^000000"; mes "А так же ещё понадобится "+@eluprice+"z для 1-ного Elunium'a"; mes "Вам нужно это?"; callfunc RefElu; ORI3: mes "Вам нужно ^FF0000 "+@rorinum+" Rough Oridecon ^000000"; mes "А так же ещё понадобится "+@oriprice+"z для 1-ного Oridecon'a"; mes "Вам нужно это?"; callfunc RefOri; REP3: if (getbrokenid(1) == 0) goto NOREP; mes "Чтобы починить одежду, вам понадобится "+@repprice+"z."; mes "Выберите что вы хотите починить."; set @choice, select(getitemname(getbrokenid(1)), getitemname(getbrokenid(2)), getitemname(getbrokenid(3)), getitemname(getbrokenid(4)), getitemname(getbrokenid(5)), getitemname(getbrokenid(6)), getitemname(getbrokenid(7)), getitemname(getbrokenid(8)), getitemname(getbrokenid(9)), getitemname(getbrokenid(10))); set zeny, zeny - @repprice; repair(@choice); goto LATER; NOREP3: mes "Извените, но у вас нету поломоной вещички."; close; QUIT3: mes "Ухх, ну ладно, пока."; close; LATER3: mes "Спасибо, удачного вам дня."; close; NO3: mes "Эх..., ну ладно, пока."; close; NOELU3: mes "Извените, но у вас нету Elunium."; close; NOORI3: mes "Извените, но у вас нету Oridicon."; close; CANCEL3: mes "Ладно, приходите попозже."; close; MAX3: mes "Извените, но вы заточили на максимум эту вещь."; close; NOWAY3: mes "Ммм.... Я немогу заточить эту вещь!!!"; close; NOREQ3: mes "Извените, но у вас нехватает денег или лута для пользования моей услуги"; close; // ---------------Refine Elunium function RefElu3 { if (countitem(@relu) < @relunum) goto NOELU; menu "Yes",-,"No",NO; set zeny, zeny - @eluprice; delitem @relu, @relunum; getitem @elu, 1; callfunc RefElu2; } // ---------------Refine Oridecon function RefOri3 { if (countitem(@rori) < @rorinum) goto NOORI; menu "Yes",-,"No",NO; set zeny, zeny - @oriprice; delitem @rori, @rorinum; getitem @ori, 1; callfunc RefOri2; } // ---------------Refine Equipment function Refine3 { if (getequiprefinerycnt(@slot) >= @maxrefine) goto MAX; if (getequipisenableref(@slot) == 0) goto NOWAY; menu "Do it!",-,"Cancel",CANCEL; if (zeny < @refprice) goto NOREQ3; set zeny, zeny - @refprice; if (@slot != 3 && @slot != 4) { goto USEELU; } else { goto CHECKWEAP; } USEELU3: if (countitem(@elu) < 1) goto NOREQ; delitem @elu, 1; successrefitem(@slot); goto LOOP; USEORI3: if (countitem(@ori) < 1) goto NOREQ; delitem @ori, 1; successrefitem(@slot); goto LOOP; CHECKWEAP3: if (getequipweaponlv(@slot) == 0) goto USEELU; goto USEORI; LOOP3: callfunc Refine; } }