Jump to content

I need help developing a Wherigo cache


Rathergohiking

Recommended Posts

I am developing my first Wherigo cartridge. It is very basic. (1) I have eight tasks, each in a different zone. (2) Once they are done, the final cache (physical) is revealed and the cartridge is marked complete.

 

The problem I am having, is once the eight tasks are done, I can't get the final location to pop up and complete the cartridge. Any advice?

 

If you would like for me to send you the cartridge for you to look it over, please send me an email.

 

Thanks!!

Link to comment

It might be worth describing how your cartridge works, ie. how you tell that the player has visited the first 8 zones. Normally players go to the first zone, which then activates the second zone, and so on, which would make activating the final cache zone no different.

 

At a guess from your description, you're allowing players to go to the first 8 zones in any order i.e. they are all displayed when you start. IF this is the case how are you keeping track of this and how are you currently trying to detect it and enable the final zone?

 

A_Snail

Edited by a_snail
Link to comment

It might be worth describing how your cartridge works, ie. how you tell that the player has visited the first 8 zones. Normally players go to the first zone, which then activates the second zone, and so on, which would make activating the final cache zone no different.

 

At a guess from your description, you're allowing players to go to the first 8 zones in any order i.e. they are all displayed when you start. IF this is the case how are you keeping track of this and how are you currently trying to detect it and enable the final zone?

 

A_Snail

 

I actually have nine zones, the last being the final zone. Right now, only the first eight appear on the GPS and they are numbered sequentially in thier title. The cache theme is finding eight benchmarks and then the final physical cach. Each zone is a benchmark, so all you have to do is get into the zone, which is generally within 10-15 feet of each benchmark.

 

What I want to do is to have each task pop up on the GPS as a task is completed. When the eighth task is done, the final task, which includes the coordinates to the physical cache, pops up on the GPS and the cartridge is marked as complete.

 

Again, if anyone wants to look at the file I am working on, send me an email.

 

Thanks!!

Edited by rathergohiking
Link to comment

you're still not explaining how exactly are you trying to accomplish this.

so in each zone's OnEnter, you pop up some messagebox saying "you completed a task", and now you don't know how to check for all task completed?

 

two ways to do this. one, straightforward but tedious: in each of the OnEnter events, put an if-then block. set the condition to: task1.completed is True AND task2.completed is True AND (etc)

and inside the if-then block, place the commands that display the final zone.

 

two. a little less straightforward and much less tedious. create a numeric variable and set it to 0.

then use the tasks OnSetComplete events. for each task, in the OnSetComplete, increment the variable by 1. then place an if-then block: condition is that the variable equals 8, and within that block, place commands to pop up the final zone

 

anyway, why don't you upload the source to the forum? if you're afraid about revealing some secrets, just delete zone coordinates from the file before uploading it

Link to comment

It might be worth describing how your cartridge works, ie. how you tell that the player has visited the first 8 zones. Normally players go to the first zone, which then activates the second zone, and so on, which would make activating the final cache zone no different.

 

At a guess from your description, you're allowing players to go to the first 8 zones in any order i.e. they are all displayed when you start. IF this is the case how are you keeping track of this and how are you currently trying to detect it and enable the final zone?

 

A_Snail

 

I actually have nine zones, the last being the final zone. Right now, only the first eight appear on the GPS and they are numbered sequentially in thier title. The cache theme is finding eight benchmarks and then the final physical cach. Each zone is a benchmark, so all you have to do is get into the zone, which is generally within 10-15 feet of each benchmark.

 

What I want to do is to have each task pop up on the GPS as a task is completed. When the eighth task is done, the final task, which includes the coordinates to the physical cache, pops up on the GPS and the cartridge is marked as complete.

 

Again, if anyone wants to look at the file I am working on, send me an email.

 

Thanks!!

 

OK, the best method I can think of at the moment that can be done through the builder (and no Author code) is to have a task which is to find each zone. When they enter the zone, the task is marked as complete for that zone, and then a check is made to see if every task has been completed. Only if all the tasks are complete do you go on to activate the final zone and display a message.

 

