Problem mit if funktion
Übersicht

BassmasterBetreff: Problem mit if funktion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Wenn ich auf einen NPC im Spiel zu laufe und diesen durch betätigung der Enter Taste anspreche wird meine Abfrage gestartet. Der NPC fragt "Was wollen sie tuen: (1) Wiedergehen (2) Etwas Kaufen : " Mein Problem wenn ich jetzt z.b. die 1 drücke für Wiedergehen dann zeigt er mir nur ganz kurz das Wort "Cya" von dem NPC an. Also habe ich mir gedacht mach ich halt ein delay mit darein. In diesem Teil geht das ja noch. Aber bei dem "Etwas Kaufen" Teil da ist das mit dem delay ja Schwachsinn das kann ja gar net funktionieren. Hat vielleicht wer eine Idee wie man das Problem lösen könnte ? Code: [AUSKLAPPEN] Function npc_hallo() If KeyHit(28) Then If px = 3 Then If py = 8 Then FlushKeys npc = Input ("NPC: Was wollen sie tuen: (1) Wiedergehen (2) Etwas kaufen : ") FlushKeys If npc = 1 Then Delay 500 Print "Cya" FlushKeys FlushKeys If npc=3 Then Print "Was wollen sie kaufen? 3 = Schwert" FlushKeys If npc=3 Print "Spielfigur: Ich habe ein Schwert gekauft" End If End If End If End If End If End If |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
mach ne Meldungs liste wo jeder Eintrag einen Wert für die Sichtbare Zeit bekommt und dann zeigste die Meldungen einfach alle an
Genauso kannste auch Meldungen selber aus der Liste löschen wenn wenn du der Meldung eine Nummer gibst Einfach das Programm anhalten ist blöd . |
||
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ähm wie meinst du das jetzt mit Meldungsliste haste vielleicht ein beispiel für mich oder so ? | ||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] ;############################################################################### Type MessageType Field MSG$ Field Wait End Type Global Message.MessageType ;############################################################################### Function MessageAdd(MSG$,Wait=150) ;-------------------------------------- no last duplicates If Message<>Null Then If Message\MSG$=MSG$ Then Message\Wait=Wait Return EndIf EndIf ;-------------------------------------- Limit Messages Local c For Message.MessageType=Each MessageType c=c+1 If c=50 Then Delete First MessageType Exit EndIf Next ;-------------------------------------- Message.MessageType=New MessageType Message\MSG$=MSG$ Message\Wait=Wait ;-------------------------------------- End Function ;############################################################################### Function MessageFreeAll() Delete Each MessageType End Function ;############################################################################### Function MessageShowAll() Local y=0 Local fi=True Local tw=0 Local xMessage.MessageType xMessage=Message Local ysp=StringHeight("X") ;bmpTextHeight() Local c=0 Color 255,255,255 For xMessage.MessageType=Each MessageType c=c+1 If c>10 Then Exit ;Nur X anzeigen If fi=True Then fi=False If xMessage\Wait>0 Then xMessage\Wait=xMessage\Wait-1 EndIf tw=StringWidth(xMessage\MSG$) ;tw=bmpTextWidth(xMessage\MSG$) Text 4,y,xMessage\MSG$,0,0 ;bmpText 4,y,xMessage\MSG$,0,0 y=y+ysp If xMessage\Wait=0 Then Delete xMessage Next Return c End Function ;############################################################################### |
||
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
oh types damit hab ich mich noch nie beschäftigt. Ich glaub ich lad mir mal gleich das Types Tutorial von der robiste hp.
thx für die antowort :> |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei Keyhit machste MessageAdd "Hallo"
und in der Hauptschleife MessageShowAll |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group