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

Urwigo: Gegenstand (item) in einer Zone erhalten

mr.magic

Geocacher
Liebe Community,

Seit 2 Tagen beschäftige ich mich nun ziemlich intensiv mit dem Urwigo Builder um meinen ersten wherigo zu basteln. Ich habe FAQ's und Tutorials "studiert", und der Anfang schien mir recht gut zu klappen.
So konnte ich die Zonen, Charakter, Gegenstände und Eingaben zusammenstellen, was soweit auch alles prima klappt.

Dennoch bin ich natürlich noch immer ein Greenhorn bezüglich dem "builden".

Nun beisse ich mir irgendwie fast die Zähne daran aus, wie ich es bewerkstelligen kann, damit man beim Eintreten in einer gewissen Zone einen Gegenstand erhält, und dieser dann im Inventory bleibt, so dass dieser später dann gemeinsam mit weiteren Gegenständen die man in weiteren Zonen erhält, bei der Final-Zone als "must have" fungiert, damit man den Final "aufschliessen" kann?

Ich weiss, wahrscheinlich gehört das noch zu den Basics, aber wie gesagt, ich fange gerade frisch damit an, und begreife im Urwigo einfach nicht, wie ich den bereits erstellten Gegenstand (und später weitere) in den einzelnen Zonen dem Spieler in den "Rucksack" legen kann, damit er diese dann fortan im Spiel bei sich hat?

Das wäre mal die primäre Frage im Moment.
Später würde ich dann natürlich auch noch gerne irgendwie herausfinden, wie man bei der Vor-Final-Zone verlangen kann, dass diese erhaltenen Gegenstände im Rucksack sein müssen, damit sich quasi die Final-Zone zeigt?

Um mein Vorhaben zu veranschaulichen würde das bezüglich den Items dann etwa so aussehen:

Zone 3) man erhält einen Laser
Zone 5) man erhält ein Prisma
Zone 9) man erhält einen Code

Vor-Final-Zone) Laser, Prisma und Code müssen präsent sein, damit sich die Final Zone zeigt. Fehlt auch nur eines davon, so muss zurück zur entsprechenden Zone gegangen werden.

Aber fangen wir vielleicht erst mal bei den Basics an. Wie ordne ich ein Gegenstand einer bestimmten Zone zu? So dass dieser beim Betreten der Zone mit einer kurzen Meldung mit Bild bei der entsprechenden Zone "aufpoppt"

Kurioserweise hatte ich kein Problem damit, bei einer anderen Zone eine Zahl zu verlangen, so dass bei korrekter Eingabe der Zahl die nächste Zone erscheint. Beim Gegenstand klappt dies aber irgendwie einfach nicht nach diesem "Muster"....

Für Eure Hilfe wäre ich Euch sehr dankbar.

Gruss mr.magic
 

Krolock

Geocacher
Hallo Mr.Magic,
dein erstes Problem ist recht einfach zu lösen.
Du nimmst einen Move-Baustein, setzt auf die linke Seite den Gegenstand, z.B Laser und auf die rechte Seite den Player.
Nun ist der Laser nicht einer speziellen Zone, sondern dem Spieler zugeordnet.
Das ganze packst du in den OnEnter Bereich der gewünschten Zone (also Zone3 für den Laser)
 

Anhänge

  • Move.png
    Move.png
    7 KB · Aufrufe: 1.505

Krolock

Geocacher
Das Vollständigkeitsproblem wird schon ein wenig schwieriger, aber nur ein wenig.
Wenn man fest definieren kann, dass es X Gegenstände gibt und der Spieler alle dieses Gegenstände haben muss, so kann man dies mit "Player.Inventory count" lösen.
InventoryCount.PNG
Das ganze in nen If/else Block gesteckt lässt sich benutzen um zu prüfen ob der Spieler alle (hier 3) Gegenstände eingesammelt hat.
VorFinal.PNG
Wenn du es feiner haben möchtest, so kannst du für jeden Gegenstand eine Variable vom Type Boolean (True/False) erzeugen, die du neben dem Move zum Spieler auf True setzt und im Vorfinal einzeln abfragst. Dann kannst du auch Nachrichten ausgeben à la "Es fehlt noch der Laser"
 
