Jump to content


WeiDU - How to create a simple NPC


  • Please log in to reply
18 replies to this topic

#1 -ghrey-

-ghrey-
  • Guest

Posted 02 April 2004 - 02:24 AM

This is my attempt at showing how to get a (very) simple NPC into your game
using WeiDU. Hopefully it's not too difficult to understand for a totally new
user. This tutorial has been updated as of 19/11/2004, in an attempt to clarify some previously confusing spots, and to update the WeiDU syntax as necessary. I'll add the new additions in blue text, at least until I decide it looks bad.

Table of Contents

First off, a checklist of everything that needs to be done to get your NPC into the
game.

I. Making the dialogue (.dlg) files for your NPC.
II. Making a creature (.cre) file of your actual NPC, with stats and equipment.
III. (optional) Making a script (.bcs) for your creature.
IV. Making a WeiDU installation script (.tp2) to install your NPC on other's PCs

Section I: .D and .DLG files

The first thing to do is make a .dlg file for your NPC. This will be what allows
your NPC to talk to the PC, and thus join the party. First off, make a blank .d
file, which you can do by making a blank .txt and re-naming it. I'll name mine
J#Vondo.d. The first line of code we should right is "BEGIN J#Vondo", which means
that at the time of compilation, it will create a file called *J#Vondo.dlg.

* Note that you don't need to use the prefix "J#", this is just a naming convention
I use for all my files to keep them from overwriting other people's custom files. Your
prefix could be TJ or 01 or y6 or something along that vein.

The code should look like this so far:

Code:

BEGIN J#Vondo


The basic parts of our dialogue should have two States. One is for the first
time the PC and NPC meet, and the second for when the PC has refused their initial
offer to join and has returned. Here's how to write the first state...

IF ~NumTimesTalkedTo(0)~ FirstMeeting

(This is the trigger for the first state. If ~Vondo hasn't talked yet~ then start
the block named "FirstMeeting". Get it?)

SAY ~Greetings good <SIRMAAM>! My name is Vondo the Just.~

(This is what Vondo says. The next block is all the possible responses to his
words.)

IF ~GlobalLT("Chapter","GLOBAL",3)~ THEN REPLY ~Hey Vondo, you seen Irenicus around here?~ GOTO InquireIrenicus
IF ~~ THEN REPLY ~Heya.~ GOTO Greet
+ ~Class(Player1,PALADIN)~ + ~I know a paladin when I see one!~ + BothPaladins
++ ~Go away.~ + GoAway


(These are all the possible options players can choose. Option 1 is only available
if the player is in chapter 1 or 2. Option 2 and 4 are always available (IF ~~),
and option 3 is available if the PC is a Paladin.)

Notice how the syntax of each reply is a bit different. The first two are using the long form, while the second two use a newer, shortened format. The first "+" means "IF". The second "+" is "THEN REPLY". The third "+" is for "GOTO". This saves quite a lot of time.

END
(This terminates this block of dialogue.)


So now our .d file should look like this:

Code:

BEGIN J#Vondo

IF ~NumTimesTalkedTo(0)~ THEN BEGIN FirstMeeting
SAY ~Greetings good <SIRMAAM>! My name is Vondo the Just.~
+ ~GlobalLT("Chapter","GLOBAL",3)~ + ~Hey Vondo, you seen Irenicus around here?~ + InquireIrenicus
++ ~Heya.~ + Greet
IF ~Class(Player1,PALADIN)~ THEN REPLY ~I know a paladin when I see one!~ GOTO BothPaladins
IF ~~ THEN REPLY ~Go away.~ GOTO GoAway
END


Now we need to make the entirely new states that our previous replies link to.

IF ~~ THEN BEGIN InquireIrenicus
(This is after the PC chose to ask about Irenicus.)

