Salfer Опубликовано 19 сентября, 2014 Жалоба Поделиться Опубликовано 19 сентября, 2014 Цель открыть меню в зависимости от имеющегося лута.скажем имеется итем id 909 и 910если имеются оба, то в меню 2 варианта.если имеется один, один вариант.если нет, то нет меню.setarray .@item_id[1], 909, 910;for (set .@i,1; .@i <= 2; set .@i,.@i+1) {if (@inventorylist_id[.@item] == .@item_id[.@i]) { set .@items,.@items[.@item_id];}}switch(select(.@items)){case 1: mes "1"; close; end;case 2: mes "2"; close; end;}что, я делаю не так? Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 19 сентября, 2014 Жалоба Поделиться Опубликовано 19 сентября, 2014 Попробуй покопать в сторону функции countitemP.S.set .@items,.@items[.@item_id];Что, по твоему, делает эта строчка? 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Salfer Опубликовано 19 сентября, 2014 Автор Жалоба Поделиться Опубликовано 19 сентября, 2014 проверку через countitem будет проще сделать, но я не могу понять как открыть меню исходя из результатов. Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 19 сентября, 2014 Жалоба Поделиться Опубликовано 19 сентября, 2014 setarray .@item_id[1], 909, 910;set .menu$, "";for (set .@i, 1; .@i < getarraysize(.@item_id); set .@i, .@i + 1){ if (countitem(.@item_id[.@i]) > 0) { set .menu$, .menu$ + .@i + ":"; }}switch(select(.@items)){case 1: mes "1"; close; end;case 2: mes "2"; close; end;} 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Jarek Опубликовано 19 сентября, 2014 Жалоба Поделиться Опубликовано 19 сентября, 2014 что, я делаю не так? set .@items,.@items[.@item_id]; 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 19 сентября, 2014 Жалоба Поделиться Опубликовано 19 сентября, 2014 что, я делаю не так? set .@items,.@items[.@item_id]; Прям мысли мои читаешь 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Salfer Опубликовано 19 сентября, 2014 Автор Жалоба Поделиться Опубликовано 19 сентября, 2014 [Warning]: Unexpected type for argument 1. Expected string. [Debug]: Data: variable name='.@items' index=0 [Debug]: Function: select [Debug]: Source (NPC): day at prontera (130,203) Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 19 сентября, 2014 Жалоба Поделиться Опубликовано 19 сентября, 2014 [Warning]: Unexpected type for argument 1. Expected string. [Debug]: Data: variable name='.@items' index=0 [Debug]: Function: select [Debug]: Source (NPC): day at prontera (130,203) Тьфу блин.. Копипаст зло. Ну уж тут-то можно было и догадаться..) switch(select(.@items)){ switch(select(.menu$)){ 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Salfer Опубликовано 19 сентября, 2014 Автор Жалоба Поделиться Опубликовано 19 сентября, 2014 (изменено) Всем большое спасибо, работает частично =\TESTprontera,133,206,3 script day123123 741,{setarray .@item_id[1], 909, 910;set .menu$, "";for (set .@i, 1; .@i < getarraysize(.@item_id); set .@i, .@i + 1){if (countitem(.@item_id[.@i]) > 0) { set .menu$, .menu$ + .@i + ":";}}switch(select(.menu$)){case 1:mes "1";close;end;case 2:mes "2";close;end;}}Продолжаем эвент =)Проблема следующая:при отсутствии 1-ого итема (909), но при наличии 910 кидает на case 1:Вопрос??Как в зависимости от итем ID привезать к определенному case ? Изменено 19 сентября, 2014 пользователем Salfer Ссылка на комментарий Поделиться на другие сайты Поделиться
Functor Опубликовано 19 сентября, 2014 Жалоба Поделиться Опубликовано 19 сентября, 2014 set .menu$, "";for (set .@i, 1; .@i < getarraysize(.@item_id); set .@i, .@i + 1){ if (countitem(.@item_id[.@i]) > 0) { set .menu$, .menu$ + .@i + ":"; }}switch(select(.menu$)){замените на:set .@menu$,"";for (set .@i, 1; .@i < getarraysize(.@item_id); set .@i, .@i + 1) { if (countitem(.@item_id[.@i]) > 0) { set .@menu$, .@menu$ + .@i; } set .@menu$, .@menu$ + ":";}switch(select(.@menu$)) { 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Salfer Опубликовано 19 сентября, 2014 Автор Жалоба Поделиться Опубликовано 19 сентября, 2014 (изменено) действительно, кидает куда нужно, СПАСИБО! Теперь я могу выбрать, какой катар вставить в голову =D Изменено 19 сентября, 2014 пользователем Salfer 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
SupR1g Опубликовано 27 сентября, 2014 Жалоба Поделиться Опубликовано 27 сентября, 2014 действительно, кидает куда нужно, СПАСИБО! Теперь я могу выбрать, какой катар вставить в голову =D Омг...я бы 2 пики вставил в голову...что уж там...О_О Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения