Jump to content

Fort

Member
  • Posts

    1,418
  • Joined

  • Last visited

    Never

Everything posted by Fort

  1. Might be out of place, but I feel as if it is necessary to voice out these problems since he will have to patch the game along with the new scenario format: EDIT: Spiderweb's mentality towards new formats has emphasis on backwards compatibility because otherwise every different version of the same call would have to be redefined in the compiler several times. Jeff also never meant the system to load different schemas, though it would certainly be nice. Rather than do it in a script, I think it would be best to add the format version in the .bas itself. Or, we, the community, as a whole could devise a way to automate the necessary changes with every new format version. I doubt the matrices will make it, but the vectors/arrays, maybe. I think it would be easier for the shop things to just have Jeff implement whatever he did in Geneforge. Shorten set_char_presence_status() to set_char_presence(). How exactly will the request_target() call work? Allow a creature's target to be a friendly. Not quite sure how it will work, but it would be much better for scripted scenes or battles. NPCs should be affected by terrain and floor effects. I propose that the agreed upon rating for each suggestion be placed before the asterisk that already precedes each one. For example: TP* suggestion WBN* suggestion NL* suggestion The rating names are a little odd, but I don't really care. Dialogue Scripts should use the variables of the containing town script. Should variables be disallowed in the run_imported_script() calls? How will they be handled?
  2. Spell libraries would be nice, but this form of it wouldn't be necessary if he defined an #include <thingus.txt> statement. I'm going to look through this and sift out what seems reasonable. You can start the refinement topic, if you wish, Kel. And this: short waypoint_x(short which_wayp) - Returns the x coordinate of waypoint which_wayp. short waypoint_y(short which_wayp) - Returns the y coordinate of waypoint which_wayp. EDIT: There are also several issues/bugs to resolve with the current engine. I have a list of them somewhere on my computer since I listed them as I saw them.
  3. The quotes aren't displayed, so I don't count them. I haven't a clue how Jeff stores the strings we put in the scripts. Maybe the delimiters are actually quotes, which is why you can't escape the quotes, though you could use underscores. But that explanation now makes sense, now that I think about it. I was wondering why the game needed 2 marker characters...
  4. 254 What is your suggestion for a good font for these kinds of tasks? Mine would be either Proggy Clean or Lucida Console.
  5. First of all, you picked an absolutely great and traditional topic to make your first post on. Second of all, you can't have Doomguards because they a) have a special class and split. As for me, I love Aranea Lords and different Golems.
  6. That is an EXTREME engine modification, although arrays and matrices would be ever so helpful. Or, in the style of C: short v1 Now that I think of it, in the custom object scripts, how come the arrays aren't enclosed in brackets? The spell library idea is a great one, and I think it could be implemented with little creative work from Jeff. But the frequency thing might be a little too much to ask for, since the basic AI for all creatures is pretty much consistent and hard coded throughout. I would imagine the file would be like this: Code: beginspelllib;ORIGINAL_MAGE; // The original stuff must be manually typed in by you// FORMAT: spell_number = spell_level// clear; clears all spells in blockclear;5 = 5;19 = 1;ORIGINAL_PRIEST;0 = 11;10 = 4;CURRENT_MAGE;//BLAH BLAH BLAHCURRENT_PRIEST; EDIT: When are you going to update the front post and send this to JZ?
  7. Whoops, I misinterpreted the deny_spell() suggestion. I thought its only purpose was to turn off ranges of spells like bolt of fire from creature casters. Can't you do a spawn_creature(my_number()) in the DEAD_STATE to accomplish this?
  8. I'd like the added feature of setting how fast a monster's health and spell points regenerate in the custom objects script, defaulting to 1/8th health per turn as it is now. A medley of calls (please update, *i): If possible, maybe the cast_spell() call could force other characters to cast spells, other than the current one. void set_hp_regen(short which_char, short what_percentage) - Gets what percentage of which_char's maximum health is regained every tick. void set_hp_regen(short which_char_or_group, short what_percentage) - Sets what percentage of which_char_or_group's maximum health is regained every tick. short get_sp_regen(short which_char, short what_percentage) - Returns what percentage of which_char's maximum spell points are regained every tick. short get_sp_regen(short which_char_or_group, short what_percentage) - Returns what percentage of which_char_or_group's maximum spell points are regained every tick. void deduct_ap_from(short which_char, short how_much) - Counterpart to deduct_ap(), but you can affect other character's ap. Probably more useful in terrain scripts and custom abilities. The affected character's ap is reduced by how_much, which can be negative to add ap. short check_path_to_loc(short loc_x, short loc)_y) - Has the pathing engine calculate whether or not the current character can reach location {loc_x,loc_y}. This call does not actually move the character along the path, though. Returns 1 if a path is found, 0 if there is definitely no path, -1 if there was no path found because the pathing engine stopped before exhausting all possible nodes. short check_path_to_wayp(short which_waypoint) - Has the pathing engine calculate whether or not the current character can reach waypoint which_waypoint. This call does not actually move the character along the path, though. Returns 1 if a path is found, 0 if there is definitely no path, -1 if there was no path found because the pathing engine stopped before exhausting all possible nodes. short check_path_between_locs(short loc_x1, short loc_y1, short loc_x2, short loc_y2) - Has the pathing engine calculate whether or not a character at location {loc_x1,loc_y1} could reach location {loc_x2,loc_y2}. Returns 1 if a path is found, 0 if there is definitely no path, -1 if there was no path found because the pathing engine stopped before exhausting all possible nodes. I also suggest that there is an option for denying all spells with the previously suggested deny_spell() call, and then one would have to add the wanted spells.
  9. Get the latest version of Adobe Acrobat and USE THE BOOKMARKS that are supplied to you in the sidebar.
  10. Remember that the system is very simple. The states are not functions (more like labels). Creature and terrain scripts are finite state machines that are contained within themselves. Certain triggers will activate some of their states, but otherwise there is no direct way of interacting with them in particular. Broadcasted messages might work if you are skilled. A variable's scope is the script that it was declared in. It is necessary to realize that each script loaded in memory is a separate entity from each other; mainly because they are not 'linked' together if you know what I mean. No script is a subset of another one. No inheritance. You cannot use variables in a dialogue script because it is supposed to be a static script, like the objects script. You must call a state in the town to access the town's variables, or use an SDF. A note about SDFs: Each one is an unsigned integer byte. Variables are remembered for as long as the script is *supposed* to be in memory. Memory Cells are reset every time you reenter a town UNLESS the character has joined your party and is following you. I suppose it is possible to call a town state from the scenario script, but you cannot access variables from each other. You cannot call the states of another script unless it is the state of the current town or scenario. The buffer that Avernum maintains is really just that. There is a single 254 (or 5, I can't remember if string constants are delimited by a quote AND a null) stetch of char bytes for you to stick text into. It is always remembered, even with saves. There are only 2 data types you should need to worry about in Avernumscript; short and string. ALL functions (not procedures) return shorts, never strings. Probably didn't want to have to deal with pointing to arbitrary strings and such. The buffer calls are pretty sufficient for now, I think. You will have to manually use the code to stick specific strings into arguments. You may only DECLARE a variable once because there is only a single scope in a script, and that is iteself. I'm afraid you can't do something like this: Code: int i = 0;while (i < 10) { print_str("Sure"); int i = 0; while (i < 10) { print_str("In sure!"); i = i = 1; } i = i + 1;}
  11. HHHHHWWWHHAT?? Did someone change their name or is this some different Nicoth*des? Didn't you release a scenario already or something? I thought you used Windows. Anyone, read the manual. It tells you all the basic stuff, and there should be many examples of code in your scenarios/[VoDT|aSR|ZKR|DwtD] folder. Use the editor in conjunction with the scripts and learn how to format your scripts intelligibly. Don't make make stilly mistakes like forgetting semicolons(";") declarations of variables in the right spot, initialization of strings, mismatched braces and parenthesis, unpaired quotes, missing parenthesis and accompanying braces around if and while controllers, blah blah blah. EDIT: Forgot my paid endorsement. With a mature development headed by Slava Pestov, JEdit is a full featured text (not word) editor. It runs through a Java Runtime Environment, and as such, it will run on any platform with the correct JRE. It has been developing for 4 (maybe 5, can't remember) and is completely open source and modularity. Macros can be coded in and there are many extensions available. It supports BeanShell, a simple scripting system for text matches and such, kind of useful in place of regular expressions. Download it now from Sourceforge!
  12. Good god, I can't believe we all forgot about cast_spell() and deny_spell(). This would be a major engine enhancement, but I'd like the attacking system to be much, much more complex. Um, probably belongs more in a new game. Currently, you can only set a target and have the creature attack it. You can't specify a specific group of targets to attack, nor can you have it attack neutral things. And what is with not being able to check for target's immunities? At least not easily. EDIT: Suggestion: Fix(?) the joining NPCs so that they can use the custom script states beside INIT START and DEAD once they've joined up in the party..
  13. I assume your save game files are still in your Program Files directory. If so, normal users can do everything BUT write inside there because the data inside is so valuable. You might need to reinstall it to somewhere else. That or figure out how to change where Geneforge saves its files. Or you could use the Run As feature (might not be available in HOME).
  14. The chapter 1 Step by Step Scenario is one of the worst tutorials I have ever seen, but it can teach the absolute basics to someone who has never worked with the scenario editor and can get the BoA mentality into BoE designers. Side note: I have decided that I will buy BoA the moment a scenario is released that receives the generous praise of the general community. Hurry up guys!
  15. JPGs reduce the file size on normal compression, but are designed to be lossy. Not good for detailed graphic files. GIFs are supposed to be lossless when you only have 256 or less colors. Otherwise it will start to try to make guesses about color. I don't think you'll use that many colors in a single graphic, though. DO NOT use MSPaint for GIF conversion, it only supports the standard 256 colors. PNG can achieve an even higher level of compression and is lossless at up to 24-bit color.
  16. char_on_loc checks for party members, doesn't it?
  17. Didn't that guy make a good creature editor with a freaking cluttered stand-alone HTML form page with Javascript?
  18. Not until we can prod Jeff to implement the shopping calls listed in the BoA Suggestions thread. You can only add items with these calls, never remove.
  19. What do you mean? When you create a new party from the Main Menu, you should automatically go into the Tutorial scenario. Is there some sort of error? Are you just immediately thrown back into the Main Menu and asked to select a scenario to join? Do you have a folder named 'Tutorial' in your scenarios folder with a file named Tutorial.bas? Did you install the game correctly? Do you really need to go to the tutorial? Or is it that you are in the tutorial and there seems to be some bug that disallows you from escaping its clutches?
  20. I think I could personally settle for as much script as you can fit in virtual + physical memory.
  21. How big do you want the limit to be, then?
  22. UHH, I don't think make_town_hostile() works either... But I don't trust my computer, so if anyone can confirm it, then I'll post it to the suggestions thing.
  23. Don't forget that many things like traps and monster scripts rely on the ticks to time their events. You'll need to refer all of these scripts to the SDFs you plan to use. A time consuming task, but if you need to do it for you scenario, go ahead.
×
×
  • Create New...