SAY ~Nope, but I can help you look for him. I'm a paladin!~
(Vondo's response)

++ ~Sure. Join the party~ DO ~SetGlobal("VondoJoined","LOCALS",1)
JoinParty()~ EXIT


(This will set a variable for Vondo that means he's joined the party. The action
"JoinParty()" obviously makes him join the party. EXIT ends the dialogue.)

IF ~~ THEN REPLY ~Nah, go away.~ EXIT

(This will terminate the dialogue, and Vondo will still be standing around.)

END

Now for the rest of the blocks.

Code:

IF ~~ THEN BEGIN Greet
SAY ~So, you need a paladin in your group?~
IF ~~ THEN REPLY ~Yes, as a matter of fact we do.~ DO ~SetGlobal("VondoJoined","LOCALS",1)
JoinParty()~ EXIT
IF ~~ THEN REPLY ~Nah, go away.~ GOTO GoAway
END

IF ~~ THEN BEGIN BothPaladins
SAY ~Another paladin! Hail and well met brother. Let us journey together and smite evil.~
IF ~~ THEN REPLY ~Sounds like a plan.~ DO ~SetGlobal("VondoJoined","LOCALS",1)
JoinParty()~ EXIT
IF ~~ THEN REPLY ~Nah, go away.~ GOTO GoAway
END

IF ~~ THEN BEGIN GoAway
SAY ~Very well my <LADYLORD>, I will await the day when you return, so that we might smite evil!~
IF ~~ THEN EXIT
END


(The "GoAway" block demonstrates a situation where the player simply presses Enter
to continue the dialogue. In this case it ends the dialogue entirely.)

So that's all we need for the "First meeting" state. Now to make a follow up
dialogue for when the PC returns to talk to Vondo.

Code:

IF ~NumTimesTalkedToGT(0)~ THEN BEGIN ReturnDialogue
SAY ~I see you have returned, my friend.~
IF ~~ THEN REPLY ~Yep, come and join the party.~ DO ~SetGlobal("VondoJoined","LOCALS",1)
JoinParty()~ EXIT
IF ~~ THEN REPLY ~Yeah, but I still don't want you in the party.~ GOTO RefusedAgain
END

IF ~~ THEN BEGIN RefusedAgain
SAY ~Ah, once again you refuse my offer. No matter, I will amuse myself with this magical device I have purchased. It was given to be by a gnome named John Johnson, or something similar.~
IF ~~ THEN EXIT
END


And that's the initial dialogue the NPC will start with. The next file that is
absolutely essential is the *P.dlg file, or the dialogue file that runs when you
kick your NPC out of the party.

Here's what I mean; Vondo joins the party (using J#Vondo.dlg), and is automatically
assigned three dialogues by various .2da files (Pdialog.2da and Interdia.2da). When
you kick him out, his *P.dlg file runs, and looks for the first state that is true.

So since we're starting a new .dlg file, we need to include the line...

BEGIN J#VondoP

Now, J#VondoP is what will be entered in the pdialog.2da file, since that's what our finished .dlg file's name will be. As to the actual contents of
this .dlg file, the code will look like this:

IF ~Global("VondoJoined","LOCALS",1)~ THEN BEGIN KickOut

(This is the variable that was set when Vondo joined the party. If it's at 1, it
means he is currently in the party, and so is being kicked out when the *P.dlg if
being run.)

SAY ~You are now kicking me out.~
IF ~~ THEN REPLY ~Oops, I meant to boot that twit Anomen, not you. Sorry.~ DO ~JoinParty()~ EXIT


(The P.dlg automatically "kicks" the NPC, so when you want him to not be kicked,
just have him use the JoinParty() command.)

IF ~~ THEN REPLY ~That's right, I don't want you in the party.~ DO ~SetGlobal("VondoJoined","LOCALS",0)~ EXIT

(This sets the "VondoJoined" variable to 0, meaning he has been kicked out.)

END

The block should look like this:

Code:

IF ~Global("VondoJoined","LOCALS",1)~ THEN BEGIN KickOut
SAY ~You are now kicking me out.~
IF ~~ THEN REPLY ~Oops, I meant to boot that twit Anomen, not you. Sorry.~ DO ~JoinParty()~ EXIT
IF ~~ THEN REPLY ~That's right, I don't want you in the party.~ DO ~SetGlobal("VondoJoined","LOCALS",0)~ EXIT
END


And that's all you need to kick him out. To have him rejoin once he's been kicked
out, you would write the following:

Code:

IF ~Global("VondoJoined","LOCALS",0)~ THEN BEGIN Rejoin
SAY ~You want me to rejoin?~
IF ~~ THEN REPLY ~That's right Vondo, get back in formation.~ DO ~SetGlobal("VondoJoined","LOCALS",1)
JoinParty()~ EXIT
IF ~~ THEN REPLY ~That's right, I don't want you in the party.~ EXIT
END



And now THAT is all the necessary dialogue you need for an NPC. The rest is smooth
sailing. The final product of your .d should look like this...

Code:

BEGIN J#Vondo

IF ~NumTimesTalkedTo(0)~ THEN BEGIN FirstMeeting
SAY ~Greetings good <SIRMAAM>! My name is Vondo the Just.~
IF ~GlobalLT("Chapter","GLOBAL",3)~ THEN REPLY ~Hey Vondo, you seen Irenicus around here?~ GOTO InquireIrenicus
IF ~~ THEN REPLY ~Heya.~ GOTO Greet
IF ~Class(Player1,PALADIN)~ THEN REPLY ~I know a paladin when I see one!~ GOTO BothPaladins
IF ~~ THEN REPLY ~Go away.~ GOTO GoAway
END

IF ~~ THEN BEGIN InquireIrenicus
SAY ~Nope, but I can help you look for him. I'm a paladin!~
IF ~~ THEN REPLY ~Sure. Join the party~ DO ~SetGlobal("VondoJoined","LOCALS",1)
JoinParty()~ EXIT
IF ~~ THEN REPLY ~Nah, go away.~ EXIT
END

IF ~~ THEN BEGIN Greet
SAY ~So, you need a paladin in your group?~
IF ~~ THEN REPLY ~Yes, as a matter of fact we do.~ DO ~SetGlobal("VondoJoined","LOCALS",1)
JoinParty()~ EXIT
IF ~~ THEN REPLY ~Nah, go away.~ EXIT
END

IF ~~ THEN BEGIN BothPaladins
SAY ~Another paladin! Hail and well met brother. Let us journey together and smite evil.~
IF ~~ THEN REPLY ~Sounds like a plan.~ DO ~SetGlobal("VondoJoined","LOCALS",1)
JoinParty()~ EXIT
IF ~~ THEN REPLY ~Nah, go away.~ EXIT
END

IF ~~ THEN BEGIN GoAway
SAY ~Very well my <LADYLORD>, I will await the day when you return, so that we might smite evil!~
IF ~~ THEN EXIT
END

BEGIN J#VondoP

IF ~Global("VondoJoined","LOCALS",1)~ THEN BEGIN KickOut
SAY ~You are now kicking me out.~
IF ~~ THEN REPLY ~Oops, I meant to boot that twit Anomen, not you. Sorry~ DO ~JoinParty()~ EXIT
IF ~~ THEN REPLY ~That's right, I don't want you in the party.~ DO ~SetGlobal("VondoJoined","LOCALS",0)~ EXIT
END

IF ~Global("VondoJoined","LOCALS",0)~ THEN BEGIN Rejoin
SAY ~You want me to rejoin?~
IF ~~ THEN REPLY ~That's right Vondo, get back in formation.~ DO ~SetGlobal("VondoJoined","LOCALS",1)
JoinParty()~ EXIT
IF ~~ THEN REPLY ~That's right, I don't want you in the party.~ EXIT
END


It seems tough at first, but it's really quite easy once you get the hang of it.

Congratulations, you've just finished reading the entirety of Section I! The rest
are a whole lot shorter, so don't worry. Smiley


Section II: Making the .CRE

This is an easy step. Simply start a multi-player game of BG2 (no need to get onto
the internet, just a LAN game with one player in it is fine), and create a
character.

Cheat to give him whatever XP, hit points, equipment, and stats you want, then export him.

Make any last minute changes to his .chr with Shadow Keeper, DLTCEP, or NearInfinity if you like, and then
open up NearInfinity. From there, scroll down to the "characters" tab, find your new character, and open it. In the File menu, select "Convert CHR to CRE".

Once it's in .cre format, you can assign it it's Death Variable, Dialogue file,
Scripts, and unset certain Flags.

Now, for the Death Variable (More properly known as the Script Name, but I'm old Fashioned), one should scroll down to offset 0x2e4. In real english, this means about 2/3s of the way down the file, as shown by NI. This will be what identifies your NPC in the game. Other Death Variables include "Minsc", "Jaheira", and "Imoen2". I recommend using a unique prefix for this field. We shall set Vondo's DV to j#vondothejust.

This field can be the same as the filename of your CRE, but does not have to be. To keep this clear for our example, we will make the DV j#vondothejust, so you see the difference between filename and script name/death variable.

Scripts at the moment are unimportant, but for now you should set the override script slot to "J#Vondo". This means that when we create a J#Vondo.bcs file, it will be assigned to our .cre file. You should also blank out the leftovers from your .chr file (which should be dplayer3.bcs), and set that to none. If you want your PC to initiate dialogue as soon as they see the PC, use shoutdl2.bcs. If you want them to walk up to the PC to start a conversation, use initdlg.bcs. A basic combat script for them to use would be WTASIGHT.bcs, or WTARSGT.bcs for ranged weapons. So now we should have J#Vondo assigned to override, initidlg.bcs assigned to a slot further down, and wtasight or wtarsgt.bcs below that.

The dialogue assignment is at 0x330, or in the same area as the Script Name/Death Variable, just a bit further down. Right-click the field, choose "Edit as String", and type in J#Vondo. This means when our finished product is installed, and our dialogue compiled, J#Vondo.cre will use J#Vondo.dlg initially.

The following step is important. Read it! - Ghreyfain, 07/30/05
Finally, a small change that many people forget, but which is responsible for numerous headaches. Scroll to the top of your .cre file, and find the Flags field. In a newly converted .cre file, the flag "Export allowed" is still checked. Uncheck that. Odd side-effects that could crop up include scripts and dialogues behaving like those of a multi-player NPC. Not what we want at all.

Whew, and that's that for the .cre. :)

Section III: Scripts

The next bit is already covered by our addition of initdlg.bcs to our .cre file.

Possibly the shortest step. If you want your NPC to walk up to your PC when they
first meet, you'd write this script as a .baf file, i.e. J#Vondo.baf:

Code:

IF
See([PC])
NumTimesTalkedTo(0)
THEN
RESPONSE #100
Dialogue(Nearest([PC]))
END


You don't need to compile it yet. You can leave it in .baf format (that's the
source code for BioWare's script files). Assign it to your NPC's .cre file. To do
this in NI, right-click the script field and chose "Edit as String", then type in
your scripts name without the .bcs extension.

Then the method to get your NPC into the area is to append a small portion of
script to an existing area script. Let's say we want to add him to the Government
District. We'd need to append a bit to AR1000.bcs. For now let's create a script
called AR1000.baf with the bits we want to add.

Code:

IF
Global("J#VondoExists","AR1000",0)
THEN
RESPONSE #100
SetGlobal("J#VondoExists","AR1000",1)
CreateCreature("J#Vondo",[1137.2046],3) // 1137.2046 are the x.y coordinates that will cause him to show up. 3 is the direction he's facing. It ranges from 0 (South), to 15, going clockwise.
END


This portion of script will be going into our installation package, and will be
appended to AR1000.bcs by WeiDU when the time is right. See section IV for details
on how this is done.

Section IV: The WeiDU .TP2

The .tp2 is the installation script that installs your NPC on another's computer, by compiling dialogues, scripts, and by assigning text to their dialog.tlk file and matching the new text to the .cre files. The following has been shamelessly taken from a follow-up on this very tutorial, written by Domi, since I was too lazy to update it.

DO the following:
1) Open you BG2 Main Directory
2) Create a folder called VondoTheNPC
3) Open the folder called VondoTheNPC and within it create a subfolder called backup
4) In the folder called VondoTheNPC copy you cre, your baf's and your d's
5) Go back to your main BG2 directory
6) Copy/paste WeiDU.exe there and re-name it VondoTheNPC-setup.exe
7) in the main BG2 directory create a file called VondoTheNPC-setup.tp2


