Jump to content

Tydirium

+Premium Members
  • Posts

    66
  • Joined

  • Last visited

Everything posted by Tydirium

  1. Just to add to this as I have used the math.random function in my last couple of carts. It would appear that the emulator and the PPC both auto seed the random number generator, but it seems that Colorado may not be doing so. You may find out that the Colorado keeps "randomly" picking the same numbers. I seeded my random number generator with a call to math.randomseed( os.time() ) Then I found out that the first number always seemed to be the same so I found out it was a good idea to "pop" a few calls off to math.random() to get better "randomness".
  2. No problem, glad I could help.
  3. Yeah you should be able to open it up in the builder without any problem (make a back up just in case though ). I just moved the Stage 3 check into the larger if/else block. I know what you're talking about when it comes to moving lines up/down via the builder; it doesn't always workout.
  4. I was quickly looking at this and noticed something; this is just a first gut feeling, but it wouldn't hurt to try. In your OnTalk() function you have a series of if else statements; right after the Stage 7 if there is an empty else, then some ends and then another if (for stage 3). What might be happening is when Stage==6 and the CB4 is called the script still has to go back and check whether or not the Stage==3 or not. This may be causing the problem. Just to clean up the code and see if it helps I would suggest the following: Notice I moved the check for Stage 3 into the if else block so that once one of the conditions is met, it won't come back and try to check again. Let me know if that helps. function zcharacterScooby:OnTalk() -- #GroupDescription=Script -- -- #Comment=Script Comment -- if Stage == 1 then Wherigo.MessageBox{Text=[[I ROVE ROU RHAGGY!!! Hee Hee Hee Hee.]],Media=zmediamsgscoob,} else if Stage == 2 then Wherigo.MessageBox{Text=[[I RONT ROW. RASK RAGGY!]],Media=zmediamsgscoob,} else if Stage == 4 then Wherigo.MessageBox{Text=[[RAYBE RE RONTS A ROOBY RACK?]],Media=zmediamsgscoob,} else if Stage == 5 then Wherigo.MessageBox{Text=[[RO GRET A REORACHE!!!]],Media=zmediamsgscoob,} else if Stage == 6 then Wherigo.MessageBox{Text=[[RID ROU RIND IT?]],Media=zmediamsgscoob,Buttons={"YES","NO",},Callback=cartMysteryInc.MsgBoxCBFuncs.MsgBoxCB4} else if Stage == 7 then Wherigo.MessageBox{Text=[[RA'LL RISS ROU!!! ]],Media=zmediamsgscoob,} else if Stage == 3 then Wherigo.MessageBox{Text=[[RUT RAIN RIS IT?]],Media=zmediamsgscoob,} end end end end end end end end
  5. Looks to me like the Colorado might be choking on the Wherigo.Command("SaveClose") command. They did just recently add this, so maybe it's not working correctly. Maybe you can just try setting the cartridge to complete, then doing just a save and let the person close it out them self. I would try changing this: cartHighlandFling18.MsgBoxCBFuncs.MsgBoxCB27 = function(action) if action ~= nil then -- #GroupDescription=Script -- -- #Comment=Script Comment -- cartHighlandFling18.Complete = true Wherigo.Command("SaveClose") end end to this: cartHighlandFling18.MsgBoxCBFuncs.MsgBoxCB27 = function(action) if action ~= nil then -- #GroupDescription=Script -- -- #Comment=Script Comment -- cartHighlandFling18.Complete = true cartHighlandFling18:RequestSync() end end Then just leave the closing of the cartridge to the user.
  6. Dang it I wish I wouldn't have read this thread. So much for my Whack-A-Rat game I was going to make . I guess I'll have to think of something else now
  7. Tydirium

    Task scripts

    You answer is located HERE. In short the 'Status Changed' is fired when a task in marked as complete. That's were you would want to put your save cartridge call.
  8. Hmmm...let me ask. Can (if given a direct link to the cartridge) a person download a cartridge that is not currently active? It would appear so, but I only have a link to one of my own inactive cartridges and am thinking because I'm the owner is why I'm able to do so.
  9. Here's something that needs to be looked at: There are two settings 'Active' and 'Publish' If I set a cartridge to 'Active' and not 'Published' it still shows up when someone does an advanced search by Username. To me if a cartridge is not 'Published' it should not show up using ANY search what so ever. The only way a person should be able to have access to an 'Active'/'Unpublished' cartridge is via a direct link (like from a cache page) or via invitation. Right now if I'm working on a cartridge and submit my cache for review I have to have the cartridge set to 'Active' before it'll get published. But in doing so, someone can do a search by username and download the cartridge prematurely. Just something to look at. Thanks
  10. Cool that makes sense. I guess that way a player can "target" a certain zone and it'll standout on the map. Good idea.
  11. Absolutely love the map display! A good step in the right direction. Helps a lot when dealing with multiple zones. Might we see in the future the ability for the Wherigo player to access whatever maps are on the device to use underneath this new zone map? That would be really nice!! Thanks for the improvements.
  12. I like the map display, that's pretty cool; gives a better feel for when your dealing with multiple zones. I did have one question about it. I was running through one of my cartridges in the emulator where 3 zones are displayed. Two of them were Blue while the other Was Red. What is the significance of the colored zones? And again I have only done this with the emulator. See attached picture. Thanks for the improvements!
  13. When you create a message box look at the bottom left hand corner on the screen where you enter the message. You'll see two check boxes there. If you want two buttons check both of them and enter the label for each button. Then click on the "Script to run when button clicked..." box and it will bring up the area where you put in the code as you describe. I haven't messed with "Cancel" yet.
  14. Just thought I'd post a little tidbit I noticed. In developing a cartridge I was somewhat concerned that a player might be able to start the game using their GPSr (thereby "passing" an emulator test at the beginning) and then just load up the saved game in the emulator and go through the rest of the game that way. So here's what I tried and much to my delight; it did not work!! 1. Started a cartridge using my PPC outside. 2. Played about halfway through it, closed and saved. 3. Reopened cartridge on PPC to verify I was prompted to resume and it worked fine. 4. Popped out the SD card that both my .gwc and .gws file reside. 5. Put the SD card in my laptop. 6. Fired up the emulator and started the cartridge again. I was NEVER asked if I wanted to resume my game!! So I'm wonder if there is an incompatibility between saved games running on different devices? I'd be willing to bet that the Env.DeviceID variable has something to do with it. Maybe that is saved in the game save file somewhere? If this is the case and the DeviceID is unique for each device (like a MAC address), then would this also prevent players from sharing saved game files between different devices? Man that sure would be sweet!
  15. Thanks for confirming the issue. Maybe it'll get looked into soon.
  16. Actually you shouldn't need the require "math" statement for simple math operators. You do need it to call any math.* functions though
  17. Standard math operators are used: num1*num2 (multiplication) num1/num2 (division)
  18. Also, don't forget to: require "math" in the Author Directives section. This gives you access to the math library.
  19. I believe the builder does not support adding variables. Instead you could try writng a function to handle your math such as: -- This goes in the main section Answer = addNumbers(Number1, Number2) -- This goes in the Author functions section function addNumbers(num1, num2) return num1 + num2 end Of course the issue with this is that the builder will more than likely do this: Answer = "addNumbers(Number1, Number2)" Notice the quotes. You'd have to manage that seperately.
  20. Tom, Hey it was nice meeting you too. Wish I could've spent more time talking to you about Wherigo, but things were a little hectic. I'll send you an email about user functions and how to use them in a cartridge. Just give me a day or two and I'll send you some sample code to take a look at.
  21. I wouldn't think so, but you'd probably want to make sure you post the fact on the cache page. As people are now developing "Playanywhere" cartridges it wouldn't make sense to force the cartridge to be within a certain distance of the cache. But you might want to check with your reviewer.
  22. Hey all, First time I've tried putting something in the On Resume cartridge area and it doesn't seem to be firing. I can't even get it to display a simple message box. It doesn't seem to work on the emulator or PPC (dunno about the Colorado). Anyone else seeing this?
  23. I know topics have been brought up about how to "detect" emulator usage. Until recently it seemed most people were discussing checking altitude or accuracy as a way of figuring out whether someone was playing a cartridge in the emulator. Until THIS POST I had never heard of the Env.DeviceID system variable. It returns "Desktop" if in the emulator and it returns a long alphanumberic string (such as "00047821003819513800-0050BF3F5173") for PPC (and Colorado I presume). Because there is a lack of solid documentation of system/environment variables I'd love to get some official word on this. If this variable is always set to "Desktop" when running in the emulator and to some thing else when running on an actual PPC or Colorado, then all that need be done is a simple check of this variable to determine emulator usage. It would make life soooooo much easier on us Wherigo creators if we knew we could rely on this variable to determine emulator usage. Any feedback would be great. Thanks again, Tydrium
×
×
  • Create New...