Alles anzeigenIch gebe dir im folgenden eine Hilfestellung.
Dies soll nicht heißen, dass ich dir komplett bei deiner Aufgabe helfe, sondern dir nur einen Denkanstoß gebe bzw. ein Beispiel, wie man es machen könnte.
ocmd:a(playerid,params[]) //Ein Beispiel für den Adminrang Supporter
{
new message[128],name[MAX_PLAYER_NAME]; //Ein String namens message und eine Variable namens name wird erstellt.
GetPlayerName(playerid,name,sizeof(name)); //Der Name aus der Variable name wird ausgelesen.
if(GetPVarInt(playerid,"Adminlevel")==1) //Es wird abgefragt, ob der Spieler das Adminlevel 1 besitzt.
{
if(sscanf(params,"s",message))return SendClientMessage(playerid,Grau,"Verwendung: /a [Text]"); //Sollte klar sein.
format(message,sizeof(message),"* Supporter %s: %s",name,message); //Der String message wird formatiert, sodass dort der ausgelesene Name verwendet werden kann.
SendAdminMessage(Gelb,message); //Der Stock SendAdminMessage sendet den formatierten String nur an Spieler, die einen Adminrang besitzen. Weiteres dazu unten.
}
return 1;
}
stock SendAdminMessage(farbe,const message[]) //Ein Stock mit den Parametern farbe und message wird erstellt.
{
new playerid;
for(;playerid!=MAX_PLAYERS;playerid++)
{
if(!IsPlayerConnected(playerid)) continue;
if(GetPVarInt(playerid,"Adminlevel"))SendClientMessage(playerid,farbe,message); // Wenn der Spieler ein Adminlevel besitzt, wird die Message weitergeleitet.
}
}
Hab mir das jetzt 3x Durchgelesen, aber ich verstehe trotzdem nicht was ich da jz genau falsch gemacht habe, was die einzelnen Dinge bewirken weis ich ja, nur irgendwie funktioniert es in dieser zusammensetzung nicht so wie ich es möchte.