Помогите с диалогом
#1

Например, я вызвал DIALOG_STYLE_INPUT допустим с id == 1
Хочу сделать так что бы игрок отправлял команду с введенным текстом, реально ли это?

Вот пример того что щас сделал:

if(dialogid == 1 && response == 1){
new msginpt[10], inpt;
if(!strlen(inputtext))
{
OnPlayerCommandText(playerid,"/command");
}
else
{
inpt = strval(inputtext);
format(msginpt,10,"/command %i",inpt);
OnPlayerCommandText(playerid,msginpt);
}
return 1;
}

Вообще оно работать должно или нет?)))
Reply
#2

Оформляй пост нормально...
pawn Код:
if(dialogid == 1 && response)
{
    new string[64];
    if(!strlen(inputtext)) return OnPlayerCommandText(playerid,"/command");
    new inpt = strval(inputtext);
    format(string,64,"/command %d",inpt);
    OnPlayerCommandText(playerid, string);
    return 1;
}
Вот это должно работать. Только нахрена отправлять команду из диалога? О_о лишний гемор.
Я так понял, игроку открывается диалог; если он ничего не ввел - ему отправляется команда с параметрами; если что то ввел - отправляется команда с введенным параметром. Так? Если да, то работать будет.
Reply
#3

Оформление сорри, забыл.
Огромное спасибо! Помогло, работает. У меня хелп текстовый, переводить его весь в диалоги как-то времени маловато, вот и решил таким способом немного упростить задачу:
набирая /help игроку выводится диалог с разделами помощи, просится ввести номер раздела, после чего показывает выбранный текстовый раздел.
Но не пойму почему не работает
pawn Код:
if(!strlen(inputtext)) return OnPlayerCommandText(playerid,"/command");
если поле оставить пустым, то все равно выскакивает сообщение "введен неправильный номер раздела" (получается вместо пустого /help отправляет еще что-то) вместо обратно диалога с разделами. Все таки интересно
Reply
#4

попробуй
pawn Код:
if(!strval(inputtext) && strlen(inputtext) <= 0) return OnPlayerCommandText(playerid,"/command");
Reply
#5

Заработало вот так:
pawn Код:
if(!strval(inputtext) || (strlen(inputtext) <= 0)) return OnPlayerCommandText(playerid,"/command");
спасибо за помощь!
Reply
#6

Я так понял, что inputtext всегда равен нулю. Не пустоте, не пробелу, а нулю. Так что if( !strval(inputtext) ) хватит.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)