Jump to content
Tankbuster

Editing, Expanding and Modifying Domination

Recommended Posts

Mousetrap, thanks for the feedback. I had done that shortly after making this post and it does work great.

Share this post


Link to post
Share on other sites
Hey in my edit I have multiple FOB around the map just copy the teleport file from the teleport folder change the name of the flag that you want to use within the code and the file name to match. Place a flag at the FOB and the add the same name to it then you need to add the name to the to other flagpole at the airport so you can use it. Then you need to place the new file back into the teleport folder and you are done:)

witch folder is teleport folder?

Share this post


Link to post
Share on other sites
Hey in my edit I have multiple FOB around the map just copy the teleport file from the teleport folder change the name of the flag that you want to use within the code and the file name to match. Place a flag at the FOB and the add the same name to it then you need to add the name to the to other flagpole at the airport so you can use it. Then you need to place the new file back into the teleport folder and you are done:)

witch folder is teleport folder?

srsly, i edited some x_revive.sqf

// respawn markers (respawn positions)

if !("TT" in d_version) then {

GVARXR(respawn_markers) = ["base_spawn_1", "base_spawn_2", "mobilerespawn1", "mobilerespawn2"];

} else {

GVARXR(respawn_markers) = switch (d_player_side) do {

case west: {["base_spawn_1", "base_spawn_2", "mobilerespawn1", "mobilerespawn2"]};

case east: {["base_spawn_2", "mobilerespawnE1", "mobilerespawnE2"]};

};

};

x_dlg/menu.hpp

class BaseButton: XD_ButtonBase {

idc = 100107;

text = "Base";

action = "[0] call d_fnc_x_update_target";

x = 0.625;

y = 0.34;

w = 0.3;

};

class BaseButton2: XD_ButtonBase {

idc = 999999;

text = "FOB";

action = "[1] call d_fnc_x_update_target";

x = 0.625;

y = 0.041;

w = 0.3;

};

class Mr1Button: XD_ButtonBase {

idc = 100108;

text = "Mobile Respawn One";

action = "[2] call d_fnc_x_update_target";

x = 0.625;

y = 0.48;

w = 0.3;

};

class Mr2Button: XD_ButtonBase {

idc = 100109;

text = "Mobile Respawn Two";

action = "[3] call d_fnc_x_update_target";

x = 0.625;

y = 0.55;

w = 0.3;

};

x_client/x_setupplayer.sqf

#define __rmsmpl _respawn_marker setMarkerPosLocal

