Перейти к содержанию

Как сделать проверки?


Рекомендуемые сообщения

Всегда путался и не до конца понимаю систему проверок.

Могли бы помочь решить проблему:

Есть, например, 30 итемов с 10000-10030.

Например нпц выдает камень

Система такова, что бы получить высший уровень камня тебе нужно принести 10000ид и какойто лут, тогда он тебе выдает 10001ид и все по нарастающий.

Как сделать что бы нпц автоматично узнавало какой у тебя сейчас камень(например какой уровень камня) и писало что тебе нужно принести для получения высшего уровня (следующего ид 10002(и так дальше))?

Ссылка на комментарий
Поделиться на другие сайты


for(set .@i,0;.@i<31;set .@i, .@i+1){
if (countitem(.@i+10000) == 1){
mes "Вам нужно принести "+getitemname($itemid[.@i])+" "+$itemcount[.@i]+"x.";
next;
mes "Сделать апгрейд?";
if(select("Нет:Да")==1) close;
-Проверка предметов-
-Удаление предметов-
-Выдача нового камня-
}
}

Ссылка на комментарий
Поделиться на другие сайты


for(set .@i,0;.@i<31;set .@i, .@i+1){
if (countitem(.@i+10000) == 1){
mes "Вам нужно принести "+getitemname($itemid[.@i])+" "+$itemcount[.@i]+"x.";
next;
mes "Сделать апгрейд?";
if(select("Нет:Да")==1) close;
-Проверка предметов-
-Удаление предметов-
-Выдача нового камня-
}
}

Честно говоря даже не знаю за что тут браться.

Если есть время и желание помоги пожалуйста.

Нужно сделать что бы игрок подошедший к нпц ткнув на него и ему показало какой камень у него сейчас есть и выдало текст с требующим лутом для получения следующего уровня камня (то есть 20002 забрал и выдал уже 20003 и так по нарастающей).

Начиная с ид 20002 по 20031.

Буду очень признателен.

Ссылка на комментарий
Поделиться на другие сайты


for(set .@i,0;.@i<31;set .@i, .@i+1){
if (countitem(.@i+10000) == 1){
mes "Вам нужно принести "+getitemname($itemid[.@i])+" "+$itemcount[.@i]+"x.";
next;
mes "Сделать апгрейд?";
if(select("Нет:Да")==1) close;
-Проверка предметов-
-Удаление предметов-
-Выдача нового камня-
}
}

Честно говоря даже не знаю за что тут браться.

Если есть время и желание помоги пожалуйста.

Нужно сделать что бы игрок подошедший к нпц ткнув на него и ему показало какой камень у него сейчас есть и выдало текст с требующим лутом для получения следующего уровня камня (то есть 20002 забрал и выдал уже 20003 и так по нарастающей).

Начиная с ид 20002 по 20031.

Буду очень признателен.

