- Автор темы
- #1
Доброго времени суток, форумчане. Я новичок в Pawno и у меня возникла проблема. Я делаю мод по урокам из ютуба от Leon Galanto. Весь код практически 1 в 1 (ну где то я для удобства переменные на свои менял). Делал всё по уроку и столкнулся с проблемой.
При регистрации и авторизации игрок находится в режиме наблюдения, чтобы скрыть стрелки, после авторизации режим наблюдения поставлен на "0", чтобы вывести его из него. Однако, после авторизации, игрок не спавниться и даже не появляются стрелочки и кнопка "Spawn" (должны они быть в это время или нет я хз, ну не суть). Инфо спавна я указал, заспавнить команду прописал, но ничего не работает.
Вот сами коды:
Хочу добавить, что где у меня прописано "if(pInfo[playerid][LOGGED] == 1)" я заменил под себя, изначально делал через ПВар, как на видео, но не так и не так не работает.
Помогите мне, пожалуйста. Буду очень благодарен.
UPD: Чтобы заработал "LOGGED" я использовал "bool:LOGGED", который находится в "pInfo" (не знаю, правильно я сделал, грамотно ли? но как умею делаю, не судите строго).
UPD: Забыл показать, где наблюдение включается. Не могу спойлер снова прикрепить.
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;
}
При регистрации и авторизации игрок находится в режиме наблюдения, чтобы скрыть стрелки, после авторизации режим наблюдения поставлен на "0", чтобы вывести его из него. Однако, после авторизации, игрок не спавниться и даже не появляются стрелочки и кнопка "Spawn" (должны они быть в это время или нет я хз, ну не суть). Инфо спавна я указал, заспавнить команду прописал, но ничего не работает.
Вот сами коды:
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;
}
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;
}
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] == 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: Забыл показать, где наблюдение включается. Не могу спойлер снова прикрепить.
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;
}