22.02.2011, 17:28
You should save everything at once, instead of using dUserSetINT many times over and over.
Here's the tutorial.
I'd rather use OnPlayerDisconnect public though, so it automatically saves whenever you leave.
Here's the tutorial.
pawn Код:
dcmd_register(playerid, params[])
{
new file[128], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), "\\Users\\%s.ini", pname);
if(!strlen(params)) return SendClientMessage(playerid, COLOR_RED, "USAGE:/register [password]");
if(dini_Exists(file)) return SendClientMessage(playerid, COLOR_RED, "You are already registered!");
dini_Create(file);
dini_IntSet(file, "hashPW", udb_hash(params));
dini_Set(file, "password", params);
dini_IntSet(file, "level", 0);
dini_IntSet(file, "score", GetPlayerScore(playerid));
dini_IntSet(file, "money", GetPlayerMoney(playerid));
new string[128];
format(string, 128, "You succesfully registered the nickname %s with password %s", pname, params);
SendClientMessage(playerid, COLOR_YELLOW, string);
logged[playerid] = 1;
SendClientMessage(playerid, COLOR_YELLOW, "You have been automatically logged in!");
return 1;
}