Jump to content
Tankbuster

Editing, Expanding and Modifying Domination

Recommended Posts

Sounds awesome Carl. Addon or script?

Ok, went ahead and did the maintargets only deal. Not 100% tested, but it works as far as I can see.

description.ext - around line 580

class d_kick_base_satchel {

title = "Kick for base satchel:";

values[] = {0,1};

default = 1;

texts[] = {"Yes","No"};

};

class d_MainTargetsOnly {

title = "Main Targets Only:";

values[] = {0,1};

default = 0;

texts[] = {"Yes","No"};

};

};

Red is the new stuff. Basically, the new class goes at the end of the list of classes in description.ext. Make sure Class Params is capped off with 2 '};' , as shown in the spoiler. Works like the other params, just select 0 or 1. Next up...

x_missions\x_getsidemission.sqf - Around line 18

d_hq_logic_en1 kbTell [d_hq_logic_en2,"HQ_W","AllSMissionsResolved",true];

d_hq_logic_ru1 kbTell [d_hq_logic_ru2,"HQ_E","AllSMissionsResolved",true];

#endif

};

if (d_MainTargetsOnly == 0) then {

player sideChat "Main target only!";

}

else

{

if (d_SidemissionsOnly == 1) then {

while {!d_main_target_ready} do {sleep 2.321};

};

Red marks the new stuff again. The 'player sideChat' is just there for testing and a way to close, you can do whatever you want there.

Share this post


Link to post
Share on other sites

Script only, simply editing Domination. Not always as simple though :p Don't have a server available right now, so hard to test for MP. WP is in and working, but I'm not sure if the effects are automatically done for clients. Next in line is Copperhead, currently rearranging the dialog - need more space :p Copperheads and Sadarms will eventually be limited numbers, and awarded on a side mission and main target basis.

You don't see the obvious conflict in the last spoiler? What happens when you set both MainTargetsOnly and SideMissionsOnly? :) I think a better solution would be to change the whole logic into a d_Missions ["Both Mission Types", "Main Targets Only", "Side Missions Only"] style to avoid this. More work though, as you have to change any checks against the boolean value to checks against a numerical value, in every place it is checked.

Share this post


Link to post
Share on other sites

Bah... Well it's only an issue if the person is ignorant enough to do that! :P

I'll work on it. For now though, the way I have it DOES work, it'll just explode your server if you do it wrong :D

Share this post


Link to post
Share on other sites

Excellent Corporal! Thanks a lot. I've put it in, but haven't tested it out quite yet.

One more question, and sorry to bother you guys again, but I'm learning. I'm trying to move the bonus vehicle points, but there are so many different sets of positions, I can't seem to find the right one. Any idea on which set is the applicable? I'm editing R_West and running vanilla OA.

Share this post


Link to post
Share on other sites

Alright, got it. I can't give you a play by play on this one tonight because I am just a bit too tired, but I can give you the easy way. Before you do this, make sure you have a backup of your mission folder just in case :)

First, download Notepad++

Open that up, update it however it asks, then reopen to make sure it works.

We'll get back to the tools in Notepad++ later. For now, lets get this param setup.

description.ext - around line 580, at the end of classes.

class d_kick_base_satchel {

title = "Kick for base satchel:";

values[] = {0,1};

default = 1;

texts[] = {"Yes","No"};

};

class d_MissionType {

title = "Mission Type:";

values[] = {0,1,2};

default = 0;

texts[] = {"Default Mission Type","Main Targets Only","Side Missions Only"};

};

};

Like last time, Red is the new stuff. Again make sure there are 2 closes at the end. This new bit replaced the part in my last post. Once you do this replacement, scroll up and remove class d_SideMisisonsOnly and the lines used in it. There, param is listed.

Now the fun part... Open up that Notepad++

At the top go to Search -> Find In Files..., then browse for your mission folder.

Find what: d_SidemissionsOnly == 1

Replace with: d_MissionType == 0

