Jump to content

Venom

Member
  • Posts

    110
  • Joined

  • Last visited

Everything posted by Venom

  1. Athron, that's it! I forgot that Sulfras was female as well, sorry. I fixed the other problem, thank you.
  2. Are you absolutely sure? That doesn't sound right.
  3. Oh, and well I have everyone's attention, what is the name of the female dragon in Exile III? I can't remember and I have lost all my save files.
  4. I got an error not mentioned among the errors in the documentation while I was testing my scenario. It said Smyltwar Major Error: Expression TOO LONG in line 114. I assume that means my conditional statement is too long on that line (for it is very long), but I was wondering why that would matter. Coincidentally, I'm open to suggestions on how to fix this.
  5. I have been trying to import a town from another scenario. So far I have been unable to do so successfully. When I try to import, it asks for the zone, as usual, and I input 6. Then I select the scenario from which the town is to imported from, and bang! I receive this error: The program encountered an error while loading/saving/creating a scenario. To prevent future problems, the program will now terminate. Trying again may solve this problem. Giving the scenario editor more memory might also help. Be sure to back up your scenario often. Error number: 204. In addition, I get another, more fatal and annoying error: Unhandled Exception Unhandled Exception: c0000005 At address: 0041b25f The program then crashes, without any lasting harm. The town is relatively simple and I can just recreate it, but I would like if anyone else has run into this and how they dealt with this.
  6. Yes, that is what I have been doing. However, I get these three errors. In a box on the screen: Blades of Avernum was unable to load graphic sheet 503 (the sheet I assigned to your snow file). Quitting and restarting Blades of Avernum might help. If not, a graphic file may be damaged. In this case, reinstall the game. In a second, but differently styled text box: Error! The game just failed to load this graphic: Sheet 503, icon 12. The editor might have run out of memory, but, more likely, the graphic it was trying to find wasn't there. You won't see this error again until you load a new outdoor section or town. In the text area at the bottom of the game: Stuck on 503. That last error repeats itself for every tile upon which I used graphic sheet 503. I don't know why. The previous graphic sheet, Mr, Bixler's worked fine. I only modified my code a little to accept yours, but in case I missed something, here is the relevant portion: Code: begindefineterrain 430; // ice-covered hills clear; te_name = "Icy Hill"; te_which_sheet = 503; te_which_icon = 0; te_ed_which_sheet = 688; te_ed_which_icon = 40; te_height_adj_pixels = 12; te_special_property = 19; te_draw_on_automap = 1; te_suppress_floor = 1;begindefineterrain 431; te_which_icon = 1; te_ed_which_icon = 41; te_special_property = 20;begindefineterrain 432; te_which_icon = 2; te_ed_which_icon = 42; te_special_property = 21;begindefineterrain 433; te_which_icon = 3; te_ed_which_icon = 43; te_special_property = 22;begindefineterrain 434; te_which_icon = 4; te_ed_which_icon = 44; te_special_property = 23;begindefineterrain 435; te_which_icon = 5; te_ed_which_icon = 45; te_special_property = 24;begindefineterrain 436; te_which_icon = 6; te_ed_which_icon = 46; te_special_property = 25;begindefineterrain 437; te_which_icon = 7; te_ed_which_icon = 47; te_special_property = 26;begindefineterrain 438; te_which_icon = 8; te_ed_which_icon = 48; te_special_property = 27;begindefineterrain 439; te_which_icon = 9; te_ed_which_icon = 49; te_special_property = 28;begindefineterrain 440; te_which_icon = 10; te_ed_which_icon = 50; te_special_property = 29;begindefineterrain 441; te_which_icon = 11; te_ed_which_icon = 51; te_special_property = 30; All this leads me to the conclusion that the 1st error's second postulation may be corrupt. I beleive your graphics set may be damaged somehow. I downloaded it again, with no success.
  7. I have no idea. All I know is that when I tried using hills in that fashion, I run into major errors. If it works for you, I'd love to know how you do it.
  8. I tried changing the pixels in the corner, but I still get the dot. I've downloaded your snow set, Dahak, and am trying to implement it. I can't seem to get it at the moment, but that's probably just my fault. A note for future reference: Terrain can only fit ten by one in a single file. I'm guessing you already knew that, but just in case, I thought I'd remind you. By the way, if you're interested, I was in need of a snow covered cliff and a hole into a snow covered hill(like terrain 332). If you're not busy. Thanks for your tip. No, I'm not using a Macintosh, Mr. Ephesos, but thank you for your help too.
  9. Hello again. I have another question/request to make, if that's okay. I've been using a snow graphic written by Brett Bixler. I've been having problems when I implement it though. The graphic has an odd dot in the corner. It makes it so the tiles don't flow together. Anyone know the cause of this? I wanted to include a screenshot, but I'm not sure how. I checked the graphic to ensure all pixels were there, if that is what you might be thinking.
  10. Thanks, Dastal, thats the best idea I've heard yet! I think it would be easy to code, or at least simple. I could even make a new town, accessible from the mine, which would be crisscrossed with these tunnels. The lights thing is a nice touch. Yeah, I might use that when I finish some more critical areas. However, if anyone knows of a technical workaround, without having to rearrange the layout, of seeing if a party member was in the path, pausing, and then moving again, I'd be grateful. I just had an epiphany of what I could do. I must go try it.
  11. Pachal: It really does not matter when they are moving. The change in game speed is unnoticeable (at least to me), and it would just be more work to change them now. I also noticed that the method you are describing could very easily be done with the set_script_mode() call. The # you input in the brackets affects when the script is called. Dastal: I like your suggestion, but we're going to have to assume that the carts are controlled by beings who care about others. The tracks need to be crossed often by miners and if we have speeding mining carts rushing heedlessly along, disaster would be all too common. And also, the tracks need to be crossed to get around the mine. And yeah, the laser thing sounds kind of lame. The conveyor belt puzzle was stinking hard, I think the hardest puzzle in Exile III. It took me hours of pulling out my hair and cursing at the endless golems plopping out of nowhere to figure it out. I can't imagine a laser puzzle really fitting the theme, either.
  12. Dastal: I don't beleive that is possible, for each would need to be called one after another. I tried something similar with the move_to_loc_x_y, but it would need to be called every turn, it did not overlap (meaning each cart would move only after the last one moved), and, worst of all, you couldn't move, the processor usage was so high. Kelandon: I think I see what you mean, and I may post a copy for others to use. You would set the appropriate coordinates in the mem_cells you wished to use. Then, you could write a script, which would check each one, see what they were, and then go there. You would also need to make sure the mem_cell wasn't set to 0; if so, the script should be written to skip it. The only hard part would be knowing when to get the next coordinate. I think you could use the incrementing i format, where the first call would be made when i == 1, and then increment, calling only when the cart stopped. I guess another hard bit would be getting the cart to go back, but I think it's doable. The only limitation I can see is that at max, it can only store five x,y coordinates. This makes it unusable for my scenario. Thuryl: How did SpidWeb do the conveyor belts in the golem tower in Avernum III? I'm assuming that if there are no premade conveyors in BoA, then none in Avernum III. I think that conveyors would be only be cool if the thing being conveyed could not be pushed off. Realistically, why would anyone randomly shove a mining cart over in the middle of a mine?
  13. Kelandon: There are multiple scripts. I had wanted one script, but after many hours of tweaking, it seemed unfeasible. If you know something that you really think would work, I'd love to hear it. Kennedy: I already looked into the roads option. Unfortunately, that only works for objects set on the terrain. This is terrain. The conveyor belt idea I had never thought of before. Does BoA use conveyors? I am pretty sure none of the scenarios created had any. It's been a few years, but I don't even remember if Avernum I or II had them. I never played Avernum III, and I don't know how they would fix the golem place without conveyors. Only remember Exile III style conveyors (greatest game made by SpidWeb, bar none!). If you could explain a little more, though, I'd be very interested. Can they be pushed off, though? And what happens if they are blocked? Thanks.
  14. Yes, I am doing this for school. It's actually my senior project. And yes, I was using memory cells 4 and 5 for coordinates x and y, respectively. What exactly did you mean, Kelandon, about the memory cells? In my current format, I must double all my coordinates to loop the travel. I do have less than ten coordinates for each cart, though, not doubled.
  15. Ha ha ha ha ha ha ha! Mua ha ha ha ha ha ha! She lives! Whew, glad to get that out of my system. The 32 hour mark has just passed and I have it working. It does not slow down gameplay, or demand heavily of the processor (I should know, I run a 533mHz Celeron). The last, small bug, is that whenever the party moves in the way of the cart, everything is messed up and the cart goes wacko. I have given each cart it's own creature script, which, though annoying, seemed necessary. They are all identical except for the coordinates. Here is a portion of the shortest one: Code: // Start checking for cart position and then give cart directions for next destinationif (i == 1) { x = 9; y = 43; }if (i == 2) { x = 9; y = 34; }if (i == 3) { x = 11; y = 34; }if (i == 4) { x = 9; y = 34; }if (i == 5) { x = 9; y = 43; }if (i == 6) { x = 6; y = 43; }if (i == 7) { x = 6; y = 54; }if (i == 8) { i = 0; x = 6; y = 43; }if // If cart is stopped, recalculate movement vector ((am_i_doing_action() == 0) && (i <= 8)) { print_str("Testing 17"); move_to_loc_x_y(ME,get_memory_cell(4),get_memory_cell(5)); i = i + 1; set_memory_cell(4,x); set_memory_cell(5,y); } If you guys could just help me out on this last bit, it would really help me out. I'm doing this for a school project and it's due in a few months. It's supposed to be on an epic scale.
  16. Ok, it did not work. This is the twentieth hour I have been working on this creature script with no success. I now officially hate BoA. Yet I persist.
  17. Well, in theory, no. The initial if statement should only allow the else statement to be called if the cart is at an x,y coordinate. The carts can't move until they have coordinates in mem_cell 4 and 5. When the script is first run, there is nothing there and i = 0. I'm not sure if that makes the get_memory_cell() call false, but to ensure it, I place the i != 0. Since it is false, it goes to the else statement. This is the tricky part. The first else statement does not set anything for the mem_cells. It only increments i. Wait, hold on. The light just went on! I know what I did wrong! Yippee! I think that the program beleives that nothing in mem_cells 4 and 5 is a number. It can't go to nothing, but the statement is true. This doesn't cause it to keep incrementing. Rather, it just keeps trying to go to 0,0 (the status of the mem_cells). Well, inadvertenly, Garrison, you have helped me greatly. My thanks to you. I think what I should do is kill the (i != 0) in the first part, and manually enter in the first coordinates for each cart. I'll let you know if this works. Thanks again.
  18. I love you, Thuryl! I would have never thought of that, and it turned out several portions were not being called. This gave way to a massive overhual of my script and scenario. I simplified the scenario so that the carts did not intersect, ever. This required deletion of three carts, which drastically reduced the amount of script. Then I rewrote the script into a new format, consisting of one big if statement. After several hours testing this, however, I'm lost again (really, this doesn't happen often). Thanks to Thuryl, I know that my last else statement is not getting called. It just keeps calling the first if "bit". I can get it to call the else, but it only calls it once and then returns to repeating the if "bit". And this without moving. I'm just not sure why it won't move. Here is the code, if I could ask for your,(forum members), help once more. I'm going to post almost all of it this time, to get a better view. Code: // something2.txt// Neither simple, nor naive, this text has the creature follow a certain route.// Memory Cells:// Cell 1,2 - Stuff done flag. If both 0, nothing. Otherwise when this // is killed, set to 1. (Example: If cell 1 is 3 and cell 2 is 5, when// creature is killed, sets SDF(3,5) to 1.)// Cell 3 - Dialogue node to start with if talked to. if left at 0, this// character doesn't talk.// Cell 4 - X coordinate to move to.// Cell 5 - Y coordinate to move to.begincreaturescript;variables;short i = 1;short target;short x = 0;short y = 0;body;beginstate INIT_STATE; 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;// Start ifs for cart #13if (i == 1) { x = 52; y = 53; }if (i == 2) { x = 52; y = 49; }if (i == 3) { x = 57; y = 49; }if (i == 4) { x = 57; y = 40; }if ((dist_to_loc(get_memory_cell(4),get_memory_cell(5)) > 0) && (i <= 13) && (i != 0) && (my_number() == 13)) { print_str("Testing 1.0"); move_to_loc_x_y(my_number(),get_memory_cell(4),get_memory_cell(5)); } else if ((dist_to_loc(get_memory_cell(4),get_memory_cell(5)) > 0) && (i >= 14) && (i <= 18) && (my_number() == 15)) { print_str("Testing 1.1"); move_to_loc_x_y(my_number(),get_memory_cell(4),get_memory_cell(5)); } else if ((dist_to_loc(get_memory_cell(4),get_memory_cell(5)) > 0) && (i <= 26) && (i >= 19) && (my_number() == 17)) { print_str("Testing 1.2"); move_to_loc_x_y(my_number(),get_memory_cell(4),get_memory_cell(5)); } else if ((dist_to_loc(get_memory_cell(4),get_memory_cell(5)) > 0) && (i <= 30) && (i >= 27) && (my_number() == 18)) { print_str("Testing 1.3"); move_to_loc_x_y(my_number(),get_memory_cell(4),get_memory_cell(5)); } else if ((dist_to_loc(get_memory_cell(4),get_memory_cell(5)) > 0) && (i <= 40) && (i >= 31) && (my_number() == 19)) { print_str("Testing 1.4"); move_to_loc_x_y(my_number(),get_memory_cell(4),get_memory_cell(5)); } else { print_str("Testing A"); i = i + 1; set_memory_cell(4,x); set_memory_cell(5,y); }break;beginstate TALKING_STATE; if (get_memory_cell(3) == 0) { print_str("It's a cart. It doesn't talk."); end(); }break;
  19. I've revised my code and, as I have done before, I anticipated some of the problems that Garrison points out. Very odd coincidences. Here is a revised sample of the code: Code: if (dist_to_loc(get_memory_cell(4),get_memory_cell(5)) > 0) move_to_loc_x_y(ME,get_memory_cell(4),get_memory_cell(5)); else if ((i <= 14) && (my_number() == 10)) { i = i + 1; set_memory_cell(4,x); set_memory_cell(5,y); } else if ((i >= 15) && (i <= 28) && (my_number() == 13)) { i = i + 1; set_memory_cell(4,x); set_memory_cell(5,y); }if (i == 1) { x = 55; y = 53; }if (i == 2) { x = 52; y = 53; }if (i == 3) { x = 52; y = 49; } I figured out the ME thingy, but instead of the far simpler way of my_number, I had assigned a preset memory cell to the creature number. The multiple comparisons I had also changed previously, but I had no idea why. It gave me no error when testing, which, sadly, none of this does. However, I was running out of ideas and though that did not solve the problem entirely, at least it was constructive. The carts, as of this post, still sit there. Argh. I'm going to bed.
  20. Hmm, I just noticed I posted the wrong code. Only the first nine lines of the initial if statement are valid. I hadn't changed the rest to match yet. The i,x,y statements are ok, though. I don't think it will take up too much memory, as I am having the carts only act at a distance. That may be a bit unrealistic however. And this is a friendly town. And the carts are magical. And there are eight carts. I may have to keep them stationary, but until everything else has been exhausted, I'm not ready to give up.
  21. Well, I tried my code, and it did not work. I've gone over it several times and I can't figure it out. I would like to post it here to see if anyone can find the error. Meanwhile, I'll keep searching. Code: if (dist_to_loc(get_memory_cell(4),get_memory_cell(5)) > 0) // checks to see if cart there move_to_loc_x_y(ME,get_memory_cell(4),get_memory_cell(5)); // if not, goes there else if ((0 < i < 15) && (ME == 10)) { // if there, calculate next route for cart #10 set_memory_cell(4,x); set_memory_cell(5,y); i = i + 1; } else if ((29 > i > 14) && (ME == 13)) { stop_moving(ME); set_memory_cell(4,x); set_memory_cell(5,y); i = i + 1; } else while ((36 > i > 28) && (ME == 14)) { stop_moving(ME); set_memory_cell(4,x); set_memory_cell(5,y); i = i + 1; } else while ((42 > i > 35) && (ME == 15)) { stop_moving(ME); set_memory_cell(4,x); set_memory_cell(5,y); i = i + 1; } else while ((54 > i > 41) && (ME == 16)) { stop_moving(ME); set_memory_cell(4,x); set_memory_cell(5,y); i = i + 1; } else while ((63 > i > 53) && (ME == 17)) { stop_moving(ME); set_memory_cell(4,x); set_memory_cell(5,y); i = i + 1; } else while ((68 > i > 62) && (ME == 18)) { stop_moving(ME); set_memory_cell(4,x); set_memory_cell(5,y); i = i + 1; } else while ((81 > i > 67) && (ME == 19)) { stop_moving(ME); set_memory_cell(4,x); set_memory_cell(5,y); i = i + 1; } if // sample paths (i == 1) { x = 55; y = 53; }if (i == 2) { x = 52; y = 53; }if (i == 3) { x = 52; y = 49; }if (i == 4) { x = 57; y = 49; }if (i == 5) { x = 57; y = 40; } // 400 lines more of this I set i = 1 in INIT_STATE, and I set mem_cells 4 and 5 to the carts starting location in INIT_STATE. I also declared the variables, if you were wondering.
  22. Thank you very much, both Linthar and Garrison. It's weird, because I started coding it exactly the way Linthar said about an hour after I posted. Weird, huh? Anyways, I have yet to test it, but I think it should work. I'm not entirely certain how I can get them to go back, but I have an idea. See, to differentiate each direction, I incremented a variable for each new path call. I think I can go backwards by subtracting one without having to re-enter all the x,y coordinates. It was very much a pain the first time I did it, and this will be the third such change I've done on that scale. Just a sidenote: Garrison is correct in saying that the documentation provided says only eight. However, you can place ten in the game. I tried editing the source code for more, but the box can't fit more than one digit, and I have no idea how to change that. Oh, and I was wondering; do you think that I need to manually code something to stop the cart if something obstructs it's path? Thanks again for your help.
  23. I thought Nethergate was ok, but it was incredibly short. Why was that? I beat both sides in less than three days. The end came so quickly that it was kind of disappointing.
  24. Hello. I am not quite certain if this is the correct board to be posting to, but I had a question in regards to scripting. If one wanted to make multiple creatures move back and forth along long paths which would take many twists and turns, how would one go about that? The character must always travel in a straight line and never fidget or waver inbetween two waypoints. I'm trying to move mining carts along railroad tracks. This would need to be called continuosly while a party was in a town. So far I've been able to figure everything I've needed to do, but this one seems to be beyond me. I'll keep trying, but if someone has any ideas, I'd really appreciate them. I can't use waypoints as there are too many turns by too many carts. And the Code: move_to_loc_x_y is quite odd. My carts just stop halfway there.
×
×
  • Create New...