Author Topic: A few questions for a n00b NPC creator  (Read 5448 times)

kimmuryiel(guest)

  • Guest
A few questions for a n00b NPC creator
« on: August 23, 2013, 02:47:14 PM »
I have three NPCs I want to create for BG1 all the way through BG2:ToB. I can get them joinable, I can get them talking, but what I do not know how to do is get them kidnapped by Bodhi or summoned by the fate spirit. If someone could at least tell me what file to look at in an established mod that allows both things, then I could probably figure it out. I don't even know what I'm looking for, for these! Most mods I see have dialogue scripts that look something like this
"IF ~~ THEN BEGIN Saerileth Meetb1
SAY @8
++ @9 GOTO SaerilethMeetb1a
++ @10 GOTO SaerilethMeetb1b
++ @11 GOTO SaerilethMeetb1c
END"
I don't know what the f**k those @<number>'s mean! Best would be to give me the scripts, and dissect them so I know what each part does. That's what the tutorials I followed did, and now I know exactly how to get them to talk and join my group. I even have the dialogue script templated so I know what to put where, and could even give it to my sister who knows jack s**t about scripting and she'd be able to use it. DON'T just tell me to look at other mods because I tried that (and I'm getting enough of it on another mod site, I'm not going to mention names, but they're being quite irksome >_> completely throwing me off the desire to become a BG modder, modding in general)

I'm also having some trouble in placing one of my characters in the Copper Coronet, probably because I don't know what the grid's scale is like

Last thing I would like is to know how to add to the subrace mod by finnjo@suomi24.fi. I don't plan to redistribute it...well, except to my sister. I can add subraces to the pick list, even have them reference an existing .spl file, but I don't know how to read or create new .spl files. Like, say I want to make a combination of the drow and tiefling files for a drow Fey'ri, or even create a full-elven half-drow that would have some of the advantages of a drow, but would not have the dayblindness

Offline Kulyok

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 6233
  • Gender: Female
  • The perfect moment is now.
Re: A few questions for a n00b NPC creator
« Reply #1 on: August 24, 2013, 01:20:56 AM »
You probably know that already, but if you complete your project and write three fully talking NPCs(like, 300 kb of banters and dialogue for BG1, 300 kb for SoA, 100-200 kb for ToB for each of them), and romanceable, too, judging by the fact you need Bodhi dialogue, you'll be the first modder who's ever done such a monumental task. :)

Okay, so you won't listen to "do the dialogue first, and then do the tricky bits like Bodhi"? Then you have to be prepared to be VERY attentive to each tilda and each detail(I see you've asked at BWL whether NF prefix was taken, and it clearly was in the list, and you posted your topic in tutorials, not in modding q&a. Not noticing little things like that can lead to syntax errors in dialogue that will take hours to correct - and it's very frustrating),

All right. Let's say we have a NPC called Bob with a death variable A#Bob and a creature file also called A#Bob. You obviously know what is a death var and what is a cre file, right? Great, let's go:

Fate Spirit:

EXTEND_BOTTOM FATESP 6
+ ~InParty("A#Bob") !Dead("A#Bob") Global("A#BobSummonedFateSpirit","GLOBAL",0)~ + ~Summon me Bob!~ DO ~CreateVisualEffect("SPPORTAL",[1999.1228])
Wait(2)
CreateCreature("A#Bob",[1999.1228],0)
SetGlobal("A#BobSummonedFateSpirit","GLOBAL",1)~ GOTO 8
END

Simple: in party, not dead, variable is not set yet - you summon bob(createvisualeffect is from the original game) and set the variable to 1.

This code may have errors, but in general, that's how you do it.

Bodhi: do you have Infinity Explorer? You don't need mods, but you need to be able to read BODHIAMB.dlg in IE.

Now watch my hands. Go to state numbered 5, where she says "Regardless, I have not the time" and copy to your Notepad every response and every dialogue state below regarding Anomen. Do the same with C6Bodhi.dlg.
Then just take this code and replace Anomen with A#Bob, and ask whatever questions you still have on the forums.

Warning: I've coded three NPCs, but I've never ever coded a full Bodhi abduction, because it was too difficult for me. Yep, fully true. So, I'd once again say that it's best to save difficult bits for last.

Good luck to you.


kimmuryiel(guest)

  • Guest
Re: A few questions for a n00b NPC creator
« Reply #2 on: August 24, 2013, 01:50:23 AM »
I have a habit of biting off more than I can chew, but I'm cheating and not doing this alone XD, I have my sister (supposedly) writing for one character and flirts for all three and a friend writing for my other two characters. I'm doing all the non-creative stuff though. (I actually happen to be a poor writer XD I'd write the sensual, domineering character as a lovesick puppy for Edwin). Better to outsource that to people I know who ARE good at writing...and will do so for free XD.

Would you happen to know the average number of lovetalks for BG1, SoA, and ToB to get to about the end? Don't want the romance ending in the middle of the game! And if there would be extra/different scripting required for BG:EE? I'm starting with SoA and ToB, though.

with the prefix, I wasn't about to go through 61 pages looking for it. I was hoping to get it as it could stand for for Ninja Flibble, my kitty's name. Oh well. Do you know if KD is taken? (the search function doesn't work on less than 4 characters T_T)

I am having issues adding a soundset (even though they were created with one. Go figure.) in Near Infinity and have tried looking at both Saerileth and Auren Aseph and haven't figured out how it works. It's not a good idea to leave me to my own devices in trying to figure out how a program works XD it never ends well. The soundsets I'm using are converted from IWD2 to BG2 (and was hell to find a program that could make them readable outside of BG2.)

THANK YOU SO MUCH!!!!!!! You are now my favorite person in the entire world :D What if I want to summon my characters in as romanced? Is that just adding in IF ~~ (BobRomanceActive,"GLOBAL",2) variable in a separate block? Reading Darian's scripts can only get me so much when I don't know exactly what to look for or how to translate it. Telling me to look at someone else's mods for some things is like telling me to read something in Spanish. I might be able to understand a few of the words, but most of the meaning of the sentence woudl elude me.

By the way, your profile pic is cute <3 my dad was dressed as Darth Vader when he met my mom XD

Offline Kaeloree

  • Planewalker
  • *****
  • Posts: 109
Re: A few questions for a n00b NPC creator
« Reply #3 on: August 24, 2013, 01:57:08 AM »
Telling me to look at someone else's mods for some things is like telling me to read something in Spanish. I might be able to understand a few of the words, but most of the meaning of the sentence woudl elude me.
This is generally why we suggest people start really small, so they can work their way up. Starting with three big NPCs is an enormous challenge when you don't know heads nor tails in coding (trust us, we've pretty much all been there and done that!)

Writing is, by far, the easiest part of making an NPC. I don't mean to discourage you, but as Kulyok said -- there's a reason nobody has managed to do what you're trying to do yet, particularly as their first mod, and even in teams.

Re: BGEE -- yes, there is specific compatibility stuff you'd need to do for BGEE. For the time being, maybe just focus on the non-EE games, and do the EE stuff later on when you've got a bit more experience.

To follow on from what Kulyok is saying -- one of the reasons nobody has written a tutorial on Bodhinapping is because it is pretty dang complex, involves numerous obscure scripts, and can be incredibly hard to follow. You really have to understand how scripting works very, very well in order to do stuff like the Bodhinapping. :) A suggestion might be instead of having the character get kidnapped, have some story-driven reason why Bodhi can't kidnap them, and just make it a normal interjection instead.

