Возможность спауна до логина - как убрать?
#1

Доброго времени суток! Пишу гейммод с нуля, использую плагин MySQL и наткнулся на такие грабли при организации авторизации:
PHP код:
public OnPlayerConnect(playerid)
{
    new 
query[MAX_QUERY];
    new 
PlayerName[MAX_PLAYER_NAME];
    
GetPlayerName(playeridPlayerNamesizeof(PlayerName));
    
mysql_format(MySQLquerysizeof(query), "SELECT * FROM `players` WHERE `name` = '%e'"PlayerName);
    
mysql_tquery(MySQLquery"OnPlayerConnected""d"playerid);
    return 
1;

Т.е. игрок подключается, уходит запрос в базу данных в отдельном потоке, дальше вызывается функция OnPlayerConnected - с этим всё нормально. Но получается, что игрок сразу переходит в режим выбора скина, а только после этого появляется диалог для ввода пароля.

Как бы это дело пофиксить, кто подскажет?
Reply
#2

PHP код:
public OnPlayerConnect(playerid

    new 
query[MAX_QUERY]; 
    new 
PlayerName[MAX_PLAYER_NAME]; 
    
GetPlayerName(playeridPlayerNamesizeof(PlayerName)); 
    
mysql_format(MySQLquerysizeof(query), "SELECT * FROM `players` WHERE `name` = '%e'"PlayerName); 
    
mysql_tquery(MySQLquery"OnPlayerConnected""d"playerid); 
    
TogglePlayerSpectating(playeridtrue);
    return 
1

public 
OnPlayerConnected(playerid
{
    
SetPlayerCameraPos(playerid1958.37831343.157215.3746);
    
SetPlayerCameraLookAt(playerid1958.37831343.157215.3746);
    
// дальше твоё

Reply
#3

а диалог на авторизацию откуда вызывается?
Reply
#4

PHP код:
public OnPlayerRequestSpawn(playerid)
{
    return 
false;

Reply
#5

после авторизации игрока используй
pawn Код:
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
в Onplayerlogin или что там у тебя
Reply
#6

Спасибо, первый же вариант оказался тем, что мне нужно...
Reply


Forum Jump:


Users browsing this thread: