Jump to content

Adding Party Member to Camp


DwainDibley

Recommended Posts

I wanted to add new party members to camp so I thought the easiest way to do this would be to take a pre-existing *.nss file that has already been complied into a *.ncs file and use it, changing the new party member's name. Well, I can't get it to compile. Even in its original form it won't compile and it gives me the same error reason:

 

"saarebas_spawn_camp.nss - Unable to get the resource information for "gen00pt_party_saarebas" of type "plo" "

 

Here is the *.nss file that is already working as an *.ncs

 

#include "utility_h"
#include "wrappers_h"
#include "party_h"
#include "camp_functions_h"
#include "plt_gen00pt_party_saarebas"
void main()
{
object oFollower = GetObjectByTag("gen00fl_saarebas");
//Follower's position <--- you should change vector below to your desired position in camp
vector vTent = Vector(135.252625, 118.686562, -0.274021);
location lTent = Location(GetArea(GetHero()), vTent, -140.332153320);
command cMoveFollower = CommandJumpToLocation(lTent);
Camp_PlaceFollowersInCamp();
if(GetFollowerState(oFollower) != FOLLOWER_STATE_ACTIVE)
{
SetFollowerState(oFollower, FOLLOWER_STATE_AVAILABLE);
AddCommand(oFollower, cMoveFollower);
WR_SetObjectActive(oFollower, TRUE);
WR_SetPlotFlag(PLT_GEN00PT_PARTY_SAAREBAS, SAAREBAS_IN_PARTY, FALSE, FALSE);
WR_SetPlotFlag(PLT_GEN00PT_PARTY_SAAREBAS, SAAREBAS_IN_CAMP, TRUE, FALSE);
}
else
{
SetFollowerState(oFollower, FOLLOWER_STATE_AVAILABLE);
AddCommand(oFollower, cMoveFollower);
WR_SetObjectActive(oFollower, TRUE);
WR_SetPlotFlag(PLT_GEN00PT_PARTY_SAAREBAS, SAAREBAS_IN_PARTY, FALSE, FALSE);
WR_SetPlotFlag(PLT_GEN00PT_PARTY_SAAREBAS, SAAREBAS_IN_CAMP, TRUE, FALSE);
}
}
How do I go about fixing that "plo" error?
Thanks
Link to comment
Share on other sites

are you certain about that? I've looked for it in my toolset and can't find it anywhere. for making a custom follower you may want to read over this:

social.bioware.com/wiki/datoolset/index.php/Follower_tutorial

Link to comment
Share on other sites

this one is also very good.

 

https://social.bioware.com/wiki/datoolset/index.php/User:Satans_karma

 

I use the first one to make my follower with the auto leveling one and use the second on for adding the follower to camp and setting its camp options.

Link to comment
Share on other sites

this one is also very good.

 

https://social.bioware.com/wiki/datoolset/index.php/User:Satans_karma

 

I use the first one to make my follower with the auto leveling one and use the second on for adding the follower to camp and setting its camp options.

Link to comment
Share on other sites

It was in the saarebas mod. Thanks to LadyHonor's links, I created my own "plt_gen00pt_party_doug.plo", but I have as yet been able to get it to compile the "doug_module_core.nss" I created by unsuccessfully following the instructions from the same link.

 

Here's the error I'm getting now:

 

E: 23:56:59 - doug_module_core.nss - doug_module_core.nss(30): Variable defined without type (while compiling var_constants_h.nss)

 

 

