Jump to content

Recommended Posts

Has anyone updated kylania's Laser Guided Missile Script for ARMA3?

It works for me fine, but I'm getting a couple of error messages in the black debug box in the mission editor and I'm not smart enough to correct them. This is the original script that is awesome: http://www.kylania.com/ex/?p=21.

Thanks!

Share this post


Link to post
Share on other sites
// ky_missileStart is a GameLogic 500m up about 1km from the player.
// this setVariable ["ky_missileAvailable", true]; this addAction["Fire Missile","launchMissile.sqf",[ky_missileStart], 0, false, false, "", "_this getVariable 'ky_missileAvailable'"];

params["_object", "_caller", "_id", "_args"];
_args params [
	["_missileSpawn", objNull], //position where the missile will be spawned
	["_missileDelay", 3], // delay between hit and missile being available again
	["_missileType", "M_Scalpel_AT"], //type of the missile
	["_missileSpeed", 200], //speed of the missile
	["_primaryTarget", laserTarget _caller], //target for the missile
	["_defaultTargetPos", [0,0,0]] //default position where unguided missiles will fly [8340.718750,3074.914795,0];
];

if (isNull _primarytarget) exitWith {_caller sideChat "No Target Found!"};
if (!(_caller getVariable "ky_missileAvailable")) exitWith {_caller sideChat "Missile already active!"};

_caller setVariable ["ky_missileAvailable", false];

_missileStart = getPos _missileSpawn;
_perSecondChecks = 25; //direction checks per second
_getPrimaryTarget = {if (typeName _primaryTarget == typename {}) then {call _primaryTarget} else {_primaryTarget}}; //code can be used for laser dots
_target = call _getPrimaryTarget;

_missile = _missileType createVehicle _missileStart;
_missile setPos _missileStart;

//secondary target used for random trajectory when laser designator is turned off prematurily
_secondaryTarget = "Land_HelipadEmpty_F" createVehicle _defaultTargetPos;
_secondaryTarget setPos _defaultTargetPos;

_guidedRandomly = FALSE;

//procedure for guiding the missile
_homeMissile = {
	
//here we switch to secondary target at random position if the laser dot no longer exists
//if the designator is turned on again, the missile will return to it's original target (providing it hadn't flown too far)
private ["_velocityX", "_velocityY", "_velocityZ", "_target"];
_target = _secondaryTarget;
if (!(_guidedRandomly) && _missile distance _target > _missileSpeed * 1.5) then {
_guidedRandomly = TRUE;
_target = _secondaryTarget;
_dispersion = (_missile distance _defaultTargetPos) / 20;
_dispersionMin = _dispersion / 10;
_target setPos [(_defaultTargetPos select 0) + _dispersionMin - (_dispersion / 2) + random _dispersion, (_defaultTargetPos select 1) + _dispersionMin - (_dispersion / 2) + random _dispersion, 0];
};
if (!(isNull (call _getPrimaryTarget))) then {_target = call _getPrimaryTarget; _defaultTargetPos = position _target; _guidedRandomly = FALSE};

//altering the direction, pitch and trajectory of the missile
if (_missile distance _target > (_missileSpeed / 20)) then {
_travelTime = (_target distance _missile) / _missileSpeed;
_steps = floor (_travelTime * _perSecondChecks);

_missile setDir (_missile getDir _target);

_relDirVer = asin ((((getPosASL _missile) select 2) - ((getPosASL _target) select 2)) / (_target distance _missile));
_relDirVer = (_relDirVer * -1);
[_missile, _relDirVer, 0] call BIS_fnc_setPitchBank;

_velocityX = (((getPosASL _target) select 0) - ((getPosASL _missile) select 0)) / _travelTime;
_velocityY = (((getPosASL _target) select 1) - ((getPosASL _missile) select 1)) / _travelTime;
_velocityZ = (((getPosASL _target) select 2) - ((getPosASL _missile) select 2)) / _travelTime;

//_defaultTargetPos = position _target;
};

// This seems to get rid of the script errors for the 1-2 cycles after the missile is destroyed when _velocityX returns ANY
if (isNil {_velocityX}) exitWith {velocity _missile};

[_velocityX, _velocityY, _velocityZ]
};

_missile call _homeMissile;

//fuel burning should illuminate the landscape
_fireLight = "#lightpoint" createVehicle position _missile;
_fireLight setLightBrightness 0.5;
_fireLight setLightAmbient [1.0, 1.0, 1.0];
_fireLight setLightColor [1.0, 1.0, 1.0];
_fireLight lightAttachObject [_missile, [0, -0.5, 0]];

