Jump to content

spyderbytes

Member
  • Posts

    200
  • Joined

  • Last visited

    Never

Everything posted by spyderbytes

  1. The lockbox.txt script from the Sample Scripts folder of the 1.0.1 Editor (haven't checked the 1.0) is missing a semicolon at the end of line 59. (i_am_locked = 0) For convenience, here's the entire script, corrected. Just replace the existing script with this: Code: // lockbox.txt - This is the script you can place on a chest, desk, etc.// to lock it. Then only a character with adequate Tool Use skill or// the correct key could open it.// Memory Cells - // 0 - Lock level. If left at 0, box is unlocked. Otherwise, the tool// use needed to get it open. If this is set to a really high number (say, 200),// it can't be unlocked by normal means.// 1 - Key needed. If left at 0, no special item helps unlock the box. Otherwise,// if that party has this special item, the box automatically unlocks.// 2,3 - Coordinates for a stuff done flag. If these are 0 and 0, ignored. Otherwise,// the stuff done flag is set to 1 when the door is unlocked. If the flag is non-zero,// than when the party enters this zone, the door will become unlocked.beginterrainscript; variables; short cur_terrain; short i_am_locked = 0; short choice;body;beginstate INIT_STATE; if (get_memory_cell(0) > 0) { i_am_locked = 1; set_mechanism_difficulty(get_memory_cell(0)); if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) { if (get_sdf(get_memory_cell(2),get_memory_cell(3)) > 0) i_am_locked = 0; } } break;beginstate START_STATE;break;beginstate SEARCH_STATE; if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) { if (get_sdf(get_memory_cell(2),get_memory_cell(3)) > 0) i_am_locked = 0; } if (i_am_locked) { block_entry(1); if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) { if (get_sdf(get_memory_cell(2),get_memory_cell(3)) > 0) i_am_locked = 0; } if (i_am_locked) { print_str_color("Unlock Box: The container is locked.",2); if (get_memory_cell(1) > 0) { if (has_special_item(get_memory_cell(1)) > 0) { print_str_color(" One of your keys fits. You unlock the box.",2); i_am_locked = 0; } else print_str_color(" You don't have the key that fits it.",2); } } if (i_am_locked) { if (run_pick_lock(get_mechanism_difficulty()) == FALSE) { print_str_color(" Nobody has high enough Tool Use skill to get it open.",2); end(); } i_am_locked = 0; print_str_color(" You manage to pick the lock.",2); if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) award_party_xp(BASE_TRAP_XP,1 + 2 * get_mechanism_difficulty()); } if (i_am_locked == 0) { if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) set_flag(get_memory_cell(2),get_memory_cell(3),1); block_entry(0); play_sound(-58); } }break;beginstate UNLOCK_SPELL_STATE; if (i_am_locked) print_str_color("Unlock Doors: The spell doesn't affect locked containers.",2);break;beginstate DISPEL_BARRIER_STATE; if (i_am_locked) { print_str_color("Dispel Barrier: The spell fails to affect a locked containers.",2); }break;
  2. Quote: Originally written by Kelandon: And WHY is this not covered in the docs? Hehe... in Jeff's defense, docs are hard, boring work and don't (directly) pay the bills. In Jeff's prosecution, the editor docs do seem to leave out quite a number of things that it would be nice to know. Maybe we should start a thread and list stuff like this that should have been documented as we discover it? That doesn't help those of us who are the pioneers much, but might be useful for those who follow behind us. And if we make it easy for JV to find it all in one place, maybe we can twist his arm into visiting the thread and making those doc changes before releasing any new versions.
  3. Umm... begin_talk_mode() is the call you ALWAYS use to initiate dialog, even from within a creature's script. If there's any other way to start a conversation, I don't know what it is. Are you saying that if you initiate dialog from, say, a special encounter (or other means that's not within the creature's script) it doesn't have the Done button? I haven't tried that, so it might well be the case. But even if the creature is the one initiating the dialog, if he does it from within his own script, you get the Done button. (I just tested it with my messenger script where the NPC initiates dialog as soon as he is within x range of the party, by calling begin_talk_mode(), to make sure.) As for forcing the party to step onto the bed... yeah, that looks like it might be what I have to resort to, then. Not really what I wanted, though...
  4. Hmm... how are you pulling that one off? With run_scenario_state() in the code of the dialog node? I ask because my own need for this sort of cutscene will be a dream sequence following an inn dialog node. That's what I was thinking to try when I came to it... EDIT: I either didn't mean what I said or say what I meant... take your pick.
  5. I do things differently from the norm, it seems (no surprise to me or those who know me ). As with just about any creative endeavor, I figure out where I want to end up (the big finale) and a general idea of how I'm going to get there. Then I start in just as the player will... in this case, by creating the first town. From there, I create items, creatures, terrain, etc. as I come to them and need them. Makes for some nice variety instead of doing too much of one thing all at once. That causes a bit of "back and forthing" (e.g., leaving "holes" in an NPCs dialog in the first town because you know he's going to have to talk about something you haven't really figured out yet); but overall, it's the way that works best for me. Otherwise, I tend to get entirely too formulaic. One caveat: you have to really trust yourself and have a firm handle on your creative process to do things this way. You run the danger of either painting yourself into a corner or running afoul of the dread bloat beast (I don't know what should happen here, so instead I'll add this...). But those are easier to avoid, for me, than the staleness it seems I always get if I try to plan every little detail up front.
  6. Hmm... I'm going to be surprised if that ends up working. Let us know, though, if it does. I've got a spot where I'd like to use one of these types of cutscenes, if we can work out a way to make it work.
  7. Then how about at least having Word convert to an .html from the .doc when you modify it? (says he who really, really hates Word) Or heck, just dump the text into a BBEdit file. Anything but Word format. Hmm... guess I DO have both AppleWorks and Mariner Write, looking in my Applications folder, that can read a .doc (in addition to Word itself, for that matter--though I refuse to even launch it if I can help it). Just being my usual "grumpy old man" self, I guess... Still, I really prefer PDFs for documentation. Isn't it just a matter of "printing" it (to a file) to make the PDF? Docs don't have to be "pretty"... EDIT: You can grab a "down'n'dirty" conversion of the 1.1 docs to PDF from my iDisk . No bookmarks, and some of the pictures don't line up all pretty-like. If someone wants to spend the time to do a "proper" conversion, I'll let you upload them to my iDisk (which is just a trial account I set up expressly for this purpose, anyway ). This is just for folks like me who are just searching the docs 99.9% of the time, anyway.
  8. 0 is the first char in the party. When you start placing NPCs in a new town, the editor makes the first one char number 6. So 0-5 are really the only numbers that could be used for party members (and the ones that ARE used). Jeff could (theoretically) change the starting number for NPCs placed in towns to add more potential party members, but it would break all existing (and half-written) scenarios--including Jeff's own scenarios that come with the game. IOW, not at all likely to happen at this point. In my own experience, a party of more than 6 at any given time becomes quite unwieldy anyway. You spend more time futzing with party members than actually playing the game. YMMV, but it's a good limit IMO. -spyderbytes
  9. Hmm... I can't tell you what it was, now, but I specifically remember seeing something that changed in the PDF from what was provided with the 1.0 editor. I believe it was a call that was removed, now that I think about it. Based on that, I assumed the PDF was up to date except for version number. Regardless, I have no convenient way to use Word DOCs (and hate them anyway), so I'll be sticking to the PDF and continue pointing out when it's wrong. -spyderbytes
  10. And bear in mind that average damage is the most important stat, in comparing weapons, followed by minimum (as you can never do LESS damage than that on a hit), and then max (as it will be rare that you actually do that much). IOW, placing a weapon that has a higher max damage but comparable (or even lower) average is not really overpowering. In fact, if the player isn't savvy, he may brag about the phat lewt you gave him without realizing it's really not any better than what he was already using--if even as good. Drakey (or someone)... I want to see an article (or series?) with pointers on how to make sure a dungeon is challenging for a party of the recommended level. That's what I'm having the most problem with. Especially since I'm not much of a tactician--I most often play these types of games on Easy (sad but true!). So right now I'm kinda just figuring if a dungeon has about a 50/50 chance of besting my party or my party besting it, on Normal, I've balanced it OK. -spyderbytes
  11. So, either a flashback or dream sequence type thing? I had to do something somewhat similar for a particular town, and a set_state_continue() at the end of INIT_STATE let me run a cutscene and then teleport the party to a different location (same town though) at the end of it. So the first thing I'd try (if you haven't) is to see whether a set_state_continue() gives you enough "separation" from the INIT_STATE to be able to move_to_new_town(). If that doesn't work, then at the end of the cutscene I guess you'll need to let control fall back to the player, but leave him placed so that all he can really do is move into a square with a special encounter that moves him back to his starting town. -spyderbytes
  12. 1. Not possible. Two NPCs at once in party is the maximum. You could have other NPCs that just follow the party everywhere they go (by scripting them to do so), but no more than two of them can actually be "in" the party at once. 2. Sorry... I don't understand what you're asking. -spyderbytes
  13. I'm reasonably certain the version number just wasn't changed on the PDF (though the PDF itself was). At any rate, I use the PDF exclusively and gripe at Jeff if it doesn't match up to reality. -spyderbytes
  14. AFAIK, that's correct Khoth. You can set creature/terrain memory cells from outside their own script, but not get. Bit of a kludge, but you could have the creature set a SDF to the same thing a particular memory cell contains (and make sure you keep it in synch if it changes), then you could get the SDF from anywhere. -spyderbytes
  15. I decided the item must have fallen out of his pocket when he fell asleep. The party now finds the item by searching one of the adjacent squares. Having it actually on his person was not enough better than that for the extra work it would have cost. And yeah, he gets a "Zzzzz..." text bubble every other tick while he's asleep. -spdyerbytes
  16. I seem to be trying a string of really odd things here, all of a sudden. Anyway... I have an NPC who may or may not be drugged and sleeping. If he is sleeping, I want the party to be able to "search" him and find a special item. I have it all working the way I want, except that the SEARCH_STATE of a terrain script on a space with an NPC in it is never called. Which is just the way it should be if you're not crazy like me and trying to do things that were never intended. Am I going to have to erase the character if/when he goes to sleep and replace him with a "terrain" that "looks like" him sitting in his chair? Then switch back to the "normal" terrain and respawn him as a character if/when he awakes? Or can anyone think of an easier way to go about it? -spyderbytes
  17. That's what I finally hit on... just "faking" the Move Mountains spell part of it when the scroll is used, on a case by case basis (for the few spots where Move Mountains would actually do any good). And since I thought the give_ter_script_message() call was broken, I even did it the hard way... by checking in the scenario script if we're in town, finding out which town we're in, and then checking for cases where it could possibly have an effect. At least I can simplify that a bit now... -spyderbytes
  18. Ooops... my bad! I generally try to remember to check there before posting, but I certainly missed this one. -spyderbytes
  19. Quote: Originally written by Spidweb: Preset items in a town are only ever placed the very first tiem you enter the town. That would be the source of my difficulty. Nice (and less frustrating ) to know that... -spyderbytes
  20. ...to ensure that an item you place in a container will really be there? I keep having to make items that will be needed to solve puzzles special items, when I'd really rather most of the puzzles were more Zork-style (where you need to figure out what item you saw lying around somewhere might be what you need to get past a certain spot). Not only that, but since the party is supposed to be sneaking through the town where they need to find these items, without being seen by anyone, it's getting rather difficult to come up with ways to get special items into their inventory that don't seem contrived. I'm not putting tons of items around (I'm using them VERY sparingly, except those I really want to be there, for that matter), so I don't really understand why such a large percentage of the items I place just aren't there. And it seems that if I DO place a junk item somewhere, it'll inevitably be there, while my custom magic item I really NEED to be in a nearby container isn't. I don't understand the logic behind how the engine decides which are there and which aren't, at all. -spyderbytes
  21. I see nothing in the docs to indicate that an item can't have both a special ability that calls a scenario state and one that casts a spell. Yet I've tried it with several different spells (both mage and priest), with the state ability both before and after the spell ability (despite the fact the docs say put the spell last--I was desperate ), and in both 1.0 and 1.0.1. In all my tests, if there's a spell special ability, the scenario state never gets called (using either ability 207 or 208--the one that drains a charge or the one that doesn't). So... are the two exclusive, or is it a bug? -spyderbytes
  22. When I try the call: give_ter_script_message(6, 14, 0); the BoA application tells me that's the wrong number/type of parameters. The docs define the call as: void give_ter_script_message(short loc_x,short loc_y,short what_message) so I see no reason my call shouldn't work... -spyderbytes
  23. I need a wall that only crumbles when a particular "variant" of Move Mountains (available only on scroll and only from a particular NPC) is cast. Otherwise, if someone brings in a party that already knows Move Mountains (even though I recommend the scenario for starting parties only), one of my toughest puzzles becomes trivial. The only way I've figured out to do this is to define a custom terrain that doesn't crumble at all, but just uses the crumbling wall icon. Then I would give my scroll a special ability, in addition to casting Move Mountains, that calls a script state, and have that state broadcast a message to the terrain script on my "fake" crumbling wall. When the terrain script receives the message, it checks to see if the party is near, and if so, changes the terrain where it is to rubble. (Note: I haven't tried that yet, but I can't see any reason it won't work. If anyone else does, feel free to inform me. ) Anyway, I'm just wondering if there's an easier way to accomplish this that I'm not thinking of. That sorta seems like a "duct tape and baling wire" implementation... I suppose an alternative would be to make the party forcibly "unlearn" Move Mountains if they come in to the scenario knowing it, but that seems rather icky to me... -spyderbytes EDIT: My idea for implentation won't work, for two reasons. (1.) If an item has both an ability that calls a scenario state and one that casts a spell, the spell gets cast but the state isn't called (and yes, the spell is the last ability, as specified by the docs). (2.) give_ter_script_message() is apparently broken (see this thread ). Back to the drawing board, I guess...
  24. You can "fake" it by applying the effects of the spell to a character, then using the appropriate sparkles and sound effects, as if the spell had been cast. More work than your requested call, but it works. -spyderbytes
  25. Please don't be insulted that I'm asking this. I just think it has to be something quite basic. Do you have something like: Code: begintownscript;variables;body; at the top of your town script? You have to tell the interpreter what kind of script this is and where the body of the script begins. You might try posting the full script here to see if any of us can spot problems... -spyderbytes EDIT: You solved it while I was typing. Good.
×
×
  • Create New...