Jump to content

UA

Member
  • Posts

    128
  • Joined

  • Last visited

Everything posted by UA

  1. Quote: Originally written by Stupid NEwbie Man: If you read all the docs with the editor, you find the likelihood of Jeff doing any of this is approximately zero. However, he conveniently includes the source code so those who know C can do it themselves. Those of us who don't, on the other hand, are screwed. (I assume he released the Windows code, too, though I actually don't know. But he definitely let out the Mac stuff.) He released the Windows code. And why wouldn't he? I believe he's already released a new version of the Editor, and it somehow looks like Jeff's going to be much more open to releasing updates than he was in the BoE world.
  2. UA

    BoA...aagh, slow!

    I just discovered Windows's Display Hardware Accelleration wasn't at it's top notch. I'll see how BoA performs now. Edit: Not sure how much of a difference it made. Seems a bit better now.
  3. UA

    BoA...aagh, slow!

    There's about a half-second pause between each move outdoors on the 900Mhz. It still happens after terminating background processes.
  4. Putting difficulty of 200 on an open fence gate is kind of pointless. And also, the manual "more than" "less than" checking is rather messy. A cleaner approach would be.. Code: short cTerrain;short openDoors[15];openDoors[] = 40; // first open door terrainopenDoors[] = 50; // first open door terrainopenDoors[] = 60; // first open door terraincTerrain = terrain_in_this_spot();if (in_array(cTerrain, openDoors)) { // do stuff} Unfortunately, Spiderweb is unlikely to ever include such array support. Or perhaps something like... Code: // Inside an Item Declarationis_open_door = 1;is_closed_door = 0; And in door.txt... Code: if (get_terrain_info('is_open_door',party_move_into_terrain() == true)) { // etc} Essentially, burying numbers that could change inside code which is likely to be duplicated (say, a very special door) is bad. Because then you have to trudge through all the scripts and change all the relevant numbers.
  5. I've an 800Mhz system on which BoA plays fine. I've a 900Mhz system on which BoA is just generally slow - pretty much everywhere, from normal movement, to hitting, to sounds, to death. Both have identical preferences.
  6. Um..using FreshDownload or similar -seriously- reduces your chances of file download corruption.
  7. Yeah, I knew about how it told the difficulty after bashing. And I didn't know randomness wasn't involved in bashing, that's rather surprising. But hey, it saves you a bash.
  8. The fact that 95 is quite similar to 98 (but with quite a number of subtle differences) means Jeff probably said 95, thinking it'd work on it because it runs fine on 98, but one of the subtle differences is used by BoA without Jeff realising. I seem to recall a problem with GetLongPathNameA() before, and believe there is a suitable replacement function which exists in 95.
  9. I reccomend Fresh Download. http://www.freshdevices.com/ It's totally free (even registration), but they're a pretty trustworthy company and they really don't spam you.
  10. No, No, No! You put the -EXECUTABLE- (.exe) in the Data/ folder. You can put the rest where you want, it's pretty much all documentation.
  11. You need a browser which supports FTP transfers. Examples include Internet Explorer.
  12. Do this: Learn C. (Not C++). Get a C compiler (try Dev-C++, which can compile C, at http://www.bloodshed.net/. Make sure you select 'C', not 'C++'). Learn C - google for C tutorials - until you can make and compile a simple program in it. When you've done that, take a look at BoA scripting. Try reading the BoA scripts while learning C at regular intervals. When you can find them easy to understand, stop learning C. You don't need to learn any more, and to do so would be a waste of time, since BoA scripting will never introduce advanced C elements.
  13. Yes, but if you have a weak party it might not work even if it is bash-openable at your level. Bad luck, that is.
  14. Somehow, it's not just about the editor. Wouldn't ''Blades of Avernum Scenario Creation'' or ''Blades of Avernum Editor & Scripting'' be more suitable? Sorry if this is kind of off the topic of the forum, but I figured this was the most suitable forum to post in.
  15. PHP is also a suitable language to learn. Although I'd only reccomend it if you can already build a website using HTML.
  16. Couldn't you make it so right-click lowers terrain when in height mode? It would make an excellent shortcut. Also, moving around towns/outdoors maps using the keyboard arrow keys is annoyingly slow. For some reason using the mouse at the edge of the viewing pane makes this faster. Windows 98, 800Mhz.
  17. Well, it also has the advantage of clearly defining which doors you can't open right now (no trying to bash down unopenable doors.)
  18. Good point. Thanks for moving it.
  19. My godparty is able to open Difficulty 200 doors. I present you with a modified edition of door.txt to cure this. Code: // door.txt - This is the basic script that powers all doors. If you are // working on a scenario that contains doors, DO NOT REMOVE THIS SCRIPT.// If you place a door, this script is automatically attached to it. The// default settings for the script are for a basic, unlocked door. To make it// locked, you will need to change the memory cells.// Memory Cells - // 0 - Lock level. If left at 0, door is unlocked. Otherwise, the strength/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 door. Otherwise,// if that party has this special item, the door 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 ebcome unlocked.beginterrainscript; variables; short i_am_open = 0; short cur_terrain; short i_am_locked = 0; short door_opened; short choice;body;beginstate INIT_STATE; cur_terrain = terrain_in_this_spot(); if (((cur_terrain >= 14) && (cur_terrain <= 17)) || ((cur_terrain >= 50) && (cur_terrain <= 53))) i_am_open = 1; else i_am_open = 0; if (get_memory_cell(0) > 0) { i_am_locked = 1; set_mechanism_difficulty(get_memory_cell(0)); set_physical_strength(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 (i_am_open == 1) { print_str_color("You close the door.",2); flip_terrain(my_loc_x(),my_loc_y()); i_am_open = 0; play_sound(-59); }break;beginstate BLOCK_MOVE_STATE; if (i_am_open == 0) { block_entry(1); door_opened = 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 ((get_memory_cell(1) > 0) && (i_am_locked > 0)) { if (has_special_item(get_memory_cell(1))) { print_str_color("You have the key which unlocks this door.",2); if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) set_flag(get_memory_cell(2),get_memory_cell(3),1); i_am_locked = 0; } } if ((get_memory_cell(0) > 199) && (i_am_locked)) { reset_dialog(); add_dialog_str(0, "This door has a strong magical aura around it, one stronger than you will be able to break. Even without it's magical field, the door looks extremely strong and hefty.", 0); add_dialog_str(1, "You won't be able to open this door through forceful means.", 0); add_dialog_choice(0, "OK."); run_dialog(0); end(); } if (i_am_locked) { reset_dialog(); if (get_memory_cell(1) > 0) add_dialog_str(0,"This door is locked, and you don't have the right key. You can have your strongest character try to bash it down (which requires high strength) or have your most skilled character try to pick the lock (which requires Tool Use skill and a lockpick).",0); else add_dialog_str(0,"This door is locked. You can have your strongest character try to bash it down (which requires high strength) or have your most skilled character try to pick the lock (which requires Tool Use skill and a lockpick).",0); add_dialog_choice(0,"Leave the door alone."); add_dialog_choice(1,"Try to bash it down."); add_dialog_choice(2,"Try to pick the lock."); choice = run_dialog(0); if (choice == 1) end(); if (choice == 2) { if (run_bash_door(get_physical_strength()) == FALSE) door_opened = 0; } if (choice == 3) { if (run_pick_lock(get_mechanism_difficulty()) == FALSE) door_opened = 0; else if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) award_party_xp(BASE_TRAP_XP,1 + 2 * get_mechanism_difficulty()); } } if (door_opened) { print_str("You open the door."); if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) set_flag(get_memory_cell(2),get_memory_cell(3),1); flip_terrain(my_loc_x(),my_loc_y()); i_am_open = 1; i_am_locked = 0; play_sound(-160); } }break;beginstate UNLOCK_SPELL_STATE; if ((i_am_open > 0) || (i_am_locked == 0)) print_str_color("Unlock Doors: The spell doesn't affect unlocked doors.",2); else { if (get_memory_cell(0) > 199) { print_str_color("Unlock Doors: The door resists the spell.",2); end(); } if (get_unlock_spell_strength() >= get_mechanism_difficulty() * 2) { print_str_color("Unlock Doors: The spell unlocks a door.",2); i_am_locked = 0; play_sound(9); if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) set_flag(get_memory_cell(2),get_memory_cell(3),1); } else { print_str_color("Unlock Doors: The spell isn't strong enough to affect the door.",2); print_str_color(" (This spell usually only affects doors with magical protection.)",2); } }break;beginstate DISPEL_BARRIER_STATE; if ((i_am_open == 0) && (i_am_locked)) { print_str_color("Dispel Barrier: The spell fails to affect a locked door.",2); }break; Not thouroughly tested. Use at your own risk.
  20. You missed the crystal in Babysitting. However... a truly excellent article. Congrats!
  21. Why not cancel all three? I've never got a virus in many years and don't have antivirus.
  22. Perhaps you have to put it in the scenario START_STATE? Once turn_on_debug_mode() has been called, you need to activate it by pressing } and =.
  23. You can click the icon on the character creation (read: creation) screen that says Human/Slith/Nephil and it will switch through the different races.
  24. You could also pay to get the game shipped on CD (just $4 extra IIRC) which would likely come without registration code lockdowns.
×
×
  • Create New...