_caller sideChat "Missile on the way!";

//missile flying
while {alive _missile} do {
	_velocityForCheck = _missile call _homeMissile;
	if (!(isNil {_velocityForCheck select 0}) && {_x isEqualType 0} count _velocityForCheck == 3) then {_missile setVelocity _velocityForCheck};
	if ({_x isEqualType 0} count _velocityForCheck == 3) then {_missile setVelocity _velocityForCheck};	
	sleep (1 / _perSecondChecks);
};

deleteVehicle _fireLight;
deleteVehicle _secondaryTarget;

sleep _missileDelay;
_caller sideChat "Missile available!";
_caller setVariable ["ky_missileAvailable", true];

Place down a gameLogic named myGameLogicObject or whatever you want, around 1km away and 500m up from the player.  Just make sure you add it to the args for the addAction.

 

Init field of the player:

this setVariable ["ky_missileAvailable", true]; 
this addAction["Fire Missile","launchMissile.sqf",[myGameLogicObject], 0, false, false, "", "_this getVariable 'ky_missileAvailable'"];
  • Like 2

Share this post


Link to post
Share on other sites

kylania beat me to it! I modded the script, so upload it.

private "_arguments" ;
if (!isNil {param [3]} and {typeName param [3] == "ARRAY"}) then {
	_arguments = param [3] ;
} else {
	_arguments = _this ;
} ;

_arguments params [
	["_primaryTarget",laserTarget player,[objNull,[],{}]],
	["_missileStart",[0,0,0],[objNull,[]]],
	["_missileType","Missile_AGM_02_F",[""]],
	["_missileSpeed",200,[0]],
	["_defaultTargetPos",[8340.718750,3074.914795,0],[[]]]
] ;

if (isNull _primarytarget) exitWith {hintSilent "No Target Found!"};

_perSecondChecks = 25; //direction checks per second
_getPrimaryTarget = {if (typeName _primaryTarget == typename {}) then {call _primaryTarget} else {_primaryTarget}}; //code can be used for laser dots
_target = call _getPrimaryTarget;

_missile = createVehicle [_missileType,_missileStart,[],0,"CAN_COLLIDE"];

//secondary target used for random trajectory when laser designator is turned off prematurily
_secondaryTarget = "Land_HelioadEmpty_F" createVehicle _defaultTargetPos;
_secondaryTarget setPos _defaultTargetPos;

_guidedRandomly = FALSE;

//procedure for guiding the missile
_homeMissile = {
	//here we switch to secondary target at random position if the laser dot no longer exists
	//if the designator is turned on again, the missile will return to it's original target (providing it hadn't flown too far)
	private ["_velocity", "_target"];
	_target = _secondaryTarget;
	if (!(_guidedRandomly) && _missile distance _target > _missileSpeed * 1.5) then {
		_guidedRandomly = TRUE;
		_target = _secondaryTarget;
		_dispersion = (_missile distance _defaultTargetPos) / 20;
		_dispersionMin = _dispersion / 10;
		_target setPos _defaultTargetPos vectorAdd [_dispersionMin - (_dispersion / 2) + random _dispersion,_dispersionMin - (_dispersion / 2) + random _dispersion,_dispersionMin - (_dispersion / 2) + random _dispersion] ;
	};
	if (!(isNull (call _getPrimaryTarget))) then {_target = call _getPrimaryTarget; _defaultTargetPos = position _target; _guidedRandomly = FALSE};

	//altering the direction, pitch and trajectory of the missile
	if (_missile distance _target > (_missileSpeed / 20)) then {
		_travelTime = (_target distance _missile) / _missileSpeed;
		_steps = floor (_travelTime * _perSecondChecks);

		_relDirHor = [_missile, _target] call BIS_fnc_DirTo;
		_missile setDir _relDirHor;

		_relDirVer = asin ((((getPosASL _missile) select 2) - ((getPosASL _target) select 2)) / (_target distance _missile));
		_relDirVer = (_relDirVer * -1);
		[_missile, _relDirVer, 0] call BIS_fnc_setPitchBank;

		_velocity = ((getPosASL _target vectorDiff getPosASL _missile) vectorMultiply 1/_travelTime) ;
		
		_defaultTargetPos = position _target;
		_velocity
	} else {
		[]
	} ;
};