Then click Replace in Files. Once this is done, go back to Search and Find in Files, get your mission folder in, then search again for

Find what: d_SidemissionsOnly == 0

Replace with: d_MissionType == 2

Then Replace in Files again.

It's about to get funner. See, this is where I stopped initially. Default works because 0 is already in place for everything side mission and main target related, 2 was already working before and is easy to change, so side mission only worked fine. But, Main Target Only did not work and actually broke the whole mission, unable to get past the intro. Why? Before we switched out the classes, d_sidemissionsonly == 1 meant default, which is now 0. But to take out the sidemission related stuff we need to switch around the 0s and 1s, and doing ||s instead of just 0s and 1s. Sucks, I know. On the plus side, while I was typing this all up I have been testing in-game and this all seems to be working just fine. Sadly, this part can't be done properly through replacing, so we'll do it the hard way. Komm mit!

init.sqf - around line 387

d_mt_spotted = false;

execVM "x_server\x_setupserver.sqf";

if (d_MissionType == 0 || d_MissionType == 1) then {

execVM "x_server\x_createnexttarget.sqf";

};

d_player_store = "HeliHEmpty" createVehicleLocal [0, 0, 0];

d_placed_objs_store = "HeliHEmpty" createVehicleLocal [0, 0, 0];

i_server.sqf - around line 881

// same size like a rectangular trigger

// first element = center position, second element = a, third element = b, fourth element = angle, fifth element = number of groups

d_with_isledefense = if (d_WithIsleDefense == 0) then {

if (__OAVer) then {[[6985.26,6356.13,0], 6000, 6000, 0, if (d_MissionType == 0 || d_MissionType == 1) then {4} else {8}]} else {[[6592.61,8606.63,0], 6000, 6000, 0, 4]}

} else {

[]

};

i_server.sqf - around line 909

// if set to -1 no check is done

d_max_recaptures = 2;

