Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Пользователь
Регистрация
7 Мар 2023
Сообщения
42
2.6. Весь код необходимо брать под тег "Код".
Доброго времени суток, форумчане. Я новичок в Pawno и у меня возникла проблема. Я делаю мод по урокам из ютуба от Leon Galanto. Весь код практически 1 в 1 (ну где то я для удобства переменные на свои менял). Делал всё по уроку и столкнулся с проблемой.

При регистрации и авторизации игрок находится в режиме наблюдения, чтобы скрыть стрелки, после авторизации режим наблюдения поставлен на "0", чтобы вывести его из него. Однако, после авторизации, игрок не спавниться и даже не появляются стрелочки и кнопка "Spawn" (должны они быть в это время или нет я хз, ну не суть). Инфо спавна я указал, заспавнить команду прописал, но ничего не работает.

Вот сами коды:
Pawn:
forward PlayerLogin(playerid);

public PlayerLogin(playerid)
{
    new rows;
    cache_get_row_count(rows);

    if (rows)
    {
        cache_get_value_name_int(0, "id", pInfo[playerid][id]);
        cache_get_value_name(0, "mail", pInfo[playerid][mail], 64);
        cache_get_value_name_int(0, "referal", pInfo[playerid][referal]);
        cache_get_value_name_int(0, "sex", pInfo[playerid][sex]);
        cache_get_value_name_int(0, "skin", pInfo[playerid][skin]);
        cache_get_value_name_int(0, "regdate", pInfo[playerid][regdate], 12);
        cache_get_value_name_int(0, "regip", pInfo[playerid][regip], 15);

        TogglePlayerSpectating(playerid, false);

        if (pInfo[playerid][LOGGED] == 1)
        {
            SetSpawnInfo(playerid, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
            SpawnPlayer(playerid);
        }
    }
    return 1;
}

Pawn:
public OnPlayerSpawn(playerid)
{
    if (pInfo[playerid][LOGGED] == 0)
    {
        SCM(playerid, COLOR_RED, "{AA3333}[Ошибка]: {FFFFFF}Авторизуйтесь для игры на сервере.");
        return Kick(playerid);
    }

    SetPlayerSkin(playerid, pInfo[playerid][skin]);
    return 1;
}

Хочу добавить, что где у меня прописано if(pInfo[playerid][LOGGED] == 1) я заменил под себя, изначально делал через ПВар, как на видео, но не так и не так не работает.

Помогите мне, пожалуйста. Буду очень благодарен.

UPD: Чтобы заработал "LOGGED" я использовал "bool:LOGGED", который находится в "pInfo" (не знаю, правильно я сделал, грамотно ли? но как умею делаю, не судите строго).

UPD: Забыл показать, где наблюдение включается. Не могу спойлер снова прикрепить.
Pawn:
public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, pInfo[playerid][name], MAX_PLAYER_NAME);
    TogglePlayerSpectating(playerid, true);

    static const fmt_query[] = "SELECT `password`, `salt` FROM `accounts` WHERE `name` = '%s'";
    new query[sizeof(fmt_query) + (-2 + MAX_PLAYER_NAME)];
    format(query, sizeof(query), fmt_query, pInfo[playerid][name]);

    mysql_tquery(dbHandle, query, "CheckRegister", "i", playerid);
    SetPVarInt(playerid, "WrongPassword", 4);

    return 1;
}
 
Последнее редактирование модератором:
Сверху