Da ich des öfteren Fragen bekomme, wieso sie Warnings in ihrem Kick / Bann GUI haben,
oder in ihrem Befehl, da sie ihn meist aus GF kopieren, und da der meist nicht im Selfmade
vorhanden ist, gibts ebend Warnings, nun möchte ich euch die neuere Variante des Kick /
Ban Gui zeigen. Sieht schöner aus, und ist im Gui ausgebaut.
Ich mache es hier für Rcon Admins !
So, zuerst definieren wir die Dialoge :
#define DIALOG_KICK 0
#define DIALOG_BAN 1
#define DIALOG_BANAUSGABE 2
#define DIALOG_KICKAUSGABE 3
#define DIALOG_GRUND 4
#define DIALOG_GRUND2 5
Unter :
OnPlayerCommandText
Fügen wir nun unsere Befehle ein, für mich ist es einfach /kick und /ban.
if(strcmp(strget(cmdtext,0), "/kick", true) == 0)
{
if(IsPlayerAdmin(playerid)) // Ist der Spieler ein Admin ?
{
ShowPlayerDialog(playerid,DIALOG_KICK,DIALOG_STYLE_INPUT,"Kick Menu","Gebe hier die ID des Spielers ein!","Ok","Abbrechen"); // Hier das Menu
}
else
{
SendClientMessage(playerid,FARBE,"TEXT"); // Dieser Text soll erscheinen, wen der Spieler kein Admin ist!
return 1;
}
Der Bann Befehl :
if(strcmp(strget(cmdtext,0), "/ban", true) == 0)
{
if(IsPlayerAdmin(playerid)) // Ist der Spieler ein Admin ?
{
ShowPlayerDialog(playerid,DIALOG_BAN,DIALOG_STYLE_INPUT,"Ban Menu","Gebe hier die ID des Spielers ein!","Ok","Abbrechen"); // Hier das Menu
}
else
{
SendClientMessage(playerid,FARBE,"TEXT"); // Dieser Text soll erscheinen, wen der Spieler kein Admin ist!
return 1;
}
Da der Dialog natürlich auch etwas bewirken soll, machen wir nun die Funktion für das Callback.
Unter :
OnDialogResponse
if(dialogid == DIALOG_KICK)
{
new kickid;
kickid = strval(inputtext);
ShowPlayerDialog(playerid,DIALOG_GRUND,DIALOG_STYLE_INPUT,"Grund","Nenne den Grund :","Ok","Abbrechen");
if(dialogid == DIALOG_BAN)
{
new banid;
banid = strval(inputtext);
ShowPlayerDialog(playerid,DIALOG_GRUND2,DIALOG_STYLE_INPUT,"Grund","Nenne den Grund :","Ok","Abbrechen");
if(dialogid == DIALOG_GRUND)
{
new grund[64],kicktext[50];
strmid(grund, inputtext, 0, strlen(inputtext), 255);
format(kicktext,128,"Du wurdest von einem Admin gekickt!\nGrund : %s",grund);
ShowPlayerDialog(kickid,DIALOG_KICKAUSGABE,DIALOG_STYLE_MSGBOX,"Kick",kicktext,"Ok","Abbrechen");
Kick(kickid);
}
if(dialogid == DIALOG_GRUND2)
{
new grund[64],bantext[50];
strmid(grund, inputtext, 0, strlen(inputtext), 255);
format(bantext,128,"Du wurdest von einem Admin gebannt!\nGrund : %s",grund);
ShowPlayerDialog(banid,DIALOG_BANAUSGABE,DIALOG_STYLE_MSGBOX,"Ban",bantext,"Ok","Abbrechen");
Ban(banid);
}
}
}
Das wars eigentlich auch schon, nun könnt ihr leute kicken und Bannen.
Ist ziemlich Simpel, dennoch wer es gebrauchen kann viel Spaß
Edit : Wurde an die Falsche ID geschickt, habs nun gefixxt
Edit2 : Habe nun Grund hineinbezogen, man kann dem Spieler nun den Grund des Bannens oder kickens nennen!