Aller au contenu

Photo

Companion Systems


  • Veuillez vous connecter pour répondre
26 réponses à ce sujet

#1
Jezla

Jezla
  • Members
  • 173 messages
I'm considering using Dick Loraine's companion system in Legends of the Dalelands.  Has anyone used this and what are your thoughts about it?  It seems fairly straightforward.

I want to have companions like in the OC that you can meet ar different parts of the adventure, and choose who will accompany you when you leave your base.  Some of the companions are multiclass, which I why I'm looking at Dick's system.

If this system doesn't work as well as advertised, does anyone know of any other system, or a tutorial on setting up an OC style hangout and party selection process?

#2
bealzebub

bealzebub
  • Members
  • 352 messages
You can open the oc .mod 1000_Neverwinter_A1.mod, and open the sunken flagons inn. The scripts to open the character selection gui are attached to the front door onclicked slot.

#3
M. Rieder

M. Rieder
  • Members
  • 2 530 messages
Oooh... hey, that's a useful bit of info. Thanks for sharing.

#4
Jezla

Jezla
  • Members
  • 173 messages
I've looked at the OC's mods, and saw what you emntioned, but I can't really make out how you handle removing the companions from the party and placing them at their hangout spots.

#5
bealzebub

bealzebub
  • Members
  • 352 messages
I think the script you're looking for is the OnEnter or OnClientEnter for the sunkenflagon area.

#6
Jezla

Jezla
  • Members
  • 173 messages
OK, I've looked at those, and it seems the same as in Dick's system (his appears to be a cleaned -up version without the OC specific stuff). Seems fairly straightforward, however I have a couple more questions:

1) I've looked at the module load scripts for the OC and SoZ. What exactly is the difference between the roster and the party?

2)All but one of my comanions are singe class. The multiclass one is a fighter thief who takes the assasin prestige class. How would I handle the leveling of this companion, and should the blueprints for all the companions be 1st level or should I make them the level they should start out at? Some of them should have specific feats (e.g. the mage dual-wields daggers in melee combat, thus he takes two-weapon fighting). I also want to make sure the ranger follows the ranged combat style. the toolset seems to always level the npcs up in the two-weapon style, regardless of package.

#7
bealzebub

bealzebub
  • Members
  • 352 messages
1. as I understand it, the roster is possible companions, and the party is.. the party. For example, you might have 5 companions in your roster, but are only allowed 3 in the party at a time.

2. If you want the companions to be a specific level, you will need to make them that level. Then when you add them to the party, don't use the ga_reset_level script. They will appear just as you created them, but they will have 0 xp. You will need a script to give them the proper xp. I have one if you need it.

#8
bealzebub

bealzebub
  • Members
  • 352 messages

Jezla wrote...

Some of the companions are multiclass, which I why I'm looking at Dick's system. 


I'm not familiar with Dick Loraine's companion system, but if just want multi-class companions, it's a campaign setting. Just open the campaign editor and change AllowUnrestrictedLevelUp to True. Your module needs to be a campaign of course.

#9
Jezla

Jezla
  • Members
  • 173 messages
Thanks for the info, bealzebub. The XP script would be helpful.

#10
bealzebub

bealzebub
  • Members
  • 352 messages
// ga_bb_give_xp
// by Brendan Bellina
// December, 2007
// rev. June, 2008 to default to conversation OWNER
// Conversation action script to give xp to a creature.
// Useful when first adding a companion or henchman to a party.
// By default uses GiveXPToCreature
// Pass 1 as useSet to use SetXP
// Note: Cannot set xp to 0
#include "ginc_param_const"
void main(string sPC, int nXP, int useSet = 0)
{
 // Give nXP to creature with tag sPC, or if sPC is blank to conversation owner
 object oPC = GetTarget(sPC, TARGET_OWNER);
 if (GetIsObjectValid(oPC) == TRUE && nXP)
 {
  if (!useSet)
         GiveXPToCreature( oPC, nXP );
  else
   SetXP( oPC, nXP );
    }
 else
 {
  ErrorMessage("ga_bb_give_xp: " + sPC + " not found or no XP specified");
 }
}

#11
The Fred

The Fred
  • Members
  • 2 516 messages

bealzebub wrote...
I'm not familiar with Dick Loraine's companion system, but if just want multi-class companions, it's a campaign setting. Just open the campaign editor and change AllowUnrestrictedLevelUp to True. Your module needs to be a campaign of course.

It's possibly not appropriate to your situation, but I feel I should take this opportunity to advertise shamelessly my http://nwvault.ign.c...=377]Restricted Companion Multiclassing System[/url] in the hope that someone may find it useful.

#12
Jezla

Jezla
  • Members
  • 173 messages
