Jump to content

davidloew

+Premium Members
  • Posts

    169
  • Joined

  • Last visited

Everything posted by davidloew

  1. <Snicker> That wasn't intentional, was it? its a) dark and rainy here and it supposed to be June? not enough coffee c) ok, it's intentional...
  2. The latest builder on the web site is and should be %100 backward compatible. Sometimes, when installing the builder it doesn't replace the ZonesEngine.dll and this causes the errors I've been seeing with others. The latest install on the Wherigo web site is what we call a release version (the executable and dll's are all "release" versions of the codebase). So, I would suggest a complete uninstall of the builder via the Control Panel, remove programs and then an install of the builder from the web site. David
  3. Olaf, Could you send me your cartridge? I haven't heard of this happening with the latest release so I'll test this with your cart. Try uninstalling the builder on your machine and reinstalling the latest version on the Wherigo web site. David
  4. The Exit/Save/Navigate isn't implemented yet on the Colorado so if a cart has this command, it will cause the colorado to error out. David
  5. you are correct, this is not yet supported on the colordo and wont be supported on ppc
  6. Ok, I just uploaded a release version of the builder install to the builder download on the web site. Please install this version.
  7. What operating system do you have? XP or Vista? If it's xp, what service pack do you have installed? David XP V 2.09 (Service Pack 2). I will try it on my vista machine this evening too. There has been mentioned before that SP3 was a problem as well. I can't seem to duplicate this and I have only heard a few people that have the problem. http://forums.Groundspeak.com/GC/index.php...zonesengine.dll Also, make sure you've removed all previous versions of the builder if there are any. Check the control panel, remove programs and see if any older versions of the builder are installed. remove all of them via the control panel and the install the new release. David
  8. What operating system do you have? XP or Vista? If it's xp, what service pack do you have installed? David
  9. Thanks for pointing this out. Right now, the builder is not coded to "undo" changes (you'll see that there is no cancel button either). David
  10. I've logged this as a bug. David
  11. There's a Get accessor on the Distance Object. So: local d = Wherigo.VectorToPoint(Player.ObjectLocation, zoneGroundspeak.Points[1]) print(d("m")) print(d("ft")) print(d("mi")) print(d("km")) Output (Reverse order) 0.11446612302836 0.071125951336915 375.54502362974 114.46612302836 David
  12. There is a library function to do this. It's called Wherigo.VectorToPoint(zonePoint1, zonePoint2). It returns a distance and bearing objects. Here's what I tested in the emulator: =Wherigo.VectorToPoint(Player.ObjectLocation, zoneGroundspeak.Points[1]) >>Distance(114.46612302836, 'm') 324.01455693943 <--- distance, bearing The two parms are zonepoints: ZonePoint(47.615414035258, -122.34195828438, Distance(0, 'm')) ZonePoint(47.614582, -122.341062, Distance(0, 'm')) Here's an example of finding the distance then creating a new point from that distance and bearing using a point from the zone. local d,b = Wherigo.VectorToPoint(Player.ObjectLocation, zoneGroundspeak.Points[1]) print(d) print( local newPoint = Wherigo.TranslatePoint(Player.ObjectLocation, d, print(newPoint) Output (in reverse order): >>ZonePoint(47.615414035261, -122.34195828439, Distance(0, 'm')) >>324.01455693943 >>Distance(114.46612302836, 'm') TranslatePoint uses Distance and Bearing: newpoint = TranslatePoint(pointToUse, distance, bearing) David
  13. The Colorado only supports JPEG's. The linker that creates the gwc file strips out the non supported graphics/sound for the target device (in this case, strips out everything but jpg's). A timer could be used to animate an image, but, it probably won't play very well due to the fact that the change image action would need to be executed every n seconds. David.
  14. The builder opens the cartridge and plays nicely with everything. In fact, I can add things through the builder, save the lua file, and open it in notepad to move what the builder wrote to the author section if I need to modify it further. I've been having a lot of success with that method. I like the hand-coding method as it's easier to do wild stuff. I have not needed to add anything for the ID attribute. Even without adding an ID, the player application will pick up on my new zones and store their state with the saved game. However, the array (I think they call it a "table" in lua) that keeps the object references is not stored with the saved game. If I wanted to store it, I guess I could add it to the list of builder variables. However... I'm concerned, though, because the builder might not understand array objects and, therefore, the code that saves the cartridge's state might not save the array properly. To get around this, I suppose I could always recreate the array based on object names (they're all zones beginning with the same name) when the cartridge is run again. If I don't do that and the user saves and opens the cartridge repeatedly, I'll end up with 20 or more inactive zones. Though I have the cartridge more or less in a complete state, there's a lot of cleaning up and niceties to build. By the way, is there a way to nullify or unload an object, such as a zone? Edit: By the way, did you know that I can't use the apostrophe in my comments? The builder doesn't like that and will refuse to open the cartridge code until I remove the offending apostrophe. You can set an object to nil in lua and that essentially deletes it: Nil is a type with a single value, nil, whose main property is to be different from any other value. As we have seen, a global variable has a nil value by default, before a first assignment, and you can assign nil to a global variable to delete it. Lua uses nil as a kind of non-value, to represent the absence of a useful value. The comment issue is a lua thing. The first thing that happens when the builder opens a cart is a lua "dofile". This validates the lua file as a valid lua object (parses it with the lua dofile command). If that works, then the builder manually parses the function statements. So, an apostrophe in a comment hoses the dofile. David.
  15. It shouldn't be a problem. Any version of the builder that is posted should be backward compatible. After all, what good is an install if it doesn't support all of the features before it. Net result, the 4/18 install should be the only and last install for everyone. David.
  16. if the file size and date are the same, then you have the correct ZonesEngine.dll. I haven't had any mass feedback that the 4/18 version is corrupt. Maybe there is something about your system settings. Usually, a dll not found error could be something about the file attributes etc. David.
  17. In short, the Colorado needs the math reference. I made the same mistake when I published my other cartridge. I didn't add the math requirement because it all worked out in the emulator without it. Sure, I tested it in the field, but I did one dumb thing: I compiled it in the Builder between testing it and publishing it to Wherigo.com. The builder has two funny quirks that are bad together: it will only spit out code it likes unless it's in the author functions section and it will implicitly save the code before compiling. Because of this, it will remove the math reference from the top and you'll be embarrassed when someone comes back and asks you why, after spending all that time playing the cartridge, it crashes at a certain spot and s/he can't even resume from a save point. To prevent the Builder from removing the line, stick it at the very top of your author functions section. The Builder will not touch or remove the line from this section. If anything else above the line uses math, you may have to move it to the author functions section as well. Though I have yet to confirm this fully, I believe you could actually move all Builder-generated functions to the author function section and the cartridge will work without a problem. ==================================================================== I hope some of you have found this post informative or at least entertaining to read and easy to follow. If you have comments, views, suggestions for other posts, or ways I can improve how I write this type of post, please feel free to share them. If you don't draw any value from such a post, that's okay as well. Once I get that cartridge out of the way, I'll consider writing more about how I coded the cartridge. It's my hope that explaining some of the things I have learned will help others to create more creative, high quality cartridges for everyone to enjoy. Just a note: I don't have inside information and I'm learning just like everyone else. So, no, I don't have all the answers and don't pretend to, but I'll share what I have. Great article. Thanks. It's funny that the emulator "doesn't" require math since it's the exact same code as the pocket pc only that it runs in a window on the desktop. I believe that math is required for the PPC player as well. David.
  18. The ID is used for the builder. But, if everything is in the author scripting section then it doesn't matter. Does the cartridge open in the builder at all? David
  19. I think a countdown timer gets a stop event, try that. Actually, so do duration timers, they actually start-stop-start David
  20. It could be. We are going to remove TerraServer since it's so old and use Google Maps. Can you try and edit a zone using the Edit Online? This will open up Google Maps. David.
  21. I'll fix #1. As for #2, you can just publish and it auto saves. So, Ctrl-M (publish to my machine) and then Ctrl-E opens the emulator with the currently published cart. David
  22. I can't seem to duplicate this problem. I just unistalled the builder and verified that the folder is gone. Then, I downloaded the latest (4/18) and installed and it runs fine. I suspected that the zonesengine.dll was a debug version, but, it's not for me. To verify, ZonesEngine.dll is 344KB with a date of 4/17/2008 3:28PM David
  23. I have exactly the same problem and same release backdated. I wait also new working release. Question: Did you install the app to the same folder as the dll? In other words, is the dll in a different folder than the application? David
  24. Just to clarify: I did delete the comment and all of the scripts from the event, leaving it perfectly blank and empty. The event then looked like this: When the player enters a zone (0) After saving the cartridge and reloading it into the builder, it looked exactly like on the screenshot I posted earlier, ie the event comment was back and it read: When the player enters a zone (1) Meaning that the event comment was automagically put into the event all by itself when it should have been empty. This behaves the same for all of the zone, item, character and whatnot events, btw. Anyone able to reproduce this? I'll log this as a bug and get it fixed. David. Just to clarify, looks like the delete was done editing the cartridge directly. When you delete the script lines and not the event (function) in the lua directly, the builder will pick this back up and add the comment to it. Sort of like holding the event open. If you do this in the builder, delete script from the object list will delete the function and all of the script. So, to get around this, you would delete the whole function block so that the event wouldn't show up in the builder. David
  25. Just to clarify: I did delete the comment and all of the scripts from the event, leaving it perfectly blank and empty. The event then looked like this: When the player enters a zone (0) After saving the cartridge and reloading it into the builder, it looked exactly like on the screenshot I posted earlier, ie the event comment was back and it read: When the player enters a zone (1) Meaning that the event comment was automagically put into the event all by itself when it should have been empty. This behaves the same for all of the zone, item, character and whatnot events, btw. Anyone able to reproduce this? I'll log this as a bug and get it fixed. David.
×
×
  • Create New...