-
Posts
2,138 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Everything posted by Niemand
-
You can use up to 199, though I'm surprised if you actually have a use for that many nodes, since as far as I know, the longest dialog script anyone has actually used yet was around 90 nodes. As far as I know, the state can be any positive integer within reason. 'Dealing with the Dead' ? That just has an odd ring to it.
-
Do you mean the hellhound in the tunnel that has a that hunter standing outside of it, between Fort Monastery and Grindstone? If that's the place you mean, tell the hunter that you want to help him (when you are strong enough) and he will lead you to it.
-
There is an 'Avernum 4 Prefs' file, but it is not a plist. Mine contains only two nonsense characters, which makes sense because there are only a half a dozen yes/no type options in the game's preferences window.
-
No there is no such editor. BoA scenarios depend on a number of files, some of which are script files that provide code for the game application to execute at certain times. Boats and horses are added to the scenario by certain particular script calls. A scenario is very complicated, and can be constructed in many different ways. It would be far simpler to just learn how scenarios are made if you want to modify them. Basically like Ephesos said, if you want to know, read the manual. It's included with the scenario editor program, which you might want for editing scenarios anyway.
-
I mostly use GraphicConveter myself, but only because a free copy came loaded on my laptop. It is reasonably good and I think that Thuryl's description is quite accurate. I also use Appleworks a good deal, but I have found that its color palette is subtly different from that of the built in BoA graphics.
-
A link to what? If you mean an application specifically for making BoA graphics, as far as I know, no such thing exists. If it's just a good general drawing/painting program you're looking for, what OS do you use?
-
Me horde unless stuff? Never! My current BoA party has, it turns out: 163.5 pounds of potions, 97 pounds of scrolls and wands, 118 pounds of spare hand to hand weapons, 199 pounds of spare bows and arrows, 166.5 pounds of herbs, and 144 pounds of spare armor. Luckily in BoA there's no penalty for carrying around so much heavy junk.
-
what the heck is wrong with this script
Niemand replied to Enraged Slith's topic in Blades of Avernum Editor
he hasn't said what the file is named, the beginscendatascript; line is correct and required, it is at the begining of the ______data.txt file, where _______ is the same name as the .bas file. -
what the heck is wrong with this script
Niemand replied to Enraged Slith's topic in Blades of Avernum Editor
Are you sure that the picture is small enough? You might see if you could get the item to work with a slightly smaller image that you're absolutely sure is within the allowed limits. Other than that, I agree that it looks just like the code from ASR, and I can't spot any problem. -
I would put a check in the START_STATE of the scenario script, when a certain date and time is reached, display a dialog box to tell the party where to go (Also set any necessary flags, etc). Then, when the party arrives in the correct town start the cutscene, say, from the INIT_STATE of that town script.
-
In Mac OS X I have found that ResEdit tends to work somewhat irregularly, and pasting is a problem. For me it sometimes works and sometimes doesn't. If you are using OS X, my advice would be to start classic before starting ResEdit, and copy the picture from your graphics program after ResEdit is already running.
-
Yes, originally the variable's name was 'state' and that totally messed the script up so that it wouldn't run. I have also tried changing it to 'k', and there is no difference.
-
It doesn't work, because Jeff made the assumption that all floors will be contained by the correct rombus, and so his code may draw the floor tiles in any arbitrary order. With the terrain icons, which are supposed to overlap, he had to make the code be careful about the order of drawing, but with floors he didn't need to. So, if you put in a floor icon that extend outside of its rombus, other tiles may be drawn over the parts that stick out, and this is exactly what happens. Actually, the game just ignores it, htough it looks terrible.
-
However that check has also proven to make no difference. I'll take it out for sure though.
-
I hadn't originally because the relevant portion is basically all of it, and it is a bit long and messy since I'm still trying to get it in working order. I'm going to cut out most of the actual computation since, hopefully, it isn't significant to the problem. Code: begincreaturescript;variables;short i,target,j,return,attackstate;short fire, ice, nonelem, summon, ment, blhe;short m, p, ltick, maxe, s;body;beginstate INIT_STATE; if (get_memory_cell(0) == 2) set_mobility(ME,0); if (get_memory_cell(4) == 0) set_memory_cell(4,3); m = get_stat(ME,11); p = get_stat(ME,12); if((m > 0) || (p > 0)) attackstate = 5; else attackstate = 4; maxe = get_stat(ME,36); ltick = 0; print_num(s); print_str_color("s0",1); if(s == 0) s = 2;break;beginstate DEAD_STATE; // Set the appropriate stuff done flag for this character being dead if ((get_memory_cell(1) != 0) || (get_memory_cell(2) != 0)) set_flag(get_memory_cell(1),get_memory_cell(2),1);break;beginstate START_STATE; print_num(s); //s = 6; if(s == 2){ print_str_color("s2",1); // if I have a target for some reason, go attack it if (target_ok()) { if ((dist_to_char(get_target()) <= 16) && ((get_flag(299,26) == 0) || (char_in_group(get_target(),0) == 0))){ return = 3; set_state(attackstate); } else set_target(ME,-1); } // Look for a target, attack it if visible if (select_target(ME,8,0)) { if((get_flag(299,26) > 0) && (char_in_group(get_target(),0) == 1)){ select_target(ME,8,0); if((char_in_group(get_target(),0))) set_target(ME,-1); else{ do_attack(); return = 3; set_state(attackstate); } } else{ do_attack(); return = 3; set_state(attackstate); } } // Have I been hit? Strike back! if (who_hit_me() >= 0) { set_target(ME,who_hit_me()); do_attack(); return = 3; set_state(attackstate); } // Otherwise, just peacefully move around. Go back to start, if I'm too far // from where I started. if ((my_dist_from_start() >= 6) || ((my_dist_from_start() > 0) && (get_memory_cell(0) > 0))) { if (get_ran(1,1,100) < 40) return_to_start(ME,1); } else if (get_memory_cell(0) == 0) { fidget(ME,25); } // if we're in combat and the above didn't give me anything to do, just // stop now. Otherwise, game will keep running script, and that eats up CPU time. if (am_i_doing_action() == FALSE) end_combat_turn(); }break;beginstate 3; // attacking print_num(s); print_str_color("s3",1); s = 3; if(get_current_tick()!=ltick && get_energy(ME)<maxe){ change_char_energy(ME,1); ltick=get_current_tick(); } if(get_energy(ME)<2){ end_combat_turn(); } if (target_ok() == FALSE){ //s = 2; set_state(START_STATE); } do_attack_tactic(2);break;beginstate 4; //non magical attacking print_num(s); print_str_color("s4",1); s = 4; if (target_ok() == FALSE){ //s = 2; set_state(START_STATE); } do_attack();break;//REQUIRES: return is the state to go to on completionbeginstate 5; //sets spells for this target print_num(s); print_str_color("s5",1); s = 5; //-Massive amounts of code were removed here- set_state_continue(return);break; In states 3 and 4, the assignments to s should not be commented out, normally, but I wanted to make utterly sure that they weren't responsible.
-
I have encountered a very odd problem working on a script: To begin with, my script was crashing occasionally, so I wanted to look into it. It looked like there was a bug that was causing it to run sate 5 sometimes where it shouldn't have, so I started looking into which states were running when. I discovered that the script would, on seeing an enemy, correctly go from state 2 (START_STATE) to state 5, then to state 3. But before it even got to the first bad behavior I had wanted to analyze, I saw that when it was supposed to be in state 3, it would run state 2 half a dozen times, and then state 3. When I tried to use a variable to keep track of what state it was in and have state 2 only do anything if the variable was 2, state 2 kept running anyway, When I examined the values of the variable, I saw that it was switching to 2 when it reached state 2 even though the only time in the script when that variable was assigned that value was in the INIT_STATE, which was not being rerun. I'd swear that variable is changing by itself. Has anybody else ever seen anything like this at all?
-
2nd newbie question...
Niemand replied to shadow9d9's topic in Avernum Trilogy (2000-2002 original versions)
He means that you have to press 'wait' to make it go away; you have to wait once for each unit of web, plus one, I believe. -
In A2 and A3 (I haven't played A1, yet anyway), npcs can cast arcane shield, for instance. However in BoA, I really think that they can't.
-
what party do you use?
Niemand replied to Dark Mage's topic in Avernum Trilogy (2000-2002 original versions)
I always use a slith pole-weapons warrior, a nephil archer, a human mage, and a human priest. I then go on to make sure that they all are reasonably good at melee and archery, train the nephil in some mage a priest skills, and develop the priest's potions skill. I realize the massive redundancy with this party, but I'm rather paranoid, and want them all to be able to do anything they may need to. -
Monsters can't cast Simulacrum, Arcane Shield, or Repel Spirit. There are others too, but these are the ones that matter the most to combat.
-
That's true, I didn't think about charming. I would guess, though, that if this creature is to be immune to simulacrum, it is probably pretty powerful, and might just resist charming on its own. Or, to combine my idea with Thuryl's, how about a script that erases itself if friendly to the party, but not if one of its memorycells is set a certain way? You just set that memorycell for the creature that you actually place, so that it will never erase itself, but if it gets simulacrummed, the duplicate will not have the cell set and will erase itself.
-
This is the BoA version of simulacrum, though, not the A1-3 version, so no soul is captured; the creature is just duplicated once on the spot.
-
The easiest way to do this is to set its species to special (12). Or, you could give it a default script that causes it to erase itself if it is friendly to the party.
-
Archmagus Michael: the maximum possible graphic adjust value is 512+256+128+64+32+16+8+4+2+1=1023. The minimum is 0. Therefore there are 1024 possible values. Even within these, though, many will look the same. Kelandon: I think that it is a bit slow because I took a big chunk of RAM and put the entire picture which is made of the 1024 graphics. It generates this ahead of time, and then when you scroll it only has to copy part of it to the screen. There really isn't any way as far as I know to make it faster than with this one large copy operation, because any alternative would involve multiple smaller copy operations, and would require many more clipping calculations. On my computer the scrolling is quite fast; what type of computer are you using? Also, the window isn't resizeable because that would require recalculation of that massive image. I can look into the double clicking, but I'm not sure if I know how to determine if an event is a single or double click. Also, since it's just been released, the old versions would then have to be replaced with a new version. EDIT: Ok, I have commented the code. Anyone who would like a copy can have it.
-
Yes, I was stupid and neglected to think of the source. I'll be happy to release it; after all I didn't write the most central part myself. I will need to write some better commenting though. As to porting it to OS 9: I can't because I have no compiler capable of doing it. As to porting to windows: That would basically require an entire new application that would share essentially none of my code I believe, since most of what I wrote handles PICT resources and UI elements. Edit: can you descibe what you mean about the scrolling, Kelandon? It should scroll by one row of graphics at a time, or you can drag the scroller to the poitn you want. Is it not doing that, or do you think that that is not very good?
