Dio skripte:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_LOGIN && response == 0 || dialogid == DIALOG_REGISTER && response == 0) return Kick(playerid);
if(dialogid == DIALOG_LOGIN && response == 1)
{
new Salted_Key;
SHA256_PassHash(inputtext, pInfo, Salted_Key, 65);
if(strcmp(Salted_Key, pInfo) == 0)
{
cache_set_active(pInfo);
cache_get_value_int(0, "ID", pInfo);
cache_get_value_int(0, "KILLS", pInfo);
cache_get_value_int(0, "DEATHS", pInfo);
cache_get_value_int(0, "SCORE", pInfo);
cache_get_value_int(0, "CASH", pInfo);
cache_get_value_int(0, "SKIN", pInfo);
cache_get_value_int(0, "ADMIN", pInfo);
cache_get_value_int(0, "MUTED", pInfo);
SetPlayerScore(playerid, pInfo);
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, pInfo);
cache_delete(pInfo);
pInfo = MYSQL_INVALID_CACHE;
pInfo = true;
SpawnPlayer(playerid);
}
else
{
new str;
pInfo += 1;
printf("%s has been failed to login. (%d)", pInfo, pInfo);
if (pInfo >= 3)
{
format(str, sizeof(str), "Kick: %s has been kicked Reason: {FF0000}(%d/3) Login fails.", pInfo, pInfo);
SendClientMessageToAll(0x4270D9FF, str);
Kick(playerid);
}
else
{
format(str, sizeof(str), "LOGIN: Wrong password, you have {F42D32}%d{FFFFFF}/{F42D32}3 {FFFFFF}tries.", pInfo);
SendClientMessage(playerid, -1, str);
new str1;
format(str1, sizeof(str1), "{FFFFFF}Welcome , %s.\n\n{0099FF}This account is registered.\n\
{0099FF}Please, input your password below to proceed to the game.\n\n", pInfo);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Mexico DeathMatch - Login", str1, "Login", "Leave");
}
}
}
if(dialogid == DIALOG_REGISTER && response == 1)
{
if(strlen(inputtext) < 5 || strlen(inputtext) > 60)
{
SendClientMessage(playerid, RED, "ERROR: {FFFFFF}");
new String;
format(String, sizeof(String), "{FFFFFF}Welcome %s,\n\n{0099FF}Your account is not registered.\n\
{0099FF}Please, enter your password below to register new account.\n\n", pInfo);
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", String, "Register", "Leave");
}
else
{
for (new i = 0; i < 10; i++)
{
pInfo = random(79) + 47;
}
pInfo = 0;
SHA256_PassHash(inputtext, pInfo, pInfo, 65);
new DB_Query;
mysql_format(Database, DB_Query, sizeof(DB_Query), "INSERT INTO `PLAYERS` (`USERNAME`, `PASSWORD`, `SALT`, `SCORE`, `KILLS`, `CASH`, `DEATHS`,`SKIN`, `ADMIN`, `MUTED`)\
VALUES ('%e', '%s', '%e', '0', '0', '0', '0', '0', '0', '0')", pInfo, pInfo, pInfo);
mysql_tquery(Database, DB_Query, "OnPlayerRegister", "d", playerid);
}
}
return 1;
}
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
[19:54:20] [plugins/mysql] cache_set_active: invalid cache id '0'
[19:54:20] [plugins/mysql] cache_get_value_name_int: no active cache
[19:54:20] [plugins/mysql] cache_get_value_name_int: no active cache
[19:54:20] [plugins/mysql] cache_get_value_name_int: no active cache
[19:54:20] [plugins/mysql] cache_get_value_name_int: no active cache
[19:54:20] [plugins/mysql] cache_get_value_name_int: no active cache
[19:54:20] [plugins/mysql] cache_get_value_name_int: no active cache
[19:54:20] [plugins/mysql] cache_get_value_name_int: no active cache
[19:54:20] [plugins/mysql] cache_get_value_name_int: no active cache
[19:54:20] [plugins/mysql] cache_delete: invalid cache id '0'Slika/video ingame problema(obavezno ako je ingame problem): link slike
