Alef/Sandbox – User

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 13: Line 13:
playerResurrectScript = "onPlayerResurrect.sqs";
playerResurrectScript = "onPlayerResurrect.sqs";
teamSwitchScript = "onTeamSwitch.sqs";
teamSwitchScript = "onTeamSwitch.sqs";
</pre>


JIP will not init player pointer until some time has elapsed.
What exaclty reports isPlayer then in that time? It seems "player" is not anytime dereferenced.
init.sqf:
<pre>
// JIP test only. Put "p" as variable name in mission.sqm for JIP player.
_u=player; // this is a copy of the "player" pointer, or get dereferenced when isNull player ?
// don't write in .rpt, I'm using the same in two instances, unsafe.
// global chat seems to miss some messages while JIPing, rely on "hint" only.
_s="";
#define TEST( xx ) if ( xx ) then { _s=_s+##xx+" ;" };
#define PRINT( xx ) _s=_s+(xx)+" ;" ;
// isNull
// this happens in JIP if no sleep are performed before.
TEST( isNull p )
TEST( isNull _u )
TEST( isNull player )


// locality
#define GET_VARIABLE( U, V )  U getVariable #V
// get player dereferenced? is only the pointer tested?
#define GET_VARAIBLE_2( U, V, D) if (isNil U getVariable #V) then {D} else {GET_VARIABLE( U, V )}
TEST( local p )
TEST( local _u )
TEST( local player )


// isPlayer
// should this check if a unit is pointed by player?
TEST( isPlayer p )
TEST( isPlayer _u )
TEST( isPlayer player )
// name
// the root of all this, see ace/xeh bug
PRINT( name p )
PRINT( name _u )
PRINT( name player )
hint _s;
</pre>
<pre>
class Missions { class Mission0 {
class Missions { class Mission0 {
   template=Mission0.Sara;
   template=Mission0.Sara;

Revision as of 03:10, 17 April 2009

Try setVehicleInit in "killed" EH.
addEventHandler "init" on createVehicle?
EH runs a {Code}, that means, sync. what if run sync {Code} in killed EH?

scriptsPath = "scripts\";
startupScript = "";
cameraScript = "";
playerKilledScript = "onPlayerKilled.sqs";
playerRespawnScript = "onPlayerRespawn.sqs";
playerRespawnOtherUnitScript = "onPlayerRespawnOtherUnit.sqs";
playerRespawnSeagullScript = "onPlayerRespawnAsSeagull.sqs";
playerResurrectScript = "onPlayerResurrect.sqs";
teamSwitchScript = "onTeamSwitch.sqs";


#define GET_VARIABLE( U, V )  U getVariable #V
#define GET_VARAIBLE_2( U, V, D) if (isNil U getVariable #V) then {D} else {GET_VARIABLE( U, V )}

class Missions { class Mission0 {
  template=Mission0.Sara;
  param1=1;
  param2=2;
  cadetMode=0;
};