Hi Community,
nun erkläre ich euch mal wie man Commands zum ausführen in ein GUI erstellt.
Schritt 1:
Jetzt erstellen wir ein new. Ich nenne es jetzt mal Dialog Commands:
new DialogCommands[5][2][64]= //Die 5 bedeutet, dass wir maximal 5 Commands hier hinmachen können. Die 2 bedeutet das man 2 Spalten machen kann.
{
{"/register","Registriere dich"}, //Als erstes steht im GUI der Command /register, danneben steht dann die Beschreiung vom Command
{"/Rennen","Nimm am Rennen teil"}, //Hier genau das selbe als erstes steht im GUI der Command und neben dem Command die Beschreibung
{"/Credits","Erfahre, wer den Gamemode gescriptet hat"},
{"/Admins","Liste der Admins & Mods"},
{"/teleports","Server Teleports"}
};
Jetzt müssen wir den Dialog definieren. Ich nenne es mal COMMANDS
#define DIALOG_COMMANDS 1
Schritt 2:
Nun fügt ihr in den Command ein womit das GUI geöffnet werden soll folgendes ein:
new string[256];
if(!strcmp(cmdtext, "/test", true))
{
for(new i=0;i<sizeof(DialogCommands);i++)//Wir erstellen eine for Schleife für die DialogCommands
{
if(strlen(DialogCommands[i][0])>=8)
format(string,sizeof(string),"%s%s\t%s\n",string,DialogCommands[i][0],DialogCommands[i][1]); //Als erstes wird der Command angezeigt und die Beschreibung
else
format(string,sizeof(string),"%s%s\t\t%s\n",string,DialogCommands[i][0],DialogCommands[i][1]); //Als erstes wird der Command angezeigt und die Beschreibung
}
ShowPlayerDialog(playerid,DIALOG_COMMANDS,DIALOG_STYLE_LIST,"Commands:",string,"Wählen","Schliessen"); //Entweder wählt man einen Command ober man schließt das GUI.
return 1;
}
Schritt 3:
Nun erstellen wir ein Public Namens OnDialogResponse.
Wenn ihr den schon habt müsst ihr nur den Code da drunter einfügen!
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
Da drunter fügen wir folgendes ein:
sswitch(dialogid)
{
case DIALOG_COMMANDS:
if(response)
OnPlayerCommandText(playerid,DialogCommands[listitem][0]);//Fertig^^ Ingame auf Command im GUI klicken und es sollte direkt ausgeführt werden...
}.
Nun schließen wir das Public mit
return 0;
}
Das war es! Ich hoffe ich konnte euch helfen ein GUI zu erstellen.
MfG Markus
EDIT: Ich hatte noch was vergessen und jetzt eingefügt!
Ich habe euch jetzt auch das Tut als FS hochgeladen!