Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Выдает первую фракцию при реге.

Статус
В этой теме нельзя размещать новые ответы.

Qenz

Умник
OnPlayerConnect
PHP:
public OnPlayerConnect(playerid)
{
        RemovePlayerVariables(playerid);
//------------------------------------------------------------------------------
        GetPlayerName(playerid, pInfo[playerid][pName], MAX_PLAYER_NAME);
//------------------------------------------------------------------------------
        if(GetAccountID(playerid)) { // Аккаунт зарегистрирован
                new dialog[128+MAX_PLAYER_NAME];
                format(dialog, sizeof(dialog),
                        "Добро пожаловать на Сервер!\n\
                        Этот аккаунт зарегистрирован.\n\n\
                        Логин: %s\n\
                        Введите пароль:",
                        pInfo[playerid][pName]);
                ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Авторизация.", dialog, "Войти", "Отмена");
        }
        else { // Аккаунт не зарегистрирован (return 0, в функции GetAccountID, т.е. не нашло записи с аккаунтом).
                new dialog[344+MAX_PLAYER_NAME];
                format(dialog, sizeof(dialog),
                        "Добро пожаловать на Сервер!\n\
                    Этот аккаунт не зарегистрирован.\n\n\
                    Логин: %s\n\
                        Введите пароль и нажмите \"Далее\".\n\n\
                        Примечания:\n\
                        - Пароль чувствительный к регистру.\n\
                    - Длина пароля от 6 до 32 символов.\n\
                    - В пароле можно использовать символы на кириллице и латинице.\n", pInfo[playerid][pName]);
                ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация.", dialog, "Далее", "Отмена");
        }
        return 1;
}
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
       //===========================Диалоги регистрации , авторизации============================//
switch(dialogid)
		{
                case DIALOG_LOGIN: { // Диалог авторизации.
                    if(!response) { // Если нажал "Отмена".
                                SendClientMessage(playerid, COLOR_YELLOW, "* Введите /q(uit), чтобы выйти из игры.");
                                Kick(playerid);
                                return 1;
                        }
                    if(!strlen(inputtext)) { // Если поле ввода пустое.
                        new dialog[134+MAX_PLAYER_NAME];
                       	format(dialog, sizeof(dialog),
                                        "Добро пожаловать на Сервер!\n\
                                        Этот аккаунт зарегистрирован.\n\n\
                                        Логин: %s\n\
                                        Введите пароль:",
                                        pInfo[playerid][pName]);
                        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Авторизация.", dialog, "Войти", "Отмена");
                        return 1;
                        }
                    LoadAccount(playerid, inputtext); // Пробуем его авторизовать.
                }
                case DIALOG_REGISTER: { // Диалог регистрации.
                    if(!response) { // Если нажал "Отмена".
                                SendClientMessage(playerid, COLOR_YELLOW, "* Введите /q(uit), чтобы выйти из игры.");
                                Kick(playerid);
                                return 1;
                        }
                    if(!strlen(inputtext) || strlen(inputtext) < 6 || strlen(inputtext) > 64) { // Если пустое поле ввода или пароль имеет меньше 6 или больше 64 символов
                                new dialog[380+24+10];
                                format(dialog, sizeof(dialog),
                                        "Добро пожаловать на Сервер!\n\
                                    Этот аккаунт не зарегистрирован.\n\n\
                                    Логин: %s\n\
                                        Введите пароль и нажмите \"Далее\".\n\n\
                                        Примечания:\n\
                                - Пароль чувствительный к регистру.\n\
                                    - Длина пароля от 6 до 32 символов.\n\
                                    - В пароле можно использовать символы на кириллице и латинице.\n", pInfo[playerid][pName]);
                                ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация.", dialog, "Далее", "Отмена");
                                return 1;
                        }
                    CreateAccount(playerid, inputtext); // Создаём аккаунт.
                    pInfo[playerid][pLogged] = true; // Авторизуем игрока. :)
                }
                case DIALOG_WRONGPAS: { // Если неверный пароль.
                        if(response) {
                                new dialog[134+MAX_PLAYER_NAME];
                                format(dialog, sizeof(dialog),
                                        "Добро пожаловать на Сервер!\n\
                                        Этот аккаунт зарегистрирован.\n\n\
                                        Логин: %s\n\
                                        Введите пароль:",
                                        pInfo[playerid][pName]);
                                ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Авторизация.", dialog, "Войти", "Отмена");
                                return 1;
                        }
                        else { // Если нажал "Отмена".
                                Kick(playerid);
                                return 1;
                        }
       			}


        }
		///============================================================================================================//
//============================Диалоги /invite=============================//
if(dialogid == 3)
        {
            if(response)
                {
                    SendClientMessage(playerid,0x88AA88AA,"Поздравляем!!! Вы были приняты в Grove Street");
                    pInfo[playerid][pMember] = 2;
                    pInfo[playerid][pRank] = 1;
                    pInfo[playerid][pSkin] = 123;
                    SetPlayerSkin(playerid, pInfo[playerid][pSkin]);
                    SetPlayerHealth(playerid,0);
                    return 1;
                }
                else
                {
                    SendClientMessage(playerid,0x88AA88AA,"Вы отказались от вступления в фракцию");
                    return 1;
				}
				}
if(dialogid == 2)
        {
            if(response)
                {
                    SendClientMessage(playerid,0x88AA88AA,"Поздравляем!!! Вы были приняты в National Guards");
                    pInfo[playerid][pMember] = 1;
                    pInfo[playerid][pRank] = 1;
                    pInfo[playerid][pSkin] = 287;
                    SetPlayerSkin(playerid, pInfo[playerid][pSkin]);
                    SetPlayerHealth(playerid,0);
                    return 1;
                }
                else
                {
                    SendClientMessage(playerid,0x88AA88AA,"Вы отказались от вступления в фракцию");
                    return 1;
                }

}
return 1;
}
Суть проблемы в том что При регистрации , вызывается диалог инвайта игрока во фракцию.. и получается игрок зарегестрировался и его принимает сразу во фракцию.. (
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу