Fizik Опубликовано 3 января, 2016 Жалоба Поделиться Опубликовано 3 января, 2016 (изменено) Вопрос такой, Я хотел что бы нпц брал на 500к меньше зени с того у кого есть предмет 7056, вот скриптdoubrius,44,55,4 script Волшебник Сардар 494,{function checkcountstats;mes .npc$;mes "Привет, ^ff0000" +strcharinfo(0)+ "^000000. Хочешь Что бы я добавил статов или скилов?";next;mes "Если у тебя есть премиум Карточка То покупка будет дешевле на 500к Зени!";next;if (select("Да:Нет") - 1) close;mes .npc$;mes "А что именно Будешь покупать?";next;if( prompt( "Статы", "Очки навыков", "Ничего") == 3 ) close;else if( @menu == 1 ) { // stats pointsmes .npc$;mes "Сколько очков ты хочешь? За каждое добавленное очко, я буду забирать 1.000.000 Зени";next;input .@amount;if ( Zeny < ( .@amount * .cost ) || .@amount <= 0 ) {mes .npc$;mes "У тебя нет столько денег!";close;}else {mes .npc$;mes "А куда именно " +.@amount+ " очков мы будем добавлять??";next;.@s = select("СТР:АГИ:ВИТ:ИНТ:ДЕКС:ЛАК:Ничего") -1;if( .@s == 6 ) close;else if( checkcountstats( .@s ) ) { // can't bypass the max stats def in player.confmes .npc$;mes "У тебя уже достигнут лимит данного Стата!.";close;}mes .npc$;mes "Удачи!";statusup2 .stat_up[.@s], .@amount;set Zeny, Zeny - ( .@amount * .cost );close;}}// skills pointsmes .npc$;mes "Сколько очков вы хотите? За каждое добавленное очко, я буду забирать 1.000.000 Зени";next;input .@amount;if ( Zeny < ( .@amount * .cost ) || .@amount <= 0 ) {mes .npc$;mes "У Вас недостаточно средств!";close;} else {set Zeny, Zeny - ( .@amount * .cost );set SkillPoint, SkillPoint + .@amount;mes .npc$;mes "Удачно Куплено " +.@amount+ " Очков навыков.";close;}function checkcountstats {.@eac = eaclass();.@s = getarg(0);if( .@eac&EAJL_BABY && .@eac&EAJL_THIRD ) {if( readparam( .stat_up[.@s] ) >= .max_param_baby_3 )return 1;elsereturn 0;}else if( .@eac&EAJL_BABY ) {if( readparam( .stat_up[.@s] ) >= .max_param_baby )return 1;elsereturn 0;}else if( .@eac&EAJL_THIRD ) {if( readparam( .stat_up[.@s] ) >= .max_param_3 )return 1;elsereturn 0;}else {if( readparam( .stat_up[.@s] ) >= .max_param )return 1;elsereturn 0;}}OnInit:set .npc$,"[ " +strnpcinfo(1)+ " ]"; // NPC Nameif (countitem(7056) > 1){set .cost,1000000;}set .cost,1500000; // Zeny amount needed//setarray .stat_up, bStr, bAgi, bVit, bInt, bDex, bLuk;.max_param = getbattleflag( "max_parameter" );.max_param_3 = getbattleflag( "max_third_parameter" );.max_param_baby = getbattleflag( "max_baby_parameter" );.max_param_baby_3 = getbattleflag( "max_baby_third_parameter" );end;}Но мап поругал меня[Error]: script_rid2sd: fatal error ! player not attached![Debug]: Function: countitem (1 parameter):[Debug]: Data: number value=7056[Debug]: Source (NPC): ┬юы°хсэшъ ╤рЁфрЁ at doubrius (44,55)Из-за чего?Сразу скажу что пробовал уже if (countitem(7056) < 1){if (countitem(7056) == 1){Ето еффекта не дало) Может я не туда ставлю, Если кто подскажет верный путь будет отлично просто) Изменено 3 января, 2016 пользователем Fizik Ссылка на комментарий Поделиться на другие сайты Поделиться
Nurkz Опубликовано 3 января, 2016 Жалоба Поделиться Опубликовано 3 января, 2016 doubrius,44,55,4 script Волшебник Сардар 494,{function checkcountstats;function cost;mes .npc$;mes "Привет, ^ff0000" +strcharinfo(0)+ "^000000. Хочешь Что бы я добавил статов или скилов?";next;mes "Если у тебя есть премиум Карточка То покупка будет дешевле на 500к Зени!";next;if (select("Да:Нет") - 1) close;mes .npc$;mes "А что именно Будешь покупать?";next;if( prompt( "Статы", "Очки навыков", "Ничего") == 3 ) close;else if( @menu == 1 ) { // stats pointsmes .npc$;mes "Сколько очков ты хочешь? За каждое добавленное очко, я буду забирать 1.000.000 Зени";next;input .@amount;if ( Zeny < ( .@amount * cost() ) || .@amount <= 0 ) {mes .npc$;mes "У тебя нет столько денег!";close;}else {mes .npc$;mes "А куда именно " +.@amount+ " очков мы будем добавлять??";next;.@s = select("СТР:АГИ:ВИТ:ИНТ:ДЕКС:ЛАК:Ничего") -1;if( .@s == 6 ) close;else if( checkcountstats( .@s ) ) { // can't bypass the max stats def in player.confmes .npc$;mes "У тебя уже достигнут лимит данного Стата!.";close;}mes .npc$;mes "Удачи!";statusup2 .stat_up[.@s], .@amount;set Zeny, Zeny - ( .@amount * cost() );close;}}// skills pointsmes .npc$;mes "Сколько очков вы хотите? За каждое добавленное очко, я буду забирать 1.000.000 Зени";next;input .@amount;if ( Zeny < ( .@amount * cost() ) || .@amount <= 0 ) {mes .npc$;mes "У Вас недостаточно средств!";close;} else {set Zeny, Zeny - ( .@amount * cost() );set SkillPoint, SkillPoint + .@amount;mes .npc$;mes "Удачно Куплено " +.@amount+ " Очков навыков.";close;} function checkcountstats { .@eac = eaclass(); .@s = getarg(0); if( .@eac&EAJL_BABY && .@eac&EAJL_THIRD ) { if( readparam( .stat_up[.@s] ) >= .max_param_baby_3 ) return 1; else return 0; } else if( .@eac&EAJL_BABY ) { if( readparam( .stat_up[.@s] ) >= .max_param_baby ) return 1; else return 0; } else if( .@eac&EAJL_THIRD ) { if( readparam( .stat_up[.@s] ) >= .max_param_3 ) return 1; else return 0; } else { if( readparam( .stat_up[.@s] ) >= .max_param ) return 1; else return 0; } } function cost { if (countitem(7056)){ return 1000000; } else { return 1500000; } }OnInit:set .npc$,"[ " +strnpcinfo(1)+ " ]"; // NPC Namesetarray .stat_up, bStr, bAgi, bVit, bInt, bDex, bLuk;.max_param = getbattleflag( "max_parameter" );.max_param_3 = getbattleflag( "max_third_parameter" );.max_param_baby = getbattleflag( "max_baby_parameter" );.max_param_baby_3 = getbattleflag( "max_baby_third_parameter" );end;} 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Fizik Опубликовано 3 января, 2016 Автор Жалоба Поделиться Опубликовано 3 января, 2016 вот Спасибо))) Что-то я совсем уже забыл что как делается))) поставить функцию действительно простое ведь решение)))) Спасибо ещё раз вам!) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения