Der Code ist auch der reinste Rotz, abgesehen das ein spieler nie mehr als 24 Zeichen haben wird daher reicht da auch MAX_PLAYER_NAME bei pID.
cache_get_field_content_int funktioniert ohne query davor auch nicht daher solltest du abprüfen ob der Spieler vllt direkt schon gemutet ist oder nicht
und bei der funktion mysql_function_query wirst du eine funktion aufrufen und dort kannst du alles auslesen.
ocmd:offunmute(playerid,params[])
{
new pID[35],query[256];
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,GRAU,"Du bist kein "#SERVERTAG" Teammitglied./Du hast nicht den jeweiligen Adminrang.");
if(sscanf(params,"s[35]",pID)) return SendClientMessage(playerid,WRONGCMD,"BENUTZE: Offunmute [Name]");
mysql_format(mycon,query, 256, "SELECT `Muted` FROM `"#SERVERTAG"_Account` WHERE `Name` = '%e' LIMIT 1",pID);
mysql_function_query(mycon,query,true,"@MYSQL_QUERY_FINISH_MUTED_CHECK","is",playerid, pID);
return 1;
}
In der Funktion kannst du gleich gewisse parameter übergeben wie die playerid von dem spieler der das eingegeben hat dann kannst du diesem gleich eine nachricht schicken und natürlich den eingegeben namen um das Update query auszuführen und nicht vergessen die string mit dem platzhalter %e zu escapen
forward @MYSQL_QUERY_FINISH_MUTED_CHECK(playerid,pName[]);
@MYSQL_QUERY_FINISH_MUTED_CHECK(playerid,pName[]){
new bool:muted = !!cache_get_field_content_int(0,"Muted");
if(!muted)return SendClientMessage(playerid,-1,"Der Spieler wurde nicht gefunden");
new query[256];
format(query,64,"Du hast %s entmuted",pName);
SendClientMessage(playerid,-1,query);
mysql_format(mycon,query, 256, "UPDATE `"#SERVERTAG"_Account` SET `MuteTime` = '0', `Muted` = '0' WHERE `Name` = '%e' LIMIT 1",pName);
mysql_tquery(mycon,query,"","");
return 1;
}
//edit LIMIT 1 nicht vergessen