Jump to content


  • Posts

  • Joined

  • Last visited


Everything posted by spyderbytes

  1. If you're desperate enough, I suppose you could make your own custom terrain graphic that combines the wall with whatever it is you need to be there. Not a solution I'd recommend for the faint of heart; still, it ought to work if you just HAVE to have a terrain abutt a wall it couldn't otherwise.
  2. Not sure why that would be easier. The pseudo-code I came up with once I finally pulled my head out of the dark cavity it was in has the advantage of being able to round up regardless of the divisor (and yes, the original post did mention "like dividing by 2", but bulletproof is always better ). Also, seems to me that if all you're trying to determine is what's even and what's odd, it would be easier to just: Code: if ((x % 2) == 0) ...I'm even...else ...I'm odd... Guess I just missed the point of multiplying by 10 then dividing by 2 and checking for a 5 remainder modulo 10... but it's pre-coffee time for me again.
  3. Quote: Originally written by Just call me Kel: I believe decimals get rounded down. BoA just cuts off the part after the decimal point. Right. That's why if the remainder (x modulo y returns the remainder from integer division) is more than 5 (which means more than .5), you can just do the integer div and add 1 to "round up". EDIT: That's what I get for posting before my "morning" coffee (I keep odd hours ). The pseudo-code should be: Code: if ((x % y) >= (y / 2)) x = (x / y) + 1;else x = x / y; Obviously, the remainder won't always be greater than '5', but instead half or more of the divisor.
  4. (untested pseudo-code) Code: if (my_parm % 2 > 5) { // div remainder greater than 5 my_parm = (my_parm / 2) + 1; // round it up}
  5. Don't know if this is the problem, but you're getting a NEW random number for each check, and it's probable that none of them would succeed. What you want to do is: Code: foo = get_ran(1, 1, 6);if (foo == 1) { ...} else if (foo == 2) { ...etc.
  6. Quote: Originally written by GIFTSare2d2: And Just call me Kell, please dont grammer check dialouge. I do all that later once the scripting is soild and done. Then I would suggest replacing the text, when you post here on the boards, with something like "some dialog here". The common assumption on posting code for comments/questions is that it's "fair game" for constructive criticism of any sort. Heck, I LOVE it when someone points out ANY mistake in my code, even if it's just spelling/grammar. That's one less gremlin I need to track down myself.
  7. char_loc_x() and char_loc_y() both need an argument to know which char's location you're trying to get.
  8. Quote: Originally written by Captain Uglyhead: It's the sort of thing you COULD get right after a few reloads, so I guess it's not very good, but I'm sure that you all can think of better ones. Actually, that's A Good Thing, IMO. There are players who get very frustrated with hard-to-solve puzzles. Having a builtin way to bypass the frustration (reloading) helps those players. That's one reason riddles tend to be a popular mechanism for sorta-kinda impeding player progress. They're multiple choice, and by process of elimination, you're guaranteed to get it right in a limited number of tries. That is, if you're blocking progress to a required area. If it's part of an optional quest, make it a hard puzzle and let the people who don't care to puzzle it out just miss out on the fun. Standard disclaimer: That's all just my own opinion, of course...
  9. Quote: Originally written by Kahless25: Also, does anyone know the exact maximum length for strings in dialogue? 255 characters (spaces, punctuation, etc. count). Listen to real conversations... people don't go for long at a time without pausing and giving the other party a chance to jump in. More importantly, players grow bleary-eyed at long, unbroken blocks of text, often skipping them altogether. Do your players a favor and edit those long blocks of text down to something more digestable.
  10. I've never done any BOE programming, so I don't understand what you're saying, Imban. Nor do I intend to, so you don't have to explain, as long as most here understand you. IF the dialog is called from a terrain script at the entry to the area, you can skip the SDF part. Just check the dialog choice and either block_entry(0) or block_entry(1) as appropriate. The original post didn't specify the conditions for calling the dialog, though, so I gave an implementation that should work (albeit with possibly more work than necessary) regardless. Prolly shoulda gone into more detail, but I've been rather rushed of late... EDIT: Just realized I didn't address the "coming back later" part. You can still do that with the solution I gave. Just have the dialog clear the flag (set to 0) if "I want in" is selected, or set it (set to 1) if "I wanna high-tail it outta here" is selected. Then the terrain script would just block_entry(get_flag(x,y)), where x and y are the coordinates of the flag you're using.
  11. 1.) RTFM. Specifically, the call add_item_to_shop() on page 30 of the Appendix. Tells you exactly how to do it. 2.) Set an SDF if they say 'no'. Then have a terrain script on the square block entry if that flag is set.
  12. Put a minus sign in front of the sound number in the call to play it.
  13. I don't know, really, but I'd bet it's the value. That seems the most reasonable way of determining it. More valuable == rarer == harder to identify.
  14. Bit of a shot in the dark (I don't have much time to explore ATM), but try shortening your file names. I don't remember the exact limit, but I know it was stingy. If that's not it and no one else comes up with the answer, I'll see if I can spot the problem when I'm not quite as rushed...
  15. Quote: Originally written by Drakefyre: Alternatively, you can make a special node area the size of the town, and if stepped on, it turns visibility off. Don't think that would work... you have to exit the special rectangle and re-enter it before it would be activated again, since you'd almost certainly already be IN the special rect when you use the item. Very creative idea, though. If you can't get it to work the way you want with the pause() and by adding a coupla force_instant_terrain_redraw()s, you're pretty well going to have to go the route of turning it off at the start of a turn if a particular SDF is set, I think.
  16. I'd be willing to bet it's a problem with the particular change you made (i.e., some subtle bug in your code) rather than the fact that you made the change to corescendata2. That said, changing the corescendata files is a pretty big no-no, if only from the "plays nicely with others" standpoint. It's really a simple matter to import a standard item and make changes to your copy of it. And then you don't have the horrible responsibility of trying to ensure your change works appropriately with every scenario that has been/will be written. Even just for testing, I REALLY would recommend NOT changing the corescendata files. If nothing else, it's too easy to forget which changes are in your corescendata files and which are in the right place, when it comes time to send it off to your betatesters. Unless you really want to field angry emails about all the stuff that just flat doesn't work.
  17. I don't recall having particular problems with the one (so far) waterfall I've used, other than not realizing, at first, that you need a height difference of 2 between the top and bottom of the falls. Looked much better once I figured that out. But then, my waterfall is at the edge of the area with a lot of dark around it.
  18. Quote: Originally written by Max Power: Quote: Originally written by Modvark: Now im thinking about a simple beat your way through a dessert ... Toxic custard? Killer cake? The Pie That Ate Avernum? Obviously, a chocolate moose...
  19. Yes and yes. Since I'm guessing you'd now like to now how , read the docs under "Set Variable Town Entry (Advanced)" for the former, and check out set_terrain() for the latter.
  20. BBEdit Lite (the formerly free version) is no longer being developed, but I recently discovered a link to an older version at the bottom of this page . (A friend of mine was looking for a cheap text editor.) TextWrangler is the cheapest currently available Bare Bones text editor, at $49. BBEdit is now $179. I got mine back when you could download the free BBEdit Lite and then upgrade from it to the full BBEdit for $29. IIRC, the last BBEdit update (from 6.x to 7.x) was about $50. Times have changed... At any rate, the bottom line is I'm still not sure what to recommend as a budget text editor that's OS X native and still actively developed. EDIT: Had a typo on current BBEdit version numbers... or I was caught in a time warp, one.
  21. You're presuming JV's interpreter can handle C++-style overrides with aplomb. I have my doubts about that.
  22. Quote: Originally written by Grey-Eyed Stranger: Would be a good timesaving idea, and makes for cleaner code. Timesaving? Three or four keystrokes (depending on whether you omit or use spaces between parameters). I don't know about you, but I don't make enough message_dialog calls (or any other calls with null parms, either) for that to add up to much. As for cleaner code, I'd say it's a matter of opinion. It could be argued it leads to sloppier code, as well as confusion when newbs don't realize you CAN pass more than one parm to a particular call. Regardless, this would be low on my own personal list of changes I'd like to see made to Avernumscript. For the amount of time it would take JV to implement, I'm not sure all of us combined would save enough of our own time to balance.
  23. Welp, then, the EASIEST way to do it would be to do what needs to be done from a terrain script, if possible, rather than a special encounter rectangle. There are a couple of calls (most notably move_to_new_town()) that won't work except from a special encounter, however. If that won't work, the next easiest might be to set a SDF, and check it at the beginning of the next round (after the char has actually moved into the spot). Then you can just check the loc of party members to see if they match up. Otherwise, I'm not sure what I'd try, but I might still think of something.
  24. I have BBEdit (on a Mac) set to use Unix line endings by default, and it works just fine. So yeah, I'd guess line endings just don't make any difference.
  25. Will the char_who_activated_script() or get_char_who_stepped_on() calls not work for what you're doing? EDIT: Mis-remembered what one of the calls was.
  • Create New...