OP
M

mr.magic

Geocacher
Hallo Krolock,

Vielen Dank schon mal für Deine Hilfe.
Okay nun habe ich soweit verstanden, wie ein Item ins Inventory kommt, und das klappt auch ganz gut.
Aber wenn ich jetzt in dieser Zone 3 (die heisst bei mir Labor von Prof. Flux) bin, dann kommen nun zuerst 2 Screens (siehe Screenshot) bei denen zuerst 0, und dann 1 erscheint.
Ich gehe mal davon aus, dass dies so seinen Sinn macht, und nichts anderes ist, als der InventoryCounter, der ja jetzt mit dem Move vom Laser zum Player von 0 auf 1 zählt.
Kann man dies nun aber irgendwie so machen, dass dies der Spieler auf seinem Player nicht sieht?
Und z.B. anstelle dieser Beiden 0 und 1 screens nun ein Bild vom Laser angezeigt bekommt?

ItemInventory.jpg

Ich habe versucht dies mit einer Meldung einzubauen. Aber es heisst dann "diese Aktion überdeckt das Fenster einer vorangehenden Aktion".
Und wenn ich dann den Emulator starte, dann kommt zwar in der besagten Zone die Meldung über den Laser mit Bild, aber er ist wieder nicht mehr ins Inventory reingekommen.

Was mache ich nun hier noch falsch?

onenter_flow.jpg

Grüsse mr.magic
 

Krolock

Geocacher
Die beiden Message Bausteine hatte ich nur zur Demo eingebaut, damit man leicht testen kann.
mr.magic schrieb:
Kann man dies nun aber irgendwie so machen, dass dies der Spieler auf seinem Player nicht sieht?
Ja,einfach die Message Bausteine löschen
mr.magic schrieb:
Und z.B. anstelle dieser Beiden 0 und 1 screens nun ein Bild vom Laser angezeigt bekommt?
setze das Bild vom Labor beim Message Baustein (rechts gibt es eine Möglichkeit ein Bild zu setzen)

mr.magic schrieb:
Ich habe versucht dies mit einer Meldung einzubauen. Aber es heisst dann "diese Aktion überdeckt das Fenster einer vorangehenden Aktion".
Und wenn ich dann den Emulator starte, dann kommt zwar in der besagten Zone die Meldung über den Laser mit Bild, aber er ist wieder nicht mehr ins Inventory reingekommen.

Was mache ich nun hier noch falsch?
Der Wherigo läuft wie folgt ab:
du erreichst die Zone und die erste Message wird angezeigt.
Wenn du auf OK drückst, wird die Move Operation ausgeführt und die zweite Message anzeigt.
Normalerweise, denn bei deinem Code wird sofort nach der '0' die nächste Message "Du hast einen Laser erhalten" angezeit und damit das andere Fenster geschlossen. D.h du hast überhaupt keine Möglichkeit OK zu drücken und damit Move auszulösen.
Lsg:
Erst die Move Operation, dann die Messge "Du hast einen Laser erhalten" einbauen, Bei der Message das Bild einbauen.
MoveLaser.PNG
 
OP
M

mr.magic

Geocacher
Zunächst einmal vielen Dank dass Du dir die Zeit nimmst mir zu helfen, ich muss sagen, es ist für einen Neuling nicht allzu einfach einen ersten eigenen wherigo zu bauen... aber ich denke wenn der erste einmal steht hat man das schwerste überstanden ;-)

Okay, wenn ich es nun gemäss Deinem letzten Flow mache, dann klappt das nun wunderbar mit dem Laser ins Inventory bekommen, auch mit dem entsprechenden Bild, aber so habe ich dann ja keinen Inventory Count mehr...

Wie muss ich denn nun noch den Inventory Count miteinbauen?