//fuel burning should illuminate the landscape
_fireLight = "#lightpoint" createVehicle position _missile;
_fireLight setLightBrightness 0.5;
_fireLight setLightAmbient [1.0, 1.0, 1.0];
_fireLight setLightColor [1.0, 1.0, 1.0];
_fireLight lightAttachObject [_missile, [0, -0.5, 0]];

//missile flying
while {alive _missile} do {
	_velocityForCheck = call _homeMissile;
	if (count _velocityForCheck == 3) then {_missile setVelocity _velocityForCheck};
	sleep (1 / _perSecondChecks)
};

deleteVehicle _fireLight;
deleteVehicle _secondaryTarget;

And I added some to useful for addAction so you can execute with:

player addAction["Fire Missile","scripts\missile.sqf",[<bla bla bla, some arguments>]];
  • Like 2

Share this post


Link to post
Share on other sites

jeez I don't know which one to use, I'm making/wanting to add it so player with the most points/kills on my tdm missions get an option to do this, or something like it... very cool stuff... thanks for sharing

Share this post


Link to post
Share on other sites

jeez I don't know which one to use, I'm making/wanting to add it so player with the most points/kills on my tdm missions get an option to do this, or something like it... very cool stuff... thanks for sharing

 

Be real careful in using this in multiplayer (if it works at all, was untested).  If you whip your laser target around like a madman the missile will follow it unerringly.  As in 180 degree turns.  During testing in SP I sneezed and bumped my mouse and died since the rocket went from almost hitting my target 600m away to landing at my feet in an instant.  Can't find the original source of this code, but it was part of some BIS function from Arma 2 I think which called in rocket strikes so wasn't really supposed to be player controlled.

Share this post


Link to post
Share on other sites

Kylania, You are awesome.  Thanks for sharing. 

Share this post


Link to post
Share on other sites

I started messing with code , call in mortars instead .. is there a way to limit it? its kinda like I can click none stop and .. well its not pretty ... lol.. I set the speed slow so I can have a little time to run ...and point away from me ..

Share this post


Link to post
Share on other sites

In my Arma 3 version I added an availability delay, defaults to 3 seconds after it's hit, so one at a time.  Change that number to make things take longer.  Or just play around with setting ky_missileAvailable variable to false to stop it from being available.

["_missileDelay", 3], // delay between hit and missile being available again
this setVariable ["ky_missileAvailable", true]; 

Share this post


Link to post
Share on other sites

 

In my Arma 3 version I added an availability delay, defaults to 3 seconds after it's hit, so one at a time.  Change that number to make things take longer.  Or just play around with setting ky_missileAvailable variable to false to stop it from being available.

["_missileDelay", 3], // delay between hit and missile being available again
this setVariable ["ky_missileAvailable", true]; 

ya,.. sorry I was using the other one , but just switched back to your.. (must test & test & test & test)... and then test ...good grief I need a life.

 

I kinda wanna get it so certain conditions are met a player will get like 3 shots.. my mission works on a kill system and you rank up, and get new weapons and what not .. so I guess from here I just need it to have option to shoot 3 times and option is gone (no more shooting)

Share this post


Link to post
Share on other sites

Simple enough.  Each time you use it increase a variable by 1, then when you hit 3 set the flag to false.

Share this post


Link to post
Share on other sites

odd thing is I set the game logic about 500 up, mortar speed at 25 ...and this error poped up

 

 

Error in expression <ion param [0,0,[0]];
_pitch = _rotation param [1,0,[0]];
_roll = _rotation param>
22:56:42   Error position: <param [1,0,[0]];
_roll = _rotation param>
22:56:42   Error Type Not a Number, expected Number
22:56:42 File A3\functions_f\Objects\fn_setObjectRotation.sqf, line 25

 

 

ok tested moving logic away a bit error is gone... I think it may be a3 engine doesn't like to see mortars falling strait  down from above , lol

Share this post


Link to post
Share on other sites

well now only thing is getting it to work with respawn.. it seems that addaction sticks to dead players body

 

 

but for a nicer looking action line here ya go

this addAction["<img size='1' color='#33339b' shadow='2' image='\A3\ui_f\data\map\vehicleicons\iconstaticmortar_ca.paa' /><t size='1.5' shadow='2' color=""#f72032"">" + ("Fire Missile") + "</t><img size='1' color='#33339b' shadow='2' image='\A3\ui_f\data\map\vehicleicons\iconstaticmortar_ca.paa'/>", "launchMissile.sqf", [myGameLogicObject], 0, false, false, "", "_this getVariable 'ky_missileAvailable'"];

