PDA

Просмотр полной версии : [Вопрос] Баг с авторизацией



X!X
05.11.2018, 15:31
Вот что может происходить после авторизации:
https://imgur.com/a/GZBXajG

Такое очень редко происходит, но происходит, а также команды и все остальное работает, даже пытался заново заспавнить персонажа для выдачи скина и денег, но он спавнится на ферме, это вообще как?

Кейс с авторизацией:
case dLogin:
{
if(!strlen(inputtext) || strlen(inputtext) < 1 || strlen(inputtext) > 65 || !response)
{
ShowDialogLogin(playerid);
}

new
hash[64+1];

SHA256_PassHash(inputtext, "9dV7wegCjvq", hash, sizeof(hash));

strcat(PlayerInfo[playerid][pPassword], hash, 64 + 1);

if(strcmp(hash, PlayerInfo[playerid][pPassword]) == 0)
{
pLogin{playerid} = true;

null:<query>;

format(query, sizeof query, "SELECT * FROM `accounts` WHERE `name` = '%s' LIMIT 1", PlayerInfo[playerid][pName]);
mysql_tquery(dbHandle, query, !"AccountLoading", !"i", playerid);

TogglePlayerSpectating(playerid, false);

KillTimer(GetPVarInt(playerid, "authorization"));

DeletePVar(playerid, !"authorization");
}
}

Паблик:
public AccountLoading(playerid)
{
cache_get_value_name_int(0, !"id", PlayerInfo[playerid][pID]);
cache_get_value_name_int(0, !"sex", PlayerInfo[playerid][pSex]);

cache_get_value_name(0, !"datareg", PlayerInfo[playerid][pDataReg], 20);
cache_get_value_name(0, !"ipreg", PlayerInfo[playerid][pIpReg], 16);

cache_get_value_name_int(0, !"skin", PlayerInfo[playerid][pSkin]);

if(PlayerInfo[playerid][pSkin] == -1)
ShowPlayerMenuSelect(playerid, true, 1, 0);

cache_get_value_name(0, !"mail", PlayerInfo[playerid][pMail], 65);
cache_get_value_name_int(0, !"unpassword", PlayerInfo[playerid][pUnPassword]);

cache_get_value_name(0, !"nationality", PlayerInfo[playerid][pNationality]);
cache_get_value_name_int(0, !"age", PlayerInfo[playerid][pAge]);

cache_get_value_name_int(0, !"money", PlayerInfo[playerid][pMoney]);

}

Josan_Solomon
11.11.2018, 02:05
SpawnInfo игрока было задано верно? На ферме спавнится, потому что там координаты 0.0, 0.0, 0.0, задай координаты спауна. а проблема с деньгами решается вызовом ResetPlayerMoney(playerid), если у тебя, конечно, деньги в массиве/пваре хранятся