Ich habe ja die Message Boxen gelöscht, damit eben dieses 0 und 1 vom Zählen des Inventory nicht angezeigt wird, nur habe ich damit dann ja auch keinen Counter mehr...

Und so wie ich das nun ausprobiert habe, kann ich den Inventory Count nur in Verbindung mit einer Message verbauen..?

Ich möchte ja, dass beim Betreten der Zone der Laser mit entsprechenden Meldung und Bild ins Inventory "gepackt" wird. Und das klappt natürlich auch wunderbar, wenn ich es exakt so mache, wie auf Deinem letzten Bild dargestellt.
Wenn ich nun aber versuche den Counter zu kombinieren, wie auf deinen ersten Bildern dargestellt, dann will das so nicht mehr funktionieren.

Müsste ich evtl. den Counter statt mit Message irgendwie mit Set einbauen? (versucht habe ich es schon, aber geklappt hat es noch nicht)...

Ziel wäre ja:

Beim Betreten der Zone 3 kommt die Meldung und das Bild über den Erhalt des Lasers, der ab dann auch im Inventory vorhanden ist.
--> Gleichzeitig zählt der Inventory Count aber "heimlich" und "silent" mit, ohne dass der Spieler das mitbekommt.

Ich habe dies nun so versucht zu kombinieren, aber das klappt einfach nicht:

inventorycount.jpg
 

izaseba

Geomaster
Hallo,
eine Frage.
Was hast Du mit dem Inventarcount vor?
Ich verstehe nicht ganz, was Du möchtest :D
Wenn es darum geht, zu prüfen, ob der Spieler alle drei Items eingesammelt hat, kannst Du das mit einer if Abfrage machen.
Leider hab ich jetzt keinen Win Rechner greifbar um Dir ein Screenshot zu machen, aber ich versuche es zu beschreiben.

Also, wenn(if) Spieler Laser UND Prisma UND Code hat -> Zone aktiv setzen, sonst (else) Message "Du hast noch nicht alles eingesammelt"

Ich hoffe, das ist so verständlich :eek:ps:

Gruß Sebastian
 
OP
M

mr.magic

Geocacher
Hallo Sebastian,

Nun, ich dachte das mit dem InventoryCount sei die einzige Möglichkeit um prüfen zu können ob bei einer bestimmten Zone (Vor-Final) auch wirklich alle Items eingesammelt wurden?
Denn nur wenn man alle drei Items im "Rucksack" hat, soll eine Zone sichtbar werden.

Nun, vielleicht verlange ich von mir als Newbie etwas viel für den Anfang, aber ich werde einfach nicht aufgeben und versuchen die Ideen umzusetzen ;-) Mit dem Effekt, dass ich am Schluss dann auch ich der Lage bin, dass ich wherigos schreiben (oder zumindest grafisch zusammensetzen) kann....
Ich schildere mal "kurz" und in groben Zügen wie mein Wherigo aussehen soll, damit man die Zusammenhänge besser versteht:

Start-Zone:
sichtbar, bei Betreten Aufforderung zum Zeit-Brunnen zu gehen und dort eine Zahl zu suchen.

Zeit-Brunnen:
wird jetzt sichtbar und bei Betreten Aufforderung die gesuchte Zahl einzugeben. Ist die Zahl richtig dann Anzeige und Aufgabe für die nächste Zone "Zeit-Portal". Wenn falsch dann mittels Variable "falsche Antworten" vor dem Final eine Zone mehr aufzusuchen, die nächste Zone und Aufgabe "Zeit-Portal" jetzt trotzdem sichtbar. Aufgabe: finde den Laser.

Zeit-Portal:
Bei Betreten erhält man den 1. von 3 Gegenständen, einen Laser. Nächste Zone wird sichtbar, das "Labor".