Share this post


Link to post
Share on other sites

You could remove the action on death.  Or nothing wrong with walking up to a dead body and calling in missile strikes with their walkie talkie! :)

  • Like 2

Share this post


Link to post
Share on other sites

hmm , now yo umade me think and it hurt,, I could add this action to object and let players fight over it ownership..

Share this post


Link to post
Share on other sites
// ky_missileStart is a GameLogic 500m up about 1km from the player.
// this setVariable ["ky_missileAvailable", true]; this addAction["Fire Missile","launchMissile.sqf",[ky_missileStart], 0, false, false, "", "_this getVariable 'ky_missileAvailable'"];

params["_object", "_caller", "_id", "_args"];
_args params [
	["_missileSpawn", objNull], //position where the missile will be spawned
	["_missileDelay", 3], // delay between hit and missile being available again
	["_missileType", "M_Scalpel_AT"], //type of the missile
	["_missileSpeed", 200], //speed of the missile
	["_primaryTarget", laserTarget _caller], //target for the missile
	["_defaultTargetPos", [0,0,0]] //default position where unguided missiles will fly [8340.718750,3074.914795,0];
];

if (isNull _primarytarget) exitWith {_caller sideChat "No Target Found!"};
if (!(_caller getVariable "ky_missileAvailable")) exitWith {_caller sideChat "Missile already active!"};

_caller setVariable ["ky_missileAvailable", false];

_missileStart = getPos _missileSpawn;
_perSecondChecks = 25; //direction checks per second
_getPrimaryTarget = {if (typeName _primaryTarget == typename {}) then {call _primaryTarget} else {_primaryTarget}}; //code can be used for laser dots
_target = call _getPrimaryTarget;

_missile = _missileType createVehicle _missileStart;
_missile setPos _missileStart;

//secondary target used for random trajectory when laser designator is turned off prematurily
_secondaryTarget = "Land_HelipadEmpty_F" createVehicle _defaultTargetPos;
_secondaryTarget setPos _defaultTargetPos;

_guidedRandomly = FALSE;

//procedure for guiding the missile
_homeMissile = {
	
//here we switch to secondary target at random position if the laser dot no longer exists
//if the designator is turned on again, the missile will return to it's original target (providing it hadn't flown too far)
private ["_velocityX", "_velocityY", "_velocityZ", "_target"];
_target = _secondaryTarget;
if (!(_guidedRandomly) && _missile distance _target > _missileSpeed * 1.5) then {
_guidedRandomly = TRUE;
_target = _secondaryTarget;
_dispersion = (_missile distance _defaultTargetPos) / 20;
_dispersionMin = _dispersion / 10;
_target setPos [(_defaultTargetPos select 0) + _dispersionMin - (_dispersion / 2) + random _dispersion, (_defaultTargetPos select 1) + _dispersionMin - (_dispersion / 2) + random _dispersion, 0];
};
if (!(isNull (call _getPrimaryTarget))) then {_target = call _getPrimaryTarget; _defaultTargetPos = position _target; _guidedRandomly = FALSE};

//altering the direction, pitch and trajectory of the missile
if (_missile distance _target > (_missileSpeed / 20)) then {
_travelTime = (_target distance _missile) / _missileSpeed;
_steps = floor (_travelTime * _perSecondChecks);

_missile setDir (_missile getDir _target);

_relDirVer = asin ((((getPosASL _missile) select 2) - ((getPosASL _target) select 2)) / (_target distance _missile));
_relDirVer = (_relDirVer * -1);
[_missile, _relDirVer, 0] call BIS_fnc_setPitchBank;

_velocityX = (((getPosASL _target) select 0) - ((getPosASL _missile) select 0)) / _travelTime;
_velocityY = (((getPosASL _target) select 1) - ((getPosASL _missile) select 1)) / _travelTime;
_velocityZ = (((getPosASL _target) select 2) - ((getPosASL _missile) select 2)) / _travelTime;

//_defaultTargetPos = position _target;
};

// This seems to get rid of the script errors for the 1-2 cycles after the missile is destroyed when _velocityX returns ANY
if (isNil {_velocityX}) exitWith {velocity _missile};

[_velocityX, _velocityY, _velocityZ]
};

_missile call _homeMissile;