kimmuryiel(guest)

  • Guest
Re: A few questions for a n00b NPC creator
« Reply #4 on: August 24, 2013, 02:42:12 AM »
This is generally why we suggest people start really small, so they can work their way up. Starting with three big NPCs is an enormous challenge when you don't know heads nor tails in coding (trust us, we've pretty much all been there and done that!)

Writing is, by far, the easiest part of making an NPC. I don't mean to discourage you, but as Kulyok said -- there's a reason nobody has managed to do what you're trying to do yet, particularly as their first mod, and even in teams.

Re: BGEE -- yes, there is specific compatibility stuff you'd need to do for BGEE. For the time being, maybe just focus on the non-EE games, and do the EE stuff later on when you've got a bit more experience.

To follow on from what Kulyok is saying -- one of the reasons nobody has written a tutorial on Bodhinapping is because it is pretty dang complex, involves numerous obscure scripts, and can be incredibly hard to follow. You really have to understand how scripting works very, very well in order to do stuff like the Bodhinapping. Smiley A suggestion might be instead of having the character get kidnapped, have some story-driven reason why Bodhi can't kidnap them, and just make it a normal interjection instead.


I guess I'm just not satisfied unless I do something that makes me want to kill my computer XD no wonder I prefer character rigging to something easy, like hard surface modeling -_-' I think I get it from mom who always had to have the project that made the teacher go "WOW!"

They're less a single mod, and more three separate ideas that came to me at the same time. A'temra and Azura have a connection, but it is one that I threw in purely for flavor. It is not required to have one in your party to have the other. I'm also working in smaller chunks, trying to get the things done that I can while I wait for my friend to start sending me the dialogs. They'll probably get done at different times; for instance, Senessa will be made only as fast as my sister can write, while A'temra and Azura will probably get done about the same time, but they won't all be the same mod with complicated dialogs between all three. I might not even have dialogs between the three at first release, don't want to overwhelm my friend D: if anything, he hasn't played BG, so he wouldn't know, like, what to write for the bodhinapping. (I loaned him a copy of R.A. Salvatore's Homeland so that he can at least know what drow society is like when he writes for A'temra.)

I believe you when you say writing is the easiest part, but it is something I've never been good at. My sister's really good...when she knuckles down and does it XD

ok, scratch out EE. Guess I'm re-installing tutu and original BG XD Somehow, I didn't think it would work. Oh , well. Maybe sometime down the line.

Maybe I'll be the first :D....I should probably warn my sister of the possibility of explosions from me shooting my computer coming from my room, shouldn't I? Oh, well.

The Edwin romance mod had a really good Bodhinap, with a bit of extra! Any idea how I'd be able to view those files that tell the game what to do for that character's Bodhinap? If I can't figure out the Bodhinap, then I'll definitely take that suggestion :) thank you.

Thank you, both, I really do appreciate all the help. :D

Offline Mike1072

  • Planewalker
  • *****
  • Posts: 272
  • Gender: Male
Re: A few questions for a n00b NPC creator
« Reply #5 on: August 24, 2013, 03:00:42 AM »
I don't know what the f**k those @<number>'s mean! Best would be to give me the scripts, and dissect them so I know what each part does. That's what the tutorials I followed did, and now I know exactly how to get them to talk and join my group. I even have the dialogue script templated so I know what to put where, and could even give it to my sister who knows jack s**t about scripting and she'd be able to use it. DON'T just tell me to look at other mods because I tried that (and I'm getting enough of it on another mod site, I'm not going to mention names, but they're being quite irksome >_> completely throwing me off the desire to become a BG modder, modding in general)
You'll find us irksome folk on this site too. :)

  • Keep using NearInfinity to examine files in the game.  Use its search features - they are very powerful.  If you know some line in a dialogue, you can search for it (StringRef Lookup), then find references to it in all DLG files.  For example, if you knew the Fate Spirit says "Greetings to you, Child of Bhaal.  I am an aspect of your fate, the thread that leads you unerringly along your destiny.  In a way, I am a part of you.", you can search for "aspect of your fate" and find a single result.  Finding references to that string yields a single DLG file, FATESP.DLG.
  • Check out the IESDP for information on what the game does with all these files.
  • Check out the WeiDU readme for information on modding.  It is easiest to use if you know what command you want to learn about (by seeing it used in another mod) and looking it up in the Index, but there are some tutorials as well.  It even has one that should explain what @123 is used for.