#include "wrappers_h"
#include "party_h"
#include "camp_functions_h"
#include "plt_gen00pt_party_doug"
void main()
{
event ev = GetCurrentEvent();
int nEventType = GetEventType(ev);
object oEventCreator = GetEventCreator(ev);
object oHero = GetHero();
object oParty = GetParty(oHero);
int nEventHandled = FALSE;
switch(nEventType)
{
case EVENT_TYPE_MODULE_GETCHARSTAGE:
{
//ONLY DO THIS IF YOU HAVE A STAGE WITH EVERYONE'S CHARACTERS IN IT
SetPartyPickerStage("char_stage_valeria", "partypicker");
break;
}
case EVENT_TYPE_PARTYMEMBER_ADDED:
{
object oFollower = GetEventObject(ev, 0);
if (GetTag(oFollower) == "gen00fl_doug")
{
SetLocalInt(oFollower, CREATURE_REWARD_FLAGS, 0);
WR_SetFollowerState(oFollower, FOLLOWER_STATE_ACTIVE, FALSE);
AddCommand(oFollower, CommandJumpToLocation(GetLocation(GetHero())));
WR_SetPlotFlag(PLT_GEN00PT_PARTY_DOUG, DOUG_IN_PARTY, TRUE, FALSE);
WR_SetPlotFlag(PLT_GEN00PT_PARTY_DOUG, DOUG_IN_CAMP, FALSE, FALSE);
}
break;
}
case EVENT_TYPE_PARTYMEMBER_DROPPED:
{
object oFollower = GetEventObject(ev, 0);
if (GetTag(oFollower) == "gen00fl_doug")
{
WR_SetFollowerState(oFollower, FOLLOWER_STATE_AVAILABLE, FALSE);
WR_SetPlotFlag(PLT_GEN00PT_PARTY_DOUG, DOUG_IN_CAMP, TRUE, FALSE);
WR_SetPlotFlag(PLT_GEN00PT_PARTY_DOUG, DOUG_IN_PARTY, FALSE, FALSE);
}
WR_SetObjectActive(oFollower, FALSE);
break;
}
//The section below returns followers to their positions in camp when world map is closed
case EVENT_TYPE_WORLD_MAP_CLOSED:
{
object oPC = GetHero();
object oFollower = GetObjectByTag("gen00fl_doug");
object oArea = GetArea(oPC);
string sAreaTag = GetTag(oArea);
int nCloseType = GetEventInteger(ev, 0); // 0 for cancel, 1 for travel
if(nCloseType == 0)
{
if (GetLocalInt(oArea, AREA_PARTY_CAMP) == 1)
{
if(GetFollowerState(oFollower) == FOLLOWER_STATE_ACTIVE)
{
//Creature's camp position - should be same as used in spawn in camp script
vector vTent = Vector(138.564f, 111.815f, -1.08586f);
location lTent = Location(GetArea(GetHero()), vTent, 180.0f);
command cMoveFollower = CommandJumpToLocation(lTent);
SetFollowerState(oFollower, FOLLOWER_STATE_AVAILABLE);
AddCommand(oFollower, cMoveFollower);
WR_SetObjectActive(oFollower, TRUE);
WR_SetPlotFlag(PLT_GEN00PT_PARTY_DOUG, DOUG_IN_PARTY, FALSE, FALSE);
WR_SetPlotFlag(PLT_GEN00PT_PARTY_DOUG, DOUG_IN_CAMP, TRUE, FALSE);
}
}
}
break;
}
}

}

Link to comment
Share on other sites

did you make a character stage and did you name it char_stage_valeria? if you didn't make a character stage you need to make one. you also need to use your own tag for it in the script.

 

also, did you name your plo file plt_gen00pt_party_doug.plo? if that is the case, then you need to add plt_ again to every plt_gen00pt_party_doug reference in your script.

 

ex:

 

if your header is:

#include "plt_gen00pt_party_doug"

 

it would need to be changed to this:

#include "plt_plt_gen00pt_party_doug"

 

if your plot flag is this:

WR_SetPlotFlag(PLT_GEN00PT_PARTY_DOUG, DOUG_IN_CAMP, TRUE, FALSE);

 

it would need to be changed to this:

WR_SetPlotFlag(PLT_PLT_GEN00PT_PARTY_DOUG, DOUG_IN_CAMP, TRUE, FALSE);

 

I hope this helps.

Edited by LadyHonor
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...