OPEN the TP2 file in your text editor and keep reading to see what needs to be included for your NPC mod to work.


Thanks, Domi, whether or not you see this. ;)

Code:

BACKUP ~VondoTheNPC\backup~
AUTHOR ~ghreyfain@pocketplane.net~
BEGIN ~Vondo the NPC for BG2:ToB~


// The following is the copying of Vondo's .cre file, as well as assigning his sound-set. See the file sndslot.ids for a listing of sounds you can add.

COPY ~VondoTheNPC\J#Vondo.cre~ ~override\J#Vondo.cre~
SAY NAME1 ~Vondo~
SAY NAME2 ~Vondo~
SAY SELECT_COMMON4 ~Blah blah blah.~ [Vondo1] // [Vondo1] is the name of the .wav
file for this sound
SAY SELECT_COMMON5 ~Give the word.~ [Vondo2]
SAY SELECT_COMMON6 ~Point the way.~ [Vondo3]
SAY SELECT_ACTION1 ~I'm on the job.~ [Vondo4]
SAY SELECT_ACTION2 ~As you wish.~ [Vondo5]


// The following is telling WeiDU to compile the following .d files

COMPILE ~VondoTheNPC\J#Vondo.d~

// The following is compilling the script and placing it in the override. We haven't actually made a script yet, though, so this isn't necessary.

