Also ich würde gerne wissen wie ich folgendes erstelle
Also einen Dialog den man zb über /Dialog1
abrufen kann.
Und Jemand kann folgendes machen
/bearbeitendialog1
d.H. Der Spieler kann dort etwas in den Dialog rein schreiben .
Und wenn Jmd den Dialog öffnet über /Dialog1
Das er den Inhalt sieht , welcher geschrieben wurde.
Ich hoffe Jemand weiß ich das anstellen könnte
Mfg
BiGG
Dialog mit eingabe
- BiGGian
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Schau dir http://wiki.sa-mp.com/wiki/ShowPlayerDialog und http://wiki.sa-mp.com/wiki/OnDialogResponse an.
Damit solltest du das hinbekommen.Dann deklarierst du einfach noch eine globale Variable die den aktuellen Text beinhaltet.
-
if(dialogid==DIALOG_text)
{
if(response==0)
{
SendClientMessage(playerid,COLOR_RED,"Du hast den Vorgang abgebrochen.");
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{SendClientMessage(playerid,COLOR_RED,"Der Text ist nicht lang genug.");
}
else
{
new pissen= strval(inputtext);
return 1;
}
}
}if(strcmp(cmdtext,"/bearbeiten",true)==0)
{
if(SpielerAdmin(playerid,3))
{
ShowPlayerDialog(playerid,DIALOG_text,DIALOG_STYLE_INPUT,"Schreibe","Schreiben","Bestätigen","abbrechen");
return 1;
}
SendClientMessage(playerid,COLOR_WHITE,"Du bist kein Admin.");
return 1;
}
if(strcmp(cmdtext,"/dialog",true)==0)
{
if(SpielerAdmin(playerid,3))
{
ShowPlayerDialog(playerid,DIALOG_text,DIALOG_STYLE_LIST,"BLA","%s","Wählen","Abbrechen",pissen);
return 1;
}
SendClientMessage(playerid,COLOR_WHITE,"Du bist kein Admin.");
return 1;
}Es funktioniert nicht , was mache ich falsch?
-
ShowPlayerDialog(playerid,DIALOG_text,DIALOG_STYLE_LIST,"BLA","%s","Wählen","Abbrechen",pissen);
pissen?
du kannst keine Strings direkt so verwenden du müsstest
new irgendwas[32];
format(irgendwas, sizeof irgendwas, "%s", deineVariable);
ShowPlayerDialog(playerid,DIALOG_ID,DIALOG_STYLE_LIST,"ÜBERSCHRIFT",irgendwas,"Wählen","Abbrechen");so wäre das schema
-
Äh , ich weiß nicht wie ich eine Variable zum Inputtext erstellen soll , ich habs zwar gemacht aber wie soll ich die Variable global machen?
-
Globale Varibale == ein new Variablenname; oben im Script, das heißt dass sie überall gilt
-
Das weiß ich doch xD
Mein Input Text muss ja mit einer Variablen eingebunden werden , nur ich weiß nicht wie ich das machen soll xD -
format(irgendwas, sizeof irgendwas, "%s", inputtext);
dann ist im string irgendwas der Inputtext drinnen, was das jetzt bringen soll weiß ich net aber -
Alterschwede , jetzt verwirrst du mich total .
Argh xdif(dialogid==DIALOG_text)
{
if(response==0)
{
SendClientMessage(playerid,COLOR_RED,"Du hast den Vorgang abgebrochen.");
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{SendClientMessage(playerid,COLOR_RED,"Der Text ist nicht lang genug.");
}
else
{
inputtext(playerid,inputtext);//DAS HIER -<--<-<-<ewrewrwr
return 1;
}
}
} -
Hier, ich habs dir geschrieben.
http://pastebin.com/nwK38DGx -
Ok das hilft schonmal weiter
(1680) : warning 202: number of arguments does not match definition
(1686) : warning 202: number of arguments does not match definitionShowPlayerDialog(playerid, DIALOG_EDITDIALOG, DIALOG_STYLE_INPUT, "Neuer Text:", "Ok", "");
ShowPlayerDialog(playerid, DIALOG_SHOWDIALOG, DIALOG_STYLE_MSGBOX, dialogstring, "Ok", "");
Ich schau mir die Zwei Zeilen schon zum Tausends mal an und vergleiche sie mit anderen , ich sehe nirgends einen Fehler ,
bzw die Leerzeichen? Lösen diese, die Fehler aus? Ich denke nicht -
Ah, es fehlt die Caption.
Also so:
ShowPlayerDialog(playerid, DIALOG_EDITDIALOG, DIALOG_STYLE_INPUT, "Text bearbeiten", "Neuer Text:", "Ok", "");
ShowPlayerDialog(playerid, DIALOG_SHOWDIALOG, DIALOG_STYLE_MSGBOX, "Dialog", dialogstring, "Ok", ""); -
Vielen Dank , Richtig Geile Sache :)))))))))
Kann closed werden -
breadfish.de
Hat das Thema geschlossen.