if (__TTVer) then {

if (GVAR(player_side) == west) then {

__rmsmpl markerPos "base_spawn_1"; __rmsmpl markerPos "base_spawn_2";

} else {

__rmsmpl markerPos "base_spawn_2";

};

Edited by MacmillanINC

Share this post


Link to post
Share on other sites
witch folder is teleport folder?

srsly, i edited some x_revive.sqf

// respawn markers (respawn positions)

if !("TT" in d_version) then {

GVARXR(respawn_markers) = ["base_spawn_1", "base_spawn_2", "mobilerespawn1", "mobilerespawn2"];

} else {

GVARXR(respawn_markers) = switch (d_player_side) do {

case west: {["base_spawn_1", "base_spawn_2", "mobilerespawn1", "mobilerespawn2"]};

case east: {["base_spawn_2", "mobilerespawnE1", "mobilerespawnE2"]};

};

};

x_dlg/menu.hpp

class BaseButton: XD_ButtonBase {

idc = 100107;

text = "Base";

action = "[0] call d_fnc_x_update_target";

x = 0.625;

y = 0.34;

w = 0.3;

};

class BaseButton2: XD_ButtonBase {

idc = 999999;

text = "FOB";

action = "[1] call d_fnc_x_update_target";

x = 0.625;

y = 0.041;

w = 0.3;

};

class Mr1Button: XD_ButtonBase {

idc = 100108;

text = "Mobile Respawn One";

action = "[2] call d_fnc_x_update_target";

x = 0.625;

y = 0.48;

w = 0.3;

};

class Mr2Button: XD_ButtonBase {

idc = 100109;

text = "Mobile Respawn Two";

action = "[3] call d_fnc_x_update_target";

x = 0.625;

y = 0.55;

w = 0.3;

};

x_client/x_setupplayer.sqf

#define __rmsmpl _respawn_marker setMarkerPosLocal

if (__TTVer) then {

if (GVAR(player_side) == west) then {

__rmsmpl markerPos "base_spawn_1"; __rmsmpl markerPos "base_spawn_2";

} else {

__rmsmpl markerPos "base_spawn_2";

};

OK. Make a new folder and call it teleport. Then make a SQF file or copy one and delete what is on the file and put this in the SQF

// to enable units to teleport via flag Firebase_Raven

player setPos [(getpos Firebase_Raven select 0)+3,(getpos Firebase_Raven select 1)+3,(getpos Firebase_Raven select 2)+0]; hint "Please Allow A Few Seconds For Molecular Reconstruction";

Now change the name to whatever you want you FOB to be. You must change it in all 4 spots.

you must place a flag via editor at the FOB and name it the same name.

you must then add this to the other flags so you you can use it at you other bases/FOB to teleport.

addAction ["Go To Firebase_Raven", "teleport\toFirebase_Raven.sqf"];

this addAction ["Go To Kurdish_HQ", "teleport\toKurdish_HQ.sqf"]; this addAction ["Go To Mujahideen_HQ", "teleport\toMujahideen.sqf"]; ECT:)

This is one of my flags I have a total of 7 FOB/bases in my eidt. Hope this helps you. It is nice when you can help out and payback for all the help other people have gave me with this game. Take care AVIBIRD.

Edited by AVIBIRD 1

Share this post


Link to post
Share on other sites
OK. Make a new folder and call it teleport. Then make a SQF file or copy one and delete what is on the file and put this in the SQF

// to enable units to teleport via flag Firebase_Raven

player setPos [(getpos Firebase_Raven select 0)+3,(getpos Firebase_Raven select 1)+3,(getpos Firebase_Raven select 2)+0]; hint "Please Allow A Few Seconds For Molecular Reconstruction";

Now change the name to whatever you want you FOB to be. You must change it in all 4 spots.

you must place a flag via editor at the FOB and name it the same name.

you must then add this to the other flags so you you can use it at you other bases/FOB to teleport.

addAction ["Go To Firebase_Raven", "teleport\toFirebase_Raven.sqf"];

this addAction ["Go To Kurdish_HQ", "teleport\toKurdish_HQ.sqf"]; this addAction ["Go To Mujahideen_HQ", "teleport\toMujahideen.sqf"]; ECT:)

This is one of my flags I have a total of 7 FOB/bases in my eidt. Hope this helps you. It is nice when you can help out and payback for all the help other people have give me with this game. Take care AVIBIRD.

thx, helped. but more questions.

1. when player dead, how can i make another respawn point? shows a availables, and choose one...

Share this post


Link to post
Share on other sites
thx, helped. but more questions.

1. when player dead, how can i make another respawn point? shows a availables, and choose one...

I am not sure what you are asking for?

Do you mean when you die and your revive time is done! You should respawn back at the base. There is a marker that you will respawn at or if the mobilie respawn vechicles are deployed you can pick the location.

Personally I do not like to play with revives. When a unit dies you should lose that unit for the rest of the game that's how I like to roll:cool: lol. I know when you play domination on a large open server it needs to be that way:mad: I prefer to play with battle wound system and team switch function. This lets the player switch to any unit on the map it works great with a small group of players.

IN THE DESCRIPTION.EXT YOU CAN CHANGE THINGS

//__EXEC(diag_log format ["############################# %1 #############################", missionName];);

//__EXEC(diag_log [diag_frameno, diag_ticktime, time, "Executing Dom description.ext"]);

#include "x_setup.sqf"

//disabledAI=1;

//respawn="BASE";

//respawndelay = __D_RESPAWN_DELAY__;

disabledAI=0;

respawn= 5;

respawndelay = 0;

respawnDialog = 5;