COMPILE ~VondoTheNPC\J#Vondo.baf~

// The following is appending what we wrote in AR1000.baf to the bottom of
// AR1000.bcs

EXTEND_TOP ~Ar1000.bcs~ ~VondoTheNPC\ar1000.baf~


The following is some .2DA appending for Vondo, which goes into the .tp2 as well.

I should detail exactly what this means. Pdialog, basically, is a 2-d array (.2da) that assigns various scripts and dialogue to an NPC.

The first field is our NPCs Script Name/Death Variable, j#vondothejust.

The second is the "post" dialogue file, for when the NPC has been removed from the party.

The "J" is for interjections and dialogue while in-party, such as flirts or PC-initiated discussions.

J#VondoD is actually the dream script file. This acts as any normal script, only it basically adds the condition "the player has just clicked the Sleep button" to all trigger blocks.

The next four fields are as above, only for the ToB expansion. It's recommended to add them even if your NPC only has SoA content, because it won't do any harm to have it there, but to change it later is a little bit of a hassle.

The UNLESS line is a WeiDU command telling the program to only append this text if J#VondoTheJust doesn't already exist in the file.

Code:

APPEND ~pdialog.2da~
~J#VondoTheJust J#VondoP J#VondoJ J#VondoD J#Von25P J#Von25J J#Von25D J#Vond25~
UNLESS ~J#VondoTheJust~