//fuel burning should illuminate the landscape
_fireLight = "#lightpoint" createVehicle position _missile;
_fireLight setLightBrightness 0.5;
_fireLight setLightAmbient [1.0, 1.0, 1.0];
_fireLight setLightColor [1.0, 1.0, 1.0];
_fireLight lightAttachObject [_missile, [0, -0.5, 0]];

_caller sideChat "Missile on the way!";

//missile flying
while {alive _missile} do {
	_velocityForCheck = _missile call _homeMissile;
	if (!(isNil {_velocityForCheck select 0}) && {_x isEqualType 0} count _velocityForCheck == 3) then {_missile setVelocity _velocityForCheck};
	if ({_x isEqualType 0} count _velocityForCheck == 3) then {_missile setVelocity _velocityForCheck};	
	sleep (1 / _perSecondChecks);
};

deleteVehicle _fireLight;
deleteVehicle _secondaryTarget;

sleep _missileDelay;
_caller sideChat "Missile available!";
_caller setVariable ["ky_missileAvailable", true];

Place down a gameLogic named myGameLogicObject or whatever you want, around 1km away and 500m up from the player.  Just make sure you add it to the args for the addAction.

 

Init field of the player:

this setVariable ["ky_missileAvailable", true]; 
this addAction["Fire Missile","launchMissile.sqf",[myGameLogicObject], 0, false, false, "", "_this getVariable 'ky_missileAvailable'"];

Great script.. is it possible to use it with a radio trigger instead of add action?..and how?

Thanks man!

Share this post


Link to post
Share on other sites
hi guys .. i'm too noob and don't understand how it works.

I put the  launchMissile.sqf in my mission directory and i put (this setVariable ["ky_missileAvailable", true]; this addAction["Fire Missile","launchMissile.sqf",[myGameLogicObject], 0, false, false, "", "_this getVariable 'ky_missileAvailable'"] ;) at my init.sqf and place the GameLogic with name myGameLogicObject at game map   .. but dont works .. what i doing wrong? thx.

 

the init field of player could be initPlayerLocal?

 

20160929150513_1-jpg

Share this post


Link to post
Share on other sites

 

kylania beat me to it! I modded the script, so upload it.

private "_arguments" ;
if (!isNil {param [3]} and {typeName param [3] == "ARRAY"}) then {
	_arguments = param [3] ;
} else {
	_arguments = _this ;
} ;

_arguments params [
	["_primaryTarget",laserTarget player,[objNull,[],{}]],
	["_missileStart",[0,0,0],[objNull,[]]],
	["_missileType","Missile_AGM_02_F",[""]],
	["_missileSpeed",200,[0]],
	["_defaultTargetPos",[8340.718750,3074.914795,0],[[]]]
] ;

if (isNull _primarytarget) exitWith {hintSilent "No Target Found!"};

_perSecondChecks = 25; //direction checks per second
_getPrimaryTarget = {if (typeName _primaryTarget == typename {}) then {call _primaryTarget} else {_primaryTarget}}; //code can be used for laser dots
_target = call _getPrimaryTarget;

_missile = createVehicle [_missileType,_missileStart,[],0,"CAN_COLLIDE"];

//secondary target used for random trajectory when laser designator is turned off prematurily
_secondaryTarget = "Land_HelioadEmpty_F" createVehicle _defaultTargetPos;
_secondaryTarget setPos _defaultTargetPos;

_guidedRandomly = FALSE;

//procedure for guiding the missile
_homeMissile = {
	//here we switch to secondary target at random position if the laser dot no longer exists
	//if the designator is turned on again, the missile will return to it's original target (providing it hadn't flown too far)
	private ["_velocity", "_target"];
	_target = _secondaryTarget;
	if (!(_guidedRandomly) && _missile distance _target > _missileSpeed * 1.5) then {
		_guidedRandomly = TRUE;
		_target = _secondaryTarget;
		_dispersion = (_missile distance _defaultTargetPos) / 20;
		_dispersionMin = _dispersion / 10;
		_target setPos _defaultTargetPos vectorAdd [_dispersionMin - (_dispersion / 2) + random _dispersion,_dispersionMin - (_dispersion / 2) + random _dispersion,_dispersionMin - (_dispersion / 2) + random _dispersion] ;
	};
	if (!(isNull (call _getPrimaryTarget))) then {_target = call _getPrimaryTarget; _defaultTargetPos = position _target; _guidedRandomly = FALSE};

	//altering the direction, pitch and trajectory of the missile
	if (_missile distance _target > (_missileSpeed / 20)) then {
		_travelTime = (_target distance _missile) / _missileSpeed;
		_steps = floor (_travelTime * _perSecondChecks);

		_relDirHor = [_missile, _target] call BIS_fnc_DirTo;
		_missile setDir _relDirHor;

		_relDirVer = asin ((((getPosASL _missile) select 2) - ((getPosASL _target) select 2)) / (_target distance _missile));
		_relDirVer = (_relDirVer * -1);
		[_missile, _relDirVer, 0] call BIS_fnc_setPitchBank;

		_velocity = ((getPosASL _target vectorDiff getPosASL _missile) vectorMultiply 1/_travelTime) ;
		
		_defaultTargetPos = position _target;
		_velocity
	} else {
		[]
	} ;
};

