Code:
ocmd:ban(playerid,params[])
{
new pID,name[MAX_PLAYER_NAME],pName[MAX_PLAYER_NAME],message[128],reason[128];
GetPlayerName(playerid,name,sizeof(name));
GetPlayerName(playerid,pName,sizeof(pName));
if(!IsAdmin(playerid,1))return SendClientMessage(playerid,red,error_not_admin);
if(sscanf(params,"is",pID,reason))return SendClientMessage(playerid,red,"Usage: /ban [ID] [Reason]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,red,error_player_not_online);
format(message,sizeof(message),"%s (%i) banned %s's (%i) from the server! Reason: %s",name,playerid,pName,pID,reason);
SendClientMessageToAll(green,message);
new year,month,day,bdate[30];
getdate(year,month,day);
format(bdate,sizeof(bdate),"%i/%i/%i",day,month,year);
new query[128];
pInfo[pID][banned] = 1;
format(query,sizeof(query),"UPDATE samp_user SET banned ='1',breason='%s',bdate='%s',banner='%s' WHERE id='%i'",reason,bdate,name,pInfo[pID][id]);
mysql_function_query(dbhandle,query,false,"","");
Kick(pID);
printf("[cmd] %s: /ban %s %s",name,pName,reason);
return 1;
}
Das Problem: im Feld "banned" steht 0 statt 1
Im Serverlog steht: sscanf warning: Strings without a length are deprecated, please add a destination size.