IF YOU WANT THE ABILITY TO TEAM SWITCH AND PICK ANY UNIT THAT IS PLAYABLE DURING THE GAME THEN YOU NEED TO LOOK IN THE INIT.SQF AND CHANGE. YOU CAN EVEN HAVE THE ABILITY TO SAVE THE GAME AS YOU GO HOWEVER WORKS GREAT IN SP AND LAN BUT SOME ISSUES WITH MP STILL PALYABLE:o

#define THIS_FILE "init.sqf"

diag_log format ["############################# %1 #############################", missionName];

diag_log [diag_frameno, diag_ticktime, time, "Executing Dom init.sqf"];

//enableSaving [false,false];

//enableTeamSwitch false;

enableSaving [false,false];

enableTeamSwitch true;

AVIBIRD

Share this post


Link to post
Share on other sites
Can I get a down and dirty way of adding Pilots to Domi?

If you just want to have the pilot class in the mission then just add them in the editor It's that easy but if you want only pilots can fly in the update version of domination I am still looking for easy way to do that myself:confused: hope someone can give me some direction on this.

Share this post


Link to post
Share on other sites

How would I change the AI to BAF instead of US?

Edited by Dirty Haz
Grammer mistake.

Share this post


Link to post
Share on other sites

What is the default time that the mission deletes dead bodies and blown up vechicles? I know I can alter the time for the Wreck bonus vechicles within the description.ext but what about all the other vechicles,destroyed enemy bases, friendly and enemy dead units. (I don't play with revives but with a shit load of AI units).

Can the default time be Alter and where do I look for it?:confused:

I was thinking about putting MR. Celery Script CLY Remove Dead it Removes dead units and vehicles from the battlefield. It is very easy to use and you can set different times for units and Vehicles I believe. I have use it in tha past and it is a great script. I aslo think I am going to try to use BIS GARBAGE COLLECTOR MODULE to help free up some resources within the game. I am not sure if they will work within the domination mission.

Does anyone know what I am asking. MY domination mission uses a lot of resource 300 playable units:eek: Thanks AVIBIRD

Edited by AVIBIRD 1

Share this post


Link to post
Share on other sites

An appeal to contribute information for a dom_maker editing guide

Has anyone worked out all the pieces to this puzzle?

Someone wishing to edit this great mission for the first time might be confused. Especially since the methods of DePBOing have changed slightly, the new issue of binarising and the 1st page on this thread may no longer be relevant.

-So what is dom_maker and how do you use it?

-What do the various batch files and .exe's do exactly?

-How does someone new to editing add a few objects to the base and then create a workable .pbo?

-What does installing BIS tools involve?

If people want to PM me a few lines I will trawl through it, try the methods myself and then put a pdf together and put the info here.

regards,

Pelham

Share this post


Link to post
Share on other sites

Yes, please, let's have a look at this.

I'll happily update the info on the first page if we can get some more up to date information.

Share this post


Link to post
Share on other sites

Posted in wrong place

Edited by PELHAM

Share this post


Link to post
Share on other sites
How would I change the AI to BAF instead of US?

x_client\x_recruitsetup.sqf

Share this post


Link to post
Share on other sites

Main target marker, where i can find it in mission folder ?

Share this post


Link to post
Share on other sites

I need help getting my land vehicles such as MHQ and supply trucks to respawn when deserted, they don't seem to work but helicopters reset when deserted. Also is there an added timer? In my d_init I set the heli to false and a timer of 1 but it doesn't reset with my timer, anyone know how to fix that part too? So it resets to my set timer.

x_helirespawn2.sqf

// by Xeno
#define THIS_FILE "x_helirespawn2.sqf"
#include "x_setup.sqf"
private ["_heli_array", "_vec_a", "_vehicle", "_number_v", "_is_west_chopper", "_i", "_tt", "_ifdamage", "_empty", "_disabled", "_empty_respawn", "_startpos", "_hasbox", "_fuelleft"];
if (!isServer) exitWith{};

_heli_array = [];
{
_vec_a = _x;
_vehicle = _vec_a select 0;
_number_v = _vec_a select 1;
_ifdamage = _vec_a select 2;
_heli_array set [count _heli_array, [_vehicle,_number_v,_ifdamage,-1, position _vehicle,direction _vehicle,typeOf _vehicle,if (_ifdamage) then {-1} else {_vec_a select 3}]];

_vehicle setVariable [QGVAR(OUT_OF_SPACE), -1];
_vehicle setVariable [QGVAR(vec), _number_v, true];
_vehicle setVariable [QGVAR(vec_islocked), (locked _vehicle)];

if (!__A2Ver) then {
	_vehicle addMPEventhandler ["MPKilled", {if (isServer) then {_this call FUNC(fuelCheck)}}];
};

#ifdef __TT__
if (_number_v < 400) then {
	if (!__A2Ver) then {
		_vehicle addMPEventhandler ["MPKilled", {if (isServer) then {_this call FUNC(checkveckillwest)}}];
	} else {
		_vehicle addEventhandler ["Killed", {if (isServer) then {_this call FUNC(checkveckillwest)}}];
	};
} else {
	if (!__A2Ver) then {
		_vehicle addMPEventhandler ["MPKilled", {if (isServer) then {_this call FUNC(checkveckilleast)}}];
	} else {
		_vehicle addEventhandler ["Killed", {if (isServer) then {_this call FUNC(checkveckilleast)}}];
	};
};
#endif
} forEach _this;
_this = nil;

_isfirst = true;

while {true} do {
__MPCheck;
#ifdef __A2ONLY__
private "_forEachIndex";
_forEachIndex = 0;
#endif
{
	_tt = 20 + random 10;
	sleep _tt;
	_vec_a = _x;
	_vehicle = _vec_a select 0;
	_ifdamage = _vec_a select 2;

	_empty = _vehicle call FUNC(GetVehicleEmpty);

	_disabled = false;
	if (!_ifdamage) then {
		_empty_respawn = _vec_a select 3;
		if (_empty && _vehicle distance (_vec_a select 4) > 10 && _empty_respawn == -1) then {
			_vec_a set [3, time + (_vec_a select 7)];
		};

		if (_empty && time > _empty_respawn && _empty_respawn != -1) then {
			_disabled = true;
		} else {
			if (!_empty && alive _vehicle) then {_vec_a set [3,-1]};
		};
	};

	if (damage _vehicle > 0.9) then {_disabled = true};

	if (_empty && !_disabled && alive _vehicle && (_vehicle call FUNC(OutOfBounds))) then {
		_outb = _vehicle getVariable QGVAR(OUT_OF_SPACE);
		if (_outb != -1) then {
			if (time > _outb) then {_disabled = true};
		} else {
			_vehicle setVariable [QGVAR(OUT_OF_SPACE), time + 600];
		};
	} else {
		_vehicle setVariable [QGVAR(OUT_OF_SPACE), -1];
	};

	sleep 0.01;

	if ((_disabled && _empty) || (_empty && !(alive _vehicle))) then {
		_hasbox = GV(_vehicle,GVAR(ammobox));
		if (isNil "_hasbox") then {_hasbox = false};
		_fuelleft = GV(_vehicle,GVAR(fuel));
		if (isNil "_fuelleft") then {_fuelleft = 1};
		if (_hasbox) then {["ammo_boxes",__XJIPGetVar(ammo_boxes) - 1] call FUNC(NetSetJIP)};
		_isitlocked = _vehicle getVariable QGVAR(vec_islocked);
		sleep 0.1;
		deletevehicle _vehicle;
		if (!_ifdamage) then {_vec_a set [3,-1]};
		sleep 0.5;
		_vehicle = objNull;
		_vehicle = createVehicle [_vec_a select 6, _vec_a select 4, [], 0, "NONE"];
		_vehicle setdir (_vec_a select 5);
#ifndef __CARRIER__
		_vehicle setpos (_vec_a select 4);
#else
		_vehicle setPosASL [(_vec_a select 4) select 0, (_vec_a select 4) select 1, 15.9];
#endif

		_vehicle setVariable [QGVAR(vec_islocked), _isitlocked];
		if (_isitlocked) then {_vehicle lock true};

		_vehicle setFuel _fuelleft;

		_vec_a set [0,_vehicle];
		_heli_array set [_forEachIndex, _vec_a];
		_number_v = _vec_a select 1;
		_vehicle setVariable [QGVAR(OUT_OF_SPACE), -1];
		_vehicle setVariable [QGVAR(vec), _number_v, true];
		[QGVAR(n_v), _vehicle] call FUNC(NetCallEvent);

		if (!__A2Ver) then {
			_vehicle addMPEventhandler ["MPKilled", {if (isServer) then {_this call FUNC(fuelCheck)}}];
		};

#ifdef __TT__
		if (_number_v < 400) then {
			if (!__A2Ver) then {
				_vehicle addMPEventhandler ["MPKilled", {if (isServer) then {_this call FUNC(checkveckillwest)}}];
			} else {
				_vehicle addEventhandler ["Killed", {if (isServer) then {_this call FUNC(checkveckillwest)}}];
			};
		} else {
			if (!__A2Ver) then {
				_vehicle addMPEventhandler ["MPKilled", {if (isServer) then {_this call FUNC(checkveckilleast)}}];
			} else {
				_vehicle addEventhandler ["Killed", {if (isServer) then {_this call FUNC(checkveckilleast)}}];
			};
		};
#endif
	};
	#ifdef __A2ONLY__
	__INC(_forEachIndex);
	#endif
} forEach _heli_array;
sleep 20 + random 5;
};

x_vrespawn2.sqf

// by Xeno
#define THIS_FILE "x_vrespawn2.sqf"
#include "x_setup.sqf"

#define __Trans(tkind) _trans = getNumber(configFile >> #CfgVehicles >> typeOf _vehicle >> #tkind)
private ["_vehicle", "_camotype", "_camo", "_i", "_disabled", "_trans", "_empty", "_outb", "_hasbox", "_fuelleft"];
if (!isServer) exitWith{};

_vec_array = [];
{
_vehicle = _x select 0;
_number_v = _x select 1;
_vec_array set [count _vec_array, [_vehicle,_number_v,position _vehicle,direction _vehicle,typeOf _vehicle]];

_vehicle setVariable [QGVAR(OUT_OF_SPACE), -1];
_vehicle setVariable [QGVAR(vec), _number_v, true];
_vehicle setAmmoCargo 0;
_vehicle setVariable [QGVAR(vec_islocked), locked _vehicle];

if !(__A2Ver) then {
	_vehicle addMPEventhandler ["MPKilled", {if (isServer) then {_this call FUNC(fuelCheck)}}];
};
#ifdef __TT__
if (_number_v < 100) then {
	if !(__A2Ver) then {
		_vehicle addMPEventhandler ["MPKilled", {if (isServer) then {_this call FUNC(checkveckillwest)}}];
	} else {
		_vehicle addEventhandler ["Killed", {_this call FUNC(checkveckillwest)}];
	};
} else {
	if !(__A2Ver) then {
		_vehicle addMPEventhandler ["MPKilled", {if (isServer) then {_this call FUNC(checkveckilleast)}}];
	} else {
		_vehicle addEventhandler ["Killed", {_this call FUNC(checkveckilleast)}];
	};
};
#endif
if (_number_v < 10 || (_number_v > 99 && _number_v < 110)) then {
	#ifndef __A2ONLY__
	_vehicle addMPEventhandler ["MPKilled", {(_this select 0) call FUNC(MHQFunc)}];
	#else
	_vehicle addEventhandler ["Killed", {(_this select 0) call FUNC(MHQFunc)}];
	#endif
};

#ifndef __CARRIER__
if (GVAR(with_base_camonet) == 0) then {
	_camotype = switch (getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "side")) do {
		case 1: {
			switch (true) do {
				case (__OAVer): {"Land_CamoNetB_NATO_EP1"};
				case (__COVer): {"Land_CamoNetB_NATO"};
			}
		};
		case 0: {
			switch (true) do {
				case (__OAVer): {"Land_CamoNetB_EAST_EP1"};
				case (__COVer): {"Land_CamoNetB_EAST"};
			};
		};
	};
	_camo = createVehicle [_camotype, position _vehicle, [], 0, "NONE"];
	_camo setDir (direction _vehicle) + 180;
	_camo setPos position _vehicle;
	_vehicle setVariable [QGVAR(camonet), _camo];
};
#endif
} forEach _this;
_this = nil;