unterwegs zum Labor durchquert man eine nicht sichtbare Zone, das heisst der Spieler weiss nicht, dass er durch eine Zone geht. (Der Weg ist natürlich so ausgewählt mit über eine Brücke gehen, dass der Spieler gar keine andere Wahl hat als durch diese "Hidden" Zone zu gehen.

Hidden Zone:
Hier wir dem Spieler durch ein unbekanntes Wesen der Laser wieder abgenommen. Der Spieler erhält mittels einem Timer die Möglichkeit innerhalb von 30 Sekunden die andere Seite der Brück zu erreichen, dann erhält er den Laser zurück, schafft er dass nicht in den 30 Sekunden, dann muss er nochmals eine andere Zone aufsuchen um sich den Laser zurückzuholen bevor er dann endlich ins Labor gehen kann.

Labor:
Hier erhält der Spieler einen Code in Form eines Gegenstandes (der dient aber nur der Komplettheit halber damit am Schluss alle Items geprüft werden können, denn der eigentliche Code muss physisch mit UV-Licht gesucht werden) und die Weisung sich diesen merken zu müssen. Die nächste Zone wird nun sichtbar, das zu Hause vom Professor. die nächste Aufgabe wird ersichtlich. Suche das Prisma.

Haus vom Professor:
Hier erhält der Spieler nun das Prisma und die Weisung/Aufgabe zur Zone Zeitmaschine zu gehen.
Die Zone Zeitmaschine wird nun sichtbar.

Zeitmaschine:
Es wird nun geprüfft ob der Spieler die Items Laser, Code und Prisma im Rucksack hat.
Wenn ja, dann erfolgt die Eingabe für den Code. Wenn nein, dass soll der Spieler zurück zur entsprechenden Zone des "missing items" gehen müssen.
Wurde der richtige Code eingegeben, dann "startet" die Zeitmaschine und der Spieler sieht entweder die "Strafzone" bei falscher Eingabe der Zahl beim Zeit-Brunnen" oder aber den Vor-Final wenn er beim Zeit-Brunnen die richtige Zahl eingegeben hatte.
Gleichzeitig spuckt die "Zeitmaschine" wenn alle Items vorhanden, und keine Strafzone, Koordinaten heraus. Ansonsten gibts die Koordinaten erst in der "Strafzone".

Koordinaten-Vor-Final:

Hier beginnt dann eine physische Leuchtspur der nachts nachgegangen werden kann und einem zum Final führt. Das heisst hier wird die Final-Zone dem Spieler zunächst bis zum Ablaufen der Leuchtspur dann nicht angezeigt, am Ende der Leuchtspur wird die Final-Zone dann natürlich aktiv (beim Betreten) und es erfolgt der Spolier für das Versteck.

So in etwas soll das eines Tages (oder Jahres, je nachdem wie schnell ich das alles verstehe mit dem Builder ;-) aussehen) Das Ganze dann natürlich noch mit ner netten Story geschmückt...


Nun, immerhin bin ich jetzt schon mal beim Zeit-Portal, also dort wo das erste Item liegt.
Nun versuche ich das mit dem Items bei der Zone Zeitmaschine mal mit nem einfachen If/Else umzusetzen, bevor ich mich dann ins nächste Abenteuer dem "Timer" und der Hidden Zone" stürze ;-)

Danke jedenfalls schon mal an Beide für Eure Tipps und Hilfe... aller Anfang ist eben schwer und wahrscheinlich hätte ich mal lieber mit nem einfacheren Wherigo anfangen sollen... aber ich möchte unbedingt gleich die erste Idee umsetzen und keinen "ich lauf 2 Zonen und bin beim Final wherigo" machen.... :)
 

Team Eifelyeti

Geomaster
mr.magic schrieb:
Liebe Community,

Seit 2 Tagen beschäftige ich mich nun ziemlich intensiv mit dem Urwigo Builder um meinen ersten wherigo zu basteln. Ich habe FAQ's und Tutorials "studiert", und der Anfang schien mir recht gut zu klappen.
So konnte ich die Zonen, Charakter, Gegenstände und Eingaben zusammenstellen, was soweit auch alles prima klappt.
Hallo,

