Hier mal ein kleiner Bereich für die kleinen unter euch.
Da einige sich fragen wie man sowas macht, dass nur Leute in einer bestimmten "Fraktion X" oder ab einem bestimmten "Rang X" eine Nachricht kriegen, werde ich hier mal einpaar Functionen auflisten, am besten die einfachsten und effektivsten.
Also als erstes können wir die "publics" also Callbacks in "systems" umstellen, dies geschiet mit dieser Definition..
[pwn]#define systems%0(%1) forward%0(%1); public%0(%1)
/*forwards werden nicht nötig sein um ein "systems" zu erstellen, publics werden dadurch ersetzt.*/
[/pwn]
So da dies nun erledigt ist fangen wir mit der eingentlichen Funktion an.
[pwn]
/*Diesen neuen Callback könnt ihr in euer Godfather einfach übernehmen, da die Variablen die von dem Standart GF sind. Aber falls jemand diese nicht so hat sollte er sie anpassen.*/
systems SendAdminMessageRang(farbe,level,const string[]) {
for(new i = 0; i < MAX_PLAYERS; i++) {
if (PlayerInfo[pAdmin] >= level) {//GF Variablen
SendClientMessage(i, farbe, string);
} }
return 1; }
/*Für einige Selfmadler unter euch*/
systems SendAdminMessageRang(farbe,level,const string[]) { // Müsste klar sein, ist die Vorgehensweise (definiert)
for(new i = 0; i < MAX_PLAYERS; i++) { //eine Schleife zum Abfragen der Spieler
if (SpielerInfo[i][Adminlevel] >= level) {//Die meisten Selfmades Variablen, sendet Nachricht an den angegebenen Rang..
SendClientMessage(i, farbe, string); // Sendet String...
} }
return 1; }
[/pwn]
Die Benutzung
Benutzt wird das ganze so
In ein Command... unter format(string.....),
SendAdminMessageRang(farbe,level,string)
Etwa so:
[pwn]
format(string,sizeof(string), " Nachricht an Rang über 5 von %s", name);
SendAdminMessageRang(COLOR_RED, 5,string);[/pwn]
Somit erhalten alle Admins über Level 5 die Nachricht.
Genau das selbe gilt auch für Gangs und
Dies geht natürlich auch leichter, hat aber nicht den Vorteil Callbacks zu ersetzen durch systems ohne foward
[pwn]stock SendAdminMessageRang(color,level,const string[])
{ for(new i = 0; i < MAX_PLAYERS; i++)
if (PlayerInfo[i][pAdmin] >= level)SendClientMessage(i, color, string);
return 1; }[/pwn]
Da einige sich fragen wie man sowas macht, dass nur Leute in einer bestimmten "Fraktion X" oder ab einem bestimmten "Rang X" eine Nachricht kriegen, werde ich hier mal einpaar Functionen auflisten, am besten die einfachsten und effektivsten.
Also als erstes können wir die "publics" also Callbacks in "systems" umstellen, dies geschiet mit dieser Definition..
[pwn]#define systems%0(%1) forward%0(%1); public%0(%1)
/*forwards werden nicht nötig sein um ein "systems" zu erstellen, publics werden dadurch ersetzt.*/
[/pwn]
So da dies nun erledigt ist fangen wir mit der eingentlichen Funktion an.
[pwn]
/*Diesen neuen Callback könnt ihr in euer Godfather einfach übernehmen, da die Variablen die von dem Standart GF sind. Aber falls jemand diese nicht so hat sollte er sie anpassen.*/
systems SendAdminMessageRang(farbe,level,const string[]) {
for(new i = 0; i < MAX_PLAYERS; i++) {
if (PlayerInfo[pAdmin] >= level) {//GF Variablen
SendClientMessage(i, farbe, string);
} }
return 1; }
/*Für einige Selfmadler unter euch*/
systems SendAdminMessageRang(farbe,level,const string[]) { // Müsste klar sein, ist die Vorgehensweise (definiert)
for(new i = 0; i < MAX_PLAYERS; i++) { //eine Schleife zum Abfragen der Spieler

if (SpielerInfo[i][Adminlevel] >= level) {//Die meisten Selfmades Variablen, sendet Nachricht an den angegebenen Rang..
SendClientMessage(i, farbe, string); // Sendet String...
} }
return 1; }
[/pwn]
Die Benutzung
Benutzt wird das ganze so
In ein Command... unter format(string.....),
SendAdminMessageRang(farbe,level,string)
Etwa so:
[pwn]
format(string,sizeof(string), " Nachricht an Rang über 5 von %s", name);
SendAdminMessageRang(COLOR_RED, 5,string);[/pwn]
Somit erhalten alle Admins über Level 5 die Nachricht.
Genau das selbe gilt auch für Gangs und
Dies geht natürlich auch leichter, hat aber nicht den Vorteil Callbacks zu ersetzen durch systems ohne foward

[pwn]stock SendAdminMessageRang(color,level,const string[])
{ for(new i = 0; i < MAX_PLAYERS; i++)
if (PlayerInfo[i][pAdmin] >= level)SendClientMessage(i, color, string);
return 1; }[/pwn]