Hallo,
ich habe vor ein Dynamisches Geldverwaltungs-System zu basteln.
Man kann Ingame per Befehl alle Geldvergaben usw. individuell einstellen.
Bislang war alles in Ordnung, habe ein Enum erstellt und ein Befehl mit "DIALOG_STYLE_TABLIST_HEADERS".
Nun habe ich folgendes Problem:
Wenn ich das erste Listitem ändern will, ändert er es auch, zeigt mir aber 2x SendClientMessage an.
Wenn ich aber das zweite Listitem ändern will, ändert er nur das erste listitem, nicht das 2. so wie es eigentlich sein sollte. Wieder kommen 2 SendClientMessages an.
Hier mal den Kompletten Code:
#define dialog_geldverwaltung 1
//enum
enum Geldverwaltung
{
Jailcashcop,
Jailcashrobber
}
new Geld[Geldverwaltung];
//Der befehl
ocmd:geldverwaltung(playerid,params[])
{
if(Spieler[playerid][Adminlevel] != 5)return SendClientMessage(playerid,COLOR_WHITE,"* Du bist kein Projektleiter!");
new string[2000];
format(string,sizeof(string),"Fall\tWert\nGeld für Cop, wenn Spielet tötet mit Wanteds (pro Wanted)\t$%d\nDas verlorene Geld für Robber mit Wanteds, wenn von Cop getötet (pro Wanted)\t$%d",Geld[Jailcashcop],Geld[Jailcashrobber]);
ShowPlayerDialog(playerid,dialog_geldverwaltung,5,"Die Geldverwaltung auf dem Server",string,"Ändern","Abbrechen");
return 1;
}
//Und zu guter letzt die dialoge
if(dialogid==dialog_geldverwaltung)
{
if(response)
{
if(listitem==0)//Jailcash für Cops
{
ShowPlayerDialog(playerid,dialog_jailcashfuercops,DIALOG_STYLE_INPUT,"Gelvergabe-Ändern","In welchen Wert willst du diese Geldvergabe ändern?","Ändern","Abbrechen");
}
else if(listitem==1)//Jailcash- für Robber
{
ShowPlayerDialog(playerid,dialog_jailcashrobber,DIALOG_STYLE_INPUT,"Gelvergabe-Ändern","In welchen Wert willst du diese Geldvergabe ändern?","Ändern","Abbrechen");
}
}
else { return 1; }
}
if(dialogid==dialog_jailcashfuercops)
{
if(response)
{
if(IsNumeric(inputtext))
{
Geld[Jailcashcop] = strval(inputtext);
format(string,sizeof(string),"* Du hast diese Geldvergabe erfolgreich in $%d geändert.",strval(inputtext));
SendClientMessage(playerid,COLOR_GREEN,string);
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"** Dieser Wert darf keine Buchstaben enthalten!");
}
}
else { return 1; }
}
if(dialogid==dialog_jailcashrobber)
{
if(response)
{
if(IsNumeric(inputtext))
{
Geld[Jailcashrobber] = strval(inputtext);
format(string,sizeof(string),"* Du hast diese Geldvergabe erfolgreich in $%d geändert.",strval(inputtext));
SendClientMessage(playerid,COLOR_GREEN,string);
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"** Dieser Wert darf keine Buchstaben enthalten!");
}
}
else { return 1; }
}
Jemand eine Idee dazu?
Zu meiner Frage:
Ich habe ein sehr langen /motor Befehl und möchte ihn auf die Taste "N" setzen zb.
Gibt es einen Code, der den befehl einfach ausführt?
Danke im Voraus
Mit freundlichen Grüßen
Keslo