04.09.2012, 12:51
HEllo, I use Y_INI Saving system..
But I want to make it mode decent, like it saves IP for example.
I want it to save IP.
and in ban, I want it to ban the IP of ther player :\
But I want to make it mode decent, like it saves IP for example.
pawn Код:
public LoadUser_data(playerid,name[],value[])
{
INI_Int("Password",PlayerInfo[playerid][pPass]);
INI_Int("Score",PlayerInfo[playerid][pScore]);
INI_Int("Cash",PlayerInfo[playerid][pCash]);
INI_Int("AdminLevel",PlayerInfo[playerid][pAdminLevel]);
INI_Int("Kills",PlayerInfo[playerid][pKills]);
INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
INI_Int("Banned",PlayerInfo[playerid][pBanned]);
return 1;
}
stock UserPath(playerid)
{
new string[128],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),PATH,playername);
return string;
}
stock udb_hash(buf[]) {
new length=strlen(buf);
new s1 = 1;
new s2 = 0;
new n;
for (n=0; n<length; n++)
{
s1 = (s1 + buf[n]) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
}
public OnPlayerDisconnect(playerid, reason)
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"Player's Data");
INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
INI_WriteInt(File,"Score",GetPlayerScore(playerid));
INI_WriteInt(File,"AdminLevel",PlayerInfo[playerid][pAdminLevel]);
INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
INI_WriteInt(File,"Banned",PlayerInfo[playerid][pBanned]);
INI_Close(File);
and in ban, I want it to ban the IP of ther player :\
pawn Код:
dcmd_ban(playerid,params[])
{
#pragma unused params
new pname[MAX_PLAYER_NAME];
new string[128];
new cmdreason[100];
new id;
if(sscanf(params,"us[100]",id,cmdreason))
{
SendClientMessage(playerid,COLOR_ERROR,"Usage: /ban (Player Name/ID) (Reason)");
return 1;
}
if(!IsPlayerConnected(id))
{
format(string,sizeof(string),"The player is not connected to the server");
SendClientMessage(playerid,COLOR_RED,string);
return 1;
}
GetPlayerName(id, pname, sizeof(pname));
format(string,sizeof(string),"***An Administrator has banned %s(%d) from the server. (Reason: %s)",pname,id,cmdreason);
SendClientMessageToAll(COLOR_PINK,string);
SetTimer("BanPlayer",700,0);*/
/*if(UserPath(playerid)); //This is a fail, I need the correct function to use it..
{
INI_WriteInt(pname(id)).("Banned",1);
}*/
return 1;
}