Jump to content

Aran

Global Moderator
  • Posts

    10,499
  • Joined

  • Last visited

Everything posted by Aran

  1. I checked my transfer backups, but it seems the files were deleted before the backup was made, since they're not in there. Rakshasi is always welcome to re-upload them, although given the nature of this webspace, the fact remains that anyone with access can delete them. I can PM you the access details if you don't know them anymore.
  2. What the? I thought Rebellion was just another Geneforge travesty. From the quotes, I see I really need to play this! This sounds almost like one of those Xian Skull threads. Are these quotes real?!
  3. Why the hell didn't I find that when searching for "text bubble" in the Appendix? I must be getting tired and senile. Thanks very much, now I'm good to go.
  4. Okay, this should be absolutely the last question I'll ask for this scenario. How do I create a text bubble in a cutscene? I know that this has been done - see Bahssikava, with Legare's long soliloquys in iambic pentameter. However, Avernumscript only allows creatures or terrains to create text bubbles. I'm also unable to find anything like a run_creature_script(short which_char, short which_state) call. So, assuming you have a cutscene, and want a text bubble to appear, what do you do? Excuse me for not bothering to reverse-engineer Kel's Bahs cutscenes...
  5. Evidently, block_entry(0) only revokes an earlier block_entry(1) call. It does not, however, allow passage in cases where something else impedes the party. Is there some other call that would make the following terrain script work? I really hate making a new terrain type just for a single simple passage... Code: beginterrainscript;variables;body;beginstate INIT_STATE;break;beginstate START_STATE;break;beginstate BLOCK_MOVE_STATE; print_str("There is a secret passage here."); block_entry(0);break; Edit: Forget what I said, I just noticed that this wall set actually had secret passages. Still, I'm curious whether something similar could be done through a terrain script...
  6. Oh, I get it. A special encounter is one I have to place with place_out_spec_enc? Thanks very much! In any case, I've recreated this as a preset, and now it works perfectly.
  7. Special encounter 0 has a group of hostile monsters set. They start at (9, 14), don't move, force the party to fight them right away, and don't allow evasion. However, when I start the scenario and go to (9, 14), I don't see a trace of my encounter group. I walk just right over that square, and they're nowhere to be seen. Can someone offer hints? Edit: Here's a full shot of the encounter settings. State 13 and 14 are implemented, SDF 10 0 is 0.
  8. Well, I switched to specobj, and fixed the if-clause in that state, and now it works. I don't know which it was, but under the circumstances (one day to go till the deadline) I don't feel very curious. Thanks all!
  9. Um, call this an undocumented feature, but the pattern Code: beginstate x; if (get_flag(a,==1) break; do stuff; set_flag(a,b,1);break; has worked so far.
  10. On searching a container, the player should receive a special item (via a town state). Obviously, the walk-on special areas won't cut it for this. So instead, I used a terrain script with a SEARCH_STATE that called the relevant town state. Code: beginterrainscript;variables;short callthis;body;beginstate 0; callthis=get_memory_cell(0);break;beginstate SEARCH_STATE; run_town_script(callthis);break; The terrain script was placed on the container, and memory cell #0 was set to 16. Town state 16 is this: Code: beginstate 16; // discover key if (has_special_item(1)>0) { print_big_str("You have ",has_special_item(1)," keys."); break; } message_dialog("Among the assorted valuables that are in this chest, you also find a large brass key. Those usually come in handy elsewhere, so you pocket it.",""); change_spec_item(1,1);break; Searching the box reveals the mundane items inside it. No other output is given - neither the short debug message nor the dialog that announces the discovery of the key. It appears the state isn't being called...
  11. My favorite part of ET's graphic is the death scene. Nikki, you should include a Matrix-esque Burly Brawl cutscene with dozens of ET clones. Which then keel over in synchronicity. And add a "replay" option. (What? )
  12. The API documentation and the actual implementation just happen to come from too barely connected parallel universes, as always.
  13. Didn't have an effect for me. But perhaps this was back when the entire state didn't execute at all. I'd have to test it again.
  14. You know, you might have something if you ditched the Mac and ported it for a real alternative to Windows... (like, don'tcha know, Linux or something) [/jibe]
  15. Quote: Originally written by Ephesos: You could fix the door with a system of messages between a customized door script and the creature script. Unnecessarily complex, but eh. Vendor sends message to door: "Open Sesame" Door sends message to vendor: "Thank you for making a simple door very happy. Buy Sirius Cybernetics Happy People Doorways™!"
  16. Okay, so I have to use an SDF for that. Gotcha. But I guess it also means I can't change the difficulty of a lock on the fly. Shame... I can think of a few nifty tricks one could do with that. Think "this door requires 3 more Living Tools to open", or something like that.
  17. Oh okay, that clears it up. Will EXIT_STATE be called before, after or not at all if in the town details, there is a specific state given when the player exits in that direction?
  18. I can imagine it is. I was going to give her a different dialogue if the player tried to enter the shop at night time (along the lines of "get the hell out of my house!"). However, I've had trouble locking and unlocking doors by setting memory cell #0 to different values. Is there something else that needs to be set as well for it to take effect immediately (like set_mobility has to be called explicitly to update the mobility)?
  19. Okay, last one for tonight (goodness, I'm going to double my started topics count of 2007 just this week...). Whenever I leave my starting town, I get the error "Tried to call a non-existant town script state." All four "exit states" in my town are set to -1, so they shouldn't be called. The special area I put over my town border is just one step within the border, and stepping there doesn't trigger the error message. Do I need to set a town exit state, even if it does nothing? Edit: Setting the town exit state to 2 (which definitely does exist) doesn't make the message go away. What is calling the non-existant state?
  20. Well, now I simply have her as part of a hidden group that only activates at day. Same result, a tenth of the effort. But hey, these are the kind of things you have to learn when you get acquainted with scripting. I also now understand how a simple memory cell can actually zap her mobility even outside the basicnpc script. It's because the basicnpc script not only doesn't command her to move when memory cell #0 is 2. It also explicitly orders her never to move at all. Code: if (get_memory_cell(0) == 2) set_mobility(ME,0); break;
  21. No Windows port? I guess I'll have to wait for the Eclipse plugin I wanted to write some day. That'll be a long wait.
  22. This script snippet is in a conditional block in the start state. It gets called every tick in the town, as long as it is day - that means, as long as ticks%5000 is between 500 and 4500. Quote: It is day. I'm not at my counter. I'm moving. [repeat ad nauseum] However, the vendor remains rooted to her position. As you can see, I removed the (unlocked) door that might have obstructed her path, but that hasn't changed anything. However, her memory cell #0 is set to 2, meaning she's completely immobile. But that immobility should only extend to her basicnpc AI, since it is explicitly implemented in that script. If she is actually commanded to move with approach_waypoint(), shouldn't that supersede the mobility set in her memory cells? Edit: Yes, I realize this is an extremely fancy thing to want to do. I've already started to implement my fallback plan, which is to just make that vendor sit at her counter 24/7. But it would still be nice to have a little more realism.
  23. Well, I just discovered the limits to my "jump to extra state, then jump back" policy. It only works, obviously, if my state will only be triggered once. Everything else results in an endless loop, without implementing some extra logic that makes it even more confusing than the "lump it all in one state" method.
  24. Whoops. I think this is probably pretty easy. Just execute set_state_continue again at the end of my special state to jump back to state 2. I have to stop thinking of states as functions or subroutines. They're apparently more like statement numbers jumped to with GOTO. Edit: Yes, that works too, but it's quite a lengthy block of instructions and I have some kind of allergy against huge code snippets in an if - especially when it's only called once, and has a completely separate purpose. Edit2: My double set_state_continue() works perfectly. Talk mode ends, I make another move, the dialog box appears, and everything is just great. Since the dialog box appears only once, I can also assume that the state does not become the new START_STATE.
  25. I had some trouble with calling a town script from dialogue. Namely, I wanted the dialogue to show up and end (it was an "INN" message, meaning that the player had just rented a room), before the next message crops up (which told the player what happened during the night). run_town_script() made the dialog box pop up immediately before they left talk mode, which wasn't really what I wanted. So instead, I let the dialogue node set an SDF, which the town script's state 2 would constantly check. This should trigger the dialog box in the next move after talk mode was left. Unfortunately I don't know how to call another town script state from state 2. State 2 is the state that is called every move. The docs tell me that set_state_continue will not only call that state, but also make that state the one that gets constantly repeated. But I only want to call that state once, and then move back to state 2. Possible?
×
×
  • Create New...