Ban command error... -
Psyhophatic - 07.07.2014
Hello everyone
I've tried to make a ban command which store the ban reason and show it when the player try to login again, but I failed.Here is the command:
pawn Код:
CMD:ban(playerid,params[])
{
new id,name[MAX_PLAYER_NAME];
new admin[MAX_PLAYER_NAME],reason[64];
new string[128];
new y,mh,d; getdate(y,mh,d);
new h,m,s; gettime(h,m,s);
if(ainfo[playerid][admlv] > 0)
{
if(sscanf(params,"us[64]",id,reason)) return SendClientMessage(playerid,COLOR_GREY, "Syntax: /ban [PlayerID/Name] [Reason]");
else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_GREY, "That player isn't connected !");
else
{
GetPlayerName(playerid,admin,sizeof(admin));
GetPlayerName(id,name,sizeof(name));
if(ainfo[id][admlv] > ainfo[playerid][admlv])
{
format(string,sizeof(string),"[Warning]: Administrator %s tried to ban you !",admin);
SendClientMessage(id,COLOR_YELLOW,string);
SendClientMessage(playerid,COLOR_YELLOW,"[AdmCmd]: You tried to ban a higher admin than you !");
SetTimerEx("TKick",500,false,"i",playerid);
}
else
{
format(string,sizeof(string),"[AdmCmd]: Administrator %s banned %s. Reason %s",admin,name,reason);
SendClientMessageToAll(COLOR_RED,string);
ainfo[id][ban] = true;
INI_WriteString(UserPath(id),"Reason",reason); // Line 260
SetTimerEx("TKick",500,false,"i",id);
format(string,sizeof(string),"Date:[%d/%d/%d] Time:[%d/%d/%d] Admin: %s Player: %s Reason: %s",y,mh,d,h,m,s,admin,name,reason);
BanLog(string);
}
}
}
else {SendClientMessage(playerid,COLOR_GREY, "You aren't authorized to use this command !");}
return 1;
}
Here is the error:
pawn Код:
D:\SAMP 0.3z\filterscripts\admcmd.pwn(260) : error 035: argument type mismatch (argument 1)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
Any ideeas ?

Re: Ban command error... -
SHE790 - 07.07.2014
pawn Код:
CMD:ban(playerid,params[])
{
new id,name[MAX_PLAYER_NAME];
new admin[MAX_PLAYER_NAME],reason[64];
new string[128];
new y,mh,d; getdate(y,mh,d);
new h,m,s; gettime(h,m,s);
if(ainfo[playerid][admlv] > 0)// 0 is ur admin lvl so all can use ban
{
if(sscanf(params,"us[64]",id,reason)) return SendClientMessage(playerid,COLOR_GREY, "Syntax: /ban [PlayerID/Name] [Reason]");
else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_GREY, "That player isn't connected !");
else
{
GetPlayerName(playerid,admin,sizeof(admin));
GetPlayerName(id,name,sizeof(name));
if(ainfo[id][admlv] > ainfo[playerid][admlv])
{
format(string,sizeof(string),"[Warning]: Administrator %s tried to ban you !",admin);
SendClientMessage(id,COLOR_YELLOW,string);
SendClientMessage(playerid,COLOR_YELLOW,"[AdmCmd]: You tried to ban a higher admin than you !");
SetTimerEx("TKick",500,false,"i",playerid);
}
else
{
format(string,sizeof(string),"[AdmCmd]: Administrator %s banned %s. Reason %s",admin,name,reason);
SendClientMessageToAll(COLOR_RED,string);
ainfo[id][ban] = true;
INI_WriteString(UserPath(id),"Reason",reason);
SetTimerEx("TKick",500,false,"i",id);
format(string,sizeof(string),"Date:[%d/%d/%d] Time:[%d/%d/%d] Admin: %s Player: %s Reason: %s",y,mh,d,h,m,s,admin,name,reason);
BanLog(string);
}
}
}
else {SendClientMessage(playerid,COLOR_GREY, "You aren't authorized to use this command !");}
return 1;
}
Re: Ban command error... -
SHE790 - 07.07.2014
and for witch admin lvl u want?
Re: Ban command error... -
Psyhophatic - 07.07.2014
Still the same error...
The exactly problem would be the INI...
ainfo[playerid][admlv] > 0 => 1+, because it's and integer number and it can't be admin 0.5
Re: Ban command error... -
SHE790 - 07.07.2014
pawn Код:
CMD:ban(playerid, params[])
{
if(ainfo[playerid][admlv]< 1)//change it to how much u want return SendClientMessage(playerid, COLOR_RED, "You're not authorized to use this command");
new
string[128],pplayerid, reason[48];
if(sscanf(params, "us[48]", pplayerid, reason)) return SCM(playerid, COLOR_RED, "USAGE: /ban [Player ID/Player Name] [Reason]");
format(string,sizeof(string),"Admin %s banned %s |Reason: %s",GetName(playerid),GetName(pplayerid),reason);
SendClientMessageToAll(-1,string);
Bans(playerid,pplayerid,reason);
Ban(pplayerid);
return 1;
}
EDIT: i didnt tested it tell me if u found an error
Re: Ban command error... -
SHE790 - 07.07.2014
and u need bans stock
pawn Код:
stock Bans(playerid,targetid,reason[])
{
new string[128];
format(string, sizeof(string), "Admin %s banned %s|Reason: %s\n", GetName(playerid),GetName(targetid),reason);
new File:hFile;
hFile = fopen("/ShAdmin/Bans.txt", io_append);
fwrite(hFile, string);
fclose(hFile);
}
Re: Ban command error... -
IceBilizard - 07.07.2014
test now
pawn Код:
CMD:ban(playerid,params[])
{
new id,name[MAX_PLAYER_NAME];
new admin[MAX_PLAYER_NAME],reason[64];
new string[128];
new y,mh,d; getdate(y,mh,d);
new h,m,s; gettime(h,m,s);
if(ainfo[playerid][admlv] > 0)
{
if(sscanf(params,"us",id,reason)) return SendClientMessage(playerid,COLOR_GREY, "Syntax: /ban [PlayerID/Name] [Reason]");
else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_GREY, "That player isn't connected !");
else
{
GetPlayerName(playerid,admin,sizeof(admin));
GetPlayerName(id,name,sizeof(name));
if(ainfo[id][admlv] > ainfo[playerid][admlv])
{
format(string,sizeof(string),"[Warning]: Administrator %s tried to ban you !",admin);
SendClientMessage(id,COLOR_YELLOW,string);
SendClientMessage(playerid,COLOR_YELLOW,"[AdmCmd]: You tried to ban a higher admin than you !");
SetTimerEx("TKick",500,false,"i",playerid);
}
else
{
format(string,sizeof(string),"[AdmCmd]: Administrator %s banned %s. Reason %s",admin,name,reason);
SendClientMessageToAll(COLOR_RED,string);
ainfo[id][ban] = true;
INI_WriteString(UserPath(id),"Reason",reason); // Line 260
SetTimerEx("TKick",500,false,"i",id);
format(string,sizeof(string),"Date:[%d/%d/%d] Time:[%d/%d/%d] Admin: %s Player: %s Reason: %s",y,mh,d,h,m,s,admin,name,reason);
BanLog(string);
}
}
}
else {SendClientMessage(playerid,COLOR_GREY, "You aren't authorized to use this command !");}
return 1;
}
EDIT:
Read the correct usage of INI formats
https://sampforum.blast.hk/showthread.php?tid=175565
Re: Ban command error... -
Psyhophatic - 07.07.2014
Thanks Ice and for everyone who helped me, i found the mistake