um mal nicht direkt auf Deine Frage zu antworten ;) - s. Fettungen von mir aus Deinem Ausgangspost. Erstmal Respekt, daß Du in so kurzer Zeit schon so weit bist.

Um Jetzt aber auf Deine Frage zurückzukommen, antworte ich mal ganz allgemein (was mir, nach dem verstehen) ziemlich geholfen hat.

Also - wenn Du eine neue Zone definierst, dann ist sie am Anfang total leer und ohne Action.

Jede Aktion in der Zone muss von Dir programmiert werden.

Characters / Items - diese definierst Du zwar als "Grundgerüst" im Punkt "Characters" oder "Items", aber das war's dann auch schon. Sollen diese in einer Zone auftauchen, müssen sie erst dort hingebracht (move) und sichtbar (Set Cahracter/Item visible = true) gemacht werden. Erst dann sieht der Spieler sie auf dem Gerät. Dann kannst Du in dieser Zone Aktionen durchführen lassen, die diese Objekte in das Inventar des Spielers verschiebt (move... to player), wo sie denn auch verbleiben, wenn Du sie nicht durch irgendwelche aktionen dort wieder rausholst.

Grundphilosophie der Wherigoerstellung - jede noch so einfache Aktion muß in Hömmele Scheibchen zerlegt und programmiert werden.

Wenn Du diese Grundphilosophie verinnerlicht hast, kannst Du mit den verschiedenen Befehlen, Funktionen, etc. rumspielen und ausprobieren. Nach ca. 20-25 Stunden hast Du diese Basics ziemlich drauf und kannst darauf aufbauen. Der "Rest" kommt dann ziemlich vonn alleine.

So waren meine Erfahrungen zu Anfang, wesewegen ich dies hier einfach mal poste.

Und die m.E. wichtigste Lektion für einen Wherigo scheinst Du ja schon gelernt zu haben - eine spannende, witzige, interessante, etc. Hintergrundstorry ist das A und O eines Wherigos. Wenn dann noch die Locations zur Storry passen - perfekt. Die entsprechende Umsetzung im Builder kommt dann, wenn auch als etwas zäher try and error Prozess, fast von selbst.

Hoffe mal, daß diese Allgemeinbeschreibung Dir weiterhelfen kann.

Viel Spaß bei dem Erstellen Deines Wherigos.

LG
Team Eifelyeti

BTW - Du kommst doch hoffentlich aus dem Großraum Aachen/Nordeifel? Dann hätten wir demnächst ja wieder einen neuen Wherigo in der Nähe *Jubel*Freu ;)
 
OP
M

mr.magic

Geocacher
Hallo Team Eifelyeti,

Danke für Deine Schilderungen und Allgemein-Verständlichkeiten, das hilft mir aber sicher :)
Ich bin froh um jeden Input, denn manchmal habe ich plötzlich wieder das Gefühl das ich das nicht hinbekomme, und dann funktioniert doch wieder ein kleines Feature, ein kleines Item dass im Rucksack auftaucht und finde die Motivation gleich wieder weiterzumachen...
Es ist wirklich wie Laufen oder eine Sprache lernen... im Moment bin ich noch bei "Füsschen vor Füsschen setzen" oder bei "My name is"...

Aber jeder kleine Mini-Erfolg gibt mir die Kraft und den Willen die nächste Hürde anzupacken...

Das Netz gibt zwar bereits viele Fragmente bezüglich dem Builder her, aber den Anfänger Kurs schlichthin habe ich so nicht gefunden. Aber wie Du gesagt hast "Try and Error"... damit komme ich sicherlich irgendwann ans Ziel... und der zweite Wherigo eines Tages dürfte dann doch gleich um einiges einfacher sein...
Aber erst mal den Ersten packen...

Nun, ich komme aus der Schweiz, da ich aber in unserem Ländle nicht gerade viel bezüglich wherigo finden kann, und es gerade mal ein paar Finger voll wherigos bei uns gibt, dachte ich, jetzt muss da mal was gehen.... und so landete ich im Geoclub... natürlich war ich aber auch schon das eine oder andere mal im schönen (Geocaching) Land Deutschland unterwegs... zuletzt gerade vor einigen Tagen im FoF ;-)