// interdia.2da is a bit simpler, but acts the same as pdialog.2da. It adds the NPCs banter file, which is used for inter-party banter, and romance dialogues.
Code:
APPEND ~interdia.2da~
~J#VondoTheJust J#VondoB J#VonB25~
UNLESS ~J#VondoTheJust~


And that's the end of it, I hope it was clear and not too confusing.

Send any comments on this tutorial to ghreyfain@yahoo.ca, and visit the WeiDU site at http://www.weidu.org.

Other sites of interest for IE editing are:

http://www.idi.ntnu.no/~joh/ni/ - Home of NearInfinity

#2 -Night_Panther-

-Night_Panther-
  • Guest

Posted 10 November 2006 - 10:33 AM

I'm having problems with step 2, when I try to set the overide script and the dialog script to "N-P-Kiasan" It tells me theress an error, It dosent seem to let me change those scripts to anything that isn't part of the origional game.

:(

Please help...

#3 pro5

pro5
  • Modder
  • 722 posts

Posted 10 November 2006 - 10:41 AM

I'm having problems with step 2, when I try to set the overide script and the dialog script to "N-P-Kiasan" It tells me theress an error, It dosent seem to let me change those scripts to anything that isn't part of the origional game.

:(

Please help...


Scripts and dialog names can't be > 8 characters long.

#4 Azkyroth

Azkyroth
  • Modder
  • 3496 posts

Posted 10 April 2007 - 11:14 AM

Scripts and dialog names can't be > 8 characters long.


That's actually true of all game files, to my knowlege.

"Tyranny is a quiet thing at first, a prim and proper lady pursing her lips and shaking her head disapprovingly, asking, well what were you doing (wearing that dress, walking home at that hour, expressing those inappropriate thoughts) anyway? It's subtle and insidious, disguised as reasonable precautions which become more and more oppressive over time, until our lives are defined by the things we must avoid. She's easy enough to agree with, after all, she's only trying to help -- and yet she's one of the most dangerous influences we face, because if she prevails, it puts the raping, robbing, axe-wielding madmen of the world in complete control. Eventually they'll barely need to wield a thing, all they'll have to do is leer menacingly and we fall all over ourselves trying to placate them." -godlizard


#5 Devlinor

Devlinor

    Itinerant Lab Rat

  • Member
  • 100 posts

Posted 12 May 2007 - 03:28 AM

This is a very well written tutorial, I just wish that it were in a format like a .doc, or .pdf so it could be downloaded and used. Thank you for the efforts and I hope that I can someday provide an NPC for BG2 or any of the spinoffs that is worthy.

Devlinor
Do not meddle in the affairs of dragons, for they are quick to anger and you are good to eat.

Sherman - The Half-Orc Cleric/Fighter NPC for BGT(currently in dialog and scripting ALPHA phase, still due to Comp crash)

To say thanks to the modders that worked on this and other mods check this link and add your thanks to it.

Check this link for a thank you to the modders

#6 Kellen

Kellen

    Earn a person's heart, and they'll die a thousand deaths

  • Member
  • 7092 posts

Posted 12 May 2007 - 06:03 AM

Copy/paste it in word.

Or if you'd like a pdf, send me a pm with your email, and I'll see about sending it to you.

Or the attachment

Attached Files


Edited by Kellen, 12 May 2007 - 06:04 AM.

"She could resist temptation. Really she could. Sometimes. At least when it wasn't tempting." - Calli Slythistle
"She was a fire, and I had no doubt that she had already done her share of burning." - Lord Firael Algathrin
"Most assume that all the followers of Lathander are great morning people. They're very wrong." - Tanek of Cloakwood

we are all adults playing a fantasy together, - cmorgan

#7 Sir Kalthorine

Sir Kalthorine

    Order of Radiant Ugliness

  • Modder
  • 2188 posts

Posted 12 May 2007 - 06:05 AM

Nice work Kellen :new_thumbs:

KACH_TS.jpg Chrysta... could helping her to uncover her past threaten your own future?

"Pity the land in need of Heroes."- Bertolt Brecht
"A little madness, now and then, is relished by the wisest men." - Willy Wonka


#8 Devlinor

Devlinor

    Itinerant Lab Rat

  • Member
  • 100 posts

Posted 12 May 2007 - 02:59 PM

Copy/paste it in word.

Or if you'd like a pdf, send me a pm with your email, and I'll see about sending it to you.

Or the attachment



Thank you, Kellen. I might give it a try. I am currently trying to set up the Mega install and am tearing out the fur on my head (I keep my hair very short) :rolleyes: thanks again.

Devlinor.
Do not meddle in the affairs of dragons, for they are quick to anger and you are good to eat.

Sherman - The Half-Orc Cleric/Fighter NPC for BGT(currently in dialog and scripting ALPHA phase, still due to Comp crash)

To say thanks to the modders that worked on this and other mods check this link and add your thanks to it.

Check this link for a thank you to the modders

#9 Kellen

Kellen

    Earn a person's heart, and they'll die a thousand deaths

  • Member
  • 7092 posts

Posted 12 May 2007 - 05:25 PM

Well thanks to Ronin for the pdf converter.

Good luck on your mega install, and whatever else you're working on Devlinor.
"She could resist temptation. Really she could. Sometimes. At least when it wasn't tempting." - Calli Slythistle
"She was a fire, and I had no doubt that she had already done her share of burning." - Lord Firael Algathrin
"Most assume that all the followers of Lathander are great morning people. They're very wrong." - Tanek of Cloakwood

we are all adults playing a fantasy together, - cmorgan

#10 Sir Kalthorine

Sir Kalthorine

    Order of Radiant Ugliness

  • Modder
  • 2188 posts

Posted 15 May 2007 - 01:47 PM

Section II: Making the .CRE

This is an easy step. Simply start a multi-player game of BG2 (no need to get onto
the internet, just a LAN game with one player in it is fine), and create a
character.

Er... what if your Multiplayer SoA game doesn't give you LAN as an option?

When I click on "Connect" I get the following choices:
  • TCP/IP
  • IPX
  • Serial
  • Modem
No matter which one I choose, it won't allow me to start a "New Game". Either nothing happens when I click "New Game" or the game hangs.

So what next? :crying:

KACH_TS.jpg Chrysta... could helping her to uncover her past threaten your own future?

"Pity the land in need of Heroes."- Bertolt Brecht
"A little madness, now and then, is relished by the wisest men." - Willy Wonka


#11 Kellen

Kellen

    Earn a person's heart, and they'll die a thousand deaths

  • Member
  • 7092 posts

Posted 15 May 2007 - 02:03 PM

I'd have suggested TCP/IP, but it doesn't work?

Hmm.

I'd guess either the game is gufunked and needs to be reinstalled, or some other error that I have no idea about.

Do you have the patch?
"She could resist temptation. Really she could. Sometimes. At least when it wasn't tempting." - Calli Slythistle
"She was a fire, and I had no doubt that she had already done her share of burning." - Lord Firael Algathrin
"Most assume that all the followers of Lathander are great morning people. They're very wrong." - Tanek of Cloakwood

we are all adults playing a fantasy together, - cmorgan

#12 Sir Kalthorine

Sir Kalthorine

    Order of Radiant Ugliness

  • Modder
  • 2188 posts

Posted 15 May 2007 - 02:07 PM

Game is fully patched, yes.

I have tried re-installing, re-patching and re-trying with no effect.

There are no mods currently installed.

I am annoyed :angry:

KACH_TS.jpg Chrysta... could helping her to uncover her past threaten your own future?

"Pity the land in need of Heroes."- Bertolt Brecht
"A little madness, now and then, is relished by the wisest men." - Willy Wonka


#13 Kellen

Kellen

    Earn a person's heart, and they'll die a thousand deaths

  • Member
  • 7092 posts

Posted 15 May 2007 - 02:17 PM

Hmm. One moment...

Hmm. Works fine for me. Did you give it a few seconds(took about 15 for me) after hitting new game?

And to make sure we're on the same page for working this.

Start BG2.
Choose SoA
Choose Multiplayer
Chose TCP/IP(is what I'm doing and it working)
Choose Create Game
Choose New Game.

PS. If a wandering mod finds this, it probably better belongs in IE Help. Could be wrong though...
"She could resist temptation. Really she could. Sometimes. At least when it wasn't tempting." - Calli Slythistle
"She was a fire, and I had no doubt that she had already done her share of burning." - Lord Firael Algathrin
"Most assume that all the followers of Lathander are great morning people. They're very wrong." - Tanek of Cloakwood

we are all adults playing a fantasy together, - cmorgan

#14 Sir Kalthorine

Sir Kalthorine

    Order of Radiant Ugliness

  • Modder
  • 2188 posts

Posted 15 May 2007 - 02:21 PM

Thanks for trying to help Kellen!

Hmm. One moment...

Hmm. Works fine for me. Did you give it a few seconds(took about 15 for me) after hitting new game?

Try 15 minutes :angry:


And to make sure we're on the same page for working this.

Start BG2.
Choose SoA
Choose Multiplayer
Chose TCP/IP(is what I'm doing and it working)
Choose Create Game
Choose New Game.

Done, done, done, done, done and done. :angry:


PS. If a wandering mod finds this, it probably better belongs in IE Help. Could be wrong though...

Already started a thread in there... you are right, other answers are probably best made in there!

KACH_TS.jpg Chrysta... could helping her to uncover her past threaten your own future?

"Pity the land in need of Heroes."- Bertolt Brecht
"A little madness, now and then, is relished by the wisest men." - Willy Wonka


#15 --Mike--

--Mike--
  • Guest

Posted 20 January 2008 - 06:14 PM

Game is fully patched, yes.

I have tried re-installing, re-patching and re-trying with no effect.

There are no mods currently installed.

I am annoyed







Did you fill out session name and player name?

#16 --Mike--

--Mike--
  • Guest

Posted 20 January 2008 - 06:16 PM

Once it's in .cre format, you can assign it it's Death Variable, Dialogue file,
Scripts, and unset certain Flags.

Where do you save .cre file to ? Im up to this point but this is where you lose me.

#17 Miloch

Miloch

    Barbarian

  • Modder
  • 6573 posts

Posted 20 January 2008 - 09:52 PM

Where do you save .cre file to ? Im up to this point but this is where you lose me.

It doesn't really matter. Most people save it in a subfolder within their mod folder called "cre" or the like. Then in your .tp2 you put:
COPY ~mymod/cre/mynpc.cre~ ~override~

  SAY NAME1 ~NPC Name~

  SAY NAME2 ~NPC Name~

  SAY 0x1cc ~Biography blah blah blah~
If you want sound clips etc. you need more SAYs at those offsets. Then to actually get the .cre in the game, you usually EXTEND_BOTTOM an area script or ADD_GAME_NPC for BG1. Not sure if this tutorial details that (I just scanned it) but the WeiDU doc should.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#18 --Mike--

--Mike--
  • Guest

Posted 21 January 2008 - 03:20 PM

Where do you save .cre file to ? Im up to this point but this is where you lose me.

It doesn't really matter. Most people save it in a subfolder within their mod folder called "cre" or the like. Then in your .tp2 you put:
COPY ~mymod/cre/mynpc.cre~ ~override~
  SAY NAME1 ~NPC Name~
  SAY NAME2 ~NPC Name~
  SAY 0x1cc ~Biography blah blah blah~
If you want sound clips etc. you need more SAYs at those offsets. Then to actually get the .cre in the game, you usually EXTEND_BOTTOM an area script or ADD_GAME_NPC for BG1. Not sure if this tutorial details that (I just scanned it) but the WeiDU doc should.

Thanks yea i just saved it to mymod folder and opened it from there. I finished my Npcs intro and stuff. Now im working on the banters but am having some trouble /sigh

#19 theacefes

theacefes

    Probably swearing

  • Modder
  • 1782 posts

Posted 25 January 2008 - 06:26 PM

Where do you save .cre file to ? Im up to this point but this is where you lose me.

It doesn't really matter. Most people save it in a subfolder within their mod folder called "cre" or the like. Then in your .tp2 you put:
COPY ~mymod/cre/mynpc.cre~ ~override~
  SAY NAME1 ~NPC Name~
  SAY NAME2 ~NPC Name~
  SAY 0x1cc ~Biography blah blah blah~
If you want sound clips etc. you need more SAYs at those offsets. Then to actually get the .cre in the game, you usually EXTEND_BOTTOM an area script or ADD_GAME_NPC for BG1. Not sure if this tutorial details that (I just scanned it) but the WeiDU doc should.

Thanks yea i just saved it to mymod folder and opened it from there. I finished my Npcs intro and stuff. Now im working on the banters but am having some trouble /sigh


http://www.shsforums...showtopic=29854
DO ~SetGlobal("omgBbqRomanceActive","GLOBAL", 2)~

 
Gibberlings Three - IE Modding Community