if (isNil "d_with_carrier" && d_MissionType == 0 || d_MissionType == 1) then {

[] spawn {

_wairfac = if !(__OAVer) then {

x_client\endcam.sqf - around line 56

sleep 5;

if (d_MissionType == 0 || d_MissionType == 1) then {

[0, "You have cleared the island", 4] execVM "IntroAnim\animateLettersX.sqf";__INC(_line); waitUntil {i == _line};

} else {

x_client\x_setupplayer.sqf - around line 345

_taskstr = "task%1 = player createSimpleTask ['obj%1'];task%1 setSimpleTaskDescription ['Seize %2...','Main Target: Seize %2','Main Target: Seize %2'];task%1 settaskstate _objstatus;task%1 setSimpleTaskDestination _current_target_pos;";

#define __tmarker [_target_name, _current_target_pos,#ELLIPSE,_color,[_target_radius,_target_radius]] call XfCreateMarkerLocal

if (d_MissionType == 0 || d_MissionType == 1) then {

#ifndef __TT__

for "_i" from 0 to (count __XJIPGetVar(resolved_targets) - 1) do {

x_client\setupplayer.sqf - around line 418

execVM "x_client\x_playerammobox.sqf";

if (d_MissionType == 0 || d_MissionType == 1) then {

_counterxx = 0;

{

x_client\setupplayer.sqf - around line 442 & 446

} forEach __XJIPGetVar(jump_flags);

};

if (d_MissionType == 0 || d_MissionType == 1) then {

if (!__XJIPGetVar(d_mt_radio_down)) then {if (__XJIPGetVar(mt_radio_pos) select 0 != 0) then {["main_target_radiotower", __XJIPGetVar(mt_radio_pos),"ICON","ColorBlack",[0.5,0.5],"Radiotower",0,"mil_dot"] call XfCreateMarkerLocal}};

};

if (d_MissionType == 0 || d_MissionType == 1) then {

if (count __XJIPGetVar(d_currentcamps) > 0) then {

{

if (!isNull _x) then {

x_client\setupplayer.sqf - around line 817

#ifndef __TT__

if (isNil "d_with_carrier" && d_MissionType == 0 || d_MissionType == 1) then {

if (d_string_player in d_is_engineer || d_with_ai) then {

if (__XJIPGetVar(d_jet_serviceH) && !__XJIPGetVar(d_jet_s_reb)) then {

[0] spawn XFacAction;

x_client\setupplayer.sqf - around line 956

if (!d_with_ranked) then {

if (d_AutoKickTime > 0 && d_MissionType == 0 || (d_MissionType == 1) then {execFSM "fsms\AutoKick.fsm"};

} else {

execVM "x_client\x_playerveccheck.sqf";

x_client\setupplayer.sqf - around line 1029

execVM "x_msg\x_playernamehud.sqf";

if (d_MissionType == 0 || d_MissionType == 1) then {

execFSM "fsms\CampDialog.fsm";

};

x_client\setupplayer.sqf - around line 1092

#ifndef __TT__

if (d_MissionType == 0 || d_MissionType == 1) then {

_sb = __XJIPGetVar(d_searchbody);

if (!isNull _sb) then {

x_server\arifire.sqf - around line 286

#endif

sleep (d_arti_available_time + ((_ari_salvos - 1) * 200)) + (random 60) + (if (d_MissionType == 0 || d_MissionType == 1) then {if (_ari_type == "sadarm") then {180} else {0}} else {300});

[_ari_avail,true] call XNetSetJIP;

#ifndef __TT__

x_server\setupserver.sqf - around line 74 & 78

#ifndef __TT__

if (d_with_recapture && d_MissionType == 0 || d_MissionType == 1) then {execFSM "fsms\Recapture.fsm"};

#endif

#ifndef __TT__

if (!d_no_sabotage && (isNil "d_with_carrier") && d_MissionType == 0 || d_MissionType == 1) then {execFSM "fsms\Infilrate.fsm"};

#endif

-pant- Alright. As usual, red is new. My honest apologies for not just adding this to a version of domination, I just don't have a stock download on hand. The version I work on for the 3rd ID uses 2.29 as a base but is heavily modified, so the line numbers might be off a bit. Using the search tool in notepad should fix that problem if it arises though. Good luck with this, and if you find any problems or have any further questions just ask away. If there is a problem it will be easy to fix.

Edit:

Forgot the intro.

x_client\intro.sqf - should be line 116

if (count _sarray > 0) then {[_start_pos2, _str2, 6] execVM "IntroAnim\animateLettersX.sqf";__INC(_line); waitUntil {i == _line}};

if (d_MissionType == 2) then {

[4, "Sidemissions Only", 4] execVM "IntroAnim\animateLettersX.sqf";__INC(_line); waitUntil {i == _line};

};

And if you want to just be spiffy, you can add to that. Same spot.

if (count _sarray > 0) then {[_start_pos2, _str2, 6] execVM "IntroAnim\animateLettersX.sqf";__INC(_line); waitUntil {i == _line}};

if (d_MissionType == 2) then {

[4, "Sidemissions Only", 4] execVM "IntroAnim\animateLettersX.sqf";__INC(_line); waitUntil {i == _line};

};

if (d_MissionType == 1) then {

[4, "Maintargets Only", 4] execVM "IntroAnim\animateLettersX.sqf";__INC(_line); waitUntil {i == _line};

};

if (d_MissionType == 2) then {

[3.9, "Default Objective", 4] execVM "IntroAnim\animateLettersX.sqf";__INC(_line); waitUntil {i == _line};

};

That should get it to display whatever type of mission you are running just under the Domination logo and above the One Team - West. (You may need to lower/raise the Cyan colored numbers to center the text left/right respectfully).

Edited by Grimes [3rd ID]

Share this post


Link to post
Share on other sites

If you're the daring type, you can (after taking a backup) do a file search & replace. I do it in UltraEdit from time to time, and when (approx. always :D) my regexp "skills" are on a break, I get burned - bigtime.

From:

d_MissionType == 0 || d_MissionType == 1

To:

d_MissionType != 2

:)

One thing cought my eye. A pure OR/|| is not a problem. A pure AND/&& is not a problem. But when you start mixing && and || in the same condition, you need to pay very good attention to how things are executed. In x_client\setupplayer.sqf - around line 817, you have:

if (isNil "d_with_carrier" && d_MissionType == 0 || d_MissionType == 1) then {

Ask yourself how the engine sees this. Is it evaluated as:

if (   [b]([/b]isNil "d_with_carrier" && d_MissionType == 0[b])[/b]    || d_MissionType == 1) then {

or

if (isNil "d_with_carrier" &&    [b]([/b]d_MissionType == 0 || d_MissionType == 1[b])[/b]   ) then {

Unless I'm working with an RPN syntax language (i.e. MSFS XML based gauge programming language), I tend to use parenthesis around nested all kinds of nested booleans.

---

I'm sort of finished with the artillery system. I'm trying to update the kbTell system around it too, so it reads back everything I put in (incl 8 digit grids and "mission type" - highly approx). It does work, even if some words doesn't always seem to "fit" well, while others are just completely messes up (in the system I guess). But I've tried to work around those.

So, while I was trying hard to setup new logics/identities for the kbTell system, I think I found a bug (unless I put it there myself at some point). Towards the end of x_bikb\kbinit.sqf, there is this:

if (__OAVer) then {
	_ll kbAddTopic["PL" + str(player),"x_bikb\domkb.bikb"];
} else {
	_ll kbAddTopic["PL" + str(player),"x_bikb\domkboa.bikb"];
};
//Which I believe should be swapped around, and corrected to:
if (__OAVer) then {
	_ll kbAddTopic["PL" + str(player),"x_bikb\domkboa.bikb"];
} else {
	_ll kbAddTopic["PL" + str(player),"x_bikb\domkb.bikb"];
};

Note that I'm not 100% sure if this "error" is intentional, there are some discrepancies between the two bikb files.

Edited by CarlGustaffa

Share this post


Link to post
Share on other sites

do you guys know of a script that checks players ID's if the enter a vehicle and kicks if the ID isn't in the list?

sparta clan is running such a script as an addon i presume because i can't find it in domination after doing file compare

Share this post


Link to post
Share on other sites
If you're the daring type, you can (after taking a backup) do a file search & replace. I do it in UltraEdit from time to time, and when (approx. always :D) my regexp "skills" are on a break, I get burned - bigtime.

From:

d_MissionType == 0 || d_MissionType == 1

To:

d_MissionType != 2

:)

Ahhh. I did not know you could even do that. So Durka Durka, once you followed and completed everything in my post, do the find/replace that Carl posted.

Also Carl, what if there were more than 3 mission types? Like 4 or 5? How would you go about doing that with this same system?

--

So when the 3rd ID plays Domination, the CO and XO usually take up the artillery & rescue operator positions. Sometimes this is an issue though because of pubs taking those positions, simply for the artillery and to use it in an nonstrategic manner. Is there a way to somehow 'reserve' the artillery positions for specific people, be it by name, ID, or whoever is running our squad.xml ?

Edited by Grimes [3rd ID]

Share this post


Link to post
Share on other sites

Grimes, I'll try it tonight and see how it works out for me. Big thanks to both you and Carl for making it look easy.

Carl, that arty system sounds really nice. Can't wait to see it.

Belgarion: The system we use is some sort of outside program that was built from the ground up by someone who licensed it to us, using a coding language I don't understand (I think SQL). There are no scripts as far as I can tell, but I can say it is very complicated. I would suggest finding a programmer who may be able to help you out.

Edited by Durka-Durka

Share this post


Link to post
Share on other sites

Can someone tell me how to get rid of the ammo boxes without getting a bunch of script errors. I tried this and it removed them but of course I get script errors cause I have no idea what I am doing.

Im using ace oa

// position of the player ammobox at base (created only on the players computer, refilled every 20 minutes)

d_player_ammobox_pos =

#ifdef __DEFAULT__

//if (isNil "d_with_carrier") then {

if (__OAVer) then {

[[8286.27,2106.76,0],152]

} else {

[[4707.69,10232,0],320]

}

} else {[[14490.3,365.406,15.9],180]};

#endif

#ifdef __EVERON__

if (isNil "d_with_carrier") then {[[4875.74,11744.7,0],270]} else {[[14690.2,544.483,15.9],180]};

#endif

#ifdef __TT__

[

[[8286.27,2106.76,0],152], // West

[[5918.01,11294,0],189] // East

];

#endif

#ifdef __ACE__

if !(__TTVer) then {

if (__OAVer) then {

d_ace_boxes = [

["",[8279.76,2103.33,0],331], // position, direction ACE_RuckBox

["",[8283.08,2104.88,0],331] // position, direction ACE_HuntIRBox

];

Share this post


Link to post
Share on other sites

1. Why are you removing the ammo boxes?

2. You're better off just changing the coordinates if you want to just get rid of them in a simple way, then increase the refresh time to a large number if you want.

I don't use ACE so I can't help you with a way to do this via script, someone else probably could though. Still... why get rid of the box? Is it because the freeze/lag bug that was fixed weeks ago?

Share this post


Link to post
Share on other sites

It because I use my own scripted ammobox with all the RH weapons. I dont know how to use the coordinates and I never thought of that. If I put all 0s in will it be off the map?

Share this post


Link to post
Share on other sites

Why not just edit x_client\x_weaponcargo_oa_ace.sqf or whichever version you use? That would be a lot easier.

Share this post


Link to post
Share on other sites

No it wouldnt because there is over 600 lines of weapons. I put the cords to all 0s and that worked fine. TY

Share this post


Link to post
Share on other sites

Just scan through the list and move everything you want to the top and block quote /* quote */ the rest (to select what you want from the existing stuff). What happens when you drop an ammo box? If your addon weapon list is huge, consider some quick and dirty editor macro work to make it into Domination (macro based) syntax.

Share this post


Link to post
Share on other sites

Those of you who don't feel the AI are dropping enough arty on your head will be delighted to know that I've found a bug with the arty that was stopping light artillery (30 and 40 mm) from being dropped. Thanks to Carl Gustaffa for the intel fixes, without which I'd never have known anything was amiss! Fix in the spolier:

The problem was all attempts to drop light arty were resulting in aerial smoke bombardments - this resulted in "ghost artillery" where you'd get a warning (if you'd found the intel) but never see any explosions and also mysterious short-lived clouds would sometimes appear when you were near a target. Note that this means that with the fix you'll get shelled twice as often, but half the shellings will be relatively mild...

In x_server\x_shootari.sqf replace:

_type = if (d_enemy_side == "EAST") then {
if (_kind == 0) then {"G_40mm_HE"}[color="Red"];[/color]
#ifndef __ACE__
if (_kind == 1) then {"ARTY_Sh_105_HE"} else {"ARTY_SmokeShellWhite"}[color="Red"];[/color]
#else
if (_kind == 1) then {"ACE_ARTY_Sh_105_HE"} else {"ACE_ARTY_SmokeShellWhite"}
#endif
} else {
if (_kind == 0) then {"G_30mm_HE"}[color="Red"];[/color]
#ifndef __ACE__
if (_kind == 1) then {"ARTY_Sh_122_HE"} else {"ARTY_SmokeShellWhite"}
#else
if (_kind == 1) then {"ACE_ARTY_Sh_122_HE"} else {"ACE_ARTY_SmokeShellWhite"}
#endif
};

with:

_type = if (d_enemy_side == "EAST") then {
if (_kind == 0) then {"G_40mm_HE"} [color="Red"]else {[/color]
#ifndef __ACE__
	if (_kind == 1) then {"ARTY_Sh_105_HE"} else {"ARTY_SmokeShellWhite"}
#else
	if (_kind == 1) then {"ACE_ARTY_Sh_105_HE"} else {"ACE_ARTY_SmokeShellWhite"}
#endif
[color="Red"]	}[/color]
} else {
if (_kind == 0) then {"G_30mm_HE"}[color="Red"] else {[/color]
#ifndef __ACE__
	if (_kind == 1) then {"ARTY_Sh_122_HE"} else {"ARTY_SmokeShellWhite"}
#else
	if (_kind == 1) then {"ACE_ARTY_Sh_122_HE"} else {"ACE_ARTY_SmokeShellWhite"}
#endif
[color="Red"]	}[/color]
};

Carl Gustaffa, apologies for the delay but I've finally got round to having a proper look at the code you posted the other week. After spending most of Sunday doing the complete ordered route all the arma players in {SAS} decided that short distances between towns was the way forward so I decided to have a go at it myself. Here's what I came up with, it's not especially clever but it does the job and generating a full 21 random targets only takes around 50 milliseconds on the steam-powered PC I run my test server on:

x_server\x_f\x_serverfuncs.sqf

XfArrangeTargets = {
private ["_numTargets","_randomArray","_orderedTargets","_lastPos","_distance","_bestClose","_bestFar","_found","_candidateIndex","_x","_y"];
_numTargets = count d_target_names;
_randomArray = _numTargets call XfRandomIndexArray;
_orderedTargets = [];

if (d_MainTargets < 2) exitWith { diag_log "ERROR: XfArrangeTargets, d_MainTargets < 2, sorting them could be tricky!" };
if (d_MainTargets > _numTargets) exitWith { diag_log "ERROR: XfArrangeTargets, d_MainTargets > total targets, this isn't going to work..." };

// the first target is easy...
_orderedTargets set [0, _randomArray select 0];
_lastPos = (d_target_names select (_randomArray select 0)) select 0;

for "_x" from 1 to (d_MainTargets - 1) do {	// for each target that needs to be added
	_found = -1;
	_bestClose = -1;
	_bestFar = -1;
	for "_y" from 1 to (_numTargets - 1) do {	// for each possible target
		_candidateIndex = _randomArray select _y;
		if (!(_candidateIndex in _orderedTargets)) then {	// don't check targets we've already picked
			_distance = _lastPos distance ((d_target_names select _candidateIndex) select 0);
			if (_distance > 2000 && _distance < 3500) then {
				_found = _candidateIndex;
			} else {;
				if (_distance <= 2000) then {
					if (_bestClose == -1) then {
						_bestClose = _candidateIndex;
					} else {
						if (_distance > _lastPos distance ((d_target_names select _bestClose) select 0)) then {
							_bestClose = _candidateIndex;
						};
					};
				} else {
					if (_bestFar == -1) then {
						_bestFar = _candidateIndex;
					} else {
						if (_distance < _lastPos distance ((d_target_names select _bestFar) select 0)) then {
							_bestFar = _candidateIndex;
						};
					};
				};
			};
		};
		if (_found != -1) exitWith {};
	};
	if (_found == -1) then {	// couldn't find an ideal candidate, have to make do...
		if (_bestFar != -1) then {
			_found = _bestFar;
		} else {
			if (_bestClose != -1) then {
				_found = _bestClose;
			} else {
				diag_log "ERROR: XfArrangeTargets, couldn't find ANY suitable targets, we have a problem!";
			};
		};
	};
	_orderedTargets set [_x, _found];
	_lastPos = (d_target_names select _found) select 0;
};

/*	_num = 0;
{
	[format ["Target%1",_num],(d_target_names select _x) select 0,"ICON","COLORRED",[0.5,0.5],format ["%1", _num],0,"mil_dot"] call XfCreateMarkerGlobal;
	_num = _num + 1;
} forEach _orderedTargets;
*/	
_orderedTargets
};

Init.sqf

//		d_maintargets_list = (count d_target_names) call XfRandomIndexArray;
	d_maintargets_list = call XfArrangeTargets;

Share this post


Link to post
Share on other sites

Wow, that sure looks a lot cleaner :) Thanks, will have a look at it.

Uhm, 30 and 40mm light artillery? Do you mean DPICM submunitions here? I found and fixed a problem with DPICM, but I thought it was self inflicted... I've done a lot to the artillery system lately. Including breaking it completely (see other thread :D) for MP for reasons I don't understand. Will have to come up with a workaround somehow if the original method can not work anymore.

Share this post


Link to post
Share on other sites

It's the same stuff that hits the ground when a player calls in a DPICM submunitions barrage but when the AI call it in they just drop a handful of the shells directly via a different bit of code, said bit of code being where the fix goes. Player summoned DPICM seems to work fine here, it's quite possible any problems you found were indeed self inflicted... :)

Share this post


Link to post
Share on other sites

Roger, I've never seen AI DPICM stuff myself, didn't know it was in. I've replaced the whole system anyways. Yeah I had a problem with the submunition generating loop. I managed to put in round or reload delay on each submunition, and got a splash for each. Took a while to complete. Weirdest thing I ever saw :D

Share this post


Link to post
Share on other sites

Hey guys, does anyone have any idea how to take out the enemy D30 installations? I've tried finding "d30" in file with no luck of taking them out. The reason I asked is I'm trying to port a version of Domination over to Zargabad and the enemy arti pieces just don't fit in, plus I like to make them mostly infantry main targets. Any ideas?

EDIT: Actually, if I could just change out the D30s for something like "2b14_82mm_TK_INS_EP1" that might be better/easier.

Edited by Durka-Durka

Share this post


Link to post
Share on other sites

You might try changing d_firebase in i_server.sqf. It currently uses compositions, in this case Firebase1_TK_EP1, but I have no idea if simply changing it to a unit would work. I haven't seen a compositions list anywhere for OA yet but but if you're using Combined Operations you could try one of the ArmA2 ones listed at Armaholic. Otherwise, maybe just try putting _EP1 onto some of the compositions from that page.

Share this post


Link to post
Share on other sites
Hey guys, does anyone have any idea how to take out the enemy D30 installations?

Try this:

x_server\x_creatmaintarget.sqf - Delete lines 121 - 183

i_server.sqf - Delete lines 202-207

That should stop the artillery emplacements from spawning, without any errors. Should. This is not completely tested, will confirm when I get the time to do it 100%.

Share this post


Link to post
Share on other sites

You can also create your own compositions and include with the mission. I've made some rudimentary mortar stations; just some sandbags, two mortars, and two kords for protection. Works well for me.

Share this post


Link to post
Share on other sites
;1727997']Try this:

x_server\x_creatmaintarget.sqf - Delete lines 121 - 183

i_server.sqf - Delete lines 202-207

That should stop the artillery emplacements from spawning' date=' without any errors. Should. This is not completely tested, will confirm when I get the time to do it 100%.[/quote']

Looks like the Main Target spawns, and a few troops, but nothing else like the camps or tower.

---------- Post added at 12:26 AM ---------- Previous post was at 12:25 AM ----------

You can also create your own compositions and include with the mission. I've made some rudimentary mortar stations; just some sandbags, two mortars, and two kords for protection. Works well for me.

Any idea how to go about this, and where to put them? I'm looking for exactly what you have. The idea is, instead of massive arty positions with all the support, something more along the lines of what an insurgent mortar team would use, other than rocks and strong arms.

EDIT: I also tried replacing d_firebase1 with a simple object, but it gave a script error and didnt spawn. I replaced it with one of the compositions from regular ArmaII and it worked perfectly. Now i just need to figure out how to put a composition that I like in. Thanks for the quick replies guys

Edited by Durka-Durka

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

×