I wrote a Henchmen script to hire and remove characters into your party (up to two extra Henchmen with this script - did you know the game supports parties of 5+? It does!)
THIS ASSUMES YOU HAVE GOOD WORKING KNOWLEDGE OF THE DIALOGUE EDITOR
WHAT YOU'LL NEED:
Unpack main and move the following folders to their corresponding spots in your mod:
Public/Main/Stats --> Public/YourMod/Stats (copy entire folder)
Mods/Main/Character Creation --> Mods/YourMod/Character Creation (Copy entire Folder)
STEPS TO USE:
1.)
Set up a global NPC, change his name on the character editor to be something you can remember, and modify the following sidebar fields to your liking. Set the Level Override to what level you want the Henchman to start out at.
1.1)
Equipment (Drop Down): (Try typing in "Hench" and it should auto complete to some possible choices to get you started)
1.2)
Stats: Same as Equipment
1.3)
Skill Set: Use one of the following:
Class_Fighter
Class_Knight
Class_Ranger
Class_Cleric
Class_Witch
Class_Rogue
Class_Wizard
Class_Enchanter
Class_Battlemage
Class_Wayfarer
Class_Shadowblade
Henchman_Jahan
Henchman_Madoc
Henchman_Bairdotr
Henchman_Wolgraff
2.)
Put an EVENT TRIGGER at your characters location, name the trigger CharacterNameLocation and make it global. (example: PhilLocation)
3.)
Remember what you named your character in the CHARACTERS tool? Paste this script in, do a CONTROL-F (Find) and Find & Replace all "Ludo" with your character name.
4.)
Make your characters Dialogue :
4.1)
In the dialogue option where you hire / accept the henchman put the following action:
ACTION SetFlag("CharacterNameHired",1)
ACTION SetFlag("CharacterNameDismissed",0)
//Make CharacterName the name of your character. If you named your Character Phil, it should be PhilHired.
4.2)
In the Dialogue options where you Dismiss the character (if you want that option) put the following actions:
ACTION SetFlag("CharacterNameDismissed",1)
ACTION SetFlag("CharacterNameHired",0)
//Same thing with those character names. Change them to your own.
5.)
Open TranslatedStringKey-
Make a new key that is called NoRoom. Make the content something like "Your Party is full, there's no room for me!" without the quotes.
SCRIPT BELOW:
//Check party is not full first, then take player into party
IF
GlobalEventSet("LudoHired")
AND NOT
CharacterGetVarInteger(CHARACTER_Player1, "members", 2)
THEN
CharacterMakeCompanion(CHARACTER_Ludo,CHARACTER_Player1);
CharacterSetEvent(CHARACTER_Ludo,"Hired");
CharacterSetCanFight(CHARACTER_Ludo,1);
CharacterSetOnStage(CHARACTER_Ludo,1);
//If party is full, reset hired flag and play a message
IF
GlobalEventSet("LudoHired")
AND
CharacterGetVarInteger(CHARACTER_Player1, "members", 2)
THEN
CharacterDisplayText(CHARACTER_Ludo,"NoRoom");
GlobalClearEvent("LudoHired");
//If one person is in the party at time of hire, set the variable to 2
IF
GlobalEventSet("LudoHired")
AND
CharacterGetVarInteger(CHARACTER_Player1, "members", 1)
THEN
CharacterSetVarInteger(CHARACTER_Player1, "members", 2);
//If nobody is in the party at time of hire, set variable to 1
IF
GlobalEventSet("LudoHired")
AND
CharacterGetVarInteger(CHARACTER_Player1, "members", 0)
THEN
CharacterSetVarInteger(CHARACTER_Player1, "members", 1);
//Dismiss character from party, start teleport timer
IF
GlobalEventSet("LudoDismissed")
THEN
CharacterDetachFromGroup(CHARACTER_Ludo);
CharacterMakeNPC(CHARACTER_Ludo);
CharacterRemoveFromParty(CHARACTER_Ludo);
//CharacterSetVarInteger(CHARACTER_Player1,"dismissal",1);
TimerLaunch("LudoLeave", 10000);
//Teleport player home
IF
TimerFinished("LudoLeave")
THEN
PlayEffectAtCharacter("FX_GP_TeleportSmoke_A",CHARACTER_Ludo);
CharacterTeleportToTrigger(CHARACTER_Ludo,TRIGGER_LudoLocation,"");
//If one person was in party, set to 0
IF
GlobalEventSet("LudoDismissed")
AND
CharacterGetVarInteger(CHARACTER_Player1, "members", 1)
THEN
CharacterSetVarInteger(CHARACTER_Player1, "members", 0);
//If two people were in party, set to 1
IF
GlobalEventSet("LudoDismissed")
AND
CharacterGetVarInteger(CHARACTER_Player1, "members", 2)
THEN
CharacterSetVarInteger(CHARACTER_Player1, "members", 1);
If you have issues let me know. This script assumes you named your player characters Player1 and Player2 on the CHARACTER editor.