Jump to content

demipomme

Member
  • Posts

    30
  • Joined

  • Last visited

    Never

Everything posted by demipomme

  1. Oops! I forgot to mention that I use pit for all squares on the map that the player is not meant to go on (this way they look black on the automap). I then use this code to put the walls on the pit squares, giving walled in caves. This leaves the cave squares free to be frilled up (with stalactites, nests, bones, thermonuclear weapons and any other terrain types relevant to the town). The pit squares MUST be in groups of at least two in each dimension or else putting walls on the doesn't work. This is kind of hard to explain, but I think you'd realise if you had a go. I'm excited to see your random room generation, as my random maker isn't that sophisticated. EDIT: You could easily change the code to look for blackness rather than pit, I just use it as this is the way by random maker works.
  2. Here's my code for putting walls round stuff: Code: x = 3;y = 3;while (x < 60){while (y < 40){if (get_floor(x , y) == 71) {if (get_floor(x , y - 1) != 71) {set_terrain(x,y,2);} // Northif (get_floor(x - 1 , y) != 71) {set_terrain(x,y,3);} // Westif (get_floor(x , y + 1) != 71) {set_terrain(x,y,4);} // Southif (get_floor(x + 1 , y) != 71) {set_terrain(x,y,5);} // Eastif ((get_floor(x , y - 1) != 71) && (get_floor(x - 1 , y) != 71)) {set_terrain(x,y,6);} // North and Westif ((get_floor(x , y + 1) != 71) && (get_floor(x - 1 , y) != 71)) {set_terrain(x,y,7);} // West and Southif ((get_floor(x , y + 1) != 71) && (get_floor(x + 1 , y) != 71)) {set_terrain(x,y,8);} // South and Eastif ((get_floor(x , y - 1) != 71) && (get_floor(x + 1 , y) != 71)) {set_terrain(x,y,9);} // East and North}y = y + 1;}y = 3;x = x + 1;} It only works if each pit square is in groups of at least two. This is because the walls are being put on the pit square and squares can't have walls on more than two sides (a downside of the engine if you ask me, hint, hint, cough, cough). The command limit is an issue. I break my code into three separate bits: the random room creation is done in init_state; the walls are added by a special node; and the terrain is frilled up by another special node.
  3. I haven't checked, but I think the automap remembers what squares the party has seen and then displays on the automap exactly what's there, so your method would effectively reveal the entire map. But thanks for the idea and I will go and check just to make sure I'm not chatting mumbo jumbo. EDIT: In fact I wouldn't mind if the automap remembered the exact map as it was and this changed as you got to it. This would fit in with party exploring and mapping an area (thus having a map of how it was) and then coming back to see the walls moved and thinking this is weird.
  4. If I am interpreting this script correctly, this makes the whole map "seen", which I suppose makes the automap look neater. I kind of want something that will make the whole map "unseen" (or at least a bit of it). The cave in my scenario is meant to be magically enchanted so that the walls are constantly moving. Each time you enter the cave it is different. EDIT: So you need to re-explore every time (and that won't infuriate players...)
  5. I'm currently working on a scenario that features randomly generated levels and although I wasn't going to mention it until release, it may help you to see what I've been doing. I can send you the scenario file if you're interested. I noticed the problem of automap change and, whilst annoying, I've decided to ignore it in the hope that it will go away (which it won't unless force_automap_redraw() and set_seen(short x, short y, short seen) become the reality I have fantasised about).
  6. Tried putting the same the same code in the START_STATE of a character script but the same problem applies.
  7. Quote: Originally written by Captain Obvious: While crude and inefficient programming at best, you could try putting it in the [sTART_STATE]. Why's it crude and inefficient? If game is randomly removing fields after the START_STATE, is there some other call I could use to get the field created each turn? I though of using special encounters on every square in that area of the map, but what about if the party are in fight mode or they hit wait?
  8. Leaving the Lost Mines in Perfect Forest (BoA) just gave me an Unhandled Exception c000005 At address 00449288. It closes the game. I've reloaded several times and it keeps doing the same. Any suggestion? Its WinXP, in case you need to know.
  9. I previously had it without the if statements then changed it because I thought adding a field to a field might be causing the problem. So basically the same problem occurs with or without the if statement. Thanks
  10. beginstate START_STATE; if (is_field_on_space(39,38,2) == 0) put_field_on_space(39,38,2); if (is_field_on_space(40,38,2) == 0) put_field_on_space(40,38,2); if (is_field_on_space(41,38,2) == 0) put_field_on_space(41,38,2); if (is_field_on_space(42,38,2) == 0) put_field_on_space(42,38,2); if (is_field_on_space(38,39,2) == 0) put_field_on_space(38,39,2); if (is_field_on_space(39,39,2) == 0) put_field_on_space(39,39,2); if (is_field_on_space(40,39,2) == 0) put_field_on_space(40,39,2); if (is_field_on_space(41,39,2) == 0) put_field_on_space(41,39,2); if (is_field_on_space(42,39,2) == 0) put_field_on_space(42,39,2); if (is_field_on_space(43,39,2) == 0) put_field_on_space(43,39,2); if (is_field_on_space(38,40,2) == 0) put_field_on_space(38,40,2); if (is_field_on_space(39,40,2) == 0) put_field_on_space(39,40,2); if (is_field_on_space(40,40,2) == 0) put_field_on_space(40,40,2); if (is_field_on_space(41,40,2) == 0) put_field_on_space(41,40,2); if (is_field_on_space(42,40,2) == 0) put_field_on_space(42,40,2); if (is_field_on_space(43,40,2) == 0) put_field_on_space(43,40,2); if (is_field_on_space(38,41,2) == 0) put_field_on_space(38,41,2); if (is_field_on_space(39,41,2) == 0) put_field_on_space(39,41,2); if (is_field_on_space(40,41,2) == 0) put_field_on_space(40,41,2); if (is_field_on_space(41,41,2) == 0) put_field_on_space(41,41,2); if (is_field_on_space(42,41,2) == 0) put_field_on_space(42,41,2); if (is_field_on_space(43,41,2) == 0) put_field_on_space(43,41,2); if (is_field_on_space(38,42,2) == 0) put_field_on_space(38,42,2); if (is_field_on_space(39,42,2) == 0) put_field_on_space(39,42,2); if (is_field_on_space(40,42,2) == 0) put_field_on_space(40,42,2); if (is_field_on_space(41,42,2) == 0) put_field_on_space(41,42,2); if (is_field_on_space(42,42,2) == 0) put_field_on_space(42,42,2); if (is_field_on_space(43,42,2) == 0) put_field_on_space(43,42,2); if (is_field_on_space(39,43,2) == 0) put_field_on_space(39,43,2); if (is_field_on_space(40,43,2) == 0) put_field_on_space(40,43,2); if (is_field_on_space(41,43,2) == 0) put_field_on_space(41,43,2); if (is_field_on_space(42,43,2) == 0) put_field_on_space(42,43,2); break; I don't think it's to do with the terrain, floor, objects or characters present, as each turn, the spaces that aren't filled change. It's as if blades is adding in an "if random number is greater than" type of call. I'm happy to send you the entire (half built) scenario if that would help. Thanks
  11. Does anyone know why the call put_field_on_space does not reliably put a field on a space? By this I mean it does it most of the time, but not 100% of the time. Does anyone know a way to fix this? Thanks
  12. On an interesting and vaguely similar note: does anyone know why there isn't a freeware RPG similar to BoA? It can't be the hardest type of game to make given the simplicity of the graphics, and there are many freeware games of different types out the that must have been harder to make. The freeware developers seem bent on making MMOCRPGs, and expanding the world's complement of SLAs.
  13. Would this not require using the custom objects script to change every existing floor (all 130), so that a state is called, setting a SDF when the party walks over it? This would be impossible without tampering with the core data file as there are only 124 free floor slots. There are even less free terrain slots relative to the number of existing terrains. The other problem is that as every terrain would be calling a script to change the SDF, it wouldn't fulfil its normal parameters, like lava being hot. But I may be misunderstanding the use of SDFs, if so, sorry...
  14. Quote: Originally written by Thuryl: If you explained exactly what you're trying to do, we could try to work out alternate solutions. What don't you understand from my previous post? On a different note, I asked Jeff whether changing char_loc_x and char_loc_y so they work outside was in the realms of possibility. He replied: It's possible, I'll look at it. It would definitely have to be in a new scenario format, though. - Jeff Vogel Spiderweb Software, Inc. http://www.spiderwebsoftware.com
  15. Thankyou, I understand now. Unfortunately this method is too ugly for what I am trying to create.
  16. Thanks for your reply, but I don't understand how this will help. In the script I am writing, which is called by using an item, the terrain/floor the party is on affects the outcome, wherever they are outside.
  17. I would like to be able to find out the terrain/floor under a party when they are outside. The solution I thought was a combination of: char_loc_x char_loc_y get_floor But, char_loc_x and char_loc_y don't work outside. -Is there a workaround to find out the floor/terrain under the party? -Is there another way of obtaining a party's coordinates outside? -Would it be possible to change char_loc_x and char_loc_x for the next release so they do work outside? Cheers
  18. I've also had this problem, so I'd be interested to know your ugly work around and whether this will be fixed in a later version. Thanks.
×
×
  • Create New...