//sleep 65;
sleep 5;

while {true} do {
sleep 8 + random 5;
__MPCheck;
#ifdef __A2ONLY__
private "_forEachIndex";
_forEachIndex = 0;
#endif
{
	_vec_a = _x;
	_vehicle = _vec_a select 0;

	_disabled = false;
	if (damage _vehicle > 0.9) then {
		_disabled = true;
	} else {
		__Trans(transportAmmo);
		if (_trans > 0) then {
			_vehicle setAmmoCargo 1;
		};
		__Trans(transportRepair);
		if (_trans > 0) then {
			_vehicle setRepairCargo 1;
		};
		__Trans(transportFuel);
		if (_trans > 0) then {
			_vehicle setFuelCargo 1;
		};
	};

	_empty = _vehicle call FUNC(GetVehicleEmpty);

	if (_empty && !_disabled && alive _vehicle && (_vehicle call FUNC(OutOfBounds))) then {
		_outb = _vehicle getVariable QGVAR(OUT_OF_SPACE);
		if (_outb != -1) then {
			if (time > _outb) then {_disabled = true};
		} else {
			_vehicle setVariable [QGVAR(OUT_OF_SPACE), time + 600];
		};
	} else {
		_vehicle setVariable [QGVAR(OUT_OF_SPACE), -1];
	};

	sleep 0.01;

#ifdef __ACE__
	_aliveve = if (!isNil {_vehicle getVariable "ace_canmove"}) then {_vehicle call ace_v_alive} else {alive _vehicle};
#else
	_aliveve = alive _vehicle;
#endif
	if ((_disabled && _empty) || (_empty && !_aliveve)) then {
		_number_v = _vec_a select 1;
		_hasbox = GV(_vehicle,GVAR(ammobox));
		if (isNil "_hasbox") then {_hasbox = false};
		_fuelleft = GV(_vehicle,GVAR(fuel));
		if (isNil "_fuelleft") then {_fuelleft = 1};
		if (_hasbox) then {["ammo_boxes",__XJIPGetVar(ammo_boxes) - 1] call FUNC(NetSetJIP)};
		if (_number_v < 10 || (_number_v > 99 && _number_v < 110)) then {
			_dhqcamo = GV(_vehicle,GVAR(MHQ_Camo));
			if (isNil "_dhqcamo") then {_dhqcamo = objNull};
			if (!isNull _dhqcamo) then {deleteVehicle _dhqcamo};
		};
#ifndef __CARRIER__
		if (GVAR(with_base_camonet) == 0) then {
			_camo = GV(_vehicle,GVAR(camonet));
			if (isNil "_camo") then {_camo = objNull};
			if (!isNull _camo) then {deleteVehicle _camo;_camo = objNull} else {_camo = objNull};
		};
#endif
		_isitlocked = _vehicle getVariable QGVAR(vec_islocked);
		sleep 0.1;
		deletevehicle _vehicle;
		sleep 0.5;
		_vehicle = objNull;
		_vehicle = createVehicle [_vec_a select 4, _vec_a select 2, [], 0, "NONE"];
		_vehicle setdir (_vec_a select 3);
#ifndef __CARRIER__
		_vehicle setpos (_vec_a select 2);
#else
		if (_number_v > 9) then {
			_vehicle setPos (_vec_a select 3);
		} else {
			_vehicle setPosASL [(_vec_a select 2) select 0, (_vec_a select 2) select 1, 15.9];
		};
#endif
		_vehicle setFuel _fuelleft;

		if (!__A2Ver) then {
			_vehicle addMPEventhandler ["MPKilled", {if (isServer) then {_this call FUNC(fuelCheck)}}];
		};

		if (_number_v < 10 || (_number_v > 99 && _number_v < 110)) then {
#ifndef __A2ONLY__
			_vehicle addMPEventhandler ["MPKilled", {(_this select 0) call FUNC(MHQFunc)}];
#else
			_vehicle addEventhandler ["Killed", {(_this select 0) call FUNC(MHQFunc)}];
#endif
		};
		_vec_a set [0, _vehicle];
		_vec_array set [_forEachIndex, _vec_a];
		_vehicle setVariable [QGVAR(OUT_OF_SPACE), -1];
		_vehicle setVariable [QGVAR(vec), _number_v, true];
		_vehicle setAmmoCargo 0;
		_vehicle setVariable [QGVAR(vec_islocked), _isitlocked];
		if (_isitlocked) then {_vehicle lock true};
		[QGVAR(n_v), _vehicle] call FUNC(NetCallEvent);

#ifdef __TT__
		if (_number_v < 100) then {
			if !(__A2Ver) then {
				_vehicle addMPEventhandler ["MPKilled", {if (isServer) then {_this call FUNC(checkveckillwest)}}];
			} else {
				_vehicle addEventhandler ["Killed", {_this call FUNC(checkveckillwest)}];
			};
		} else {
			if !(__A2Ver) then {
				_vehicle addMPEventhandler ["MPKilled", {if (isServer) then {_this call FUNC(checkveckilleast)}}];
			} else {
				_vehicle addEventhandler ["Killed", {_this call FUNC(checkveckilleast)}];
			};
		};
#endif
#ifndef __CARRIER__
		if (GVAR(with_base_camonet) == 0) then {
			if (isNull _camo) then {
				_camotype = switch (getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "side")) do {
					case 1: {
						switch (true) do {
							case (__OAVer): {"Land_CamoNetB_NATO_EP1"};
							case (__COVer): {"Land_CamoNetB_NATO"};
						}
					};
					case 0: {
						switch (true) do {
							case (__OAVer): {"Land_CamoNetB_EAST_EP1"};
							case (__COVer): {"Land_CamoNetB_EAST"};
						};
					};
				};
				_camo = createVehicle [_camotype, position _vehicle, [], 0, "NONE"];
				_camo setDir (direction _vehicle) + 180;
				_camo setPos position _vehicle;
				_vehicle setVariable [QGVAR(camonet), _camo];
			};
		};
#endif
	};
	sleep 8 + random 5;
	#ifdef __A2ONLY__
	__INC(_forEachIndex);
	#endif
} forEach _vec_array;
};