If you have any messages that pop up when you arrive at the zone, then I would put all the setting tasks and checking the tasks in the OK button for the message box. This is so that the message you probably want to display telling the player about the cache zone doesn't overwrite the message for the final one of the 8 zone the player visits.

 

You do get a lot of repetition this way, where you have to make the same huge check in 8 different places, but can do it all by clicking on things in the builder and it all reads logically.

 

Alternatives: have a counter (variable of type number) that starts at zero and goes up each time you mark the task as complete. Then all you need to do is check if the counter has reached 8 and if it has, activate the last zone. You will need to be careful to make sure you don't count up too high if someone jumps in and out of the same zone.

 

Alternatives: In Author code have a function that gets run each time you mark a zone as complete. The function has just once copy of the code that checks to see if its complete and then activate the final zone. I don't recommend this one for beginners.

 

Hope that gives you some ideas.

A_Snail

 

NOTE: If possible, try and get the cartridge tested on a Garmin Oregon before publishing, that device may run a bit slow at times with 9 zones running at the same time as tasks and anything else you might have running.

Edited by a_snail
Link to comment

a_snail: beat you to it ;)

(although granted, your explanation is more thorough)

 

Congrats :wub:

 

At least I got the final answer in that you didn't have. Between the two answers hopefully people should be able to work out what to do. Interesting we put the suggestions in the same order :P

 

Like Matejcik suggests, upload a zip file containing the information with the zone locations changed if you want. The forum is a place for all to learn, hence not contacting you directly (yet).

Link to comment
You do get a lot of repetition this way, where you have to make the same huge check in 8 different places, but can do it all by clicking on things in the builder and it all reads logically.

This is a good example of where Earwigo offers a substantial reduction in development time. In Earwigo, you would write the condition (task 1 complete and task 2 complete...) once, and you could then re-use that condition from each onEnter handler. Plus, when you decide to add or remove a task, there's only one place where you have to change it. (That still doesn't make it an "advanced builder" yet, though. :D)

Link to comment

Thanks for the great responses! I figured out the problems I was having and just published the cache on Wherigo.com and the cache page ihas been sent to Geocaching.com for approval. The cache name is "Got Benchmark?" and is in Traverse City, Michigan.

 

Wherigo.com

 

http://www.Wherigo.com/cartridge/details.a...a7-520c827cf409

 

Geocaching.com

 

http://www.geocaching.com/seek/cache_detai...b1-9a6de0f0086f

Edited by rathergohiking
Link to comment

I was also trying to create a Wherigo, but the cartridge returned strange characters when uploaded to the Oregon.

 

I restarted the creation of the cartridge, but it looks to me if the .lua file is spoiled or contains trash. Is there anybody who can help me out. I already asked Ranger Fox, and he will check some things... but I'm already to the 9th upload to Wherigo.com and the cartridge is still not doing what is is supposed to do.

 

In the emulator everything just works fine, but in my Oregon the first zone does not become visible and active, the first task does become active. Is there anybody who can read the lua file and perhaps check if the order in the file is OK, or if it contains trash...

 

Looking forward to any replies.

Greeting, Arjan.

Link to comment
In the emulator everything just works fine, but in my Oregon the first zone does not become visible and active, the first task does become active.
this looks like a typical case of OnClick to me...
Is there anybody who can read the lua file and perhaps check if the order in the file is OK, or if it contains trash...
why don't you zip up the lua file and post it here, so that we can all have a look?
Link to comment

The problem: A zone was not showing on the Oregon. The Colorado and emulator both worked correctly. The zone was set to inactive and invisible and the cartridge's start event was supposed to set it to active and visible.

 

Why it wasn't working: It seems the Oregon does not apply changes to a zone (perhaps other objects) until it is active. The cartridge author set the zone to be visible, then active in the cartridge's start event.

 

The solution: Switch the two lines. Make the zone active before making it visible.

 

That's just another quirk attributed to the Oregon. Forgive me if I'm not giddy about the prospect.

 

-----------

 

why don't you zip up the lua file and post it here, so that we can all have a look?
I imagine GEO BEAR wanted to keep the cartridge's code confidential so his players couldn't cheat that way. That or else just a little personal help. I don't mind.
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...