Skip to content

Questions : NPC modding

EcthelionEcthelion Member Posts: 61
edited May 2013 in General Modding
Hello everyone,

I'm really new to modding and want to do a simple NPC mod (with WeiDU) to test all dialogues types and be more familiar with them. For now, I've only succeeded in creating a NPC, making him join / quit the party and... that's all. I'm trying to get how banters work but for now it is quite blurry in my head. So I have a few questions and hope that you will be kind enough to share your knowledges with me :

1/ Concerning prefixes in dialogues files, how do you know that this one is not already used? (if there is a way)
Ex : E#NPCname - How do i check that "E" isn't already used by a modder?

2/ About the conditions you check on scripts and dialog files, how can you test those in-game?
Ex : I want to test if Kivan is in my party in a command line in-game, how can it be done?

3/ I'm quite confused by the banters, from what I have read, you need some conditions to be fulfilled and even then, the activation seems to be random. Is that true?

4/ Since I don't want to spend a loooooot of time for testing my banters (NPC to NPC), how can I force one to activate? I mean from what I understand, the simple way would be to reduce the conditions I apply for the activation of this banter. The other way would be to manually set the global variables to the value I need them to be to activate the banter. Am I correct or is there some other clever ways to do it ( I heard about ctrl+I with EnableCheatKeys() but I don't know what it does exactly...)?


Thanks a lot!

Post edited by Ecthelion on

Comments

  • ErgErg Member Posts: 1,756
    1) You can check reserved prefixes and eventually register your own here:
    http://forums.blackwyrmlair.net/index.php?showtopic=113

    2) You can write a custom scripts, containing code to be executed when one or more keys are pressed, and assign them to party members; see here for an example:
    http://forum.baldursgate.com/discussion/comment/273708/#Comment_273708

    3) I'm not an expert on banters, but I believe you can define both random banters and/or banters to be executed when a given set of conditions is met. For the latter you can add a script to the NPC and force the dialogue when the conditions are met (using commands like StartDialog() or StartDialogueNoSet())

    4) If you enable the CLUA Console (see here for the instructions), ctrl+I will trigger a random banter. If the chosen couple of NPC have no available banter nothing will happen, but you can press ctrl+I again as every time a different couple will be randomly chosen.
  • EcthelionEcthelion Member Posts: 61
    Thank you for your answers!

    Just a quick question about point 3, does StartDialog() play the same role as Interact() ?
  • CoM_SolaufeinCoM_Solaufein Member Posts: 2,607
    The IESDP is your friend. http://iesdp.gibberlings3.net/scripting/actions/bg2actions.htm

    Interact() is generally done with fellow NPCs speaking with each other.
    Eudaemonium
  • CoM_SolaufeinCoM_Solaufein Member Posts: 2,607
    The IESDP is something you should download, print, read over. No amount of tutorials can cover what the modding bible (IESDP) is all about.
  • EcthelionEcthelion Member Posts: 61
    Thanks a lot!
Sign In or Register to comment.