//fuel burning should illuminate the landscape
_fireLight = "#lightpoint" createVehicle position _missile;
_fireLight setLightBrightness 0.5;
_fireLight setLightAmbient [1.0, 1.0, 1.0];
_fireLight setLightColor [1.0, 1.0, 1.0];
_fireLight lightAttachObject [_missile, [0, -0.5, 0]];

//missile flying
while {alive _missile} do {
	_velocityForCheck = call _homeMissile;
	if (count _velocityForCheck == 3) then {_missile setVelocity _velocityForCheck};
	sleep (1 / _perSecondChecks)
};

deleteVehicle _fireLight;
deleteVehicle _secondaryTarget;

And I added some to useful for addAction so you can execute with:

player addAction["Fire Missile","scripts\missile.sqf",[<bla bla bla, some arguments>]];

the missile is hitting me .. I left that way "player addAction["Fire Missile","scripts\missile.sqf"];" is correct?

Share this post


Link to post
Share on other sites

 

hi guys .. i'm too noob and don't understand how it works.
I put the  launchMissile.sqf in my mission directory and i put (this setVariable ["ky_missileAvailable", true]; this addAction["Fire Missile","launchMissile.sqf",[myGameLogicObject], 0, false, false, "", "_this getVariable 'ky_missileAvailable'"] ;) at my init.sqf and place the GameLogic with name myGameLogicObject at game map   .. but dont works .. what i doing wrong? thx.
 
the init field of player could be initPlayerLocal?
 
20160929150513_1-jpg

 

Hey man, I got it working by putting this codes

this setVariable ["ky_missileAvailable", true]; 
this addAction["Fire Missile","launchMissile.sqf",[myGameLogicObject], 0, false, false, "", "_this getVariable 'ky_missileAvailable'"];

in the init field OF THE PLAYER, NOT IN THE INIT.SQF. ;)

Share this post


Link to post
Share on other sites

Hey man, I got it working by putting this codes

this setVariable ["ky_missileAvailable", true]; 
this addAction["Fire Missile","launchMissile.sqf",[myGameLogicObject], 0, false, false, "", "_this getVariable 'ky_missileAvailable'"];

in the init field OF THE PLAYER, NOT IN THE INIT.SQF. ;)

Don't work .. i put the:

 

this setVariable ["ky_missileAvailable", true]; 
this addAction["Fire Missile","launchMissile.sqf",[myGameLogicObject], 0, false, false, "", "_this getVariable 'ky_missileAvailable'"];
 
in the init of the player, but don't works .. the missile don't came!!
 

  • Like 1

Share this post


Link to post
Share on other sites

Don't work .. i put the:

 

this setVariable ["ky_missileAvailable", true]; 
this addAction["Fire Missile","launchMissile.sqf",[myGameLogicObject], 0, false, false, "", "_this getVariable 'ky_missileAvailable'"];
 
in the init of the player, but don't works .. the missile don't came!!
 

You did set up height 500mt for the gamelogic, right? :D

Because if it is on the ground ,don't work!

Share this post


Link to post
Share on other sites

You did set up height 500mt for the gamelogic, right? :D

Because if it is on the ground ,don't work!

yes, it's worked now, but the missile does not reach the target when I am far from the gamelogic. I increased the altitude of GameLogic and yet when we are far the missile does not reach the target.

Share this post


Link to post
Share on other sites

yes, it's worked now, but the missile does not reach the target when I am far from the gamelogic. I increased the altitude of GameLogic and yet when we are far the missile does not reach the target.

yep .. targets around 4 km away from the GameLogic are not hit by missile

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×