• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Zu schnell geklickt

jonny65

Geomaster
Ist sicher bekannt aus eigenen oder Logs anderer Wherigos: "...da hab ich zu schnell geklickt und so ging ein Teil der Information verloren". Beim Stresstest meiner WIGs klick ich paarmal schnell auf den OK Button, auch wenn im Hintergrund schön viel passiert. Manchmal gelingt ein Absturz :/
Auf jeden Fall hab ich da was entdeckt, was zu wissen, interessant sein könnte, wenn mans nicht schon weiß : Ich hab einen Dialog mit einer Figur, der aus 4 Messages mit wechselnden Bildern besteht. Das erste mal wenn man die Figur anspricht, kommt halt "Hallo...blabla"...wenn man ihn das 2. mal anspricht kommt "Mehr kann ich dir auch nicht sagen...bla bla bla".
Jetzt erschien die Figur und ich hab 2 mal kurz hintereinander auf "Ansprechen" geklickt. Was kam ? "Mehr kann ich dir auch nicht sagen...." ! Das heißt der 1. Klick wurde verschluckt und der 2. hat gleich die nächste Message aufgepoppt. Es kam ja nicht die 2. Message vom Dialog (sollte man annehmen), sondern der KOMPLETTE Dialog mit 4 Messages wurde übersprungen und es kam stattdessen die Message aus dem Else Zweig.

Abhilfe : nicht zu schnell klicken, logo, oder wenns sehr wichtige Infos sind, kein Dialog sondern geschachtelte Messages (onClicked) verwenden.
Den gleichen Dialog beim Ansprechen nochmal anzeigen würde auch gehen, kommt aber irgendwie billig rüber. Dann noch eher sowas wie "Was ist denn noch ? Ich hab dir doch gesagt daß ...." und dann kommt ne kurze Zusammenfassung des 1. Dialogs.
 

kansu_makugen

Geocacher
Verschachtelte messages sind die eine Möglichkeit. Eine andere wäre, das Flag, dass den Else-Zweig auslöst, erst im Callback des Dialogs (also nachdem der Dialog durchgerattert ist) zu setzen. Ich vermute nämlich, dass du das Flag noch vor dem Dialog gesetzt hast, quasi gleich nach dem then.
So in der Art sollte es gehen:

If flag=false then
dialog
flag=true
else
message
end

In urwigo funktioniert der Callback bei Dialogen auf jeden Fall. In Earwigo hat ein Dialog per se keinen Callback. Man kann ihn aber per Funktion integrieren (was bei mir aber nicht geklappt hat und im Emu einen BSoD gebracht hat).

Aber das Thema "zu schnell geklickt" kenn ich nur zu gut.
 
OP
J

jonny65

Geomaster
Ahja, das macht Sinn, hab ich noch gar nicht von der "Hinterseite" betrachtet. *auf Hinterkopf hau*. Hat sich vermutlich so eingetrichtert "if flag=true > set flag=false > dialog". Man muss halt doch oft mal umdenken und kann nicht alles von andren Script- oder Programmiersprachen umlegen auf ein Wherigo.
Ich probiers jetz mal unten rein, ist dann im onclicked des Dialogs, es wurde zumindest bis jetzt nicht schlechter :/
 
Oben