Gorvin
-
Posts
28 -
Joined
-
Last visited
Never
Content Type
Profiles
Forums
Blogs
Posts posted by Gorvin
-
-
I gave up on scenario designing a while ago, mainly due to my hatred of writting dialog, which I am horribly bad at (not the scripting, but the actual dialog itself). I still have two unfinished scenarios sitting in my hard drive. I may work on them again one day, but right now I'm concentrating on... other things.
One of my scenarios sent you on a quest to uncover the lair of a wizard who was kill by his own summoned minions long ago. All I finished was the starter town where your quest is introduced and the ship voyage to the island that supposedly contains the wizards lair, along the way you encounter a kraken (giant squid monster) that you must kill before it destroys the ship.
My other scenario was a test to see if I could create a random dungeon generator. It actually ended up working out pretty well, although I had to use a cheap trick to overcome the 32000 node call limit (it forcecages the entire party and breaks the script down into different sections each round until it's finished). I never added a monster spawner or stairway placer or anything, so it just creates a random maze with rooms and no way to exit. If anyone wants the scenario/script for whatever reason they can email me, but it is mostly uncommented and would be hard to make changes to.
-
I don't see anything wrong with those 2 lines (well, actually, the second line should be add_dialog_str(1, ...) instead of add_dialog_str(0, ...), but that wouldn't generate an error). Are you sure those are the correct lines? I notice you refer to them as lines 45-48 even though they're only 2 lines total. Even if the line wraps around in the text editor you're using, it'll still only be counted as one line, only actual carriage returns will count as line breaks.
-
I tried your code out and found the error, it's in the line:
add_dialog_str(0,"In this hidden corner you find a box. Inside the box is a big red button. There is nothing else in the box.","What do you do?");
The syntax for that call is:
add_dialog_str(short which_string, char new_text, short indent);
So you should change it to something like this:
add_dialog_str(0,"In this hidden corner you find a box. Inside the box is a big red button. There is nothing else in the box. What do you do?", 0);
Also, message_dialog("You decide to play it safe."); is incorrect as well, as it takes in 2 strings. Change it to this:
message_dialog("You decide to play it safe.", "");
Also, you have your choice numbers switched, swap "choice == 1" and "choice == 2".
-
If it's on the beginstate line, it's likely you forgot a semicolon or a ")" or possibly a break just before it. Maybe see if there is an error in the state just before that one?
-
Quote:Originally written by SmirfOfDoom:
beginstate 99;
reset_dialog();
if (get_flag(0,0) == 0)
add_dialog_str(0,"In this hidden corner you find a box. Inside the box is a big red button. There is nothing else in the box.","What do you do?");
add_dialog_choice(0,"Leave the button alone.");
add_dialog_choice(1,"Push the button.");
choice = run_dialog()
if (choice == 1)
set_flag(0,0,1);
teleport_party(10,38,0);
if (choice == 2)
message_dialog("You decide to play it safe.");
break;Code:beginstate 99;reset_dialog();if (get_flag(0,0) == 0){ add_dialog_str(0,"In this hidden corner you find a box. Inside the box is a big red button. There is nothing else in the box.","What do you do?"); add_dialog_choice(0,"Leave the button alone."); add_dialog_choice(1,"Push the button."); choice = run_dialog(); if (choice == 1) { set_flag(0,0,1); teleport_party(10,38,0); } if (choice == 2) // This if statement doesn't require {}'s because it only has one line of code run. message_dialog("You decide to play it safe.");}break;
-
One way that you could prevent a boss monster from being Simalcrumed is by making a terrain script that removes any duplicates of the boss. I made a script similar to this for a boss fight... but I had it disable any summons at all instead of just the boss:
Code:check_char = 86; while(check_char < 120) { if(char_ok(check_char)) { if(get_summon_level(check_char) > 0) { erase_char(check_char); print_str_color("Your summon is disrupted.", 2); } } check_char = check_char + 1; }
-
Quote:Originally written by Waylander:
State not found - 0
Huh? Didn't I just define the state in my script?Code:beginstate INIT_STATE;// This state called whenever this town is entered.break;beginstate EXIT_STATE;// Always called when the town is left.break;beginstate START_STATE;// This state is called every turn the party is in this town.break;
-
Quote:Originally written by GavinFox:
Nah, just Haste and Light and Slow, really. She's gonna be more of a priest..
And is there *any* way to have, standard, enough movement points for three attacks? How much Dex and Quick Strike would one need for that? At what point is it that more Dex wouldn't matter? I'm trying to figure out the balance of "most benefit at any given time" here...
So, with Haste (+2), Quick Strike (+0 or +2), Fast on Feet (+0 or +1), and Slippers of Speed (+0 or +1), your AP will vary from 6 to 10 each turn. You can increase the maximum amount by equiping other items that boost AP, but the minimum will never rise above 6 (except possibly with Divine Aid, which I think doubles your AP). -
Quote:Originally written by Thuryl:
Get strength and dexterity high enough (I think you need str 8 and dex 10) and you may be eligible for Gymnastics, which also gives AP bonuses;Quote:Originally written by GavinFox:
[QB][/QB]I'm trying to figure out what she would get, if it would be possible to have her only wear light armor as part of her character... that might be neat... is the mage wearing armor thing just a percentage to fail? Or when they are encumbered (in the number-way) period? How does that work? -
Quote:Originally written by Qalnor:
To top it all off, they [Nephils] get a truly free 2 levels extra of dexterity. And by truly free I mean it doesn't increase the cost of increasing dex, so the bonus effectively gets better as you spend more in dex (ie when you get to 20 dex you only had to spend 18 dex worth of creation points).
Nephil priest has 9 dex currently (only 1 less than my Slith warrior), without having spent a single point on it. A +2 bonus at level 1 might not seem like a whole lot, but at higher levels this bonus adds up to a huge amount of "free" skill points.
It's also worth mentioning that the bonuses from Divinely Touched work in the same way (except it affects Str, Dex, and Int and each bonus is equal to 1 + level / 7). Personally I think this bonus is insanely overpowered and wouldn't take it simply because it completely unbalances the game at higher levels. -
In the docs it says that the call turn_on_debug_mode() should activate debug mode... But when I try to use it I get the error: "Unknown command turn_on_debug_mode in line 29." This is using Mac version 1.1.
Help?
-
Quote:Originally written by Ragnarok Hellcaller:
Okay, yes I double posted, but 's been a while since I came with another question. Does anyone know if it would be possible to make a creature carry around a field of darkness? If it is possible, I'd love to get help on it. I figured that would set the stage for a very interesting fight. I want to make it so that when the party encounters these things outside, all they see is a bunch of dark areas advancing on them. Then, whenever a character gets near one of the beasties, the beastie is only momentarily visible. Like I said, this would be really cool, but I haven't got a clue about how I'd go about making that happen. -
Reading through the docs it says that the call put_item_on_spot(x,y,item) should mark the item it places as "contained" if there is a container on the spot. However, when I try to use this, whether the container is a barrel, crate, or terrain, it doesn't set the contained flag and you can see the item just sitting on top of it.
Is there no way to place an item into a container through a script?
-
I just found a strange little bug in the math algorithm...
I tested these 2 lines of code:
print_num(24 - 21 + 1);
print_num(1 + 24 - 21);
They *should* both produce a result of 4, yet the first line subtracts the 1 instead of adding it and produces a result of 2. The second line works fine however.
-
You could have the START_STATE of the town use the get_crime_level() call to check if a crime was commited, and then use the set_crime_level() call to set it back if so... Though you would still get the "Your crime was seen" message.
-
Quote:Originally written by spyderbytes:
The method of sending a message to a terrain script should erase the stains at the end of the current turn, rather than at the beginning of the next turn (I'm fairly certain I remember reading that messages are handled at the very end of the current turn). I think that'll get you closer to what you're wanting.
-
Quote:Originally written by wz. arsics:
Hmm... maybe you could try playing around with the species? (listed on page 58 of the appendices) Maybe some will give you different remains. "Other," perhaps?Quote:Originally written by Kelandon:
You could have the monster set an SDF, and then put in the town's START_STATE that if the monster is dead, use the call to erase the blood.
What I'm trying to do is create a sea monster type enemy that travels through water terrain. I've got it working rather well, except that when it dies the blood spots appearing on top of the water look really out of place. -
Hi,
I need a way to make it so a monster does not leave behind a blood stain when it dies (or any other type of stain). The only way around this that I can think of is to have the creature's death state use the erase_creature call, but then the death animation wouldn't play. I've tried using "put_stain_on_space(my_loc_x, my_loc_y, -1);" in its death state to erase the stain, but that doesn't work because the engine calls it immediately before killing the creature rather than after.
Any suggestions on how to get around this?
Thanks.
Someone want to help me with this?
in Blades of Avernum Editor
Posted
if (get_flag (299,27) == 1) && (get_flag (299,28) == 1) && (get_flag (299,29) == 1)
if ( (get_flag (299,27) == 1) && (get_flag (299,28) == 1) && (get_flag (299,29) == 1) )