Jump to content

Ace's very long NPC creation guide


Recommended Posts

Why the mocking smiley, though?
Well, there's the Level1NPCs mod, but to me it's silly to use another mod when you could just use your own... to make the NPC more usable as is in general sense, as you can set the XP to whatever without needing to level up the character and thus remove the choices the player might want to make for the character to better suite the party.

 

Say, Attacks per Round (ApR) must always be set to 1 (for a joinable NPC, that is)

HP - original NPC's always have this value set below maximum (except for level 1)

Well, you can actually set the ApR to whatever you like, as long as you can keep it there too... it's not "YOU MUST SET THE ApR to 1".

The same is for the NPCs hit points. Generally most of the HPs are counted by the games own rules, so the BG1's makers decided that because Minsc was a second level ranger, and thus he could have had maximum HP of 20 in the .cre file(+the Con bonus of +1/level)... but because he was "randomly made", he only has 18 HP's in the .cre file, as if he had first the usual start HP's, and then had thrown an 8 in the 1d10 at level up.

 

Now, there's BG2 Tweakpack mod that some people use has a component that makes the "random rolls" non random, as the people like it that way, but it doesn't adjusts all the .cre files accordingly, because they are preset, and the rule system only adjust the requirements and the increments in the tables that are used. So if you wish, you can set the HP's to 200 and the character will gain the next levels add on hit points as set by the ruleset as an increment without looking back at what he currently has.

 

This is why I suggest that you make the NPCs actually be just the level 1 and then add the necessary set amount of XP when they are summoned. And that's why the :) was there...

Link to comment

Ok, I'll give it one more try

The only purpose of my posting in this particular thread has been to point out that some BASIC facts haven't been covered in this tutorial, and IMHO they should be added

As for the first post, Ace invites others to participate, but how is it possible if not just posting in this thread?

For your own statements, I agree with some, disagree with the others, but all this is irrelevant here, -- irrelevant to my posts, to which you've been responding

 

PS I certainly know where the links are. How else could I've got acquainted with the tutorial?

Link to comment
I think, the .CRE file section requires more detailed coverage

 

And unless you're a professional tutorial writer who is looking for employees, I would suggest you consider writing up that part yourself if you're here to be the champion of all new modders making NPCs.

 

90% of the authors of NPC mods somehow have no idea what these values are about

 

Was there a poll I was unaware of? By the time I began modding, I had already played through BG several times and had read the manual from cover to cover several times as well. The definitions are there.

 

Not trying to be intentionally a smart ass or anything, but at the beginning of this tutorial, I *do* ask that anyone with valuable input please write something up and send it to me so I can add it instead of bitching about it, since obviously no one here (except Grim Squeaker) is paying me to write these.

 

EDIT: Looks like you posted while I was typing.

As for the first post, Ace invites others to participate, but how is it possible if not just posting in this thread?

 

PM, Email, MSN messenger - I think I make it quite easy for others to get a hold of me in this community. If you have something you'd like to add, I would love it if you put something together. If it seems off-topic or an overly complex explanation of stuff that many modders already know, maybe we can put it in its own tutorial.

Link to comment

Just for the hell of it and to encourage myself, I'm actually going to state here that I am going to use my old pc to attempt to make my own NPC. For the sake of my sanity, I will read the tutorial as I go along. :)

 

I'll find out if it's true that modding isn't so hard or if I'm a bit on the dim-witted side!

 

Thank you in advance, Kat (theacefes) for this chance to test my potential!

 

 

 

 

Link to comment

PC/NPC Banters section (Chapter III): I doubt that this .D file will compile. Anyway, using CHAIN in dialogs with replies is poor practice

 

Not necessarily poor, but different. Some situations might be better than others for using CHAINs; I use them as much as possible.

Link to comment

Sorry, guys. The guide has been taken down from my personal web host permanently. This was due to the fact that I simply don't have the time to update it with current coding practices and I don't want to encourage bad practices or deal with the bickering over what is a good practice or a bad practice. For those who are still interested, the original copy of the guide is nearly the same as the web based one.

Link to comment

Tried modding my own NPC. I think I have everything correct after reviewing a few beginners/noob guides. But when I try to install him with the Weidu.exe, It keeps getting stuck at the below... I want to get a very basic NPC in-game first. I will try to expand on it later. Can anyone help or offer advice?

 

{SETUP-BRIL.EXE.DEBUG} Queried (pid = -1)

 

My Dialogue File...

 

BEGIN M#Bril

 

IF ~NumTimesTalkedTo(0)~ THEN BEGIN Talk1

SAY ~The name's Bril. I don't say much. I'm hell with a blade an d looknig for work. Ye interested?~

 

IF ~~ THEN REPLY ~The name's <CHARNAME>, why should I trust you Bril?~ GOTO HiThere

IF ~~ THEN REPLY ~Nope, not interested.~ GOTO EndTalk

END

 

IF ~~ THEN BEGIN HiThere

SAY ~Look, I'm just a hired blade. Your choice. Do ya need me or don't ya?~

IF ~~ THEN REPLY ~Sure, why not?~ DO ~SetGlobal("BrilJoined","LOCALS",1)

JoinParty()~ EXIT

IF ~~ THEN REPLY ~I'm afraid I can't accept your offer right now.

Perhaps later.~ EXIT

