Aller au contenu

Photo

[Resolved] Custom Companions Have No Skills!


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

#1
jackkel dragon

jackkel dragon
  • Members
  • 2 047 messages
Really, they don't.

Up until a few hours ago, I had left my module's companions with default packages for testing purposes. Today I get the idea that "Hey, maybe I should try to make new packages for them!" 4-5 hours of hilarity ensue...

When I finally perfect everything, I plop the new .gdas in my module override folder and try to get them to show up in the toolset. That's when things went to hell.

The next time I tested the module, neither of the companions had any talents or skills. Even worse, their skills page was completely empty. I rage booted the shiny .gdas from the override folder and reset the packages for the companions. Problem persisted.

Has anyone else had a similar problem with companions? I can't even assign a companion a package from the OC, such as Alistair, and get them to have talents or skills. They're just walking bags of HP now.

Is there some fix for this, or will I have to start the module all over again? I've tried just about everything:
- Remove custom chargen functions
- Remove new abilities
- Edit companion resources
- Triple-check possible script workarounds
- Remove sets of .gdas from override

Modifié par jackkel dragon, 02 octobre 2010 - 07:29 .


#2
TimelordDC

TimelordDC
  • Members
  • 923 messages
...and exported the companion resources after resetting the packages?



I would say, just create a new companion resource and test it first.

#3
Mengtzu

Mengtzu
  • Members
  • 258 messages
Yeah, this is a known issue. What are you using in your hiring script? The default packages and the DA:O companions are hardcoded at points in the default hiring chain. I reimplemented all that stuff (the big script on the wiki), but you need to go in and hardcode your own stuff at equivalent points.

#4
Karma

Karma
  • Members
  • 391 messages
Check your hiring script as Mengtzu suggested. My skill trees disappeared when I had improperly implemented the UT_HireFollower command.



Are you AL and AIP packages showing up in the creature package properties?

#5
jackkel dragon

jackkel dragon
  • Members
  • 2 047 messages
I looked at the custom companion tutorial, and copy/pasting the monster script helped. Skills are back for both companions!



...but I only scripted a fix for one so far...



Now I just need to figure out how AIPs work and my companion woes will be done with... for now.

#6
Karma

Karma
  • Members
  • 391 messages
So which gdas have you created so far?

#7
jackkel dragon

jackkel dragon
  • Members
  • 2 047 messages

satans_karma wrote...

So which gdas have you created so far?


ABI_Base_scar - For modified ability prereqs
AIP_Follower_Heather - For AI package
AIP_Follower_Owen - For AI Package
ALHeather - AutoLevel Package
ALOwen - AutoLevel Package
*all background 2das* - For custom backgrounds
CLA_data/RACE_base - For modifying certain abilities
exptable - XP
M2DA_base_scar - to let the AL and AIP packages show in the toolset
toolset_henchmen - for cutscenes
packages_base - to set up the AL/AIP packages