Thanks in advance.

Edited by mycatsaid

Share this post


Link to post
Share on other sites

You dont have to edit x_helirespawn2.sqf, x_vrespawn2.sqf, only i_client and d_init.

d_init: edit red lines for choppers and planes

#ifndef __TT__

if (!__ACEVer) then {

// editor varname, unique number, true = respawn only when the chopper is completely destroyed, false = respawn after some time when no crew is in or chopper is destroyed

switch (true) do {

case (__COVer): {

[[ch1,301,true],[ch2,302,true],[ch3,303,true],[ch4,304,true]] execVM "x_server\x_helirespawn2.sqf"

};

case (__OAVer): {

[[ch1,301,true],[ch2,302,true],[ch3,303,true],[ch4,304,true],[ch5,305,true],[ch6,306,true]] execVM "x_server\x_helirespawn2.sqf";

};

};

} else {

if (GVAR(enemy_side) == "EAST") then {

[[ch1,301,true],[ch2,302,true],[ch3,303,true],[ch4,304,true],[ch5,305,true],[ch6,306,true],[ch7,307,true],[ch8,308,true],[ch9,309,true],[ch10,310,true],[ch11,311,true],[ch12,312,true]] execVM "x_server\x_helirespawn2.sqf";

} else {

[[ch1,301,true],[ch2,302,true],[ch3,303,false,1500],[ch4,304,false,1500]] execVM "x_server\x_helirespawn2.sqf"

};

};

