enum PlayerInfo
{
Banres[200]
}
new pInfo[MAX_PLAYERS][PlayerInfo];
public LoadUser_data(playerid,name[],value[])
{
INI_String("Reason",pInfo[playerid][Banres],200);
return 1;
}
if(pInfo[playerid][Banned] == 1)
{
new reso[128];
SendClientMessage(playerid,red,"=====================================================");
SendClientMessage(playerid,red, "{FF6347}You are banned from this server.");
SendClientMessage(playerid,red,"{FF6347}Make an Ban Appeal on our forums. An Staff member will review it as soon as possible.");
SendClientMessage(playerid,red,"{FF6347}Visit our forums at: "SERVER_FORUMS"");
format(reso,sizeof(reso),"{85BB65}Reason: {f0f000}%s",pInfo[playerid][Banres]);
SendClientMessage(playerid,-1,reso);
SendClientMessage(playerid,red,"=====================================================");
SendClientMessage(playerid,red, "[AdmCmd]:{FF6347}This Account has been banned from the server.");
CMD:unban(playerid, params[])
{
if(IsPlayerAdmin(playerid) || pInfo[playerid][Admin] >= 3)
{
new Name[25],file[256];
if(sscanf(params, "s[24]", Name)) return SendClientMessage(playerid, error, "Usage: /unban <Player Name>"); format(file, 100, PATH, Name);
if (!fexist(file)) return SendClientMessage(playerid,error,"Error: This player doesn't have an account!");
new INI:File = INI_Open(file);
INI_SetTag(File,"data");
INI_WriteInt(File,"Banned",0);
INI_WriteString(File,"Bannedby","");
INI_WriteString(File,"Ban Reason","");
INI_Close(File);
format(astring, sizeof(astring),"You have successfully unbanned '%s'",Name);
SendClientMessage(playerid,-1,astring);
format(astring,sizeof(astring),"[UNBAN] %s has UNBANNED Account: %s",GetName(playerid),Name);
WriteToLog(astring,"Unban");
CommandToAdmins(playerid,"unban");
return 1;
}
else return ShowMessage(playerid, error, 1);
}
public LoadUser_data(playerid,name[],value[]) { INI_String("Reason",pInfo[playerid][Banres],200); return 1; }
CMD:ban(playerid, params[])
{
new targetid, reason[200];
if(IsPlayerAdmin(playerid) || pInfo[playerid][Admin] >= 3)
{
if(sscanf(params, "us[24]", targetid, reason)) return SendClientMessage(playerid,error, "Usage: /ban [PlayerName/Playerid] [reason]");
if(strlen(reason) < 1 || strlen(reason) > 200) return SendClientMessage(playerid, error, "Your reason can only contain 1-100 characters.");
if(targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, error, "Player not found.");
{
pInfo[targetid][Banned] = 1;
GetPlayerIp(targetid,pIP,16);
new y,m,d,hour,mint,sec,message[300];
getdate(y,m,d);
gettime(hour,mint,sec);
// pInfo[targetid][Banned] = 1;
pInfo[targetid][Banres] = reason;
new INI:File = INI_Open(UserPath(targetid));
INI_SetTag(File,"data");
//INI_WriteString(File,"Ban Reason",reason);
INI_WriteInt(File,"Banned",1);
INI_WriteString(File,"Bannedby",GetName(playerid));
INI_Close(File);
format(message, sizeof(message), "[AdmCmd]:{FF6347}%s has been Banned from the server. | Reason: %s", GetName(targetid), reason);
SendClientMessageToAll(red, message);
SendClientMessage(targetid,red,"=====================================================");
SendClientMessage(targetid,red,"{FF6347}You have been Banned from Caribbean Mafia Warz.");
format(message, sizeof(message),"{FF6347}Banned by: %s ", GetName(playerid));
SendClientMessage(targetid,red,message);
format(message, sizeof(message),"{FF6347}Banned Reason: %s ", reason);
SendClientMessage(targetid,red,message);
format(message, sizeof(message),"{FF6347}Date: %d/%d/%d || Time: %d:%d:%d",d,m,y,hour,mint,sec );
SendClientMessage(targetid,red,message);
format(message, sizeof(message),"{FF6347}IP Address: %s", pIP);
SendClientMessage(targetid,red,message);
SendClientMessage(targetid,red,"{FF6347}You will need to take a screenshot of this message for your appeal.");
SendClientMessage(targetid,red,"{FF6347}Make an Ban Appeal on our forums. An Staff member will review it as soon as possible.");
SendClientMessage(targetid,red,"{FF6347}Visit our forums at:"SERVER_FORUMS"");
SendClientMessage(targetid,red,"=====================================================");
SendClientMessage(targetid,red,"{FF6347}Server Administrators has been notified.");
SetTimerEx("BanPlayer",200,false,"ud", targetid,2);
CommandToAdmins(playerid,"ban");
}
}
else return ShowMessage(playerid, error, 1);
return 1;
}
In regards to the ban reason not showing, is it just the reason that doesn't show or does the entire "You are banned from this server" string not show?
Are you certain you're saving the string accordingly in the INI file? Код:
public LoadUser_data(playerid,name[],value[]) { INI_String("Reason",pInfo[playerid][Banres],200); return 1; } |
public LoadUser_data(playerid,name[],value[])
{
INI_String("Reason",pInfo[playerid][Banres],200);
return 1;
}
CMD:ban(playerid, params[])
{
//contents
INI_WriteString(File,"Reason", reason); //it should work now as you were not saving it and the name was not same
//contents
return 1;
}
You aren't writing the reason for ban, that's why it couldn't load the string here
PHP код:
PHP код:
|