I suspect that the AIP isn't being found by the package assigned to each henchman. I'm using the monster include script on the wiki to assign the AL package to the henchmen, but the creature files supposedly have the right AIP packages. (Is it possible to assign an AIP through that monster script? I'll look into it...)

Everything except starting tactics seems to be working for henchmen now. Even with my messed-up talent system the companions are able to use talents now.

#8
Karma

Karma
  • Members
  • 391 messages
Well... it seems you've modified all of the correct 2das.



Did you set the AL and AIP packages up in the creature, by a script, or both? I set them up in the creature properties and used something similar to the hiring script (long version) I posted here (http://social.biowar...lower_tutorial2).

#9
jackkel dragon

jackkel dragon
  • Members
  • 2 047 messages

satans_karma wrote...

Well... it seems you've modified all of the correct 2das.

Did you set the AL and AIP packages up in the creature, by a script, or both? I set them up in the creature properties and used something similar to the hiring script (long version) I posted here (http://social.biowar...lower_tutorial2).


For "Heather," I have her creature file packages set to PartyMembers->Heather->AIP_Heather.
After that, my hiring script forces an AL Package on Heather to ensure it works (ALHeather).

I'll check real quick to see if I don't need the package defined in my script. Maybe the script is overriding my tactics table...

Edit: Doesn't seem to be working. I'm going to run more tests.

Is there something that happens when you use both creature properties and a script? I may be overriding something.

Modifié par jackkel dragon, 02 octobre 2010 - 05:28 .


#10
Karma

Karma
  • Members
  • 391 messages
In my creature file, I have the "Package" set to ALCreatureName (which shows up as just CreatureName in the list) and the "Package AI" set to AIP_Follower_CreatureName.

I'm not sure. I use the creature properties to assign the table and the hiring script to spend the points and set the tactics). See below for a portion of the hiring script I use.
[dascript]
int nALTable = TABLE_ALFOLLOWERNAME;
int nLevel = GetLevel(oHero);
//SetObjectActive(GetObjectByTag("INSERT TAG OF ORIGINAL NPC HERE"), FALSE);
ScaleEquippedItems(oFollower, nLevel);
Chargen_InitializeCharacter(oFollower, FALSE);
Chargen_SelectCoreclass(oFollower, INSERTclassHERE);
Chargen_ApplyclassAttributeModifiers(oFollower, INSERTclassHERE);
Chargen_ApplyclassAbilities(oFollower, INSERTclassHERE);
AL_DoAutoLevelUp(oFollower, TRUE, FALSE);
//AddAbility(oFollower, INSERT SPECIALIZATION # HERE);
AL_SpendAttributePoints(oFollower, nALTable, FALSE);
AL_SpendSpecializationPoints(oFollower, nALTable);
AL_SpendSkillPoints(oFollower, nALTable, FALSE);
AL_SpendTalentSpellPoints(oFollower, nALTable, FALSE);
Chargen_SetNumTactics(oFollower);
SetFollowerApprovalEnabled(oFollower, TRUE);
SetFollowerApprovalDescription(oFollower, 371487);
[/dascript]

Modifié par satans_karma, 02 octobre 2010 - 05:51 .


#11
jackkel dragon

jackkel dragon
  • Members
  • 2 047 messages
@satans_karma: I still can't get the "custom" packages to work (they're not any different from the defaults, so I don't have much incentive to get them to work.) If you can find a reliable way to make custom packages work, please post it on the Toolset wiki to spare people the trouble of trial and error...

I've found a compromise that I'm okay with for this module. I am able to set the tactics to one of the presets that a player can select for each character. In case anyone else wants to use my method, I'll post it here:

// Jackkel: Sets up a companion with a default Tactics Preset, automatically done
// in Scars of War (no matter what you want the package to be.)
//
// object oFollower: creature that will get tactics reset
// int nPresetID: Overrides the class preset
//
// Tactics Presets Used:
// 1 - Tank
// 2 - Damage Dealer  
// 3 - Archer
// 4 - Healer
// 5 - Nuker
// 6 - Buffer 
// 7 - Crowd Control
// 8 - Debuffer    
void scar_SetFollowerTacticsPreset(object oFollower, int nPresetID = -1)
{  
    // Warriors get the "Tank" package
    if (GetCreatureCoreclass(oFollower) == class_WARRIOR)
    {
        SetTacticPresetID(oFollower, 1); 
    }
    // Mages get the "Buffer" package
    if (GetCreatureCoreclass(oFollower) == class_WIZARD)
    {
        SetTacticPresetID(oFollower, 6); 
    }
    // Rogues get the "Damager" package
    if (GetCreatureCoreclass(oFollower) == class_ROGUE)
    {
        SetTacticPresetID(oFollower, 2); 
    }
   
    if (nPresetID != -1)
    {
        SetTacticPresetID(oFollower, nPresetID);
    }
   
    Chargen_PopulateTacticsForPreset(oFollower);
}


By using the above script, I was able to get tactics to be set on hire scripts (helpful when a follower joins during a battle.)

Thank you TimelordDC, Mengtzu, and satans_karma! I finally have all my follower-related bugs fixed for now. I can finally get back to the fun part of modding!

I'm setting this to "resolved," but I wouldn't mind another post here if the wiki is updated on custom followers. I'm glad that the DA toolset has enough modders that we can all help each other out!