i_client.sqf: edit red lines

#else

switch (true) do {

case (__ACEVer || __OAVer): {

GVAR(choppers) = [

["HR1",0,"chopper1",301,"n_air","ColorBlue","CH-47F","CH-47F Chinook"], ["HR2",2,"chopper2",302,"n_air","ColorBlue","UH-60M","UH-60M Blackhawk"],

["HR3",2,"chopper3",303,"n_air","ColorBlue","UH-1Y","UH-1Y Venom"], ["HR4",1,"chopper4",304,"n_air","ColorBlue","UH-60M Wreck Lift","UH-60M Blackhawk Wreck Lift"],

["HR5",2,"chopper5",305,"n_air","ColorBlue","MV-22","MV-22 Osprey"], ["HR6",2,"chopper6",306,"n_air","ColorBlue","Merlin HC3","Merlin HC3"],

["HR7",2,"chopper7",307,"n_air","ColorBlue","Ka-60","Ka-60"], ["HR8",2,"chopper8",308,"n_air","ColorBlue","Mi-8","Mi-8"],

["HR9",2,"chopper9",309,"n_air","ColorBlue","Wildcat AH11","Wildcat AH11"], ["HR10",2,"chopper10",310,"n_air","ColorBlue","MH-6J 1","MH-6J Littlebird"],

["HR11",2,"chopper11",311,"n_air","ColorBlue","MH-6J 2","MH-6J Littlebird"], ["HR12",0,"chopper12",312,"n_air","ColorBlue","Chinook HC4","Chinook HC4"]

];

};

case (__COVer): {

GVAR(choppers) = [

["HR1",0,"chopper1",301,"n_air","ColorWhite","1","Lift One"], ["HR2",0,"chopper2",302,"n_air","ColorWhite","2","Lift Two"],

["HR3",0,"chopper3",303,"n_air","ColorWhite","3","Lift Three"], ["HR4",1,"chopper4",304,"n_air","ColorWhite","W","Wreck Lift"]

];

};

};