for(set .@i,0;.@i<29;set .@i, .@i+1){
if (countitem(.@i+20002) == 1){

и в начале скрипта сделать


set $itemid[0],ид1,ид2,ид3,итд; - айдишники итемов для грейда
set $itemcount[0],ид1,ид2,ид3,итд; - число итемов для грейда

Изменено пользователем botka4aet
Ссылка на комментарий
Поделиться на другие сайты


for(set .@i,0;.@i<31;set .@i, .@i+1){
if (countitem(.@i+10000) == 1){
mes "Вам нужно принести "+getitemname($itemid[.@i])+" "+$itemcount[.@i]+"x.";
next;
mes "Сделать апгрейд?";
if(select("Нет:Да")==1) close;
-Проверка предметов-
-Удаление предметов-
-Выдача нового камня-
}
}

Честно говоря даже не знаю за что тут браться.

Если есть время и желание помоги пожалуйста.

Нужно сделать что бы игрок подошедший к нпц ткнув на него и ему показало какой камень у него сейчас есть и выдало текст с требующим лутом для получения следующего уровня камня (то есть 20002 забрал и выдал уже 20003 и так по нарастающей).

Начиная с ид 20002 по 20031.

Буду очень признателен.

for(set .@i,0;.@i<29;set .@i, .@i+1){
if (countitem(.@i+20002) == 1){

и в начале скрипта сделать


set $itemid[0],ид1,ид2,ид3,итд; - айдишники итемов для грейда
set $itemcount[0],ид1,ид2,ид3,итд; - число итемов для грейда

Пробовал менял, но все без результатов. Не получается.

Может у кого есть нпц с подобной системой, я бы уже с примера сам сделал?

Ссылка на комментарий
Поделиться на другие сайты


for(set .@i,0;.@i<31;set .@i, .@i+1){
if (countitem(.@i+10000) == 1){
mes "Вам нужно принести "+getitemname($itemid[.@i])+" "+$itemcount[.@i]+"x.";
next;
mes "Сделать апгрейд?";
if(select("Нет:Да")==1) close;
-Проверка предметов-
-Удаление предметов-
-Выдача нового камня-
}
}

Честно говоря даже не знаю за что тут браться.

Если есть время и желание помоги пожалуйста.

Нужно сделать что бы игрок подошедший к нпц ткнув на него и ему показало какой камень у него сейчас есть и выдало текст с требующим лутом для получения следующего уровня камня (то есть 20002 забрал и выдал уже 20003 и так по нарастающей).

Начиная с ид 20002 по 20031.

Буду очень признателен.

for(set .@i,0;.@i<29;set .@i, .@i+1){
if (countitem(.@i+20002) == 1){

и в начале скрипта сделать


set $itemid[0],ид1,ид2,ид3,итд; - айдишники итемов для грейда
set $itemcount[0],ид1,ид2,ид3,итд; - число итемов для грейда

Пробовал менял, но все без результатов. Не получается.

Может у кого есть нпц с подобной системой, я бы уже с примера сам сделал?

Можно старым, дедовским способом без массивов(раз вы в них не алё), пример:

prontera,x,y,z script Получение/Обгрейд Шняги 115,{
mes "Привет, что желаете?";
switch(select("Получить шнягу:Улучшить шнягу:Выйти")){

case 1:
if((countitem(ID лута) > кол-ва) && (countitem(ID лута) > кол-ва)) {
mes "О тЦаеПись! У тебя есть лут, вот тебе за это шняга!";
delitem id лута, кол-во;
delitem id лута, кол-во;
getitem 20000,1;
}
else {
mes "На шнягу Вам нужен такой лут:";
mes "Кол-во лута - ID лута";
mes "Кол-во лута - ID лута";
close;
}

case 2:
if((countitem(20000)>0) && (countitem(ID лута) > кол-ва) && (countitem(ID лута) > кол-ва)) {
mes "Ого! У тебя есть лут и шняга! Предлагаю улучшить шнягу.";
switch(select("Согласен:Не, спс")){
case 1:
if((countitem(20000)>0) && (countitem(ID лута) > кол-ва) && (countitem(ID лута) > кол-ва)) {
mes "Поздравляю, Вы получили улучшили шнягу до 2го уровня";
delitem 20000,1;
delitem id лута, кол-во;
delitem id лута, кол-во;
getitem 20001,1;
close;
if((countitem(20001)>0) && (countitem(ID лута) > кол-ва) && (countitem(ID лута) > кол-ва)) {
mes "Поздравляю, Вы получили улучшили шнягу до 3го уровня";
delitem 20001,1;
delitem id лута, кол-во;
delitem id лута, кол-во;
getitem 20002,1;
close;
if((countitem(20002)>0) && (countitem(ID лута) > кол-ва) && (countitem(ID лута) > кол-ва)) {
mes "Поздравляю, Вы получили улучшили шнягу до 4го уровня";
delitem 20002,1;
delitem id лута, кол-во;
delitem id лута, кол-во;
getitem 20003,1;
close;
if((countitem(20003)>0) && (countitem(ID лута) > кол-ва) && (countitem(ID лута) > кол-ва)) {
mes "Поздравляю, Вы получили улучшили шнягу до 5го уровня";
delitem 20003,1;
delitem id лута, кол-во;
delitem id лута, кол-во;
getitem 20004,1;
close;
}
else {
if((countitem(20000)>0){
mes "Для улучшения шняги вам нужно:";
mes "Кол-во лута - ID лута";
mes "Кол-во лута - ID лута";
close;
}
if((countitem(20001)>0){
mes "Для улучшения шняги вам нужно:";
mes "Кол-во лута - ID лута";
mes "Кол-во лута - ID лута";
close;
}
if((countitem(20002)>0){
mes "Для улучшения шняги вам нужно:";
mes "Кол-во лута - ID лута";
mes "Кол-во лута - ID лута";
close;
}
if((countitem(20003)>0){
mes "Для улучшения шняги вам нужно:";
mes "Кол-во лута - ID лута";
mes "Кол-во лута - ID лута";
close;
}
case 2:
mes "Удачи!";
close;

case 3:
mes "Пока";
close;
}

Грубый пример, который не ориентирован на экономию места и красоту скрипта, но должен дать понять, примерную, технологию и, в каком то смысле, упростить автору осознать динамику скрипта.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика