Guten Abend,
seid zwei Tagen beschädftige ich mich mit den Problem, wie ich einen Inputtext eines Dialoges abspeichern und anschließend nach einen Playername bzw. einer PlayerID abfragen kann.
Die Suchfunktion habe ich benutzt, doch leider hat sie mich nur kaum vorangebracht.
Nochmal kurz zusammengefasst, mithilfe eines Beispieles: Spieler A benutzt den Befehl /giveweapon und daraufhin öffnet sich ein Dialog mit dem Dialogtype Input. Dort gibt Spieler A den Playername bzw. die PlayerID von B ein, den er später eine Waffe geben möchte. Anschließend öffnen sich weitere Dialoge, bei dem Spieler A aussuchen kann, ob er z.b Spieler B Nahkampf oder Handschusswaffen oder ob er einen Schlagring oder eine Desert Eagle geben möchte. Nachdem sich Spieler A entschieden hat, sollte Spieler B die von Spieler A ausgesuchte Waffe bekommen.
Mein Problem besteht darin, den Inputtext in einer Variable zu speichern und anschließend per z.b IsPlayerConnected abzufragen. Das ist mein bisheriger Quelltext, der leider nicht einwandfrei funktioniert. Dies ist nur ein Ausschnitt von dem Dialog mit dem Dialogtype Input.
if(dialogid==DIALOG_AGIVEWEAPONPID)
{
if(response==0)
{
SendClientMessage(playerid,ERROR_ROT,"Sie haben den Vorgang abgebrochen.");
return 1;
}
if(response==1)
{
piD = strval(inputtext); // piD wurde bereits bei OnDialogResponse definiert.
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_AGIVEWEAPONPID,DIALOG_STYLE_INPUT,"{FF0000} Waffenliste","Bitte geben sie einen gültigen Playername/ID ein:","Bestätigen","Abbrechen");
if(!IsPlayerConnected(piD)) return ShowPlayerDialog(playerid,DIALOG_AGIVEWEAPONPID,DIALOG_STYLE_INPUT,"{FF0000} Waffenliste","Bitte geben sie einen gültigen Playername/ID ein:","Bestätigen","Abbrechen");
ShowPlayerDialog(playerid,DIALOG_AGIVEWEAPON,DIALOG_STYLE_LIST,"{FF0000} Waffenliste","Nahkampfwaffen \r\nHandschusswaffen \r\nShotguns \r\nMaschinenpistolen \r\nSturmgewehre \r\nRifles \r\nSonstige","Bestätigen","Zurück");
return 1;
}
}
Edit: Grammatikfehler korrigiert.