Here is the rebust solution for Invisible Wall problem. The problem arises when char_stage is overwritten by other mod. In such a case, we cannot simply use GetObjectByTag( "char_stage" ) because tag was overwritten ( eg. in Karma's Companions Mod it is 'kc_char_stage' ). We need a function that returns actual char_stage without knowing its tag. It turns out that such a function is very simple: //"char_player" is a point on char_stage where Hero is placed [1] const string CHAR_STAGE_WAYPOINT_PLAYER_TAG = "char_player"; object MK_GetCharStage() { //GetObjectByTag gets also anything in the char_stage area [2] object oResult = GetArea(GetObjectByTag(CHAR_STAGE_WAYPOINT_PLAYER_TAG)); if (IsObjectValid(oResult) == TRUE) return oResult; else return OBJECT_INVALID; }
References: [1] <<Create a new waypoint for your follower to appear on the party picker. This waypoint must have a tag in the form of "char_" followed by the exact tag of your follower.>> (http://social.bioware.com/wiki/datoolset/index.php/Follower_tutorial#Overlay_char_stage) [2] <<GetObjectByTag only gets objects that are currently loaded into memory, (...) also anything in the char_stage area>> (http://social.bioware.com/wiki/datoolset/index.php/GetObjectByTag)
Developer's Note : Invisible Wall Robust Fix (2 comments)
Thx bratrahen!
The problem arises when char_stage is overwritten by other mod.
In such a case, we cannot simply use
GetObjectByTag( "char_stage" )
because tag was overwritten ( eg. in Karma's Companions Mod it is 'kc_char_stage' ). We need a function that returns actual char_stage without knowing its tag. It turns out that such a function is very simple://"char_player" is a point on char_stage where Hero is placed [1]
const string CHAR_STAGE_WAYPOINT_PLAYER_TAG = "char_player";
object MK_GetCharStage()
{
//GetObjectByTag gets also anything in the char_stage area [2]
object oResult = GetArea(GetObjectByTag(CHAR_STAGE_WAYPOINT_PLAYER_TAG));
if (IsObjectValid(oResult) == TRUE)
return oResult;
else
return OBJECT_INVALID;
}
References:
[1] <<Create a new waypoint for your follower to appear on the party picker. This waypoint must have a tag in the form of "char_" followed by the exact tag of your follower.>>
(http://social.bioware.com/wiki/datoolset/index.php/Follower_tutorial#Overlay_char_stage)
[2] <<GetObjectByTag only gets objects that are currently loaded into memory, (...) also anything in the char_stage area>>
(http://social.bioware.com/wiki/datoolset/index.php/GetObjectByTag)