END

 

IF ~~ THEN BEGIN EndTalk

SAY ~(sigh) Whatever neighbor. Just come back if you change your mind.

I'll be waiting here.~

IF ~~ THEN EXIT

END

 

IF ~NumTimesTalkedToGT(0)~ THEN BEGIN Talk2

SAY ~You're back! Changed your mind, eh?~

IF ~~ THEN REPLY ~Sure, why not?~ DO

 

~SetGlobal("BrilJoined","LOCALS",1)

JoinParty()~ EXIT

IF ~~ THEN REPLY ~On second thought, I don't think that's a good

idea right now.~ EXIT

END

 

 

 

BEGIN K#BrilP

 

IF ~Global("BrilJoined","LOCALS",1)~ THEN BEGIN LeaveGroup

SAY ~What? You don't need me?~

IF ~~ THEN REPLY ~My mistake, please stay.~ DO ~JoinParty()~ EXIT

IF ~~ THEN REPLY ~I'm done with you. Bye.~ EXIT

END

 

 

 

IF ~Global("BrilJoined","LOCALS",0)~ THEN BEGIN ComeBack

SAY ~You want me to rejoin?~

IF ~~ THEN REPLY ~Welcome back.~ DO ~SetGlobal("BrilJoined","LOCALS",1)

JoinParty()~ EXIT

IF ~~ THEN REPLY ~Nope, you still suck.~ EXIT

END

 

My Tp2 file...

 

 

BACKUP ~Bril/backup~

AUTHOR ~Blades (kmark2323@gmail.com)~

BEGIN ~Bril for BG2:SoA~

 

COPY ~Bril/BRIL.cre~ ~override/BRIL.cre~

 

SAY NAME1 ~Brilsun Moonstar~

SAY NAME2 ~Brilsun Moonstar~

 

SAY BIO ~When you ask him about his past, JOHN says to shut up.~

 

SAY MORALE ~Sticking around is only going to get us killed.~

SAY HAPPY ~This group is great~

SAY UNHAPPY_ANNOYED ~You're starting to take the wrong path in morals.~

SAY UNHAPPY_SERIOUS ~I'll leave if you don’t stop!~

SAY UNHAPPY_BREAKING ~You suck, I'm outta here.~

SAY LEADER ~Alright, I'm the leader!~

SAY TIRED ~I'm tired.~

SAY BORED ~I'm bored.~

SAY BATTLE_CRY1 ~Let's brawl!~

SAY BATTLE_CRY2 ~Time to die!~

SAY BATTLE_CRY3 ~DIE NOW!~

SAY BATTLE_CRY4 ~DIE!~

SAY DAMAGE ~Aargh!!~

SAY DYING ~AH!~

SAY HURT ~I'm bleeding!~

SAY AREA_FOREST ~Great, there's probably faeries everywhere...~

SAY AREA_CITY ~I love the streets~

SAY AREA_DUNGEON ~I hate pits.~

SAY AREA_DAY ~It's day.~

SAY AREA_NIGHT ~It's dark.~

SAY SELECT_COMMON1 ~Yeah?~

SAY SELECT_COMMON2 ~What do you need?~

SAY SELECT_COMMON3 ~Grunt.~

SAY SELECT_COMMON4 ~What?~

SAY SELECT_COMMON5 ~Yes?~

SAY SELECT_COMMON6 ~I'm listening.~

SAY SELECT_ACTION1 ~Uh huh.~

SAY SELECT_ACTION2 ~Sure.~

SAY SELECT_ACTION3 ~I'm on it.~

SAY SELECT_ACTION4 ~YAY!~

SAY SELECT_ACTION5 ~Not hard at all~

SAY SELECT_ACTION6 ~Yep~

SAY SELECT_ACTION7 ~Okay~

SAY SELECT_RARE1 ~I'm ready.~

SAY SELECT_RARE2 ~I got it.~

SAY CRITICAL_HIT ~Slice!~

SAY CRITICAL_MISS ~Frig!~

SAY TARGET_IMMUNE ~I can't hurt this thing?~

SAY INVENTORY_FULL ~Too much!~

 

COMPILE ~Bril/K#Bril.d~

 

EXTEND_TOP ~AR0406.bcs~ ~Bril/AR0406.baf~

 

COPY ~Bril/brils.bmp~ ~override/brils.bmp~

~Bril/brilm.bmp~ ~override/brilm.bmp~

 

APPEND ~pdialog.2da~

~M#Bril M#BrilP M#BrilJ M#BrilD M#Bri25P M#Bri25J M#Bri25D M#Bril25~

UNLESS ~M#Bril~

 

 

APPEND ~interdia.2da~

~M#Bril M#BrilB M#BriB25~

UNLESS ~M#Bril~

Link to comment

Tried modding my own NPC. I think I have everything correct after reviewing a few beginners/noob guides. But when I try to install him with the Weidu.exe, It keeps getting stuck at the below... I want to get a very basic NPC in-game first. I will try to expand on it later. Can anyone help or offer advice?

 

{SETUP-BRIL.EXE.DEBUG} Queried (pid = -1)

This doesn't mean there's anything wrong with your mod. Sometimes WeiDU gets hung up trying to auto-update to the latest version. Try copying one of your other setup-modname.exe files and replacing SETUP-BRIL.EXE.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...