KeyHit problem
Übersicht

Gehe zu Seite Zurück 1, 2, 3, 4 Weiter
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie auch aus meinem code zu lesen ist soll er immer wieder aus und an gehen!
Daher bei mir mit millisec ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, aus deinem Code ist zu lesen...
Code: [AUSKLAPPEN] If MilliSecs()>=ms+1000 And blinkerrechtsstatus=1 Then ...das der Blinker nach einer bestimmten zeit wieder aus geht... Ich stell solche Fragen nicht umsonst, und ich bitte dich auch nicht umsonst klar zu stellen, was du möchtest; Aus Code der "nicht funktioniert" kann ich eben nicht ablesen, was deine Intention ist, oder? Der Code, tut, was da steht. Wenn du nicht erklärst, was du stattdessen möchtest - ich hab das Gefühl mich zu wiederholen - kann man dir nicht helfen.
PseudoCode: [AUSKLAPPEN] Wenn Zeit um Dann
- Ändere Status -Wenn Status... Dann --neue Textur -Wenn aber Status ... Dann --neue Textur -EndeWenn EndeWenn |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Lapiz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann mach es doch so:
Code: [AUSKLAPPEN] If KeyHit(57) then Hilfsvariable= 1-Hilfsvariable
Das benutzt du um den Blinker an und aus zu schalten. Code: [AUSKLAPPEN] If Hilfsvariable=1
If blinkerrechtsstatus=1 ändere Textur Zeit zurücksetzen Elseif blinkerrechtsstatus=0 ändere Textur Zeit zurücksetzen Endif Endif Hier fragst du erst ab, ob der Blinker eingeschaltet ist (Hilfsvariable=1) und schaust dann welchen Wert blinkerrechtsstatus hat. Dann musst du nur noch abfragen ob die richtige Zeit vergangen ist und dann blinkerrechtsstatus auf den jeweils anderen Wert setzen. |
||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und wie baue ich dann die Zeit ein? | ||
Lapiz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das hattest du doch schon in deinen vorherigen Posts mit Millisecs() und ms gemacht.#
Du musst nur fragen wann die richtige Zeit vergagnen ist. Benutze als Varibable dafür am besten weiterhin ms. |
||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
So ganz klapps ned!
Wie würdest du des machen! |
||
Lapiz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich möchte dir jetzt nicht den gesamten Code schreiben.
Wenn du mir sagst was du schon hast oder was nicht funktioniert kann ich oder jemand anderes dir eventuell helfen. |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
da gibt es von mir ein Tutorial zu Timer() und Millisecs()
https://www.blitzforum.de/foru...hp?t=34436 ...und darin auch ein Beispiel zum Blinken, hier etwas abgewandelt: BlitzBasic: [AUSKLAPPEN] Repeat Vielleicht kannst Du was daraus lernen? |
||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hab das jetzt so gelöst doch dann kommt immer Endif without if
Oder sollte ich das anders machen? Oder habe ich iwas vergessen? Code: [AUSKLAPPEN] If KeyHit(52) Then Blikerrechts=1- Blikerrechts
EndIf If Blikerrechts=1 Then If BlinkFlag=1 Then EntityTexture Blinkerrechts,Blinkeran EndIf If BlinkFlag=0 Then EntityTexture Blinkerrechts,Blinkeraus EndIf If BlinkTimer<MilliSecs() If BlinkFlag=1 Then BlinkFlag=0 Else BlinkFlag=1 EndIf BlinkTimer=MilliSecs()+300 EndIf EndIf |
||
primero |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Erste Zeile hat einen Fehler.
Wenn du die Follgen der If-Bedingung in der selben Zeile schreibst wird kein "Endif" erwartet, d.h. du hast momentan ein endif zuviel. wenn du die Schleife der Übersichtlichkeit wegen immer mit endif beenden willst, solltest du nach der If-bedingung eine neue Zeile beginnen. |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn Du "Endif without if" oder "expecting ..."-Fehler bekommst würde ich Dir einfach mal raten Deinen Code sauber einzurücken, d.h. jedem If sein endif zuzuordnen, jedem While sein wend etc. Dann siehst Du recht flott wo der Fehler liegt.
Das ist Arbeit die Du selbst tun musst, denn nur so lernst Du deinen Code sauber zu strukturieren. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn Du eine IF-Konstruktion in eine einzige Zeile schreibst, wie in deiner 1. Zeile...
BlitzBasic: [AUSKLAPPEN] If KeyHit(52) Then Blikerrechts=1- Blikerrechts ...dann braucht es dafür keine ENDIF mehr in Zeile 2! Um solche Fehler zu vermeiden, rate ich immer zu dieser Schreibweise: BlitzBasic: [AUSKLAPPEN] If KeyHit(52) Then Auch hierfür habe ich ein nettes Tutorial geschrieben, das "Fehler suchen"-Tutorial: https://www.blitzforum.de/foru...hp?t=33510 |
||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok danke aber iwo fehlt wieder ein if
Doch ich sehe es nicht! Code: [AUSKLAPPEN] If KeyHit(52)
Then Blikerrechts=1- Blikerrechts EndIf If Blikerrechts=1 Then If BlinkFlag=1 Then EntityTexture Blinkerrechts,Blinkeran EndIf If BlinkFlag=0 Then EntityTexture Blinkerrechts,Blinkeraus EndIf If BlinkTimer<MilliSecs() If BlinkFlag=1 Then BlinkFlag=0 Else BlinkFlag=1 EndIf BlinkTimer=MilliSecs()+300 EndIf EndIf |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein letztes mal: Rücke deinen Code sorgfältig ein, dann siehst Du deine Fehler. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Toasty |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bei If Blikerrechts=1 Then ist das...
PS: Versuch das mal übersichtlicher zu machen ![]() Z.B. So: Code: [AUSKLAPPEN] If Blikerrechts=1 Then
;Tu das EndIf Immer ein Tab dazwischen lassen |
||
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President! |
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das habe ich doch getan! | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn Du es korrekt getan hättest, was (wie man an deinem geposteten Code ja sehen kann) nicht geschehen ist, hättest Du ja keinen Fehler.
Versuch doch bitte nicht Fakten wegzudiskutieren. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
primero |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
in dem Teil deines Codes den du gepostet hast stimmen alle if's - mengen. Der Fehler muss in einem anderen Teil des Codes liegen. | ||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja die habe ich auch schon angeguckt und gesehen das alle Ifs da waren der einzigste Fehler lag daran das:
Code: [AUSKLAPPEN] If KeyHit(52) [b]Then[/b]
Blikerrechts=1- Blikerrechts EndIf If Blikerrechts=1 Then If BlinkFlag=1 Then EntityTexture Blinkerrechts,Blinkeran EndIf If BlinkFlag=0 Then EntityTexture Blinkerrechts,Blinkeraus EndIf If BlinkTimer<MilliSecs() If BlinkFlag=1 Then BlinkFlag=0 Else BlinkFlag=1 EndIf BlinkTimer=MilliSecs()+500 EndIf EndIf Das das Markierte Then eine zeile Tiefer stand! Jetzt geht der Blinker einwandfrei Ich danke allen die mir geholfen haben! Besonders Midimaster für seine guten tutorials! DANKE! mfg PhillipB. |
||
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gottseidank das midimaster sich einmal im Namen der Community die Mühe dazu gemacht hat. | ||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
Gehe zu Seite Zurück 1, 2, 3, 4 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group