Thanks, bealzebub (didn't realize it was that easy)! Fred, your system sounds like it might be what I need if I decide not to use Dick's system. I've been going through the roster and companion scripts trying to get a handle on what they do and how they work.

#13
Kaldor Silverwand

Kaldor Silverwand
  • Members
  • 1 585 messages
I sometimes use this script which saves me the trouble of calculating the xp for the level I want.

// ga_bb_set_xp_for_level
// by Brendan Bellina
// Aug, 2008

// Conversation action script to set the xp of a creature to the
// minimum needed for a level.

// Useful when first adding a companion or henchman to a party.

// Does not take into account existing levels of the creature.

// Does not take into account races that have an xp penalty.

// By default uses GiveXPToCreature
// Defaults to Level 1
// Pass 1 as useSet to use SetXP

#include "ginc_param_const"

void main(string sPC, int nLevel = 1, int useSet = 0)
{
// Calculate required xp:
int nXP = ((nLevel * (nLevel - 1)) / 2) * 1000;
if (nXP == 0)
nXP = 1; // force to 1 to avoid giving 0 xp

// Give nXP to creature with tag sPC, or if sPC is blank to conversation owner
object oPC = GetTarget(sPC, TARGET_OWNER);
if (GetIsObjectValid(oPC) == TRUE)
{
if (!useSet)
GiveXPToCreature( oPC, nXP );
else
SetXP( oPC, nXP );
}
else
{
ErrorMessage("ga_bb_set_xp_for_level: " + sPC + " not found");
}
}

Boy, that Brendan Bellina guy writes some useful scripts ;)

#14
The Fred

The Fred
  • Members
  • 2 516 messages
This is the useful bit:
int nXP = ((nLevel * (nLevel - 1)) / 2) * 1000;
The XP required to gain a level is the nth triangular number where n is your current level (times 1000). So 1k at 1st level, (1+2)=3k at 2nd level, (1+2+3)=6k at 3rd level, etc. (I think this is technically a geometric series but where the factor is simply 1).

The only thing you have to remember is that characters with a level adjustment will be a lower level, but need the same XP as higher-level characters to reach their next level. I think you probably need to add the LA to their hit dice to get their ECL, then you can use that instead of their raw level to calculate the XP.

#15
bealzebub

bealzebub
  • Members
  • 352 messages
here's a chart.

http://nwn2.wikia.co...ter_progression

#16
Jezla

Jezla
  • Members
  • 173 messages
Thanks for all the assistance guys. I've been studying the various scripts for companions that come with the game and am learning more about how it all works. At this point, I may try out Dick's system (since I've already got it imported into the campaign) and see how I like it. I feel more confident that I'll be able to use the default system if I need to.

#17
Jezla

Jezla
  • Members
  • 173 messages
HELP!!!! My companions are hostile! I've made syure the campaign variable to use personal reputation is false, and I altered my mod_load script to make sure it doesn't get reset to true, and i've assigned my companions to the merchant faction. Any idea what's wrong?

#18
Morbane

Morbane
  • Members
  • 1 883 messages
Companions should be Faction Defender?

Which behaviour script set are you using?

Modifié par Morbane, 04 décembre 2011 - 06:36 .


#19
Jezla

Jezla
  • Members
  • 173 messages
The gb_companion scripts. I'm using Dick Loraine's system, and in his demo he has his companions in the defender faction.

I am using TonyK's ai for this mod. Would that have anything to do with it?

#20
Jezla

Jezla
  • Members
  • 173 messages
Oh, and I did change them to faction Defender, but they are still hostile.

#21
Kaldor Silverwand

Kaldor Silverwand
  • Members
  • 1 585 messages
I normally create my companions.with a neutral faction. When they join your party their faction will automatically change to match the main PC.

If you are spawning the companions in at waypoints then the faction it their blueprint will be used. If you have placed them in an area then make sure the faction on the placed creature is not hostile.

I can't say anything about personal reputation as I never use that,

Regards

#22
Jezla

Jezla
  • Members
  • 173 messages
LOL, silly me! I forgot to change the faction on the instances in the area. They're friendly now. :-)

#23
Omega27

Omega27
  • Members
  • 198 messages

Jezla wrote...

I'm considering using Dick Loraine's companion system in Legends of the Dalelands.  Has anyone used this and what are your thoughts about it?  It seems fairly straightforward.

I want to have companions like in the OC that you can meet ar different parts of the adventure, and choose who will accompany you when you leave your base.  Some of the companions are multiclass, which I why I'm looking at Dick's system.

If this system doesn't work as well as advertised, does anyone know of any other system, or a tutorial on setting up an OC style hangout and party selection process?


I want to create a campanion system in both /nW/n1-2, i habent started the mod in two yet still learning. Also can something like this work in 1?

#24
Jezla

Jezla
  • Members
  • 173 messages
@Omega27:I don't think Dick's system can be imported to NWN1. It's written for the way NWN2 companions are handled, which is different from NWN1

#25
The Fred

The Fred
  • Members
  • 2 516 messages
The problem is that NWN1 doesn't have companions as per say, it has henchmen. Ironically, I think henchmen are bugged in NWN2.