PDA

Просмотр полной версии : [Вопрос] диалог и кейс



Trender
18.11.2014, 01:56
http://rghost.ru/59123632/image.png
как сделать подобный диалог, чтобы при вводе цыфры в него, она счтывалась как правильный или не правильный ответ.

это сама переменная с ответами правильными

new otvetgood[25]={1,3,4,2,4,3,2,3,1,2,2,1,2,4,3,2,1,3,1,4,2,1,3,1,4};

#ball
18.11.2014, 02:16
Условия дружок мой,только условия

- - - Добавлено - - -

Если введенная цифра == ячейки в массиве то ...

Trender
18.11.2014, 02:28
поподробнее разъясни пожалуйста
вот допустим я создал диалог

ShowPlayerDialog(playerid, 1,DIALOG_STYLE_INPUT,"Вопрос","что такое лол?\n1. смех\n2. лох\n3.нуб","Далее","Закрыть");



case 1:
{
if(!response) return 1;
new q = PlayerInfo[playerid][pTestQNumber];
if(listitem != gExamTrueAnswer[q]) return SendClientMessage(playerid,COLOR_RED,"не правильно.");
}



new gExamTrueAnswer[25]={1}; // ответы

Вот так?

#ball
18.11.2014, 05:26
Ты должен сравнивать его с inputtext

Trender
18.11.2014, 20:41
Объясни на примере, который я выше дал.

L0ndl3m
18.11.2014, 21:23
Глобально:


new
player_answer_count[MAX_PLAYERS char];

А далее благодаря этой переменной сверяйте данные из массива, одновременно увеличивая значение этой переменной:


if(strval(inputtext) == otvetgood[++player_answer_count{playerid} - 1])
{
// верный ответ
}

Trender
19.11.2014, 02:58
ничерта не понял. На моём примере как нибудь можно объяснить по братски?

#ball
19.11.2014, 12:12
new goodotvet[2] = { 1/*перечисляем правильные ответы*/};

ShowPlayerDialog(playerid, 1,DIALOG_STYLE_INPUT,"Вопрос","что такое лол?\n1. смех\n2. лох\n3.нуб","Далее","Закрыть");


case 1:{
if(strval(inputtext) == goodotvet[0/*номер ячейки с правильным ответом*/]){
SendClientMessage(playerid, -1, "Верный ответ");
}
}

L0ndl3m
19.11.2014, 16:07
new goodotvet[2] = { 1/*перечисляем правильные ответы*/};

ShowPlayerDialog(playerid, 1,DIALOG_STYLE_INPUT,"Вопрос","что такое лол?\n1. смех\n2. лох\n3.нуб","Далее","Закрыть");


case 1:{
if(strval(inputtext) == goodotvet[0/*номер ячейки с правильным ответом*/]){
SendClientMessage(playerid, -1, "Верный ответ");
}
}

Разве это не тоже самое, что и я предложил?

DeimoS
19.11.2014, 18:53
Глобально:

new
player_answer_count[MAX_PLAYERS char] = { -1, ... };
Когда это у нас char стало хранить отрицательные числа? :)

L0ndl3m
19.11.2014, 18:53
Когда это у нас char стало хранить отрицательные числа? :)
Спасибо, не подумал об этом.

Trender
19.11.2014, 20:51
Это получается вот так мне делать?


case 243:
{
if(!response) return 1;
new q = PlayerInfo[playerid][pTestQNumber];
if(strval(inputtext) return ShowTestQuestion(playerid,0,2,243,q));
if(strval(inputtext) != gExamTrueAnswer[q]) return SendClientMessage(playerid,COLOR_RED,"К сожалению Вы ответили неверно. Тест провален.");
ShowTestQuestion(playerid,5,10,244);
}





case 243:
{
if(!response) return 1;
new q = PlayerInfo[playerid][pTestQNumber];
if(!listitem) return ShowTestQuestion(playerid,0,2,243,q);
if(listitem != gExamTrueAnswer[q]) return SendClientMessage(playerid,COLOR_RED,"К сожалению Вы ответили неверно. Тест провален.");
ShowTestQuestion(playerid,5,10,244);
}

Trender
21.11.2014, 16:57
Помогите пж ))

Trender
23.11.2014, 17:33
Жду помощи.

Trender
01.12.2014, 23:57
up-ny