Jump to content

Kelandon

Global Moderator
  • Posts

    10,261
  • Joined

  • Last visited

Everything posted by Kelandon

  1. Actually, they just look really funny in the editor, but they're there. Floor number 100 (yes, that ugly grayish thing) is vahnatai floor.
  2. I (a Mac user who has not touched the corescendata files) also experience error 1, although it only occurs in one instance: a character I ran through the HLPM on "god" setting and then used the Character Editor to max out his stats. It is kind of annoying, but I deserve it for having done something as ridiculous as that. Still, the engine seems less than robust without STATED maximum values for things. My first guesses for those "god" items were way off, and I had some pretty bizarre numbers coming up. Has anyone else noticed that if you do more than 1000 damage, BoA only displays the last three digits of the amount of damage that you did? Meh, these were things that I found bothersome, but as they didn't interfere with any sort of normal gameplay (I was using this character for debugging), I didn't feel the need to mention it. Now that it's come up, though, yeah, I've seen these things too.
  3. I have no idea what that error is or what it means, but I can think of some things that could be wrong. Try this: Code: begintalkscript;begintalknode 1; state = -1;nextstate = 1; condition = 1;question = "Sunny Jim"; text1 = "You meet Sunny Jim. _What do you want, friend?_";begintalknode 2;state = 1;nextstate = -1;condition = 1;question = "YAY YOU WORK!!";text1 = "I WORK!!!11!" Numbering on text starts over at each node, so each one will have a text1. No break call necessary at any point. Not sure that a condition definition is necessary for each of these, but Jeff uses them for every node, so you might as well, too.
  4. They also claim that it is against the rules . It may be some sort of violation of the Blades license.
  5. It is rather astonishing how scenarios manage to survive. If people remember NK0P, they'll remember anything. After seeing more of Max Power's posts, I have to think that if anyone can make a collaboration work, MP can. However, that's still an if. As for the initial topic of this thread, I (obviously) have a scenario that I'm working on under the name The Slith Homeland (although that is subject to change). The premise is, well, the sliths are trying to get to their homeland through Lost Bahssikava. I have about nine towns almost done right now, and I'm not sure how much more there will be -- this scenario could go on for another twenty towns or just another one or two, depending on how I sketch out the rest of the plot. Having sort of lost Internet access temporarily (I'm stealing a friend's dial-up connection to post this) has allowed me to concentrate more on designing, so hopefully this scenario will be done before the month is over, but who knows. And I'm intending to do a slight revision of the HLPM to include some trial combats, to make the shops more obvious about what they're selling, and to incorporate users' feedback. That is, once I get some users' feedback. I'm looking to find out how well it serves its main purpose right now, which is to make parties for ZKR and DWtD. EDIT: And if you wonder about the lost_king trilogy, check out the Lyceum's CSR. Look at the lowest rated scenarios. The lost_king trilogy is in there.
  6. I'm actually not one of the better players on here. TM (who goes by Machine Umsturz right now, but is recognizable by being member number 4), Drakefyre (who is obvious as the admin), and Thuryl (who has a custom title of "...b10010b..."), among others, know what they're talking about far more than I do, at least in terms of playing. I know some aspects of designing reasonably well, though.
  7. Err, Drakey probably knows better than me how to make a fighter/priest. EDIT: Dex and Str to 8 each? What are you using for this? The Character Editor?
  8. I believe those are bugs, not idiosyncracies. Still worth noting, though.
  9. Well, I was talking about a level 250 god party that had god weapons, too. They land lethal blows some unbelievable percentage of the time mainly because all of their equipment gives +25 to all skills, so really, they have Lethal Blow at almost 200 (and Strength, Melee Weapons, and Assassination at that level, too). In order to have a legitimate party with one character who has Lethal Blow at 15, if the character has distributed his/her skills into all of the useful fighter categories and not just in pursuit of Lethal Blow, I would expect that character to be about level 60 or 70. At that point I think one can reasonably expect to do damage in the thousands on occasion, although 30000 is more the domain of obscene god parties.
  10. If I understand you correctly, you need a custom objects script. Read the docs. It's a tad complicated.
  11. I just tried this, and the last one is an Invulnerability Potion recipe (not Elixir, but Potion). I added some recipes after that (17, 18, 19), and oddly enough, they showed up in the store, and I could buy them, but they were just the text strings that describe the potions, starting with the Healing Potion (so for 900, you can buy the text string "Recipe: Heals damage," which does nothing). This sounds like a tidbit for the next edition of "Things That Work."
  12. I think after some point Pathfinder stops being useful to increase, but I don't know what that point is. Lethal Blow above 15 or so is a bit excessive (30000 damage, anyone?), but I don't know that it stops increasing in power. With Magical Efficiency of about 30 or 40, Arcane Shield costs something like 3 spell points. Hee hee hee...
  13. I can't get it to work either, and neither can a few other people .
  14. For Macs, you put the editor in HEIGHT mode and command-click to lower the height. For PCs, I imagine that you control-click or right-click or something like that. Ramps (or stairs, really) are terrains. In TERRAIN mode, terrains 289-296 are stairs allowing a character to go from one height level to another height level. (That is, unless you've changed these terrains from their defaults.)
  15. I haven't played around much with lighting to know what it can and can't do, but if that is the case, then you could use a move_to_new_town (if you were really desperate to create this effect while keeping custom floors to a minimum). Otherwise you'll need two different floors and a set_floor call. I don't know that icon adjustment CAN make something look shadowed. I guess if you darken it, it might work, but have you actually tried it to make sure that icon adjustment can do what you want it to do?
  16. As far as I know, you actually need two different floors (unless you can do this with lighting, which sounds possible).
  17. I love icon adjustment. Any scenario I ever make will feature it to no small degree. The icon is selected when you, well, when you select it. More specifically, it happens in your custom objects script, when you define it using fl_which_sheet and fl_which_icon. Just throw in a fl_icon_adjust next to those calls. You can substitute one floor for another using set_floor, with one floor set to being icon adjusted and one not.
  18. As I said in the other topic, I got this information using the Character Editor. You can also mess around with high level parties using the HLPM (download from the link in my sig). I think one of the game-opening tips mentions special skills, and they are listed on page three of the Editor Appendices. Nothing lists what skills you need in order to train in them, though, so I just mucked around with the Character Editor for a while. I don't think there really is a perfect party. You just use what you can work with.
  19. Thanks, Qualnor. I knew there were two mistakes, and I could only think of one of them. Just because it'll be nice to be able to refer to this later, this is my best understanding of the special skills: You need bought values of these numbers or greater to be able to train in the special skills. All characters start with a bought value of 2 for Strength, Dexterity, and Intelligence, and a bought value of 3 for Endurance. Race, special traits, and related skills may increase the base value of skills without increasing the bought value. For further discussion of this, see my above post and/or play Nethergate. Quick Strike: Dexterity 8, Melee or Pole Weapons 6 Parry: Dex 8, Defense 6 Blademaster: Melee 6, Pole 6, Strength 8 Anatomy: Intelligence 6, Melee or Pole 8 Gymnastics: Strength 8, Dex 10 Pathfinder: Int 8, Nature Lore 6 (note that base Nature Lore depends on Intelligence) Magery: Int 10, Mage or Priest Spells 6 Resistance: Dex 10, Endurance 11, Hardiness 8 Magical Efficiency: Magery 8, End 11 Lethal Blow: Anatomy 8, Blademaster 8 Riposte: Parry 8, Blademaster 6 Sharpshooter: Dex 6, Bows or Thrown Weapons 8 Dread Curse: gained through events in the scenario -------------- I know that the initial 2 2 2 3 is bought, not base, because a human with no traits has an Arcane Lore of 1 (INT/2) and Tool Use of 1 (DEX/2). You can see pretty clearly the effects that race and traits have on skills using the HLPM, by the way.
  20. I made a list of the special skills and the prereqs for them here , although I'm finding that this list is not entirely accurate, even beyond the idiosyncracies documented in the later posts of the thread. It's pretty close, though. If someone wants to correct the list, feel free. I'll do it one of these days, but if someone else wants to do it, go ahead. EDIT: Gah, I read over the remaining posts in that topic, and it's not nearly as clear as it should be. Basically, BoA keeps track of several different values for any skill: its base, its bought, and its total. (If you want to see this clearly, play Nethergate.) The base value is influenced by the character's race -- nephils apparently get a bonus to Dexterity -- and the character's traits -- Divinely Touched adds some to the base value of Strength, Dexterity, and Intelligence. Special skills don't care about that base; they only care about the bought value. You increase the bought by training in the skill. I don't know if the scripts add to the base or the bought. Items add to the base. The list I wrote in the other thread comes from a base of 2 for Strength, Dexterity, and Intelligence, and 3 for Endurance (ie human with no traits).
  21. I should've put something in at the end that said, "This is a really incomplete list and if other people can remember others and name them, I'd be grateful." I'll add in the one from Babysitting. I don't remember others, so if people can remember what circumstances under which they occur, mentioning that would be helpful.
  22. Article - Cutscenes: A Tutorial by Kelandon An enhanced (and much more attractive) version of this article is available at my web page: http://my.sanbrunocable.com/tomwatts/public_html/home.html BoA offers a wonderful set of calls that have no parallel in the previous Blades system: the cut scene calls. The days of Frame Animation are over! (If you don't know what I'm talking about, be glad.) In this article, I will give examples of some ways these calls (and other calls that can be useful in cut scenes) can be combined to create cool effects. I also list some of the current scenarios that have cut scenes and where you can find their code at the end of this article. The enhanced version contains many more useful lists beside this. MOVEMENT Making characters move is one of the most basic uses of the cut scene calls. The relocate_character call does this. The most basic movement set looks like this: Code: // creature 6 walks northrelocate_character(6,53,28);force_instant_terrain_redraw();pause(5);relocate_character(6,53,27);force_instant_terrain_redraw();pause(5); That is a character moving north. The pause(5) call is there so that the character moves at a reasonable speed. One thing that complicates movement is that a character turning looks very strange if that character doesn't face the right direction. Thus, a character going around a corner looks like this: Code: // creature 6 goes around cornerrelocate_character(6,53,28);force_instant_terrain_redraw();pause(5);relocate_character(6,52,27);set_character_facing(6,2);force_instant_terrain_redraw();pause(5); That is a character moving north and then moving west. Moving the party is different, though; while you can relocate each one of the characters individually and then call force_instant_terrain_redraw, there is a better way: the call march_party. This is the party moving north: Code: // party walks northmarch_party(52,28);force_instant_terrain_redraw();pause(5);march_party(52,27);force_instant_terrain_redraw();pause(5); One advantage of march_party is that you don't need to use the call set_character_facing. It adjusts this automatically. However, most of the time, you will want the center of view to follow the party. To do that, you need to add the call force_view_center. Let's put this all together for a fun use: the party following a character. Code: // party follows moving creaturerelocate_character(6,53,28);march_party(52,30);force_view_center(52,30);force_instant_terrain_redraw();pause(5);relocate_character(6,53,27);march_party(52,29);force_view_center(52,29);force_instant_terrain_redraw();pause(5); TEXT BUBBLESA typical text bubble sequence looks like this: Code: // creature 6 talkstext_bubble_on_char(6,"Look! I'm talking!");force_instant_terrain_redraw();pause(20);text_bubble_on_char(6,"");text_bubble_on_char(6,"Now I'm saying something else!");force_instant_terrain_redraw();pause(20);text_bubble_on_char(6,"");force_instant_terrain_redraw();pause(5); I love text bubbles, because it's easy to skim over dialog boxes and miss things, but the player will almost certainly read every word of a text bubble. A few notes:1. The first line of the second set of calls, text_bubble_on_char(6,""); , removes the first text bubble from the character. Without this, the second text bubble will not appear. 2. The pause amount is variable. If your bubble is short ("Yes!" or "No!" or something of that nature), you might reduce it to 15. If your bubble is long or weighty, you can increase this to as much as 25 or possibly even 30. For most uses, though, 20 is good. I have done one slightly complicated thing with text bubbles. That is to use them on a moving character. Thus, to combine with a topic from above, here is some actual code from my scenario: Code: // run while talkingtext_bubble_on_char(6,"I am sure you are wondering");relocate_character(6,33,13);march_party(35,13);force_view_center(35,13);force_instant_terrain_redraw();pause(5);relocate_character(6,32,13);march_party(34,13);force_view_center(34,13);force_instant_terrain_redraw();pause(5);relocate_character(6,31,13);march_party(33,13);force_view_center(33,13);force_instant_terrain_redraw();pause(5);text_bubble_on_char(6,"");text_bubble_on_char(6,"what is going on.");relocate_character(6,30,14);set_character_facing(6,4);march_party(32,13);force_view_center(32,13);force_instant_terrain_redraw();pause(5);relocate_character(6,30,15);march_party(31,13);force_view_center(31,13);force_instant_terrain_redraw();pause(5);relocate_character(6,30,16);march_party(30,14);force_view_center(30,14);force_instant_terrain_redraw();pause(5); The key here is that each step pauses for 5, so the bubbles show up for 15 each. At this point in the story, the characters are rushing along, so the quick speech (pauses for 15 only) increases the sense of urgency. For a more leisurely stroll, pauses of 8 between each step would convey a slower, more relaxed pace, both in the walking and in the conversation. Drakefyre pointed out another good trick for text bubbles, which is that you can put them on invisible characters. That can simulate the effect in the beginning of A3 of having text appear at the top of the screen as part of the narrative. You could in theory use invisible characters to extend your test bubbles further to the left and right, and even add new lines, although I haven't done this personally, and I imagine that it would take a lot of experimentation to get everything placed properly. ON SETTING THINGS UP VS. MAKING THEM ACTUALLY HAPPEN Most of the calls you will use for cut scenes actually do nothing. The call force_view_center does nothing by itself, for example. The three (and a half) key calls are force_instant_terrain_redraw, run_dialog, and run_animation (with run_animation_sound, which is basically the same thing). All calls, with a few exceptions noted below, require at least one of these calls before they have any effect. The call force_instant_terrain_redraw makes all changes in appearance and location happen, like those caused by set_character_facing and text_bubble_on_char. The calls run_animation and run_animation_sound redraw the terrain and also make all special effects (booms, effects, zaps, and sparkles) run on the screen. The call run_dialog makes the dialog set up by dialog calls actually show up on the screen. The Blades Appendices have a pretty good tutorial on how dialogs work, so I won't repeat that here. Instead, let's move on to an interesting application of all of the above, combined with animations and some new ideas. COMBAT: SETUP One of the most fun things to do with cut scenes is to show a battle scene. This is by far the most difficult thing to do. The first basic step is to put all the NPCs into combat poses. In large battles, I do that with a While call, which looks like this: Code: // begin battlei = 32;while (i <= 64){set_character_pose(i,2);i = i + 1; }play_sound(18);force_instant_terrain_redraw(); This sets every creature from 32 to 64 inclusive to look as though it is in combat. Obviously if your creatures range from 16 to 36, you'll put different numbers in those positions. The play_sound call is optional; it plays the sound that BoA plays when the party goes into combat mode. If the battle is already going on and you want to set the creatures into combat mode before you set the view on the battle, then remove the sound. Otherwise, it's probably best to keep it in. COMBAT: MELEE ATTACKS AND SPELLS Now these creatures have to attack each other. I do a simple melee attack like this: Code: // creature 87 attacks creature 33 in meleeset_character_pose(87,1);put_effect_on_char(33,12,1,2);run_animation_sound(71);set_character_pose(87,2);force_instant_terrain_redraw();pause(5); The sound you need for the attack may vary. Creatures can also cast spells in battle. This can work in a variety of ways, but I like to use straight or jagged zaps for a strong visual effect. I do that like this: Code: // creature 62 casts an imitation Lightning Spray on creatures 34, 40, and 87set_character_pose(62,1);put_jagged_zap(56,46,54,45,4);put_boom_on_char(87,6,0);put_jagged_zap(56,46,50,46,4);put_boom_on_char(34,6,0);put_jagged_zap(56,46,50,44,4);put_boom_on_char(40,6,0);run_animation_sound(54);set_character_pose(62,2);force_instant_terrain_redraw(); This form of spellcasting is work-intensive, because it requires that you know the creature number AND exact coordinates of each spell victim. In a battle with lots of movement, this can be difficult. I draw out what the battle looks like every few turns on a sheet of graph paper in order to keep track. Unfortunately, as of v1.1, there is no way to have characters simulate firing missiles in cut scenes. BoA lacks a missile animation call. COMBAT: DEATH Finally, after all this damage, someone has to die. This is the easiest part. It looks like this: Code: // creature 41 dieskill_char(41,2,0); Occasionally you will just want a character to vanish. That looks like this: Code: // creature 6 vanisheserase_char(6); The different between kill_char and erase_char is that kill_char plays the death animation and erase_char does not. (Note that neither of these calls requires force_instant_terrain_redraw or run_animation; they happen as soon as they are called.) Another use for erase_char: a creature teleporting away. That looks like this: Code: // creature 6 teleports out of sightput_boom_on_char(6,2,0);run_animation_sound(10);erase_char(6); COMBAT: PLACING MONSTERSOne of the trickiest parts of combat involves putting creatures in places where they weren't originally. This can be done for two main reasons: to simulate summoning or to use characters that aren't actually in the town when the party comes through. Either way, what makes this difficult is knowing the creatures' numbers. First, summoning a creature looks like this: Code: // creature 63 summons a monster of type 100, number 86 set_character_pose(63,1);put_straight_zap(56,42,49,44,4);put_boom_on_space(49,44,2,0);place_monster(49,44,100,0);set_character_facing(86,6);set_character_pose(86,2);run_animation_sound(25);set_character_pose(63,2);force_instant_terrain_redraw(); Before the creature will appear, you need to redraw the terrain. Generally you will want to do this anyway, because for virtually every creature you place, you will want to set it facing a particular direction. This call requires you to know the creatures' numbers. For placed creatures (anything placed by place_monster), I usually know their numbers just by counting. The first one I place is number 86; the second one is 87, and so on. However, if there are other summoned monsters in the same town that may or may not have been summoned yet, this can get tricky. At the beginning of your cut scene, you may want to run this bit of code: Code: // check how many summoned creatures there arei = 86;while (char_ok(i)){i = i + 1 } The final value of i will tell you the highest consecutive number of summoned creatures, so the creature number of your next summoned creature will be i + 1. What makes battles complicated is that you can have placed creatures that you want to move around, to say things in text bubbles, and to attack. Therefore you have to have a good grasp of all of the topics above. All I can really say to help is that good notes are critical for large, complex battle scenes. Keeping all this information in your head is almost impossible. A FINAL WORD ON CUT SCENES A word of warning: too many cut scenes or ill-placed ones will disrupt the flow of a scenario. There are powerful, but they should be used sparingly. They are also long, containing more lines of code than just about anything else. Even short cut scenes, such as the one that Jeff has in VoDT (t1Sweetgrove.txt, state 27, if you want to take a look) have a lot of code. You can just copy and paste most of the calls and change one or two of the parameters, though, so they are not nearly as hard as their size might indicate. They also look really cool, and they can add drama to your scenario. Whenever I have a long history to tell, rather than giving enormous chunks of text that can be tedious to read, I use cut scenes to SHOW the player what happened. They are attention-grabbers. So keep coding, and eventually you'll have a great cut scene! REFERENCES: CUT SCENES IN SCENARIOS: Valley of Dying Things, t1Sweetgrove.txt, state 27 Valley of Dying Things, t10Major Wast.txt, state 26 (short) A Small Rebellion, t6Zaskiva, state 27 A Small Rebellion, t17Stalker s .txt, state 47 A Small Rebellion, t20Jaen s Hea.txt, state 45 (short) Roses of Reckoning, t0Ashton.txt, state 18 Roses of Reckoning, t2Cemetary.txt, state 10 Roses of Reckoning, t4Manor.txt, state 23 Babysitting, t1valnight.txt, state INIT_STATE (short) Babysitting, t3lair.txt, state 17
  23. *smacks forehead* Duh. My bad. I think the limit is 24000, but I haven't done more testing and don't have time right now. EDIT: Or possibly 16000... are you (Isaac) sure that it counts the "while" over and over again? Perhaps you should detail what testing you did. EDIT 2: And actually, Khoth, I ran up against that limit already. The HLPM sets up shops specific to each level, and it ranges from level 5 to 100 (plus god). That means in one state, I put in enough calls to set up sixteen separate shops in twenty-one different ways, plus a series of dialog choices to indicate which of the twenty-one choices you wanted. This overloaded the system and I had to shorten it by setting up some of the shops differently. And if I hit the limit already, I imagine real programmers will be hitting this limit from time to time.
  24. Mr. Lookit My Saxy Body, horses are not "invunreable," but they have never been killed in any Exile or Avernum game. Thus we may deduce that they are invulnerable. Thuryl, must you not only take Alec's name but also sound like him, too? It is becoming increasingly difficult to tell you two apart.
  25. Don't know if you've done this already, but you have to put the editor in a particular place (as referenced here ). And I'm back online.
×
×
  • Create New...