Stubborn followers refuse to use coordinates
#1
Posté 18 juin 2016 - 03:57
#2
Posté 18 juin 2016 - 12:10
I really need more information to be able to provide any answer. For example, your scripts.
#3
Posté 18 juin 2016 - 12:37
#include "utility_h" #include "wrappers_h" #include "plot_h" #include "sys_ambient_h" #include "lhc_ability_h" #include "lhc_party_h" #include "plt_lhc_party" void main() { if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_WILLIAM_HIRED) == TRUE) { object oFollower = GetObjectByTag("lhc_william"); object oArea = GetObjectByTag("cam100ar_camp_plains"); location vFollowerLocation = Location(GetArea(oArea), Vector(134.688,123.257,-0.23894), 75.8); command cMoveFollower = CommandJumpToLocation(vFollowerLocation); AddCommand(oFollower, cMoveFollower); SetFollowerState(oFollower, FOLLOWER_STATE_AVAILABLE); WR_SetObjectActive(oFollower, TRUE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WILLIAM_IN_PARTY, FALSE, FALSE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WILLIAM_IN_CAMP, TRUE, FALSE); Ambient_Start(oFollower, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 24, AMBIENT_ANIM_FREQ_ORDERED); } if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_ROLAND_HIRED) == TRUE) { object oFollower = GetObjectByTag("lhc_roland"); object oArea = GetObjectByTag("cam100ar_camp_plains"); location vFollowerLocation = Location(GetArea(oArea), Vector(131.067,117.606,-0.406573), 116.5); command cMoveFollower = CommandJumpToLocation(vFollowerLocation); AddCommand(oFollower, cMoveFollower); SetFollowerState(oFollower, FOLLOWER_STATE_AVAILABLE); WR_SetObjectActive(oFollower, TRUE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_ROLAND_IN_PARTY, FALSE, FALSE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_ROLAND_IN_CAMP, TRUE, FALSE); Ambient_Start(oFollower, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 19, AMBIENT_ANIM_FREQ_ORDERED); } if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_HELENA_HIRED) == TRUE) { object oFollower = GetObjectByTag("lhc_helena"); object oArea = GetObjectByTag("cam100ar_camp_plains"); location vFollowerLocation = Location(GetArea(oArea), Vector(142.29,124.933,-0.414535), 50.0); command cMoveFollower = CommandJumpToLocation(vFollowerLocation); AddCommand(oFollower, cMoveFollower); SetFollowerState(oFollower, FOLLOWER_STATE_AVAILABLE); WR_SetObjectActive(oFollower, TRUE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_HELENA_IN_PARTY, FALSE, FALSE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_HELENA_IN_CAMP, TRUE, FALSE); Ambient_Start(oFollower, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 70, AMBIENT_ANIM_FREQ_ORDERED); } if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_WREN_HIRED) == TRUE) { object oFollower = GetObjectByTag("lhc_wren"); object oArea = GetObjectByTag("cam100ar_camp_plains"); location vFollowerLocation = Location(GetArea(oArea), Vector(134.486,115.054,-0.48935), 155.3); command cMoveFollower = CommandJumpToLocation(vFollowerLocation); AddCommand(oFollower, cMoveFollower); SetFollowerState(oFollower, FOLLOWER_STATE_AVAILABLE); WR_SetObjectActive(oFollower, TRUE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WREN_IN_PARTY, FALSE, FALSE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WREN_IN_CAMP, TRUE, FALSE); Ambient_Start(oFollower, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 85, AMBIENT_ANIM_FREQ_ORDERED); } }
#4
Posté 18 juin 2016 - 12:37
#5
Posté 18 juin 2016 - 12:39
#include "utility_h"
#include "wrappers_h"
#include "plot_h"
#include "sys_ambient_h"
#include "lhc_ability_h"
#include "lhc_party_h"
#include "plt_lhc_party"
void main()
{
if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_WILLIAM_HIRED) == TRUE)
{
object oFollower = GetObjectByTag("lhc_william");
object oArea = GetObjectByTag("cam100ar_camp_plains");
location vFollowerLocation = Location(GetArea(oArea), Vector(134.688,123.257,-0.23894), 75.8);
command cMoveFollower = CommandJumpToLocation(vFollowerLocation);
AddCommand(oFollower, cMoveFollower);
SetFollowerState(oFollower, FOLLOWER_STATE_AVAILABLE);
WR_SetObjectActive(oFollower, TRUE);
WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WILLIAM_IN_PARTY, FALSE, FALSE);
WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WILLIAM_IN_CAMP, TRUE, FALSE);
Ambient_Start(oFollower, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 24, AMBIENT_ANIM_FREQ_ORDERED);
}
if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_ROLAND_HIRED) == TRUE)
{
object oFollower = GetObjectByTag("lhc_roland");
object oArea = GetObjectByTag("cam100ar_camp_plains");
location vFollowerLocation = Location(GetArea(oArea), Vector(131.067,117.606,-0.406573), 116.5);
command cMoveFollower = CommandJumpToLocation(vFollowerLocation);
AddCommand(oFollower, cMoveFollower);
SetFollowerState(oFollower, FOLLOWER_STATE_AVAILABLE);
WR_SetObjectActive(oFollower, TRUE);
WR_SetPlotFlag(PLT_LHC_PARTY, LHC_ROLAND_IN_PARTY, FALSE, FALSE);
WR_SetPlotFlag(PLT_LHC_PARTY, LHC_ROLAND_IN_CAMP, TRUE, FALSE);
Ambient_Start(oFollower, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 19, AMBIENT_ANIM_FREQ_ORDERED);
}
if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_HELENA_HIRED) == TRUE)
{
object oFollower = GetObjectByTag("lhc_helena");
object oArea = GetObjectByTag("cam100ar_camp_plains");
location vFollowerLocation = Location(GetArea(oArea), Vector(142.29,124.933,-0.414535), 50.0);
command cMoveFollower = CommandJumpToLocation(vFollowerLocation);
AddCommand(oFollower, cMoveFollower);
SetFollowerState(oFollower, FOLLOWER_STATE_AVAILABLE);
WR_SetObjectActive(oFollower, TRUE);
WR_SetPlotFlag(PLT_LHC_PARTY, LHC_HELENA_IN_PARTY, FALSE, FALSE);
WR_SetPlotFlag(PLT_LHC_PARTY, LHC_HELENA_IN_CAMP, TRUE, FALSE);
Ambient_Start(oFollower, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 70, AMBIENT_ANIM_FREQ_ORDERED);
}
if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_WREN_HIRED) == TRUE)
{
object oFollower = GetObjectByTag("lhc_wren");
object oArea = GetObjectByTag("cam100ar_camp_plains");
location vFollowerLocation = Location(GetArea(oArea), Vector(134.486,115.054,-0.48935), 155.3);
command cMoveFollower = CommandJumpToLocation(vFollowerLocation);
AddCommand(oFollower, cMoveFollower);
SetFollowerState(oFollower, FOLLOWER_STATE_AVAILABLE);
WR_SetObjectActive(oFollower, TRUE);
WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WREN_IN_PARTY, FALSE, FALSE);
WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WREN_IN_CAMP, TRUE, FALSE);
Ambient_Start(oFollower, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 85, AMBIENT_ANIM_FREQ_ORDERED);
}
}
#6
Posté 18 juin 2016 - 01:57
The first thing that strikes me is that you are setting the location THEN you are making them active and finally you give them ambient action. I'm not sure what that would do.
If it was mine, I would comment out all except one of the Companions and get one working at a time. The 'ladies' may be working by virtue of being the last ones in the file rather than the first.
I'm also not sure what is in your header files. Those might not be needed in this script.
#7
Posté 18 juin 2016 - 03:39
#8
Posté 18 juin 2016 - 11:26
#9
Posté 19 juin 2016 - 12:08
If they are facing the opposite direction from 'the ladies', it would be because there is close to a 90 degree difference in their orientation.
#10
Posté 19 juin 2016 - 01:12
180 degrees.
#11
Posté 19 juin 2016 - 01:31
#12
Posté 19 juin 2016 - 03:57
#include "wrappers_h"#include "sys_rewards_h"#include "sys_ambient_h"#include "lhc_ability_h"#include "plt_lhc_party" void main(){ object oWilliam = GetObjectByTag("lhc_william"); object oRoland = GetObjectByTag("lhc_roland"); object oHelena = GetObjectByTag("lhc_helena"); object oWren = GetObjectByTag("lhc_wren"); location vWilliamLocation = Location(GetArea(GetHero()), Vector(134.688,123.257,-0.23894), -75.8); command cMoveWilliam = CommandJumpToLocation(vWilliamLocation); location vRolandLocation = Location(GetArea(GetHero()), Vector(131.067,117.606,-0.406573), -116.5); command cMoveRoland = CommandJumpToLocation(vRolandLocation); location vWrenLocation = Location(GetArea(GetHero()), Vector(134.486,115.054,-0.48935), 155.3); command cMoveWren = CommandJumpToLocation(vWrenLocation); location vHelenaLocation = Location(GetArea(GetHero()), Vector(142.29,124.933,-0.414535), 50.0); command cMoveHelena = CommandJumpToLocation(vHelenaLocation); string sTag = GetTag(GetArea(GetHero())); if (sTag == "cam100ar_camp_plains" || sTag == "cam110ar_camp_arch3" || sTag == "cam104ar_camp_arch1") { if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_WILLIAM_HIRED)) { WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WILLIAM_IN_PARTY, FALSE, FALSE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WILLIAM_IN_CAMP, TRUE, TRUE); SetFollowerState(oWilliam, FOLLOWER_STATE_AVAILABLE); WR_SetObjectActive(oWilliam, TRUE); RW_CatchUpToPlayer(oWilliam); lhcDeactivateModalAbilities(); AddCommand(oWilliam, cMoveWilliam); Ambient_Start(oWilliam, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 24, AMBIENT_ANIM_FREQ_ORDERED); } if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_ROLAND_HIRED)) { WR_SetPlotFlag(PLT_LHC_PARTY, LHC_ROLAND_IN_PARTY, FALSE, FALSE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_ROLAND_IN_CAMP, TRUE, TRUE); SetFollowerState(oRoland, FOLLOWER_STATE_AVAILABLE); WR_SetObjectActive(oRoland, TRUE); RW_CatchUpToPlayer(oRoland); lhcDeactivateModalAbilities(); AddCommand(oRoland, cMoveRoland); Ambient_Start(oRoland, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 19, AMBIENT_ANIM_FREQ_ORDERED); } if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_WREN_HIRED)) { WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WREN_IN_PARTY, FALSE, FALSE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WREN_IN_CAMP, TRUE, TRUE); SetFollowerState(oWren, FOLLOWER_STATE_AVAILABLE); WR_SetObjectActive(oWren, TRUE); RW_CatchUpToPlayer(oWren); lhcDeactivateModalAbilities(); AddCommand(oWren, cMoveWren); Ambient_Start(oWren, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 85, AMBIENT_ANIM_FREQ_ORDERED); } if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_HELENA_HIRED)) { WR_SetPlotFlag(PLT_LHC_PARTY, LHC_HELENA_IN_PARTY, FALSE, FALSE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_HELENA_IN_CAMP, TRUE, TRUE); SetFollowerState(oHelena, FOLLOWER_STATE_AVAILABLE); WR_SetObjectActive(oHelena, TRUE); RW_CatchUpToPlayer(oHelena); lhcDeactivateModalAbilities(); AddCommand(oHelena, cMoveHelena); Ambient_Start(oHelena, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 70, AMBIENT_ANIM_FREQ_ORDERED); } }}
#13
Posté 19 juin 2016 - 03:59
#14
Posté 19 juin 2016 - 09:33
180 degrees.
except her script showed something more like 90 degrees.
#15
Posté 19 juin 2016 - 09:35
#include "wrappers_h"
#include "sys_rewards_h"
#include "sys_ambient_h"
#include "lhc_ability_h"
#include "plt_lhc_party"
void main()
{
object oWilliam = GetObjectByTag("lhc_william");
object oRoland = GetObjectByTag("lhc_roland");
object oHelena = GetObjectByTag("lhc_helena");
object oWren = GetObjectByTag("lhc_wren");
location vWilliamLocation = Location(GetArea(GetHero()), Vector(134.688,123.257,-0.23894), -75.8);
command cMoveWilliam = CommandJumpToLocation(vWilliamLocation);
location vRolandLocation = Location(GetArea(GetHero()), Vector(131.067,117.606,-0.406573), -116.5);
command cMoveRoland = CommandJumpToLocation(vRolandLocation);
location vWrenLocation = Location(GetArea(GetHero()), Vector(134.486,115.054,-0.48935), 155.3);
command cMoveWren = CommandJumpToLocation(vWrenLocation);
location vHelenaLocation = Location(GetArea(GetHero()), Vector(142.29,124.933,-0.414535), 50.0);
command cMoveHelena = CommandJumpToLocation(vHelenaLocation);
string sTag = GetTag(GetArea(GetHero()));
if (sTag == "cam100ar_camp_plains" || sTag == "cam110ar_camp_arch3" ||
sTag == "cam104ar_camp_arch1")
{
if (WR_GetPlotFlag(PLT_LHC_PARTY, LHC_WILLIAM_HIRED))
{
WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WILLIAM_IN_PARTY, FALSE, FALSE);
WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WILLIAM_IN_CAMP, TRUE, TRUE);
SetFollowerState(oWilliam, FOLLOWER_STATE_AVAILABLE);
WR_SetObjectActive(oWilliam, TRUE);
RW_CatchUpToPlayer(oWilliam);
lhcDeactivateModalAbilities();
AddCommand(oWilliam, cMoveWilliam);
Ambient_Start(oWilliam, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 24, AMBIENT_ANIM_FREQ_ORDERED);
}
if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_ROLAND_HIRED)) { WR_SetPlotFlag(PLT_LHC_PARTY, LHC_ROLAND_IN_PARTY, FALSE, FALSE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_ROLAND_IN_CAMP, TRUE, TRUE); SetFollowerState(oRoland, FOLLOWER_STATE_AVAILABLE); WR_SetObjectActive(oRoland, TRUE); RW_CatchUpToPlayer(oRoland); lhcDeactivateModalAbilities(); AddCommand(oRoland, cMoveRoland); Ambient_Start(oRoland, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 19, AMBIENT_ANIM_FREQ_ORDERED); } if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_WREN_HIRED)) { WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WREN_IN_PARTY, FALSE, FALSE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_WREN_IN_CAMP, TRUE, TRUE); SetFollowerState(oWren, FOLLOWER_STATE_AVAILABLE); WR_SetObjectActive(oWren, TRUE); RW_CatchUpToPlayer(oWren); lhcDeactivateModalAbilities(); AddCommand(oWren, cMoveWren); Ambient_Start(oWren, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 85, AMBIENT_ANIM_FREQ_ORDERED); } if(WR_GetPlotFlag(PLT_LHC_PARTY, LHC_HELENA_HIRED)) { WR_SetPlotFlag(PLT_LHC_PARTY, LHC_HELENA_IN_PARTY, FALSE, FALSE); WR_SetPlotFlag(PLT_LHC_PARTY, LHC_HELENA_IN_CAMP, TRUE, TRUE); SetFollowerState(oHelena, FOLLOWER_STATE_AVAILABLE); WR_SetObjectActive(oHelena, TRUE); RW_CatchUpToPlayer(oHelena); lhcDeactivateModalAbilities(); AddCommand(oHelena, cMoveHelena); Ambient_Start(oHelena, AMBIENT_SYSTEM_ENABLED, AMBIENT_MOVE_NONE, AMBIENT_MOVE_PREFIX_NONE, 70, AMBIENT_ANIM_FREQ_ORDERED); } }}
I had to reformat some of the code to find out what the original problem was.
Tchos was correct, you had a 180 degree issue. You forgot the negative signs William's and Roland's locations
#16
Posté 19 juin 2016 - 06:11
#17
Posté 19 juin 2016 - 09:13
Right ![]()





Retour en haut