Also entweder kann ich einen Eurer Reviewer eines Tages überzeugen, dass ich einen wherigo im Grossraum Nordeiffel publishen lassen kann, oder aber Du müsstest einfach mal in die schöne Schweiz etwas cachen kommen ;-)

Danke fürs Mut machen und die nächste Frage hier kommt bestimmt... wahrscheinlich dann bezüglich Hidden Zone und Timer... ;-) aber ich probiere und bastle natürlich erst einmal ein wenig...

Liebe Grüsse,

Thorsten (alias mr.magic)
 

izaseba

Geomaster
Hallo,
ich habe es doch an meinen Win Rechner geschafft :roll:
Ich habe Dir ein Ausschnitt aus unserem Wherigo gemacht.
Wir haben so was auch gemacht.
Man muss 3 Gegenstände finden, damit sich eine weitere Zone öffnet, schau Dir das mal an.

Es ist eine einfache AND Verknüpfung.

Gruß Sebastian
 

Anhänge

  • ifelse.JPG
    ifelse.JPG
    72,4 KB · Aufrufe: 458

izaseba

Geomaster
Noch was.
Da man bei uns alle drei Gegenstände in beliebiger Reihenfolge erreichen kann, haben wir diesen Konstrukt bei jedem Gegenstand drin.
Es steckt in einem Command mit dem Namen "nehmen"
Also jedes mal, wenn ein Gegenstand aufgenommen wird, wird geprüft, ob der Spieler alle Sachen schon hat, oder nicht.

Wenn Du das nur beim betreten einer Zone prüfen willst, käme diese if/else Abfrage in den On Enter Event rein.

Und bezüglich Newbie/ nicht Newbie, probieren ist die beste Möglichkeit sowas zu erlernen.

Es ist beim Wherigo sogar besser, wenn man keine Programmiererfahrung hat, sonst packt man sich manchmal am Kopf, wie unsauber man programmieren muss, damit alles so funktioniert, wie man es möchte.

Viel Erfolg, die Story gefällt mir sehr gut, ich bin sicher, damit wirst Du ein Paar Fav. Punkte sammeln ;)

Gruß Sebastian
 
OP
M

mr.magic

Geocacher
Ich hab das Item Problem nun mal auf die einfache Art mit if/else gelöst, und das scheint ja soweit zu funktionieren. Ich denke später versuche ich es dann aber noch mit den AND's oder gar den "nehmen" Kommandos.

Jetzt aber zu einem weiteren Problem, wie ich mir schon gedacht habe, bekomme ich das mit dem Timer nicht ganz so hin, wie ich es mir vorstelle.

Ziel:

