PDA

Просмотр полной версии : [Вопрос] Как использовать GetPlayerName(playerid,pInfo[playerid][pName],MAX_PLAYER_NAME);



Mr.Dark
27.11.2016, 14:45
Как правильно использовать: ?

GetPlayerName(playerid,pInfo[playerid][pName],MAX_PLAYER_NAME); ?

в ShowPlayerDialog то есть


ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT, "Text", "text\n\
text\n\
text\n\
Ник персонажа: %s\n\
", "Далее", "",pName так или как ?);

Так пишу Warring появляется =(

Pa4enka
27.11.2016, 14:49
new string[кол. ячеек];
format(string, sizeof string, "text text\ntext text. Имя персонажа: %s", pInfo[playerid][pName]);
ShowPlayerDialog(playerid, !"Заголовок", string, !"Далее", !"Выход");

DeimoS
27.11.2016, 14:49
pInfo[playerid][pName]

Либо в начало мода

#define pNick(%0) pInfo[%0][pName]
и уже используй

pNick(playerid)

Mr.Dark
27.11.2016, 15:11
pInfo[playerid][pName]

Либо в начало мода

#define pNick(%0) pInfo[%0][pName]
и уже используй

pNick(playerid)

тоесть так ?

ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT, "Text", "text\n\
text\n\
text\n\
Ник персонажа: %s\n\
", "Далее", "",pNick(playerid));

StevenH
27.11.2016, 15:14
тоесть так ?

ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT, "Text", "text\n\
text\n\
text\n\
Ник персонажа: %s\n\
", "Далее", "",pNick(playerid));

Почти)

Mr.Dark
27.11.2016, 15:15
тоесть так ?

ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT, "Text", "text\n\
text\n\
text\n\
Ник персонажа: %s\n\
", "Далее", "",pNick(playerid));


warning 202: number of arguments does not match definition

StevenH
27.11.2016, 15:19
warning 202: number of arguments does not match definition

А форматировать кто будет?)


new string[40];
format(string, sizeof(string), "Ник персонажа: %s", pNick(playerid));
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Text", string, "Далее", "");

Mr.Dark
27.11.2016, 15:35
А форматировать кто будет?)


new string[40];
format(string, sizeof(string), "Ник персонажа: %s", pNick(playerid));
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Text", string, "Далее", "");


Спасибо помог !
А как мне быть с такими строками:

if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "{FF0000}Ошибка", "Вы не ввели пароль. Без пароля регистрация невозможна!\nВведите ваш пароль:", "Далее", "Выход");

StevenH
27.11.2016, 15:36
Спасибо помог !
А как мне быть с такими строками:

if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "{FF0000}Ошибка", "Вы не ввели пароль. Без пароля регистрация невозможна!\nВведите ваш пароль:", "Далее", "Выход");

А что не так с этой строкой?) Ошибок не наблюдаю..

Mr.Dark
27.11.2016, 15:46
А что не так с этой строкой?) Ошибок не наблюдаю..

как тут добавить :

pNick(playerid)

так не канает:

if(!strlen(inputtext)) return new string[40];
format(string, sizeof(string), "ник: %s", pNick(playerid));
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Text", string, "далее", "");

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


как тут добавить :

pNick(playerid)

так не канает:

if(!strlen(inputtext)) return new string[40];
format(string, sizeof(string), "ник: %s", pNick(playerid));
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Text", string, "далее", "");

А все сделал new string в начали мода =)



А тут уже ошибка:

else if(dialogid == 1)
{
if(!response) return Kick(playerid);
else if(response)
{
new string[200];
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FF0000}Ошибка", "Для игры на сервере Вы должны авторизироваться!\nВведите ваш пароль:", "Далее", "Выход");
new account[37];
format(account,sizeof(account),"users/%s.ini",pNick(playerid));
if(!fexist(account)) return format(string, sizeof(string), "text %s", pNick(playerid));
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "text", string, "Далее", "");
else
{
new password[64];
new iniFile = ini_openFile(account);
ini_getString(iniFile, "Пароль",password);
ini_closeFile(iniFile);
if(!strcmp(inputtext, password, false)) return OnPlayerLogin(playerid);
else if(strcmp(inputtext, password, false)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FF0000}Ошибка", "Вы ввели неверный пароль! Повторите попытку\nВведите ваш пароль:", "Далее", "Выход");
}
}
}


error 029: invalid expression, assumed zero

StevenH
27.11.2016, 15:52
как тут добавить :

pNick(playerid)

так не канает:

if(!strlen(inputtext)) return new string[40];
format(string, sizeof(string), "ник: %s", pNick(playerid));
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Text", string, "далее", "");

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



А все сделал new string в начали мода =)



А тут уже ошибка:

else if(dialogid == 1)
{
if(!response) return Kick(playerid);
else if(response)
{
new string[200];
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FF0000}Ошибка", "Для игры на сервере Вы должны авторизироваться!\nВведите ваш пароль:", "Далее", "Выход");
new account[37];
format(account,sizeof(account),"users/%s.ini",pNick(playerid));
if(!fexist(account)) return format(string, sizeof(string), "text %s", pNick(playerid));
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "text", string, "Далее", "");
else
{
new password[64];
new iniFile = ini_openFile(account);
ini_getString(iniFile, "Пароль",password);
ini_closeFile(iniFile);
if(!strcmp(inputtext, password, false)) return OnPlayerLogin(playerid);
else if(strcmp(inputtext, password, false)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FF0000}Ошибка", "Вы ввели неверный пароль! Повторите попытку\nВведите ваш пароль:", "Далее", "Выход");
}
}
}


error 029: invalid expression, assumed zero

Жди ответ от других пользователей). Я никогда с mxINI ни работал, и не собираюсь, есть ведь MySQL :)

ziggi
27.11.2016, 16:14
if (!fexist(account)) {
format(string, sizeof(string), "text %s", pNick(playerid));
return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "text", string, "Далее", "");
}

Mr.Dark
27.11.2016, 17:47
Ещё один вопрос я новичок вот сам пытаюсь писать сервер на mxINI
Как сделать правила для сервера ?
тоесть чтобы после регистрации выходил ShowPlayerDialog правила сервера .
Я примерно знаю ну не могу разобраться с очередью в диалогах .

Пример


ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Диалог номер 1", "ТЕКСТ", "Далее", "Выход");//Авторизация


ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Диалог номер 2", "ТЕКСТ", "Далее", "Выход");//Регистрация

Вот как между ними воткнуть :

ShowPlayerDialog(playerid, хз какой, DIALOG_STYLE_INPUT, "Правила", "ТЕКСТ", "Далее", "Выход");

Saibot
27.11.2016, 17:57
Допустим ты выводишь окно регистрации игроку

ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Диалог номер 2", "ТЕКСТ", "Далее", "Выход");//Регистрация

Дальше в public OnDialogResponse

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 1:
{//Авторизация
if(!response)return 1;
//код
}
case 2:
{//Регистрация
if(!response)return 1;
//код
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX, "Правила", "ТЕКСТ", "Далее", "Выход");
}
case 3:
{//Правила
if(!response)return 1;

//Тут уже вставляешь, что будет если игрок нажал далее
}
}
return 1;
}

Mr.Dark
28.11.2016, 10:26
Спасябки!