Als erstes solltest du folgende Dialoge definieren (oben im Script)
Code
#define DIALOG_SUPPORT 15
#define DIALOG_SUPPORTFRAGE 16
#define DIALOG_SUPPORTCHEATER 17
#define DIALOG_SUPPORTBUG 18
#define DIALOG_SUPPORTSDM 19
Anschließend brauchen wir einen Befehl, welcher für deinen Report verwendet werden soll. Ich habe /support genommen. Ich habe den Befehl mit OCMD geschrieben!
Code
ocmd:support(playerid, params[])
{
new string[250];
format(string,sizeof(string),"{FF4133}1.{FAFAFA} Eine Frage stellen\n{FF4133}2.{FAFAFA} Einen Cheater melden\n{FF4133}3.{FAFAFA} Ein Bug/Fehler melden\n{FF4133}4.{FAFAFA} Sinnlos-Deathmatch melden");
ShowPlayerDialog(playerid,DIALOG_SUPPORT,DIALOG_STYLE_LIST,"Support",string,"Fortfahren","Abbrechen");
}
Im Anschluss brauchst Du unter "OnDialogResponse" folgenden Code:
Code
if(dialogid==DIALOG_SUPPORTFRAGE)
{
if(response==0)
{
SendClientMessage(playerid,COLOR_WHITE,"Dialog geschlossen.");
return 1;
}
else if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_WHITE,"Bitte trage etwas in das Feld ein.");
}
else
{
Fragestellen(playerid,inputtext);
}
}
}
if(dialogid==DIALOG_SUPPORT)
{
//Frage, Cheater, Bug/Fehler, SDM melden
if(response==0)
{
SendClientMessage(playerid,COLOR_WHITE,"Dialog geschlossen.");
return 1;
}
else if(response==1)
{
if(listitem==0)
{
ShowPlayerDialog(playerid,DIALOG_SUPPORTFRAGE,DIALOG_STYLE_INPUT,"Support - Frage stellen","Gebe unten in das Feld deine Frage ein!","Absenden","Abbrechen");
}
else if(listitem==1)
{
ShowPlayerDialog(playerid,DIALOG_SUPPORTCHEATER,DIALOG_STYLE_INPUT,"Support - Cheater melden","Gebe unten in das Feld die SpielerID des Cheaters ein.","Absenden","Abbrechen");
}
else if(listitem==2)
{
ShowPlayerDialog(playerid,DIALOG_SUPPORTBUG,DIALOG_STYLE_INPUT,"Support - Bug melden","Gebe unten in das Feld eine kurze Beschreibung des Bugs an.","Absenden","Abbrechen");
}
else if(listitem==3)
{
ShowPlayerDialog(playerid,DIALOG_SUPPORTSDM,DIALOG_STYLE_INPUT,"Support - Sinnlos Deathmatch melden","Gebe unten in das Feld die SpielerID des SDMlers ein.","Absenden","Abbrechen");
}
}
}
Alles anzeigen
Nun bitte ich dich recht weit unten im Script ein stock anzulegen, welcher mit dem Inputtext argiert.
Code
stock Fragestellen(playerid,frage[])
{
new string[90], Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
for(new i=0; i<MAX_PLAYERS; i++)
if(PlayerInfo[i][Adminlevel] >= 1)
{
format(string,sizeof(string),"Spieler %s hat einen Report abgesendet. Frage: %s",Sname,frage);
SendClientMessage(i,COLOR_RED,string);
SendClientMessage(playerid,COLOR_WHITE,"Support-Frage erfolgreich abgesendet.");
}
else return 1;
return 1;
}
Alles anzeigen
Ich habe verständlicherweise nur grob gearbeitet und auch nur "Frage stellen" für dich vorgefertigt. Alles andere kannst du selber machen (zu zeitaufwendig für mich)
Trotzdem bitteschön und viel Spaß
Mit freundlichem Gruß,
ShoXxYT