Auf dem Weg vom Zeit-Portal (abgeschlossene Zone mit Erhalt des Lasers (Ionenpuls-Kondensator) zum Labor geht man durch eine versteckte Zone (hidden) die der Spieler gar nicht sieht.
Sobald der Spieler durch diese Zone geht, soll eine Meldung auftauchen die dem Spieler erklärt dass er nun in ein Wurmloch gekommen ist und wenn er nicht innerhalb von 30 Sekunden in die nächste Zone (WurmlochEnde) kommt, dann ist der Laser (Ionenpuls-Kondensator) wieder weg.
Falls der Spieler nun also mehr als 30 Sekunden gebraucht hat um in die Zone "WurmlochEnde" zu kommen soll er nun aufgefordert werden in die Zone "RandDesUniversums" zu gehen, um sich dort den Laser (Ionenpuls-Kondensator) wieder zu beschaffen.
Wenn der Spieler es innerhalb von den 30 Sekunden geschafft haben sollte, dann darf er natürlich gleich direkt zum Labor und das Item bleibt ihm auch ohne Umweg erhalten.
Während dem die 30 Sekunden des Timers laufen, sollen die ablaufenden Sekunden dem Spieler angezeigt werden
Ich habe dies nun einmal wie auf den beigefügten Bilder versucht umzusetzen.
Zuerst einmal zwei Timers gemacht. Einen als Countdown, der andere als Interval.

timers.jpg

Dann einen Timer mit OnElapsed definiert:

TimerOnElapsed.jpg

Nun funktioniert aber so natürlich noch nichts. Ich verstehe nun irgendwie noch nicht ganz wie ich bei der HiddenZone "Wurmloch" bei OnEnter den Timer aktiviere und gleichzeitig die "WurmlochEnde" Zone miteinbeziehe, so dass bei dieser dann geprüft wird, ob der Timer schon abgelaufen ist und dann ensprechend das Item (Laser-IPK) in die "UniversumRand" Zone verschoben wird, oder aber bei Einhalten der Timer-Zeit die nächste Zone (das ursprüngliche Ziel das Labor) angezeigt wird.

Irgendwie mache ich hier noch irgendwelche Denkfehler und weiss gar nicht mehr wo ich beim OnEnter der Wurmloch Zone am Besten anfangen soll? Mit einer if/else? und wie baue ich dann den Timer mit Anzeige dort ein?

Wahrscheinlich gibt es auch hier mehrere Wege um das oben beschriebene Ziel umzusetzen, aber irgendwie hab ich grad wieder mal Tomaten auf den Augen...

Ich geh jetzt erst mal ne Runde schlafen, vielleicht erscheint mit die Wurmloch-Timer-WurmlochEnde-RandDesUniversums Lösung ja noch im Traum ;-)

Nein, für einen Tipp, Lösungsansatz oder ein Timer Beispiel wäre ich nochmals sehr dankbar.

Liebe Grüsse,

Thorsten (alias mr.magic)
 

Krolock

Geocacher
Hallo Thorsten,
dein TimerIPK ist schon ganz gut umgesetzt.
Ich würde fogenden Ablauf nehmen:
Kurz vor dem Annähern an die Zone RandDesUniversums wird der User informiert, dass er gleich die Geheimzone betritt und dann schnell WurmlochEnde suchen muss.
Dies geht mit On proximity Event.
wurmloch1.PNG
Denn ansonsten vergehen wertvolle Sekunden bis der Spieler die Nachricht gelesen und verstanden hätte. Ich käme mir als Spieler verar****t vor, wenn zu plötzlich eine unvobereitete Stresssituation entsteht. Die meisten Spieler würden es wohl nicht rechtzeitig schaffen. Alternative wäre die Zeit des Lesens und Verstehens mit einzukalkulieren.
Beim Eintritt in die Zone RandDesUniversums läuft der Timer los und eine Message "Los" erscheint. Spätestens hier solltest du WormlochUmgangen auf False setzen.
wurmloch2.PNG
On elapsed sieht ganz gut aus.
Ich würde jedoch die Namensänderung sowie die "zu langsam" Nachricht in den OnEnter Bereich der WurmlochEnde Zone schieben, denn unterwegs bist du doch mit Laufen beschäftigt und wenn auf einmal die Zone WurmlochEnde verschwunden ist und stattdessen anders heißt, ist das schon irretierend.
wurmloch3.PNG
 
OP
M

mr.magic

Geocacher
Hallo Krolock,

Danke für Deine Hilfe bezüglich des Timers.
Ich habe nun OnProximity on OnEnter des Wurmlochs gemäss Deinem Flow definiert, genauso wie dem TimerOnElapsed und WurmlochEndeOnEnter.

Beim Annähern an die Wurmloch Zone erscheint nun die Meldung mit dem Auftrag sich zu beeilen und die Zone WurmlochEnde zu erreichen. Soweit so gut. Aber irgendwie scheint der Timer nichts zu machen. Selbst wenn ich innerhalb der definierten 30 Sekunden nun in die Zone WurmlochEnde gehe, erhalte ich die Meldung "du warst zu langsam", und ich wenn ich es nun gemäss Deinem Flow umsetzem dann zeigt er jetzt ja so auch die Ablaufenden Sekunden (Intervall Timer) gar nicht an.

