Просмотр полной версии : [Вопрос] По диалогу DIALOG_STYLE_TABLIST
Всем привет ребят.
Решил сделать на сервере 'Личную анкету', в которую входит: Имя, Фамилия, Пол, Возраст, Страна Регион, Населенный пункт, E-mail.
С выводом в диалог, т.е. открывается диалоговое окно АНКЕТЫ, далее нажимаю например на Фамилию(ввожу), нажимаю ОК и вывод текста в диалог, который на скрине во 2-м столбце ( [НЕТ ДАННЫХ] ).
http://s020.radikal.ru/i702/1601/38/2b809ffbcfe0.png
2-й вопрос, по той же системе, которая на скрине. Ввожу имя, возвращаюсь на диалог анкеты(появилось имя), но захожу в фамилия, ввожу и возвращается одна фамилия, без имени. Покажите пожалуйста, как это сделать на каком нибудь мелком примере. Я знаю, как сохранить 1 значение, но 2. :) еще не встречался с таким, что бы научиться.)
Всем привет ребят.
Решил сделать на сервере 'Личную анкету', в которую входит: Имя, Фамилия, Пол, Возраст, Страна Регион, Населенный пункт, E-mail.
С выводом в диалог, т.е. открывается диалоговое окно АНКЕТЫ, далее нажимаю например на Фамилию(ввожу), нажимаю ОК и вывод текста в диалог, который на скрине во 2-м столбце ( [НЕТ ДАННЫХ] ).
http://s020.radikal.ru/i702/1601/38/2b809ffbcfe0.png
2-й вопрос, по той же системе, которая на скрине. Ввожу имя, возвращаюсь на диалог анкеты(появилось имя), но захожу в фамилия, ввожу и возвращается одна фамилия, без имени. Покажите пожалуйста, как это сделать на каком нибудь мелком примере. Я знаю, как сохранить 1 значение, но 2. :) еще не встречался с таким, что бы научиться.)
А по примеру 1-го то не пробовал сделать? Суть же вроде одна,а ощущение что для этого вы делаете зачем-то разные системы..
О, ребят, можно для сохранения имени например использовать PVarString?
- - - Добавлено - - -
;67994']А по примеру 1-го то не пробовал сделать? Суть же вроде одна,а ощущение что для этого вы делаете зачем-то разные системы..
Суть задумки: для восстановления акка в случае утери. При регистрации не вариант, по себе знаю. Долгая регистрация заставляет вводить /q :DDD
я вывожу текст с помощью inputtext с диалога, во втором диалоге inputtext будет равен другому значению, поэтому никак.
О, ребят, можно для сохранения имени например использовать PVarString?
А что мешало просто взять и попробовать? ;) Или обязательно нужно было услышать: "да, можно"? Естественно у тебя данные будут перезаписывать друг друга. Записывай её в pVar, а как всё запишешь, переноси в базу данных (или куда ты собрался её записывать), а pVar удаляй. И потом уже, при случае, выводи её из базы данных и показывай игроку.
О, ребят, можно для сохранения имени например использовать PVarString?
да, можно
pVar впринципе можешь и не удалять
Как это долго, и интересно было. ))))
Тему закройте пж, всем спасибо.
GetPVarInt(playerid, "gdday"), GetPVarInt(playerid, "gdmonth"), GetPVarInt(playerid, "gdyeah"), GetPVarInt(playerid, "Age")
Ребят, как объединить все 4 пвара и вывести их в виде: %i.%i.%i (%i) (11.11.1993 (22)). В диалоге.
Нужно объединить в переменную: ageank
pVar впринципе можешь и не удалять
Если значения pVar больше не используются в коде, их лучше удалить -_- Не надо такой чуши больше писать, хорошо?
GetPVarInt(playerid, "gdday"), GetPVarInt(playerid, "gdmonth"), GetPVarInt(playerid, "gdyeah"), GetPVarInt(playerid, "Age")
Ребят, как объединить все 4 пвара и вывести их в виде: %i.%i.%i (%i) (11.11.1993 (22)). В диалоге.
Нужно объединить в переменную: ageank
ageank - массив или обычная переменная?
Ну, собстно, если особо не заморачиваться, то
format(ageank, sizeof(ageank), "%i.%i.%i (%i)", GetPVarInt(playerid, "gdday"), GetPVarInt(playerid, "gdmonth"), GetPVarInt(playerid, "gdyeah"), GetPVarInt(playerid, "Age"));
нет, тут дело в другом. )))) сейчас покажу)
f(stringer, "{FFFF00}Имя\t[%s]\n{FFFF00}Фамилия\t[%s]\n{FFFF00}Пол\t[%s]\n{FFFF00}Возраст\t[{33CC00}%i.%i.%i(%i){FFFFFF}]\n{FFFF00}E-mail\t[%s]\n", nameank, surank, floorank, GetPVarInt(playerid, "gdday"), GetPVarInt(playerid, "gdmonth"), GetPVarInt(playerid, "gdyeah"), GetPVarInt(playerid, "Age"), mailank);
ShowPlayerDialog(playerid, d_playermenuform, DST, "[RP]PERFECTWORLD: Анкета", stringer, "Выбрать", "Отмена");
Дело все в том, что загружается не только дата рождения. Если я введу например первым дату рождения, то в следующие диалоги с именем, фамилией и т.д. нужно будет загружать эту дату.
Данные загружаются по типу: nameank, surank, floorank, ageank(наша дата и возраст), mailank. Собственно вот. )
- - - Добавлено - - -
Попробовал, опять такая же бредня, что и была((((
http://s017.radikal.ru/i442/1601/31/50266b2f8656.png
А если напишу отдельно все, то выведет нормально дату рождения и возраст.
new year, month, day;
getdate(year, month, day);
new Age = year - GetPVarInt(playerid, "gdyeah");
if(GetPVarInt(playerid, "gdmonth") > month)
{
Age -= 1;
}
else if(GetPVarInt(playerid, "gdmonth") == month && GetPVarInt(playerid, "gdday") > day)
{
Age -= 1;
}
SetPVarInt(playerid, "Age", Age);
GetPVarString(playerid, "NameAnketa", nameank, 16);
GetPVarString(playerid, "SurAnketa", surank, 16);
GetPVarString(playerid, "FloorAnketa", floorank, 16);
GetPVarString(playerid, "MailAnketa", mailank, 16);
f(ageank, "%i.%i.%i (%i)", GetPVarInt(playerid, "gdday"), GetPVarInt(playerid, "gdmonth"), GetPVarInt(playerid, "gdyeah"), GetPVarInt(playerid, "Age"));
f(stringer, "{FFFF00}Имя\t[%s]\n{FFFF00}Фамилия\t[%s]\n{FFFF00}Пол\t[%s]\n{FFFF00}Возраст\t[{33CC00}%i.%i.%i(%i){FFFFFF}]\n{FFFF00}E-mail\t[%s]\n", nameank, surank, floorank, ageank, mailank);
ShowPlayerDialog(playerid, d_playermenuform, DST, "[RP]PERFECTWORLD: Анкета", stringer, "Выбрать", "Отмена");
Вот сам код. Мож тут че не так
Сделай логирование и скинь данные сюда
f(stringer, "{FFFF00}Имя\t[%s]\n{FFFF00}Фамилия\t[%s]\n{FFFF00}Пол\t[%s]\n{FFFF00}Возраст\t[{33CC00}%i.%i.%i(%i){FFFFFF}]\n{FFFF00}E-mail\t[%s]\n", nameank, surank, floorank, GetPVarInt(playerid, "gdday"), GetPVarInt(playerid, "gdmonth"), GetPVarInt(playerid, "gdyeah"), GetPVarInt(playerid, "Age"), mailank);
printf("%s", stringer);
printf("%i.%i.%i(%i) - %d.%d.%d(%d)", GetPVarInt(playerid, "gdday"), GetPVarInt(playerid, "gdmonth"), GetPVarInt(playerid, "gdyeah"), GetPVarInt(playerid, "Age"), GetPVarInt(playerid, "gdday"), GetPVarInt(playerid, "gdmonth"), GetPVarInt(playerid, "gdyeah"), GetPVarInt(playerid, "Age"));
new
player_form [MAX_PLAYERS] [7] [MAX_PLAYER_NAME];
//в диалоге, к примеру кликаем на фамилию
SetPVarInt (playerid, "listitem", listitem); // = 1 запишем номер строки на которую кликнули в пвар
//в следующем диалоге
player_form [MAX_PLAYERS] [GetPVarInt (playerid, "listitem")] [0] = EOS;//очищаем, для случая если редактирует и тд
strcat (player_form [playerid] [GetPVarInt (playerid, "listitem")], inputtext);
player_form [playerid] [1] = фамилия игрока
//в диалоге кликаем на населенный пункт
SetPVarInt (playerid, "listitem", listitem); // = 5
//в следующем диалоге
player_form [playerid] [GetPVarInt (playerid, "listitem")] [0] = EOS;//очищаем, для случая если редактирует и тд
strcat (player_form [playerid] [GetPVarInt (playerid, "listitem")], inputtext);
player_form [playerid] [5] = населенный пункт
это очень, грубый вариант, написанный в браузере. вместо массива можно использовать и PVar:
//в диалоге, к примеру кликаем на фамилию
SetPVarInt (playerid, "listitem", listitem); // = 1
//в следующем диалоге
new
pvar_id [16];
format (pvar_id, 16, "pvar%i", GetPVarInt (playerid, "listitem")); //result pvar1
SetPVarString (playerid, pvar_id, inputtext);
GetPVarString (playerid, "pvar1", array, len) = фамилия игрока
как то так сделал бы я, а скорее всего, сразу записывал-бы результат в бд без массивов и пваров и при необходимости показывал, как было сказано выше.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot