Jump to content

Search the Community

Showing results for tags 'dialog states'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General Discussion
    • G3 News and Announcements
    • Infinity Engine Modding News
    • General Mod Discussion
    • Fan Fiction
    • Noobermeet
  • Tools & Resources
    • DLTCEP
    • GemRB
    • The Gibberlings Three Debugging Suite for BG2
    • IESDP Updates and Info
    • Modding How-Tos and Tutorials
    • Modding Q&A
    • Multi-Install Tool
    • Widescreen Mod
  • Released Projects
    • Miscellaneous Released Mods
    • Ajantis
    • Alternatives
    • Amber
    • Angelo
    • Ascension
    • Auren Aseph
    • BG1 NPC Project
    • Baldur's Gate Mini Quests and Encounters
    • The Beaurin Legacy
    • BG2 Fixpack - General Discussion
    • Calin
    • The Calling
    • Cirerrek's AI Scripts
    • Coran's Friendship Mod
    • Crossmod Banter Pack
    • Divine Remix
    • Enhanced Edition Trilogy
    • Evandra
    • Full Plate & Packing Steel
    • Garrick's Infatuation
    • Gavin
    • The Gibberlings Three Anniversary Mod
    • Glam's NPC Pack
    • Icewind Dale Mod Roundup
    • Icewind Dale in Baldur's Gate II
    • Imoen 4 Ever
    • Item Randomiser
    • Item Revisions
    • IWD2 NPC Project
    • IWDification
    • Keeping Yoshimo
    • Kivan and Deheriana Companions for BG2
    • Level One NPCs
    • Mur'Neth
    • NPC Kitpack
    • NPC Strongholds
    • NPC Tweak for BG2
    • Oversight
    • Romantic Encounters (BG)
    • Romantic Encounters (BG2)
    • Sarah
    • Song and Silence
    • Spell Revisions
    • Sword and Fist
    • Sword Coast Stratagems
    • Tweaks Anthology Forum
    • Tyris Flare
    • Wheels of Prophecy
    • Yoshimo's Remorse
  • Unreleased Projects
    • Aklon
    • Baldur's Gate: Shadow Hand TC
    • Aran Whitehand
    • Delainy
    • IWD Tutu
    • Kit Revisions
    • Inactive Projects
  • NWN2 Modding
  • Mod Workrooms

Categories

  • NPCs
  • Quests and Others
  • Tweaks & Fixes
  • Items/Kits/Spells
  • Portrait Packs
  • Mini Mods
  • Tools
  • In Progress

Categories

  • Fixes
  • Items
  • Kits
  • NPCs
  • Quests
  • Spells
  • Tweaks
  • Other
  • Tools

Product Groups

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Discord


Website URL


Skype


AIM


MSN


ICQ


Yahoo


Jabber


Location


Interests


Mods Worked On

Found 2 results

  1. The "post joined", or "You kicked me out already" dialog, run from c-aranp.dlg, is a nice quick file to code and write. It is the easiest of all, mostly because you can pick up anyone's mod and rewrite it as you see fit. The structure is likely to be the same. [state 0] first evaluated, takes precedence over other states. If this one is always true, the rest of the file is meaningless - nothing below this point will get evaluated. Let's copy everyone else and put the most general "on- off" switch for Aran possible, the Alignment Test. We want to put a state in that allows Aran to take off forever if he has been kicked out of the party, and the HAPPY.2da alignment table says his alignment would be disgusted and leave. Aran will stick with the job and remain loyal to PC even in the face of heavy evil, but if PC is not loyal in return he has time to think about things and revise. He can't keep up the internal rationalizations and "I'm just doin' my job" that has allowed normal people to do horrible things; he will have been given a choice to get out of the situation. So the standard "HappinessLT" block at the top of the file, that will kick in if the .2da file says "yuck". For neutral good, from the iesdp, a reputation of 1 gives [(good) -300 | (neutral) -300 | (evil) 80], so basically, this state will fire if Aran is kicked out of the party and the party rep is 1. Perhaps I'll go back later and up that number, but right now let's play with this in place. Of course, there are mods that realign this, including BG2 Tweak Pack, but we don't mind - installing one of the "stay forevar" tweaks will work fine because those modify the HAPPTY.2da table of reactions, so the condition isn't met. IF ~HappinessLT(Myself,-290)~ c-aranrepmismatch SAY ~No contracts with you. Sune's Sweet Buttocks, you are a pain in my arse.~ [C-ARAN01] IF ~~ THEN DO ~EscapeAreaDestroy()~ EXIT END OK, it this triggers, he wanders off to the nearest exit and vanishes in a puff of incandescent logic. Speaking of logic, logic says that if an NPC is in your party, the game thinks he or she is in your party. Funny thing, though - logic also states that teachers have great influence over the future and should therefore be paid well, and that ain't true, so go figure. In the BG2 engine, you "reform" [restructure? downsize?] your party, which kicks the NPC out of your party with no dialog and *then* the NPC comes up to you and has the whole "hey, are we still hangin', or do I need to update my resume?". So the next two states deal with those possibilities - Player just reformed the party and NPC wants directions (either to be let back in, hang out somewhere, or leave FOREVAR to go post on another forum), or 2. The NPC has been hanging out somewhere and the player has wandered back to pick him/her up. Now, there is a more "logical" in-game way of doing the kicking-out, via dialog, but it will have to wait for awhile. You can add states like this to the Player-Initiated-Dialog state, a big long single state with a zillion replies that becomes true when everything else has been ruled out and it is the only thing that can be triggered. That works from the Joined dialog file, so the player clicks on the NPC to talk, and one of the options can be "get lost, you hoser". But PIDs are way cool and crazy and need their own topic, or they start turning the party into the kind where jello shots are de rigeur and folks are swinging from the chandeliers. Besides, these things have to be added to this dialog anyways, for when folks reform their party (it still sounds so ominous, like Bolsheviks 'reforming' the Czar and his family into little teeny fragments... darn. Off-topic again. Let's move on to state 1.)
  2. The joining dialog is los of fun to create - sets a great mood for the rest of the interactions. We need to accomplish a couple of goals here; tell the game there are some new dialog files, and populate the "I have never been in the party" dialogs. That should include a "first meet" option, a "hey, we talked before" option, a "join up" option, and a "no thanks" option. It also probably should include a "wait a bit, I'll get back to you" option. So, let's try some stuff out. 1. Tell the game we have some new dialogs: /* Initialize Dialogues */ BEGIN ~C-ARAN~ // pre-joining SoA BEGIN ~C-ARANJ~ // joined SoA BEGIN ~C-ARANB~ // banter SoA BEGIN ~C-ARANP~ // post-joined SoA I like separating them out and commenting them right up front. Now that they exist for the game, we get to fill them up. Let's go ahead with the pre-joining dialog, c-aran. First, add the "first meet" option, capitalizing on "numberoftimestalkedto" which the game keeps count of: /* C-ARAN pre joining dialogue */ APPEND ~C-ARAN~ // begin appenending to c-aran.dlg and the talk, IF ~NumTimesTalkedTo(0)~ THEN BEGIN c-firstmeetaran SAY ~Aye then, you showed up at a right good time. Aran Whitehand, Sword n' Pen. Accounts audited, contracts written, foes slain. I heard you might be interested in a sellsword for adventuring.~ [C-ARAN01] IF ~~ THEN REPLY ~Perhaps later. Right now, I just want a drink.~ GOTO c-firstmeetarandenied IF ~~ THEN REPLY ~I'm afraid we can't afford a mercenary right now. I need to save a good bit of coin to rescue a friend.~ GOTO c-firstmeetarancoin IF ~~ THEN REPLY ~Fighter and scribe? Do you do magic as well?~ GOTO c-firstmeetaranmagic IF ~~ THEN REPLY ~We might be able to use a good sword, but I am interested in your scribing. Can you make scrolls?~ GOTO c-firstmeetaranscrolls END Hey. That's boring. Same dialog every time we start the mod. Let's use random numbers to spice it up a little: IF ~NumTimesTalkedTo(0)~ THEN BEGIN c-firstmeetaran SAY ~Aye then, you showed up at a right good time. Aran Whitehand, Sword n' Pen. Accounts audited, contracts written, foes slain. I heard you might be interested in a sellsword for adventuring.~ [C-ARAN01] IF ~~ THEN REPLY ~Perhaps later. Right now, I just want a drink.~ GOTO c-firstmeetarandenied IF ~~ THEN REPLY ~I'm afraid we can't afford a mercenary right now. I need to save a good bit of coin to rescue a friend.~ GOTO c-firstmeetarancoin IF ~~ THEN REPLY ~Fighter and scribe? Do you do magic as well?~ GOTO c-firstmeetaranmagic IF ~~ THEN REPLY ~We might be able to use a good sword, but I am interested in your scribing. Can you make scrolls?~ GOTO c-firstmeetaranscrolls IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Just not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~I was just checking to see if you were working here.~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~Ask me again and I will have you thrown out of here.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~No. But I sure could use a drink. Buy me one?~ GOTO c-aranrefused5 END That's better - one game, PC gets to chose from The next time, perhaps Let's add another set of responses, too, so that if PC is picking up Aran later in the game the whole "find Imoen" thing is resolved nicely: IF ~GlobalLT("Chapter","GLOBAL",3)~ THEN REPLY ~I am not sure that I can use you right now. But perhaps you might be able to help me. I am looking for a mage named Irenicus. Have you heard of him?~ GOTO c-firstmeetaraniren IF ~GlobalGT("Chapter","GLOBAL",2)~ THEN REPLY ~I sure could have used you awhile ago. Now I am not so sure. What can you do for me?~ GOTO c-firstmeetaranlate Integrated into the talk, IF ~NumTimesTalkedTo(0)~ THEN BEGIN c-firstmeetaran SAY ~Aye then, you showed up at a right good time. Aran Whitehand, Sword n' Pen. Accounts audited, contracts written, foes slain. I heard you might be interested in a sellsword for adventuring.~ [C-ARAN01] IF ~~ THEN REPLY ~Perhaps later. Right now, I just want a drink.~ GOTO c-firstmeetarandenied IF ~~ THEN REPLY ~I'm afraid we can't afford a mercenary right now. I need to save a good bit of coin to rescue a friend.~ GOTO c-firstmeetarancoin IF ~~ THEN REPLY ~Fighter and scribe? Do you do magic as well?~ GOTO c-firstmeetaranmagic IF ~~ THEN REPLY ~We might be able to use a good sword, but I am interested in your scribing. Can you make scrolls?~ GOTO c-firstmeetaranscrolls IF ~GlobalLT("Chapter","GLOBAL",3)~ THEN REPLY ~I am not sure that I can use you right now. But perhaps you might be able to help me. I am looking for a mage named Irenicus. Have you heard of him?~ GOTO c-firstmeetaraniren IF ~GlobalGT("Chapter","GLOBAL",2)~ THEN REPLY ~I sure could have used you awhile ago. Now I am not so sure. What can you do for me?~ GOTO c-firstmeetaranlate IF ~RandomNum(5,1)~ THEN REPLY ~Go away, little man.~ GOTO c-aranrefused1 IF ~RandomNum(5,2)~ THEN REPLY ~Nope. Just not interested.~ GOTO c-aranrefused2 IF ~RandomNum(5,3)~ THEN REPLY ~I was just checking to see if you were working here.~ GOTO c-aranrefused3 IF ~RandomNum(5,4)~ THEN REPLY ~Ask me again and I will have you thrown out of here.~ GOTO c-aranrefused4 IF ~RandomNum(5,5)~ THEN REPLY ~No. But I sure could use a drink. Buy me one?~ GOTO c-aranrefused5 END We could have more fun with this, but we don't want to get too carried away - too many choices is just as bad as too few. And right now PC has 6 different responses - more than enough.
×
×
  • Create New...