Im Emulator wirkt das ganze nun so:

Wurmloch OnProximity funktioniert.
wurmloch_emu1.jpg

WurmlochOnEnter scheint auch okay zu sein:
wurmlochOnEnter.jpg

Danach geschieht aber nicht mehr sehr viel. Ausser dass bei WurmlochEnde (egal ob nach 5 oder 50 Sekunden immer gleich die "zu spät" Meldung kommt:
WurmlochEnde.jpg


Ich erhalte nun also beim Betreten des Wurmlochs einfach keine Timer-Anzeige.
Und im Moment kann der Spieler so oft er will zu WurmlochOnProximity, WurmlochOnEnter und WurmlochEnde gehen. Irgendwie startet jedesmal wieder alles von vorne, obschon noch nicht einmal ein Timer in Funktion zu sein scheint.
Sinnvoll wäre natürlich schon, dass der Spieler nur eine Chance hat von Wurmloch nach WurmlochEnde innerhalb der 30 Sekunden zu gelangen, und bei nicht rechtzeitigem Erreichen dann in die Strafzone muss.
 
OP
M

mr.magic

Geocacher
TimerOnElapsed:
TimerOnElapsed.jpg

Vielleicht mache ich ja auch noch falsch mit der Variable für das WurmlochUmgangen?
Ich muss eingestehen, dass ich mir das mit der Variable mal einfach aus einem anderen Timer Beispiel abgekupfert hatte, und richtig zu verstehen, wozu diese Variable eigentlich dient...

VariableWurmloch.jpg
 

Krolock

Geocacher
Hallo Tobias,
der Denkfehler lag bei mir (Ich hätte die Variable nicht WurmlochUmgangen, sondern andersherum LaufeStrafrunde genannt)
Dementsprechend hab ich auch die Werte vertauscht.
Vor dem Start des Timers muss du WurmlochUmgangen auf True setzen.
Wenn der Timer abläuft, unabhängig wo der Spieler sich befindet, setzt du ihn auf false
Beim Erreichen der Zone stoppt der Timer (bereits korrekt impl.)

Beim Erreichen von WurmlochEnde deaktivierst du zusätzlich noch das Active von Wurmloch, so kann dort OnEnter und das Zurücksetzen des Timers nicht ausgelöst werden.
 
OP
M

mr.magic

Geocacher
Hallo Krolock,

Ich habe nun der Einfachheit-halber die Variable nach "LaufeStrafrunde" unbenannt und vor dem Start des Timers die Variable auf True gesetzt und nach Ablauf des Timers auf false.
Dazu bei WurmlochEnde onEnter das Wurmloch active auf false gesetzt.

Aber der Effekt ist nun der, dass beim Betreten des Wurmlochs nun zwar die Aufforderung kommt sich zu beeilen und WurmlochEnde zu erreichen, bei WurmlochEnde dann aber unabhängig davon wie viel Zeit man gebraucht hat, immer der Erfolg eintritt "gut gemacht Meldung".

Es scheint so, als hätter der Timer irgendwie noch immer keine Wirkung. Auch sieht man im Emulator auf dem PocketPC noch immer keine herunterzählenden Sekunden eines Timers.
Müsste ich nicht noch irgendwo den Intervall-Timer auch noch miteinflechten?
Aber gut das mit den Anzeigen der Herunterzählenden Sekunden wäre einfach schick, aber kein musthave... zuerst soll mein Ziel erst einmal sein, dass das mit dem Timer überhaupt läuft...

Irgendwie verliere ich gerade den Überblick mit dem Timer.... hilfeee....
Das kommt wahrscheinlich davon wenn man zu lange am Stück im Builder war... ;-)

TimerOnElapsed:
TimerOnElapsed.jpg

WurmlochOnEnter:
WurmlochOnEnter.jpg

WurmlochEndeOnEnter:
WurmlochEndeOnEnter.jpg
 
Oben