#endif

About vehicle markers: when i was reading all posts in this topic i saw issues with cars & trucks markers and someone posted solution and explanation so you can search it.

Share this post


Link to post
Share on other sites

I just found out that my helicopter one does infact respawn when deserted, but the MHQ and vehicles using vrespawn2 does not reset. Does anyone know how to fix that? Is there an added timer in the scripts above that adds to the time I set, so if I set the heli to respawn in 1 it never does.

Thanks.

Edited by mycatsaid

Share this post


Link to post
Share on other sites

Well i said edit lines just like i did in d_init set all to false and numbers like 3600 (1h) and that should look like this [ch1,301,false,3600]---> my chopper will respawn after some time when no crew is in or chopper is destroyed, and when its deserted it will respawn when 1h passes, and make sure that is everything okay in i_client. For vehicle respawn i think you need to do something in x_vrespawn2.sqf but i really dont know.

Share this post


Link to post
Share on other sites

Can anyone modify the vrespawn2 script to have a _empty_respawn timer as well like the helirespawn2 script above, but to make sure that MHQ doesn't respawn when it's deployed because that could conflict with it because it would be empty.

Share this post


Link to post
Share on other sites

I ran into a major issue with my edit of Domination 2.60. I was hoping someone knows why or how to fix it. In my edit have have multiple FOB's around the map with playable independent units. All the independent squads have an US officer as the squad leader but the squad leader probability of presents set to zero and independent units set to friendly to bluefor for the mission.

The problem is when I take the independent units/squads to the side missions or the main target missions the enemy units do not react (activate) or are very slow to engage me or my AI units. WTF does anyone know why! Is it not possible to play the mission with independent units and bluefor units on the same mission:confused: independent units do not activate opfor units WTF? Thanks avibird

Share this post


Link to post
Share on other sites

have you set the relations correctly in i_server.sqf?

#ifdef __OWN_SIDE_WEST__
_eastcenter = createCenter east;
_guercenter = createCenter resistance;
west setFriend [east, 0.1];
east setFriend [west, 0.1];
west setFriend [resistance, 1];
resistance setFriend [west, 1];
east setFriend [resistance, 0.1];
resistance setFriend [east, 0.1];
#endif

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

×