with the prefix, I wasn't about to go through 61 pages looking for it. I was hoping to get it as it could stand for for Ninja Flibble, my kitty's name. Oh well. Do you know if KD is taken? (the search function doesn't work on less than 4 characters T_T)
The first post contains a link to the list of registered prefixes.

Quote
I am having issues adding a soundset (even though they were created with one. Go figure.) in Near Infinity and have tried looking at both Saerileth and Auren Aseph and haven't figured out how it works. It's not a good idea to leave me to my own devices in trying to figure out how a program works XD it never ends well. The soundsets I'm using are converted from IWD2 to BG2 (and was hell to find a program that could make them readable outside of BG2.)
You'll find this around line 75 of setup-sarahtob.tp2.  These strings are assigned when the mod is installed.
Code: [Select]
//Adding CRE files

COPY ~SarahToB/CREs/k#SARAH.cre~ ~override/k#SARAH.cre~
SAY NAME1 ~Sarah~
SAY NAME2 ~Sarah~
SAY MORALE ~This doesn't look good!~[K#Sara00]
SAY HAPPY ~I'm quite satisfied with the path this group is taking.~[K#Sara01]
SAY UNHAPPY_ANNOYED ~I do hope you're not getting us into something I'll regret later.~[K#Sara02]
SAY UNHAPPY_SERIOUS ~Please, change your ways or I will be forced to leave.~[K#Sara03]
SAY LEADER ~While I don't necessarily agree with this decision, I will do my best.~[K#Sara04]
SAY TIRED ~A short break would be nice.~[K#Sara05]
SAY BORED ~Unless we're waiting for something to happen, I suggest we move on.~[K#Sara06]
SAY BATTLE_CRY1 ~Prepare to die!~[K#Sara07]
SAY BATTLE_CRY2 ~Lay down your weapons and flee while you still can!~[K#Sara08]
SAY BATTLE_CRY3 ~To the abyss with you!~[K#Sara09]
SAY BATTLE_CRY4 ~In Meilikki's name, I shall strike you down!~[K#Sara10]
SAY DAMAGE ~No!~[K#Sara11]
SAY DYING ~I'm...sorry.~[K#Sara12]
SAY HURT ~Please, I need healing!~[K#Sara13]
SAY AREA_FOREST ~The forest is indeed, the most beautiful thing this world has to offer.~[K#Sara14]
SAY AREA_CITY ~While the city is...interesting, I fear I do not find pleasure being in it.~[K#Sara15]
SAY AREA_DUNGEON ~Stay alert...we don't know what we'll find here.~[K#Sara16]
SAY AREA_DAY ~With each passing day that I see the sunlight, I thank Meilikki for protecting us during dark times.~[K#Sara17]
SAY AREA_NIGHT ~I fear my eyesight just isn't what it is during the day.~[K#Sara18]
SAY SELECT_COMMON1 ~Yes?~[K#Sara19]
SAY SELECT_COMMON2 ~Can I help?~[K#Sara20]
SAY SELECT_COMMON3 ~What do you need?~[K#Sara21]
SAY SELECT_COMMON4 ~I'm here.~[K#Sara22]
SAY SELECT_COMMON5 ~Something you require?~[K#Sara23]
SAY SELECT_COMMON6 ~I'm at the ready.~[K#Sara24]
SAY SELECT_ACTION1 ~Of course.~[K#Sara25]
SAY SELECT_ACTION2 ~Simple enough.~[K#Sara26]
SAY SELECT_ACTION3 ~Okay.~[K#Sara27]
SAY SELECT_ACTION4 ~As you wish.~[K#Sara28]
SAY SELECT_ACTION5 ~Sure.~[K#Sara29]
SAY SELECT_ACTION6 ~If you're certain.~[K#Sara30]
SAY SELECT_ACTION7 ~Yes, I'm going, please be patient.~[K#Sara31]
SAY SELECT_RARE1 ~What?~[K#Sara32]
SAY SELECT_RARE2 ~Off we go.~[K#Sara33]
SAY CRITICAL_HIT ~Yes!~[K#Sara34]
SAY CRITICAL_MISS ~I missed once; I won't miss again!~[K#Sara35]
SAY TARGET_IMMUNE ~It's not working!~[K#Sara36]
SAY INVENTORY_FULL ~I'm sorry but I cannot carry anymore.~[K#Sara37]
SAY BIO ~When asked about her past, SARAH tells you that she hails from the slums of Baldur's Gate, where she raised by her father until he met an untimely death at the hands of a mugger when Sarah was thirteen. She was taken in by her father's brother, a ranger of the Cloakwood Forest, who taught her all he knew of nature and combat. She admits to preferring the company of trees over people, but that she has never hesitated to help anyone in need. While she claims she is unremarkable and ordinary, you wonder if there is more to her than meets the eye.~
The sound files themselves (e.g. K#Sara37.WAV) are copied over separately.

The Edwin romance mod had a really good Bodhinap, with a bit of extra! Any idea how I'd be able to view those files that tell the game what to do for that character's Bodhinap? If I can't figure out the Bodhinap, then I'll definitely take that suggestion :) thank you.
You need a good text editor.  I'd recommend NotePad++.  There are syntax highlighters available for it if you want it to recognize the code languages used in IE modding.  Use it to open .tp2 (mod installation), .baf (script), and .d (dialogue) files.

Offline Kulyok

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 6233
  • Gender: Female
  • The perfect moment is now.
Re: A few questions for a n00b NPC creator
« Reply #6 on: August 24, 2013, 03:07:08 AM »
Infinity Explorer for all your needs and reads can be found here: http://infexp.sourceforge.net/

Also, you can read the prefix list right here: http://www.blackwyrmlair.net/prefixes/ - it's in the first post of that forum thread.

Quote
Would you happen to know the average number of lovetalks for BG1, SoA, and ToB to get to about the end? Don't want the romance ending in the middle of the game! And if there would be extra/different scripting required for BG:EE? I'm starting with SoA and ToB, though.

I think 25 is a good number, with about an hour between them. You can experiment, though - add lovetalks after certain events, like Global("Chapter","GLOBAL",5) in the Underdark.
I don't know very much about BG:EE, I'm afraid - I'm relying on Kaeloree and other BGEE/BG2EE modders for that. :) So, yep, better leave it for later.

Quote
I am having issues adding a soundset (even though they were created with one. Go figure.) in Near Infinity and have tried looking at both Saerileth and Auren Aseph and haven't figured out how it works. It's not a good idea to leave me to my own devices in trying to figure out how a program works XD it never ends well. The soundsets I'm using are converted from IWD2 to BG2 (and was hell to find a program that could make them readable outside of BG2.)

I spent two weeks figuring out how to do soundsets for my IWD characters. But for Baldur's Gate 2 it is easy, if you are careful with your .tp2 file:
First, you have to record audio files and have them in .wav format, each file must have a unique prefixed name not longer than 8 characters. Let's take A#BOB001.wav, A#BOB002.wav and so on.
Place them all in Bob/Audio

Now your .tp2:

COPY ~Bob/Audio~ ~override~

COPY ~Bob/Characters/A#Bob.cre~ ~override/A#Bob.cre~
SAY NAME1 ~Bob~
SAY NAME2 ~Bob~
SAY INITIAL_MEETING ~Hi, I'm Bob!~ [A#BOB001] // When you write [A#BOB001] , it means "use A#BOB001.wav" for audio
SAY MORALE ~I'm scared!~ [A#BOB002]
SAY HAPPY ~I'm happy!~  [A#BOB003]
/ * And so on. */
SAY UNHAPPY_ANNOYED ~~
SAY UNHAPPY_SERIOUS ~~
SAY UNHAPPY_BREAKING ~~
SAY LEADER ~~
SAY TIRED ~~
SAY BORED ~~
SAY BATTLE_CRY1 ~~
SAY BATTLE_CRY2 ~~
SAY BATTLE_CRY3 ~~
SAY BATTLE_CRY4 ~~
SAY BATTLE_CRY5 ~~
SAY DAMAGE ~~
SAY DYING ~~
SAY HURT ~~
SAY AREA_FOREST ~~
SAY AREA_CITY ~~
SAY AREA_DUNGEON ~~
SAY AREA_DAY @22
SAY AREA_NIGHT @23
SAY SELECT_COMMON1 @24
SAY SELECT_COMMON2 @25
SAY SELECT_COMMON3 @26
SAY SELECT_COMMON4 @27
SAY SELECT_COMMON5 @28
SAY SELECT_COMMON6 @29
SAY SELECT_ACTION1 @30
SAY SELECT_ACTION2 @31
SAY SELECT_ACTION3 @32
SAY SELECT_ACTION4 @33
SAY SELECT_ACTION5 @34
SAY SELECT_ACTION6 @35
SAY SELECT_ACTION7 @36
SAY SELECT_RARE1 @37
SAY SELECT_RARE2 @38
SAY CRITICAL_HIT @39
SAY CRITICAL_MISS @40
SAY TARGET_IMMUNE @41
SAY INVENTORY_FULL @42
SAY SPELL_DISRUPTED @43
SAY BIO @44

Don't mind things like @43 - just replace them with ~My spell is disrupted!!!Oneoneone!~ [A#BOB43]

To summon your character as romanced:

EXTEND_BOTTOM FATESP 6
+ ~InParty("A#Bob") !Dead("A#Bob") Global("A#BobSummonedFateSpirit","GLOBAL",0) Gender(Player,FEMALE)~ + ~Summon me Bob, my romance interest!~ DO ~CreateVisualEffect("SPPORTAL",[1999.1228])
Wait(2)
CreateCreature("A#Bob",[1999.1228],0)
SetGlobal("A#BobSummonedFateSpirit","GLOBAL",1)
SetGlobal("A#BobRomanceActive","GLOBAL",2)~ GOTO 8
END

Warning: you will get exhausted with this stuff pretty soon. It's normal, though, so if you keep writing and coding one step at a time, you'll get through this, if you don't lose your drive.

Offline Kulyok

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 6233
  • Gender: Female
  • The perfect moment is now.
Re: A few questions for a n00b NPC creator
« Reply #7 on: August 24, 2013, 03:08:55 AM »
Oh, Mike's already answered most of it. :) Hey there! (waves)

I second his Weidu readme recommendation - it's a very good set of tutorials. IESDP is also an invaluable resource - take a look at the list of areas, for example: http://iesdp.gibberlings3.net/appendices/area_lists/bg2aref.htm

kimmuryiel(guest)

  • Guest
Re: A few questions for a n00b NPC creator
« Reply #8 on: August 24, 2013, 04:19:50 AM »
Mike's reply first:
eep! *hides*  ;)

someone needs to put up a pinned forum topic at every IE modding site called "things a beginning IE modder needs to know" and then list all the links and programs in this topic. :P

I'll definitely look into those programs.

I didn't see it XD I call dibs on KFP, for Kimmuryiel-Flibble Productions. Gotta have my kitty's name XD she gets...violent otherwise ._. (it's also 2 am and I'm probably getting a bit...silly)

thank you :D I don't have official voices for my characters (yet), I don't even have a means to record them, or even buy stuff to record with >_>' (if anyone wants to volunteer to be a voice, though, I got a sensual but powerful drow fey'ri, a timid, softspoken half drow, half moon elf, and a garden-variety drow (although, probably not quite as dominating. Would have to ask my sister). All females, though XD and I don't have dialog lines for them as of yet.) (yes, my sister and I like drow a bit XD just a bit.) If sound files have to be .wav, why is it that I always see them as .ogg in mods? Is there a special line in the tp2 that causes them to change?

I'm sure this notepad ++ will become a favorite of mine. I'm starting out taking some programming classes to supplement my resume next week XD thank you.

Now for Kulyok's reply:
thank you :) I'll get that information right over to the writers I have slaving away in the basement--I mean, the people I asked nicely to help me  ;D By default, are romances turned off in the Underdark? If so, how can I turn that off? If it as simple as writing LTs and banters for it? (probably a couple of dumb questions)

erm...which version of IE do I want? I see "compiled binaries" and "source code" no "download this one, you n00b!"

I guess if I want to port these mods over to BG:EE, I'll contact them directly...or something XD

Right now, the soundsets I have don't have a line for everything XD (like full inventory or creature immune to attack)

do I need a new cre file of my character for the summon to work? If not, then it's still not working >_>' probably because I don't know where to put the cre name and where to put the dialogue name XD This is what my summon script looks right now:
EXTEND_BOTTOM FATESP 6
+ ~InParty("NF#Atem") !Dead("NF#Atem") Global("NF#AtemSummonedFateSpirit","GLOBAL",0)~ + ~Bring me A'temra, the Dark Fey'ri fighter!~ DO ~CreateVisualEffect("SPPORTAL",[1999.1228])
Wait(2)
CreateCreature("ATEMRA",[1999.1228],0)
SetGlobal("NF#AtemSummonedFateSpirit","GLOBAL",1)~ GOTO 8
END

this one didn't work. The cre file I am loading is the same one that gets loaded for SoA. Which reminds me, I have her spawning in the cage right across from the PC in Irenicus dungeon and, without me telling her to, she is walking up to the PC (when the door gets opened) and initiating the dialog. I didn't script that! And I used the same script for my other character who spawns in the Copper Coronet and she doesn't walk up to the PC. Strange. It's not REALLY a problem, but her banging against the cage is kind of distracting while Irenicus is torturing me.

Odds are, at some point I'll be forced to take a break until I get the dialog for my characters XD depending on how fast my friend writes. But, until then, I got a list of six other things to start tackling..in the morning...The first, being the prefix...whenever BWL give sme the official "ok" that it is mine.

Offline Kulyok

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 6233
  • Gender: Female
  • The perfect moment is now.
Re: A few questions for a n00b NPC creator
« Reply #9 on: August 24, 2013, 04:41:35 AM »
You need http://prdownloads.sourceforge.net/infexp/InfExp-0.8pre.zip?download for IE. Binaries mean exe files.

You can just put !Global("Chapter","GLOBAL",5) in your scripts and they won't trigger in the Underdark.

Quote
this one didn't work. The cre file I am loading is the same one that gets loaded for SoA.

That's how it works, yes - if you want a ToB one, you have to create a different cre, like A#Bob25. By the way, that NF prefix is still taken by NightFall. :)

A character who's trying to talk to you is a character who has it, well, scripted - in his or her scripts. Also, make sure your Export flag is off in whatever program you used to make that .cre file(don't remember if that's the problem, but may be).

kimmuryiel(guest)

  • Guest
Re: A few questions for a n00b NPC creator
« Reply #10 on: August 24, 2013, 02:09:27 PM »
thank you XD

and omitting that will mean the dialogue does trigger in the underdark?

I haven't done the work of changing the prefixes over, yet XD but I'm still pending prefix registration on BWL, though.

I literally just took Azura's script and put in A'temra's name O_o (and the export flag is off). It's not REALLY an issue, more of an oddity

kimmuryiel(guest)

  • Guest
Re: A few questions for a n00b NPC creator
« Reply #11 on: August 24, 2013, 02:12:15 PM »
OH! And, would anyone happen to know how I can get in touch with "Maidros" and "Dorotea"? They're modders who helped with the heavy lifting on the Bodhinap for Edwin

Offline kimmuryiel

  • Planewalker
  • *****
  • Posts: 9
Re: A few questions for a n00b NPC creator
« Reply #12 on: August 24, 2013, 02:25:31 PM »
I tried PMing them...the PM won't send. I click send and it reloads the page with a new verification. Yes, I am putting the verification in right.

Offline kimmuryiel

  • Planewalker
  • *****
  • Posts: 9
Re: A few questions for a n00b NPC creator
« Reply #13 on: August 24, 2013, 03:08:06 PM »
>_> literally, all I did was change the prefix from NF# to KFP
Installing [Azura for BG2:SoA]
Copying and patching 1 file ...
[Azura/creatures/AZURA.cre] loaded, 4156 bytes
ERROR: cannot convert SELECT_ACTION8 or %SELECT_ACTION8% to an integer
ERROR: [Azura/creatures/AZURA.cre] -> [override/AZURA.cre] Patching Failed (COPY) (Not_found)
Stopping installation because of error.

ERROR Installing [Azura for BG2:SoA], rolling back to previous state
Unable to Unlink [Azura/backup/0/OTHER.0]: Unix.Unix_error(1, "unlink", "Azura/backup/0/OTHER.0")
[Azura/backup/0/UNSETSTR.0] SET_STRING uninstall info not found
Will uninstall   0 files for [SETUP-AZURA.TP2] component 0.
Uninstalled      0 files for [SETUP-AZURA.TP2] component 0.
Unable to Unlink [Azura/backup/0/READLN.0]: Unix.Unix_error(20, "unlink", "Azura/backup/0/READLN.0")
Unable to Unlink [Azura/backup/0/READLN.0.TEXT]: Unix.Unix_error(20, "unlink", "Azura/backup/0/READLN.0.TEXT")

and it didn't do this with A'temra, who is scripted the exact same way

Offline kimmuryiel

  • Planewalker
  • *****
  • Posts: 9
Re: A few questions for a n00b NPC creator
« Reply #14 on: August 24, 2013, 05:49:25 PM »
O_o A'temra isn't play the right soundset. When I make her leader, she says the right thing but, otherwise, she uses the default female soundset. Ideas why?
This is what her soundset looks like in the tp2
SAY LEADER ~Usstan tlu valsharess? (I am to be queen?)~ [ATEM06]
SAY TIRED ~We will make camp now!~ [ATEM07]
SAY BORED ~DO something.~ [ATEM08]
SAY BATTLE_CRY1 ~Usstan quartha dos elghinn*an*! (I order you to *die*!)~ [ATEM03]
SAY BATTLE_CRY2  ~You will suffer, suffer greatly!~ [ATEM04]
SAY BATTLE_CRY3 ~Sargtlin, attack now! (Warrior, attack now!)~ [ATEM05]
SAY BATTLE_CRY4 ~Usstan elgga dos! (I will destroy you!)~ [ATEM21]
SAY DAMAGE ~~ [ATEM16]
SAY DYING ~~ [ATEM17]
SAY HURT ~How *dare* this thing strike at me!~ [ATEM09]
SAY SELECT_COMMON1 ~Elendar. (Continue.)~ [ATEM02]
SAY SELECT_COMMON2 ~What?~ [ATEM10]
SAY SELECT_COMMON3 ~Speak.~ [ATEM11]
SAY SELECT_COMMON4 ~Yes, *jabbuk*? (Yes, master?)~ [ATEM12]
SAY SELECT_COMMON5 ~Ish zhah usstha ilindith. (It is my goal.)~ [ATEM15]
SAY SELECT_ACTION1 ~*You* do not command *me*.~ [ATEM01]
SAY SELECT_ACTION2 ~*You* do not command *me*.~ [ATEM13]
SAY SELECT_ACTION3 ~Elamshin be done. (Destiny be done.)~ [ATEM14]
SAY SELECT_ACTION4 ~Wael. (Fool.)~ [ATEM18]
SAY SELECT_ACTION5 ~Aluve ust. (I go first.)~ [ATEM19]
SAY SELECT_ACTION6 ~Rothe iblith. (Brahmin crap.)~ [ATEM20]
SAY SELECT_RARE1 ~Usstan ssinssrig ula goln! (I long for, uh, goblins!)~ [ATEM23]
SAY SELECT_RARE2 ~Have you ever had my spider egg tea? It's simply *marvelous*.~ [ATEM24]
SAY CRITICAL_HIT ~Life and a fool part yet again, it is no surprise.~ [ATEM22]

The soundset I'm using (female drow from IWD2) doesn't have every SAY listed.

Offline Kulyok

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 6233
  • Gender: Female
  • The perfect moment is now.
Re: A few questions for a n00b NPC creator
« Reply #15 on: August 24, 2013, 11:32:51 PM »
You probably need to post the rest of the tp2, where you copy audio lines and where the character's name starts. Maybe the rest of the files aren't in the override folder - you should check for them in the override when the mod's installed.
Also, goes without saying, but all files should have exactly the same names, be in .wav format, and it's good if they're playable in Winamp.
And also goes without saying, but all audio files should be prefixed - A#BOB001 for A#Bob. :)

Offline kimmuryiel

  • Planewalker
  • *****
  • Posts: 9
Re: A few questions for a n00b NPC creator
« Reply #16 on: August 25, 2013, 01:40:47 AM »
BEGIN ~A'temra for BG2:SoA~
COPY ~A'temra/creatures/ATEMRA.cre~ ~override/ATEMRA.cre~


SAY NAME1 ~A'temra~
SAY NAME2 ~A'temra Cren'thas~

SAY BIO ~When you ask her about her past, A'TEMRA says to shut up.~

COPY ~A'temra/audio~ ~override~

if I copy the audio before the SAY NAME, the name won't show up in game. The audio files are .wav (will play in vlc, but not winamp. How many different types of .wav are there?!?) and are called KFPa'temra001, 002, 003, etc. All files are in the override folder. (Is there a problem with using one file for two different SAYs?)


Any ideas why Azura would stop installing when I just change the prefix? Note that A'temra has the exact same coding and she still installs. I changed the prefix by doing ctrl + f so that it would highlight the old prefix. Still no word from BWL on whether I got the KFP prefix, by the way.


I also have a few questions on the finer points of the Bodhinap. I can copy all code for the Anomen-nap, but I don't know what to do with them afterward. I've noticed the bodhi files have extra entries for modded characters (even in the one FROM the character). Do I basically just add the codes with my character name into both files? What do I do for the file where you cure your lover of vampirism? Would that be another .d file? Would you happen to know anyone who can do a bodhinap who could help me?

I know I ask a lot of questions, but that way I know how to do things and, when I have one done, I can use that as a template for the rest and any new NPCs I may think of.

Offline Kulyok

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 6233
  • Gender: Female
  • The perfect moment is now.
Re: A few questions for a n00b NPC creator
« Reply #17 on: August 25, 2013, 02:14:35 AM »
Let's talk about SAY in .tp2. Like both Mike and I posted earlier, lines like that should be attached to a .cre file:

COPY ~Bob/Characters/ATEMRA.cre~ ~override/ATEMRA.cre~ // this is the most important line, all SAY lines from the soundset, including the name and biography, should go right after it and only after it:
SAY NAME1 ~A'temra~
SAY NAME2 ~A'temra Cren'thas~
SAY LEADER ~Usstan tlu valsharess? (I am to be queen?)~ [ATEM06]
SAY TIRED ~We will make camp now!~ [ATEM07]
SAY BORED ~DO something.~ [ATEM08]
SAY BATTLE_CRY1 ~Usstan quartha dos elghinn*an*! (I order you to *die*!)~ [ATEM03]
SAY BATTLE_CRY2  ~You will suffer, suffer greatly!~ [ATEM04]
SAY BATTLE_CRY3 ~Sargtlin, attack now! (Warrior, attack now!)~ [ATEM05]
SAY BATTLE_CRY4 ~Usstan elgga dos! (I will destroy you!)~ [ATEM21]
SAY DAMAGE ~~ [ATEM16]
SAY DYING ~~ [ATEM17]
SAY HURT ~How *dare* this thing strike at me!~ [ATEM09]
SAY SELECT_COMMON1 ~Elendar. (Continue.)~ [ATEM02]
SAY SELECT_COMMON2 ~What?~ [ATEM10]
SAY SELECT_COMMON3 ~Speak.~ [ATEM11]
SAY SELECT_COMMON4 ~Yes, *jabbuk*? (Yes, master?)~ [ATEM12]
SAY SELECT_COMMON5 ~Ish zhah usstha ilindith. (It is my goal.)~ [ATEM15]
SAY SELECT_ACTION1 ~*You* do not command *me*.~ [ATEM01]
SAY SELECT_ACTION2 ~*You* do not command *me*.~ [ATEM13]
SAY SELECT_ACTION3 ~Elamshin be done. (Destiny be done.)~ [ATEM14]
SAY SELECT_ACTION4 ~Wael. (Fool.)~ [ATEM18]
SAY SELECT_ACTION5 ~Aluve ust. (I go first.)~ [ATEM19]
SAY SELECT_ACTION6 ~Rothe iblith. (Brahmin crap.)~ [ATEM20]
SAY SELECT_RARE1 ~Usstan ssinssrig ula goln! (I long for, uh, goblins!)~ [ATEM23]
SAY SELECT_RARE2 ~Have you ever had my spider egg tea? It's simply *marvelous*.~ [ATEM24]
SAY CRITICAL_HIT ~Life and a fool part yet again, it is no surprise.~ [ATEM22]
SAY BIO ~When you ask her about her past, A'TEMRA says to shut up.~

Also, you must be sure that your .wav files play in the game, which is why I suggested Winamp. (You can also try listen to them in DLTCEP, available here: http://forums.gibberlings3.net/index.php?app=downloads&showcat=58 - use "external wav commands". Warning: you WILL be confused, but most, if not all, modders work with DLTCEP, so you'll have to learn it eventually, probably).

Prefix list is maintained regularly, but they won't necessary reply you on the same day or the day after, especially since the forums aren't very active.

Like I said before, attentiveness to every little detail is really, really required - you'll have to go through ALL your file names and death variables and see if they match new prefix. And, yes, it's very boring.

Quote
I also have a few questions on the finer points of the Bodhinap. I can copy all code for the Anomen-nap, but I don't know what to do with them afterward. I've noticed the bodhi files have extra entries for modded characters (even in the one FROM the character). Do I basically just add the codes with my character name into both files? What do I do for the file where you cure your lover of vampirism? Would that be another .d file? Would you happen to know anyone who can do a bodhinap who could help me?

Bodhinap is a nightmare to code, which is why you need to learn some basic things first before adapting that text you copied. Remember, I haven't been able to do that.
- First, all files for Bodhi should be viewed without any mods installed.
- Second, you must learn INTERJECT - you must have tried it in game and it must have worked.
- Third, EXTEND_BOTTOM(it's like one I wrote for the Fate Spirit).
- Fourth, CHAIN. Basically, when you've written all the interjections for Irenicus' final battle and Slayer change, when you've written NPC-NPC banters, and you feel comfortable and easy doing it all, then you adapt Bodhinapping.
- You also must be able to do things in DO ~~ section. Set variables, make the character leave the party, set a new dialogue, set a new script, spawn people, play an animation, things like that.
If you learn it all, your chances to complete a successful Bodhi kidnapping are, well, non-zero. But they are zero otherwise.

Offline kimmuryiel

  • Planewalker
  • *****
  • Posts: 9
Re: A few questions for a n00b NPC creator
« Reply #18 on: August 25, 2013, 02:58:30 AM »
I do have everything starting after the cre file is copied. The only things before it are the "Begin A'temra for BG2:SoA", the copy backup, and author name. I even moved the BIO to past the SAY like you show and it didn't work. Do I need to start a new game for the soundset to load?

they sound files Do play in the game. They're from a soundset meant for the PC that was adapted from IWD2. I have used it in BG2 before.

Azura's still giving me the same issue, and it isn't a syntax error.

I guess I'll leave that for the end...I was just hoping to get the coding part out of the way XD but I do remember you saying you haven't been able to do the bodhinap coding, which is why I was asking if you know of anyone who has who could/would help me

Offline Cahir

  • Planewalker
  • *****
  • Posts: 93
  • Gender: Male
Re: A few questions for a n00b NPC creator
« Reply #19 on: August 25, 2013, 02:59:50 AM »
Sorry for interjecting, but please guys and gals continue this great topic, my mind may finally be able to comprehend coding things and I DO LIKE to learn it someday. There are so many basic, yet crucial, things in this topic and I'm slowly starting to understand some bits of it :)

Well it's not that I completely don't understand the code when I read it, I can see all those little dependencies, yes, and if I give them more thought I do find it understandable for me. It's just I completely cannot apply this knowledge when I try to code something myself. I completely don't know where to start and probably usually starting in the middle....and it takes my enthusiasm away rather quickly.
My main problem is that I always don't know if I should write majority of coding in one .d file or split some things in different ones, but then I don't know in which file I should refer to it. It's just so confusing to me. I think there is a tipping point which if I can cross I'll be able to write and code some good stuff. It's the basic, well for a lack of word "logistics" stuff that's killing me (not the coding itself I imagine).

But Kulyok, Mike, kimmuryiel please continue, it's quite a reading!

Offline Kaeloree

  • Planewalker
  • *****
  • Posts: 109
Re: A few questions for a n00b NPC creator
« Reply #20 on: August 25, 2013, 03:02:42 AM »
I've coded it a couple of times (and a couple of variants on it), and I'd definitely recommend not worrying about it for your first NPCs.

Edit: And if you are looking for a simple, excellent example of a well-organised mod, look at Kulyok's Tiax and Coran mods. I can't stress that enough. Kulyok, is there any chance you might be willing to provide an un-traified version of one of those to serve as an example mod? It might help make some things (like organisation, etc) clearer. :)
« Last Edit: August 25, 2013, 03:17:31 AM by Kaeloree »

Offline kimmuryiel

  • Planewalker
  • *****
  • Posts: 9
Re: A few questions for a n00b NPC creator
« Reply #21 on: August 25, 2013, 03:27:22 AM »
K'aeloree, would you be willing to walk me through it? (assuming, of course, that Kulyok can't get the "untraified" files) There are so many things that you HAVE to have for a romanceable NPC these days. Like, you HAVE to have flirts, and you HAVE to have the exchange between the wraith at the Temple of Bhaal (eee, I didn't even think of that one before now. But, I imagine it's less of a nightmare. It's been way too long since I played this game  :-[ ) It just somehow feels...incomplete, to me, to not have all these. (I do have a description of A'temra's character and her bio, even if it isn't in her tp2 right now XD Even have it for Azura, too, but she's not my focus. She's no where NEAR as interesting.). I would be forever indebted to you if I could ship these mods with bodhinapping :) doesn't have to be complicated like Xan or Edwin. I'm fine with it being basic bodhinap->killbodhi->cure NPC. If walking me through it would be too time consuming, could you do it for me and then I'll just work to make sense of the files XD



Cahir, feel free to ask questions. Coding isn't my forte either, I started with the basic tutorial by Theacefes, copying that word for word (although, I changed the character name)...I still forgot a tilda, though XD http://www.shsforums.net/topic/36781-comprehensive-ie-modding-tutorial-index/ has plenty of tutorials (a sizeable section on coding). I will say, though, the Seif's Multimedia Tutorial #4 link is broken. It leads to an endless redirect loop until my internet gives up. That one's for audio, though. I hope we are being at least somewhat educational :) I am glad to know that this topic isn't just helping me. Maybe you can help me make a better "n00bs guide to IE NPC modding; common errors, coding templates, difficult bits to include." Maybe something like that. Now if only IE used a "normal" programming language, things would probably be easier. (I actually have banter and lovetalk templates, if you would like them. I even marked where what goes in a (hopefully) understandable manner. I could even dissect them for you :D)

Offline Kaeloree

  • Planewalker
  • *****
  • Posts: 109
Re: A few questions for a n00b NPC creator
« Reply #22 on: August 25, 2013, 03:49:30 AM »
The basic Bodhinap "capture -> kill Bodhi -> cure" IS the complicated version, unfortunately. It touches a bunch of (kind of obscure) files in sometimes confusing ways. I don't have near the amount of time it'd take to explain it/write a tutorial or do it for you, I'm afraid, sorry! It really is a time-consuming and extremely fiddly task.

Let me put it this way: Kulyok is one of the IE modding community's most prominent and experienced modders, with a host of projects under her belt. Her mods are extremely well put together. If she's not keen to deal with the Bodhinapping, that should say something about its painfulness ;)

There are plenty of mods that skip the Bodhinapping entirely. Just have a good story explanation as to why Bodhi can't kidnap your NPC(s). :)

Offline Kulyok

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 6233
  • Gender: Female
  • The perfect moment is now.
Re: A few questions for a n00b NPC creator
« Reply #23 on: August 25, 2013, 05:52:59 AM »
Quote
I do have everything starting after the cre file is copied. The only things before it are the "Begin A'temra for BG2:SoA", the copy backup, and author name. I even moved the BIO to past the SAY like you show and it didn't
work. Do I need to start a new game for the soundset to load?

You have to load a game before your character appeared in the game area. So, for example, if she's in the Docks, you have to load a game before you went to Docks. Or use the console to check: CreateCreature("MYNPC")

Quote
K'aeloree, would you be willing to walk me through it? (assuming, of course, that Kulyok can't get the "untraified" files) There are so many things that you HAVE to have for a romanceable NPC these days. Like, you HAVE to have flirts, and you HAVE to have the exchange between the wraith at the Temple of Bhaal (eee, I didn't even think of that one before now. But, I imagine it's less of a nightmare. It's been way too long since I played this game   ) It just somehow feels...incomplete, to me, to not have all these. (I do have a description of A'temra's character and her bio, even if it isn't in her tp2 right now XD Even have it for Azura, too, but she's not my focus. She's no where NEAR as interesting.). I would be forever indebted to you if I could ship these mods with bodhinapping  doesn't have to be complicated like Xan or Edwin. I'm fine with it being basic bodhinap->killbodhi->cure NPC. If walking me through it would be too time consuming, could you do it for me and then I'll just work to make sense of the files XD

The thing is, your case is not exactly "hey guys, I've written flirts, NPC banters, lovetalks and a whole novel of dialogue already, I have *experience*, I can do dialogue, I can do CHAINs, here's my dialogue for Bodhi abduction, help me code it, please". You're still working with basic things like the soundset and a single EXTEND_BOTTOM and a syntax error for a very basic NPC installation - it's really, really necessary to deal with these first.

For example, try this: just the first part of Bodhi's abduction for your NPC.
(to test it, you need to go to the Graveyard at Chapter 6 and meet Bodhi.)

EXTEND_BOTTOM BODHIAMB 5
IF ~InParty("A#Bob") Global("A#BobRomanceActive","GLOBAL",2) Detect("A#Bob")~ EXTERN BODHIAMB b1
END

CHAIN BODHIAMB b1
~Myahaha! I shall kidnap you now!~
== A#BOB ~No, no, I do not want to be kidnapped!~
== BODHIAMB ~But you will be. Ohhh... you will be.~
DO ~ClearAllActions()
StartCutSceneMode()
StartCutScene("A#Bob1")~
EXIT

And the cutscene:

IF
  True()
THEN
  RESPONSE #100
    CutSceneId("A#Bob")
    CreateCreatureObject("VAMPAMB","A#Bob",0,0,0)
    SetGlobal("A#BobVampireOhNo","GLOBAL",1)
    Wait(1)
    CreateVisualEffectObject("SPDISPMA",Myself)
    DropInventory()
    SetLeavePartyDialogFile()
    ChangeAIScript("VAMPAMB",OVERRIDE)
    ChangeAIScript("",DEFAULT)
    DialogInterrupt(FALSE)
    LeaveParty()
    EndCutSceneMode()
END

IF
  True()
THEN
  RESPONSE #100
    CutSceneId("bodhiamb")
    DialogInterrupt(FALSE)
    CreateCreatureObject("VAMPIM01",Myself,0,0,0)
    CreateCreatureObject("VAMPIM01",Myself,0,0,0)
    CreateCreatureObject("VAMPIM01",Myself,0,0,0)
    CreateCreatureObject("VAMPIM01",Myself,0,0,0)
END


Do you understand what each line of this code does? Because if you don't, you really need to put it aside for later.

@Kaeloree:

Quote
Edit: And if you are looking for a simple, excellent example of a well-organised mod, look at Kulyok's Tiax and Coran mods. I can't stress that enough. Kulyok, is there any chance you might be willing to provide an un-traified
version of one of those to serve as an example mod? It might help make some things (like organisation, etc) clearer.

Could work - since I'm not very experienced around untraify, myself, I guess a new user would have even more troubles with it. Then again, neither of these guys has any romance content. :) But I'll try to do something with Coran.

Offline Kulyok

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 6233
  • Gender: Female
  • The perfect moment is now.
Re: A few questions for a n00b NPC creator
« Reply #24 on: August 25, 2013, 06:05:32 AM »
Heheheh. Guess what? untraify didn't work for me, like, at all. With all my .tra and .d Coran files in the root game directory together with Weidu,
weidu --untraify-tra O#Coran.tra
weidu --untraify-tra O#Coran
weidu --untraify-d O#Coran.d
weidu --untraify-d O#Coran
Anyway, if one is to create such a mod, I guess it's to be created from scratch. I'll see if I can put together a quick 'un.

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: