enum PlayerData
{
Registered,
LoggedIn,
AdminLevel,
Password,
Kills,
Deaths,
Money,
PlayerIP
public OnPlayerConnect(playerid)
{
if(playerIP[50] == playerIp[49])
{
SendClientMessage(playerid, COLOR_GREEN, "You have been automatically logged in! Welcome back to the server.");
PlayerInfo[playerid][Registered] = 1;
PlayerInfo[playerid][LoggedIn] = 1;
PlayerInfo[playerid][AdminLevel] = dini_Int(PlayerFile, "AdminLevel");
PlayerInfo[playerid][Kills] = dini_Int(PlayerFile, "Kills");
PlayerInfo[playerid][Deaths] = dini_Int(PlayerFile, "Deaths");
PlayerInfo[playerid][Money] = dini_Int(PlayerFile, "Money");
}
else
{
PlayerInfo[playerid][Registered] = 1;
PlayerInfo[playerid][LoggedIn] = 0;
SendClientMessage(playerid, COLOR_GREEN," Since you are registered, please use /login to login onto your account.");
}
dcmd_login(playerid, params[])
{
new pName[24], PlayerFile[50], Pass[256], plrIP[50];
GetPlayerName(playerid, pName, sizeof(pName));
format(PlayerFile, sizeof(PlayerFile), "/users/%s.ini", pName);
if(PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid, COLOR_BRIGHTRED, "ERROR: You are already logged in!");
if(PlayerInfo[playerid][Registered] == 0) return SendClientMessage(playerid, COLOR_BRIGHTRED, "ERROR: You are not registered! Use /register to register.");
if(sscanf(params, "s", Pass)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Usage: /login [password]");
Pass = dini_Get(PlayerFile, "Password");
if(!strcmp(MD5_Hash(params), Pass, true))
{
GetPlayerIp(playerid, plrIP, sizeof(plrIP));
dini_Set(PlayerFile, "PlayerIP", plrIP);
SendClientMessage(playerid, COLOR_GREEN, "You have been succesfully logged in");
PlayerInfo[playerid][LoggedIn] = 1;
PlayerInfo[playerid][AdminLevel] = dini_Int(PlayerFile, "AdminLevel");
PlayerInfo[playerid][Kills] = dini_Int(PlayerFile, "Kills");
PlayerInfo[playerid][Deaths] = dini_Int(PlayerFile, "Deaths");
PlayerInfo[playerid][Money] = dini_Int(PlayerFile, "Money");
}
else
{
dcmd_stats(playerid, params[])
{
new pName[24], PlayerFile[50], str[128], pDeaths[50], pKills[50], pMoney[50],targetid;
if(!strlen(params)) targetid = playerid;
else targetid = strval(params);
GetPlayerName(targetid, pName, sizeof(pName));
format(PlayerFile, sizeof(PlayerFile), "/users/%s.ini", pName);
if(!dini_Exists(PlayerFile)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Usage: /stats [ID].");
if(dini_Exists(PlayerFile))
{
pDeaths[24] = dini_Int(PlayerFile, "Deaths");
pKills[24] = dini_Int(PlayerFile, "Kills");
pMoney[24] = dini_Int(PlayerFile, "Money");
new Float:Ratio=floatdiv(pKills[24], pDeaths[24]);
format(str, sizeof(str), " ||%sґs Statistics ||", pName);
SendClientMessage(playerid, COLOR_GREEN, str);
format(str, sizeof(str), "(Money): Money: %d", pMoney[24]);
SendClientMessage(playerid, COLOR_YELLOW, str);
format(str, sizeof(str), "(Stats): Kills: %d || Deaths: %d || Ratio: %.2f || Money: %d", pKills[24], pDeaths[24], Ratio, pMoney[24]);
SendClientMessage(playerid, COLOR_YELLOW, str);
dini_IntSet(file,"money", GetPlayerMoney(playerid));
Originally Posted by Flashy
Thatґs look awesome
![]() Put I donґt know where to put it in ;/ |
dcmd_login(playerid, params[]) { new pName[24], PlayerFile[50], Pass[256], plrIP[50]; GetPlayerName(playerid, pName, sizeof(pName)); format(PlayerFile, sizeof(PlayerFile), "/users/%s.ini", pName); if(PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid, COLOR_BRIGHTRED, "ERROR: You are already logged in!"); if(PlayerInfo[playerid][Registered] == 0) return SendClientMessage(playerid, COLOR_BRIGHTRED, "ERROR: You are not registered! Use /register to register."); if(sscanf(params, "s", Pass)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Usage: /login [password]"); Pass = dini_Get(PlayerFile, "Password"); if(!strcmp(MD5_Hash(params), Pass, true)) { GetPlayerIp(playerid, plrIP, sizeof(plrIP)); dini_Set(PlayerFile, "PlayerIP", plrIP); SendClientMessage(playerid, COLOR_GREEN, "You have been succesfully logged in"); PlayerInfo[playerid][LoggedIn] = 1; PlayerInfo[playerid][AdminLevel] = dini_Int(PlayerFile, "AdminLevel"); PlayerInfo[playerid][Kills] = dini_Int(PlayerFile, "Kills"); PlayerInfo[playerid][Deaths] = dini_Int(PlayerFile, "Deaths"); SetPlayerMoney(playerid,dini_Int(PlayerFile, "Money")); } else {
ResetPlayerMoney(playerid); GivePlayerMoney(playerid,amount);
forward SetPlayerMoney(playerid,amount); public SetPlayerMoney(playerid,amount) { ResetPlayerMoney(playerid); GivePlayerMoney(playerid,amount); return 1; }
public OnPlayerUpdate(playerid)
{
new PlayerFile[128];
new uCash = GetPlayerMoney(playerid);
new name[MAX_PLAYER_NAME];
format(PlayerFile, sizeof(PlayerFile), "/users/%s.ini", name);
dini_IntSet(file,"Money", uCash);
}