в общем пытаюсь сделать диалог. но есть одно но почему то начинает работать скрипт с 2 строчки, тесть 1 который 0 не работает.
listitem начинается же с 0 ? тогда почему не работает мой массив...
Конкретно в этом случае все работает хорошо, правда первая загрузка долгая.
Код
if(strcmp(cmdtext,"/color", true)==0 || strcmp(cmdtext, "/цвет", true) == 0){
new string[2604];
for(new i; i < sizeof(PlayerMenuColorsNames); i++){
strcat(string,PlayerMenuColorsNames[i]);
ShowPlayerDialog(playerid, DIALOG_COLOR, DIALOG_STYLE_LIST, "Выберите цвет", string, "Ок", "Отмена");}
return 1;}
но когда дело доходит до диалога начинаются проблемы, 1 цвет в списке не работает.
Код
case DIALOG_COLOR:{
if(response){
if(listitem){
SetPlayerColor(playerid,PlayerMenuColors[listitem]);
new string[128];
format(string, sizeof(string), "Вы выбрали цвет %s", PlayerMenuColorsNames[listitem]);
SendClientMessage(playerid,-1, string);
}}}
Добавлено (16.12.2013, 01:05)
---------------------------------------------
Для примера
Код
new PlayerMenuColors[110] = {
0x000000FF,
};
Код
new PlayerMenuColorsNames[110][] = {
{"{FFFFFF} Неведимка {00FF00}(500000$)\n"},
};
Добавлено (16.12.2013, 01:30)
---------------------------------------------
Решено
Код
case DIALOG_COLOR:{
if(response){
SetPlayerColor(playerid,PlayerMenuColors[listitem]);
new string[128];
format(string, sizeof(string), "Вы выбрали цвет %s", PlayerMenuColorsNames[listitem]);
SendClientMessage(playerid,-1, string);
} }
Код
if(strcmp(cmdtext,"/color", true)==0 || strcmp(cmdtext, "/цвет", true) == 0){
new string[2604];
for(new i; i < sizeof(PlayerMenuColorsNames); i++){
strcat(string,PlayerMenuColorsNames[i]);}
ShowPlayerDialog(playerid, DIALOG_COLOR, DIALOG_STYLE_LIST, "Выберите цвет", string, "Ок", "Отмена");
return 1;}