Aussagen Ordenen
Übersicht

KonflaxxBetreff: Aussagen Ordenen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So...
Wieder Mal zu meinem 3d-Iso-Rpg: Hab jetzt selber eine Textengine (scripting language, was auch immer) geschrieben und habe nun ein Problem. Wenn ich eine Aussage/Befehl einer Person festlege (z.B. Geh, hol Kuchen, wenn du ihn hast kriegste nen Arschtritt) dann setzt ich eine Variable auf 1, wenn ich den Kuchen besorgt habe. Somit weiß die Person dass ich den Kuchen hab (und antwortet: Gut gemacht, haariges Unwesen). So, das ist ja ganz einfach. Aber Folgendes: (Das Problem liegt eher Im Aufbau meiner "Funktion") Nehmen wir an, die Person antwortet: Gut gemacht, haariges Unwesen. Dann schalte ich die Textbox weg. Und wenn ich die Person danach noch einmal anspreche, dann soll sie z.B. sage: Jetzt Geh weg und lass mich zufrieden. Nun, das ist das Problem und ich hab ziemlich lange daran gessesen, bin aber auf keine richtige Lösung gekommen. Also, der Code (ist nur die Textengine, nicht so wichtig) Code: [AUSKLAPPEN] Global Menu = LoadImage("textengine\menu.bmp") Global Menusm = LoadImage("textengine\menusm.bmp") ;------------------------------------------------ Function name(Name$) ;spielt Sound ab klick = PlayMusic("Sound\klick.wav") ;malt die textbox und die namensbox auf den bildschirm DrawImage menusm,0,548 DrawImage menu,0,568 ;malt Namen ein bmpf_txt(5,550,Name$) End Function ;------------------------------------------------ Function z1(z1$) bmpf_txt(10,578,z1$) End Function Function z2(z2$) bmpf_txt(10,598,z2$) End Function Function z3(z3$) bmpf_txt(10,618,z3$) End Function Function z4(z4$) bmpf_txt(10,638,z4$) End Function Function z5(z5$) bmpf_txt(10,658,z5$) End Function Function Pfeil() bmpf_txt(900,718,"Weiter") End Function Und hier das eigentliche Problem (Den Teil vom Baum lohnt es sich nur anzuschaen, wegen den Variablen) Code: [AUSKLAPPEN] ;Haus If speech2$ = "hans" And j = 1 Then Name "Haus" If j = 1 Then Repeat FlushKeys() Flip ;Standartaussage If x = 0 Then z1 "Hallo, ich bin das Haus vom Nikolaus!" z2 "Ich frage mich, ob mich Baum noch liebt..." Pfeil() EndIf If KeyHit(28) Then x = x + 1 EndIf If x = 1 Then DrawImage menu,0,568 z1 "Weißt du, du könntest Baum fragen" z2 "ob er mich noch liebt." z3 "Geh und such ihn!" Quest = 1 EndIf ;Wenn... If aufgabe = 1 Then DrawImage menu,0,568 z1 "Baum hasst mich!?" z2 "Du scheiß Stück scheiße!" z3 "Deine Mutter scheißt beim Kacken!" ;Hier Das Problem aufgabe2 = 1 EndIf If aufgabe2 = 1 Then ; bis hier DrawImage menu,0,568 z4 "Verpiss dich!" EndIf If KeyHit(57) Then x = 0 j = 0 EndIf Until j = 0 EndIf EndIf ;Baum If speech2$ = "Baum" And j = 1 Then Name "Baum" z1 "Geh weg!" If quest = 1 Then Name "Baum" z1 "Was!? Er ist ein Hurensohn!" z2 "Ich hasse ihn!" aufgabe = 1 EndIf If j = 1 Then Repeat FlushKeys() Flip j = 0 Until KeyHit(57) And j = 0 EndIf EndIf (ich weiß eigentlich, dass das nicht funktionieren kann, wegen der Schleife, aber was anderes hat auch nicht geklappt, also hab ich es so stehen lassen) Das wichtige ist, dass das Spiel angehalten wird, während man etwas liest, und ich habe es mit einer Schleife gelöst (hab ich hier im Forum so in der Art irgendwo gefunden) Und hier vielleicht noch etwas interresantes: Code: [AUSKLAPPEN] ;-------------------------------Interaktionsabfrage---------------- ;Interaktion speech = EntityPick(mario, 200) If speech Then speech2$ = EntityName$(speech$) Else speech2$ = 0 EndIf ;Interaktion If KeyHit(57) Then If speech Then j = 1 - j EndIf EndIf ;------------------------------------------------------------------ ;--------------------------------Dialoge--------------------------- Include "Textengine\Dialog.bb" ;------------------------------------------------------------------ (das ist im Hauptprogramm) Hoffe ihr könnt mir Lösungsvorschläge geben! |
||
Ich bin der beste. |
![]() |
Bigmichi |
![]() Antworten mit Zitat ![]() |
---|---|---|
wieso speicherst du net in einer eigenen vab ob du die Aufgabe schon gemacht hast ? udn wennja soll er sagen hau ab ? würde odch gehen oder nicht ? | ||
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] z1 "Hallo, ich bin das Haus vom Nikolaus!"
Und das funktioniert? So ganz ohne "="? ![]() Hat zwar nix mit deinem eigentlichen Problem zu tun, musste aber mal gesagt werden. ![]() |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
z1 ist keine Variable sondern eine Funktion, deshalb darf da kein = Zeichen hin! Obwohl ich immer gerne derÜbersicht halber Klammern setzten würde... ![]() |
||
Konflaxx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@ Bigmichi
Mir ist gerade aufgefallen, dass ich das Problem nicht richtig zu Ende erklärt habe ![]() Code: [AUSKLAPPEN] ;Wenn... If aufgabe = 1 Then DrawImage menu,0,568 z1 "Baum hasst mich!?" z2 "Du scheiß Stück scheiße!" z3 "Deine Mutter scheißt beim Kacken!" ;Hier Das Problem aufgabe2 = 1 EndIf If aufgabe2 = 1 Then ; bis hier DrawImage menu,0,568 z4 "Verpiss dich!" EndIf Die Sache ist die, Nachdem ich zum Baum gegeangen bin und ihn gefragt habe und dann zurück zum Haus gehe und ihm die Nachricht überbringe, sollte er ja zuerst sagen "Baum hasst mich!? Du..." und erst wenn ich ihn das zweite mal anspreche, soll er sagen "Verpiss dich". Das habe ich ja versucht mit der Variable aufgabe2 zu lösen. Aber da es eine Schleife ist, wird die Variable aufgabe2 sofort auf 1 gestellt und somit sehe ich nur die Nachricht "verpiss dich" aber nicht "Baum hasst mich!? Du...". Hoffe das Problem ist jetzt Klar |
||
Ich bin der beste. |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich denke was gemeint war ist dass du den Wert von Aufgabe selbst raufsetzt auf 2, so das der Wert der Variable Auskunft darüber gibt, wie weit man im Quest ist. ( so haben wir es zumindest auf dem UO Freeshard immer gemacht bei den Quest NPCs ) | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Bigmichi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dreamora genau !! ![]() so hab ich es auch gemeint =) |
||
![]() |
lucifer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oder du setzt die variable auf -1 und am ende der schleife dann mit
Code: [AUSKLAPPEN] if aufgabe2 = -1 then aufgabe2 = 1 So löse ich das zumindestens bei meinem RPG. |
||
Konflaxx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke an an alle vor allem an lucifer, du hast mich nämlich auf ein Idee gebracht und jetzt funktioniert es. Ist zwar total unübersichtlich aber es funzt, danke! | ||
Ich bin der beste. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group