© HovinE
Умник
Здравствуйте ув. пользователи P-I.
Сегодня добавил регистрацию/авторизацию на MySQL R8.
Аккаунты в БД создаются! Но не сохраняются и не авторизуются.
Авторизация:
Сохранение:
Сегодня добавил регистрацию/авторизацию на MySQL R8.
Аккаунты в БД создаются! Но не сохраняются и не авторизуются.
Авторизация:
PHP:
public OnPlayerLogin(mysql_player, extraid, connectionHandle)
{
static rows, fields;
cache_get_data(rows, fields);
if(rows)
{
SetPVarInt(playerid, "MySQL_ID", cache_get_field_int(0, "ID", g_CH));
pInf[playerid][pAdmin] = cache_get_field_int(0, "Adm", g_CH);
pInf[playerid][pKills] = cache_get_field_int(0, "Kills", g_CH);
pInf[playerid][pDeaths] = cache_get_field_int(0, "Deaths", g_CH);
pInf[playerid][pCash] = cache_get_field_int(0, "Money", g_CH);
GivePlayerMoney(playerid, cache_get_field_int(0, "Money", g_CH));
SetPVarInt(playerid, "gPlayerLogged", 1), TogglePlayerSpectating(playerid, false);
StopAudioStreamForPlayer(playerid), SetPlayerScore(playerid,pInf[playerid][pKills]), Block(playerid);
EmptyMessages(playerid, 100); SendClientMessage(playerid, COLOR_YELLOW, "Добро пожаловать!");
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "Неправильный пароль.");
if(GetPVarInt(playerid, "PassWrong") == 2) SendClientMessage(playerid, COLOR_YELLOW, "Вы ввели неправильный пароль три раза подряд и были{FF0000}кикнуты !"), GKick(playerid);
SetPVarInt(playerid, "PassWrong", GetPVarInt(playerid, "PassWrong") + 1);
new str[300];
f(str, "Введите пароль и нажмите 'Войти'.\n\nНеверный пароль! (осталось %i из 3)", 3 - GetPVarInt(playerid, "PassWrong"));
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Авторизация", str, "Войти", "Отмена");
}
return true;
}
PHP:
stock SavePlayer(playerid)
{
if(GetPVarInt(playerid, "gPlayerLogged") == 1)
{
static str[256];
f(str, "UPDATE `"PTG"` SET \
`Adm` = %d, `Cash` = %d, `Kills` = %d, `Deaths` = %d WHERE `Name` = %s",
pInf[playerid][pAdmin], pInf[playerid][pCash], pInf[playerid][pKills], pInf[playerid][pDeaths], pInf[playerid][pName]
); mysql_query(str, -1, -1, g_CH);
}
return true;
}
Последнее редактирование:
