Jump to content
Tankbuster

Editing, Expanding and Modifying Domination

Recommended Posts

can i use Upsmon in Domination ?!

or a there some other AI enhancements that i can use in Domination ?!

it should work without a extra mod.

how to put some init command in the AI that spawns at main and side missions ?

Share this post


Link to post
Share on other sites
can i use Upsmon in Domination ?!

Please don't. Upsmon is one of the worst things you can add in a MP mission.

It's causing performance problems (even in normal missions with just a few AI groups).

I've made a lot of AI improvements for Dom during A1 times, like flanking AI, as it wasn't available in A1, and other features like groups linked and whatnot.

It's not needed anymore for A2, A2 AI is allready very good. But you need a high end server for it (i7 920 or better).

Xeno

Share this post


Link to post
Share on other sites

Is information sharing still active and working? Sometimes I can open fire on one group and the group 100 meters next to it may not react to the action at all. I'm trying a reveal approach for the players, where they reveal themselves to nearby enemies in some time. Nearby is based on bullet speed, and some time means some randomish time trying to figure out where you shot from. You only trigger the reveal once every five second, but I'm not sure how "costly" using reveal really is. And once they call in arty (highly modified and more survivable), the whole area (3*original size) goes into suppression mode for n*rounds seconds to make you stay put so arty/mortar rounds can do its job. It can be really intensive :D Also if they have an artillery radar, they will get warnings for our shots and try to get away. Again, not sure how much this "run off" is causing in terms of server FPS.

Share this post


Link to post
Share on other sites

@callihn: No sorry, haven't seen the FLIR error in ages. I haven't done anything to fix it. Not sure if I don't get the error anymore due to it no longer kicking in or because we don't use vehicles much. When posting code, please use the code tag rather than (only) spoiler, to maintain indented readability.

I just knew that was the answer I was going to get, could you look and see if that code has changed?

I fixed the format above.

Share this post


Link to post
Share on other sites
Please don't. Upsmon is one of the worst things you can add in a MP mission.

It's causing performance problems (even in normal missions with just a few AI groups).

I've made a lot of AI improvements for Dom during A1 times, like flanking AI, as it wasn't available in A1, and other features like groups linked and whatnot.

It's not needed anymore for A2, A2 AI is allready very good. But you need a high end server for it (i7 920 or better).

Xeno

I want to improve the cover finding and want them to patrol thrue houses , and maybe to stand on top of buldings, is there another way to do this ?!

EDIT:

What ist about GL4 ?

http://forums.bistudio.com/showpost.php?p=1587679&postcount=1269

Edited by Anemia

Share this post


Link to post
Share on other sites
I want to improve the cover finding and want them to patrol thrue houses , and maybe to stand on top of buldings, is there another way to do this ?!

I use the HousePatrol.sqf in my missions, enemy move aroound they whole house, climb ladders etc, just means you might have to add extra enemy in domination, unless theres already something like this built in to domi.

Share this post


Link to post
Share on other sites
I just knew that was the answer I was going to get, could you look and see if that code has changed?

I fixed the format above.

Uhh, looks old - like, A2 style :)

Why don't you use proper FLIR?

What version are you using anyway?

I notice in x_playersetup.sqf that flir.fsm is only executed if not running ACE and not OA version. Sorry, not able to help, I never liked that "FLIR" anyways :p

Share this post


Link to post
Share on other sites
Uhh, looks old - like, A2 style :)

Why don't you use proper FLIR?

What version are you using anyway?

I notice in x_playersetup.sqf that flir.fsm is only executed if not running ACE and not OA version. Sorry, not able to help, I never liked that "FLIR" anyways :p

Yep, surely.

How?

I guess 117.

Share this post


Link to post
Share on other sites

Uhm, 1.17? We have moved from 2.01 (or thereabouts) via 2.29 to a sudden jump to 2.54. If you have stayed back due to own edits, I suggest trying to incorporate your changes into the latest version. Trust me, I know it can be an insane amount of work :p

Share this post


Link to post
Share on other sites

I know this question has been asked before, but I can't seem to find an answer in this thread.. So here goes: Is there a way to change the recruitable AI units, in the AI version of Domination, to BAF units? I've looked in the x_client folder and looked at the x_addsoldier.sqf but I can't seem to make much sense of it.. I'm a semi noob, lol.

Anyone able to help? It would defenitely be appreciated :-)

Edited by Flightster

Share this post


Link to post
Share on other sites
Uhm, 1.17? We have moved from 2.01 (or thereabouts) via 2.29 to a sudden jump to 2.54. If you have stayed back due to own edits, I suggest trying to incorporate your changes into the latest version. Trust me, I know it can be an insane amount of work :p

Not worth the effort I'm sure, I only have the flir issue and again it works fine it just gives that error when you dismount from a gunner position.

Share this post


Link to post
Share on other sites
Not worth the effort I'm sure, I only have the flir issue and again it works fine it just gives that error when you dismount from a gunner position.

You say that, but later versions have much improved code. They are much easier on the server and there are new features. There's not much wrong with the version you have, but 2.29 has a lot more good stuff.

Share this post


Link to post
Share on other sites
I know this question has been asked before, but I can't seem to find an answer in this thread.. So here goes: Is there a way to change the recruitable AI units, in the AI version of Domination, to BAF units? I've looked in the x_client folder and looked at the x_addsoldier.sqf but I can't seem to make much sense of it.. I'm a semi noob, lol.

Anyone able to help? It would defenitely be appreciated :-)

Use your file search on your PC and search for a unit name that you can recruit now within the files in your mission directory, it will lead you to where you want to go.

You say that, but later versions have much improved code. They are much easier on the server and there are new features. There's not much wrong with the version you have, but 2.29 has a lot more good stuff.

I honestly don't know what more "good stuff" it could possibly have, since I have everything I'm interested in. Yes, because the code has been changed to hell and back it is impossible to bring my changes into it, not to mention the current version is too much trouble to obtain and as I am not far from release I'm really not interested in specnding another six months bringing my changes forward and correcting another massive pile of bugs too.

Edited by callihn

Share this post


Link to post
Share on other sites

I'm unbable to search for a unit name, seeing as it's all folders and files.. So I would need to open each file seperately for that to work.. Here's the addsoldier.sqf, which I think should be it:

// by Xeno
#include "x_setup.sqf"
private ["_exitj", "_rank", "_unit", "_type_soldier"];

_type_soldier = _this select 3;

d_grp_caller = group player;
if (player != leader d_group_caller) exitWith {
"You are currently not a group leader, no AI available. Create a new group" call XfHQChat;
};

_exitj = false;
if (d_with_ranked) then {
_rank = rank player;
if (_rank == "PRIVATE") exitWith {
	"You current rank is private. You can't recruit soldiers!" call XfHQChat;
	_exitj = true;
};

if (score player < ((d_points_needed select 0) + (d_ranked_a select 3))) exitWith {
	(format ["You can't recruit an AI soldier, costs %2 points, your current score (%1) will drop below 10!", score player,d_ranked_a select 3]) call XfHQChat;
	_exitj = true;
};

_max_rank_ai = switch (_rank) do {
	case "CORPORAL": {3};
	case "SERGEANT": {4};
	case "LIEUTENANT": {5};
	case "CAPTAIN": {6};
	case "MAJOR": {7};
	case "COLONEL": {8};
};
if (d_current_ai_num >= _max_rank_ai) exitWith {
	(format ["You allready have %1 AI soldiers under your control, it is not possible to recruit more with your current rank...", _max_rank_ai]) call XfHQChat;
	_exitj = true;
};
// each AI soldier costs score points
["d_pas", [player, (d_ranked_a select 3) * -1]] call XNetCallEvent;
} else {
if (d_current_ai_num >= d_max_ai) exitWith {
	(format ["You allready have %1 AI soldiers under your control...", d_max_ai]) call XfHQChat;
	_exitj = true;
};
};
if (_exitj) exitWith {};

#ifdef __OA__
_ai_side_char = switch (d_own_side) do {
case "GUER": {"GUE"};
case "WEST": {"US"};
case "EAST": {"TK"};
};
#else
_ai_side_char = switch (d_own_side) do {
case "GUER": {"GUE"};
case "WEST": {"USMC"};
case "EAST": {"RU"};
};
#endif

_ai_side_unit = if (_type_soldier == "Specop") then {
#ifndef __OA__
switch (d_own_side) do {
	case "GUER": {"GUE_Soldier_Sab"};
	case "WEST": {"FR_Sapper"};
	case "EAST": {"RUS_Soldier_Sab"};
}
#else
switch (d_own_side) do {
	case "GUER": {"GUE_Soldier_Sab"};
	case "WEST": {"US_Delta_Force_Night_EP1"};
	case "EAST": {"TK_Special_Forces_EP1"};
}
#endif
} else {
format [_type_soldier, _ai_side_char]
};

_unit = d_grp_caller createUnit [_ai_side_unit, position AISPAWN, [], 0, "FORM"];
_unit setVariable ["BIS_noCoreConversations", true];
[_unit] join d_grp_caller;
_unit setSkill 1;
_unit setRank "PRIVATE";
["d_ad", _unit] call XNetCallEvent;
if (d_with_ranked) then {
_unit addEventHandler ["handleHeal", {_this call XHandleHeal}];
};
_d_ai_punits = d_ai_punits;
_d_ai_punits set [count _d_ai_punits, _unit];
d_ai_punits = _d_ai_punits;
__INC(d_current_ai_num);

Share this post


Link to post
Share on other sites
I'm unbable to search for a unit name, seeing as it's all folders and files..

It's really simply, you pull up search, you put *.* for "All or part of the file name:", you put the unit name or whatever word you want to search for where is says "A word or pharse in the file:" and you set "Look in:" to your mission folder and click "Search".

You can find a library of characters, objects and etc. here:

http://www.armatechsquad.com/ArmA2Class/

Try searching for:

SoldierS_Sniper

Edited by callihn

Share this post


Link to post
Share on other sites
I'm unbable to search for a unit name, seeing as it's all folders and files.

You have four options:

1) Highly recommended - Get a decent text editor with "search for text in file" function. UktraEdit (pay, which I'm using) and NotePad++ (others are very happy about it) seems to be the two most common.

2) Not recommended - Continue reading every file for the text you're looking for. :D I choked when I read that :p

3) Not recommended - OS hack/fix that requires file indexing to be turned on. Searches everything.

4) Kinda recommended - OS file registry fix that doesn't require file indexing to be turned on. Add own files types as "text files". Will search only through these, but can be a bit messy to do.

But seriously. If you're going to edit a mission like Domination, it is simply not very feasible to do it without the proper tools.

You see that line near the top:

_type_soldier = _this select 3;

Means this script is started from another script (or fsm). Now you need to search all your files for "addsoldier.sqf". Can't right now, just had a BSOD and haven't started my editing tools yet. Want to get some actual playtime now :p

@callihn: What you're describing may not be available in all OS'es. Maybe Vista/Win7 fixed it, dunno. Probably the worst change M$ ever did, at least from my standpoint.

Share this post


Link to post
Share on other sites
You have four options:

1) Highly recommended - Get a decent text editor with "search for text in file" function. UktraEdit (pay, which I'm using) and NotePad++ (others are very happy about it) seems to be the two most common.

2) Not recommended - Continue reading every file for the text you're looking for. :D I choked when I read that :p

3) Not recommended - OS hack/fix that requires file indexing to be turned on. Searches everything.

4) Kinda recommended - OS file registry fix that doesn't require file indexing to be turned on. Add own files types as "text files". Will search only through these, but can be a bit messy to do.

But seriously. If you're going to edit a mission like Domination, it is simply not very feasible to do it without the proper tools.

You see that line near the top:

_type_soldier = _this select 3;

Means this script is started from another script (or fsm). Now you need to search all your files for "addsoldier.sqf". Can't right now, just had a BSOD and haven't started my editing tools yet. Want to get some actual playtime now :p

@callihn: What you're describing may not be available in all OS'es. Maybe Vista/Win7 fixed it, dunno. Probably the worst change M$ ever did, at least from my standpoint.

Yea, just like file indexing, it's unneeded crap, problem is in order to supposedly save you time during a serach they have to take the time from something else in order to create the index which generally bogs things down and Windows loves to create this index while your gaming, which is probably 96% of the gaming populations mysterious lag spikes.

So, Notepad++ would be helpful.

http://notepad-plus-plus.org/

So how do I use "proper FLIR"?

Edited by callihn

Share this post


Link to post
Share on other sites

I don't know. It's just "there", no need to do anything. Other than run OA naturally, with vehicles that have FLIR. Add UAV, press n for vision modes, and FLIR is just there.

Share this post


Link to post
Share on other sites

Ok, thanks guys.. I've found it :)

One last question though, which should I edit? And how? Simply change the classnames, or is it a bit more complicated?

if (d_with_ai) then {
[] spawn {
	waitUntil {!isNil {__XJIPGetVar(D_AI_HUT)}};
	_D_AI_HUT = __XJIPGetVar(D_AI_HUT);
	_D_AI_HUT allowDamage false;
	player reveal _D_AI_HUT;
	_script = "x_client\x_addsoldier.sqf";
	#define __aiadda _D_AI_HUT addAction
#ifdef __OA__
	__aiadda ["Recruit Soldier" call XBlueText,_script,"%1_Soldier_EP1"];
	__aiadda ["Recruit AT Soldier" call XBlueText,_script,"%1_Soldier_AT_EP1"];
	__aiadda ["Recruit Medic" call XBlueText,_script,"%1_Soldier_Medic_EP1"];
	__aiadda ["Recruit MG Gunner" call XBlueText,_script,"%1_Soldier_MG_EP1"];
	__aiadda ["Recruit Grenadier" call XBlueText,_script,"%1_Soldier_GL_EP1"];
	__aiadda ["Recruit Sniper" call XBlueText,_script,"%1_Soldier_Sniper_EP1"];
	__aiadda ["Recruit AA Soldier" call XBlueText,_script,"%1_Soldier_AA_EP1"];
	__aiadda ["Recruit Specop" call XBlueText,_script,"Specop"];
#else
	__aiadda ["Recruit Soldier" call XBlueText,_script,"%1_Soldier"];
	__aiadda ["Recruit AT Soldier" call XBlueText,_script,"%1_Soldier_AT"];
	__aiadda ["Recruit Medic" call XBlueText,_script,"%1_Soldier_Medic"];
	__aiadda ["Recruit MG Gunner" call XBlueText,_script,"%1_Soldier_MG"];
	if (d_own_side in ["WEST","GUER"]) then {
		__aiadda ["Recruit Sniper" call XBlueText,_script,"%1_SoldierS_Sniper"];
	} else {
		__aiadda ["Recruit Sniper" call XBlueText,_script,"%1_Soldier_Sniper"];
	};
	__aiadda ["Recruit AA Soldier" call XBlueText,_script,"%1_Soldier_AA"];
	__aiadda ["Recruit Specop" call XBlueText,_script,"Specop"];
#endif
	__aiadda ["Dismiss AI" call XRedText,"x_client\x_dismissai.sqf"];
	_marker_name = "Recruit_x";
	[_marker_name, position _D_AI_HUT,"ICON","ColorYellow",[0.5,0.5],"Recruit Barracks",0,"mil_dot"] call XfCreateMarkerLocal;
};

Share this post


Link to post
Share on other sites
Ok,

One last question though, which should I edit? And how? Simply change the classnames, or is it a bit more complicated?

#ifdef __OA__
	__aiadda ["Recruit Soldier" call XBlueText,_script,"%1_[color="Red"]Soldier_EP1[/color]"];
	__aiadda ["Recruit AT Soldier" call XBlueText,_script,"%1_[color="Red"]Soldier_AT_EP1[/color]"];
	__aiadda ["Recruit Medic" call XBlueText,_script,"%1_[color="Red"]Soldier_Medic_EP1[/color]"];
	__aiadda ["Recruit MG Gunner" call XBlueText,_script,"%1_[color="Red"]Soldier_MG_EP1[/color]"];
	__aiadda ["Recruit Grenadier" call XBlueText,_script,"%1_[color="Red"]Soldier_GL_EP1[/color]"];
	__aiadda ["Recruit Sniper" call XBlueText,_script,"%1_[color="Red"]Soldier_Sniper_EP1[/color]"];
	__aiadda ["Recruit AA Soldier" call XBlueText,_script,"%1_[color="Red"]Soldier_AA_EP1[/color]"];
	__aiadda ["Recruit Specop" call XBlueText,_script,"[color="Red"]Specop[/color]"];

Change the classnames highlighted in red to BAF classnames, and it should do what you're asking. I BELIEVE thats all you have to do.

Share this post


Link to post
Share on other sites
I don't know. It's just "there", no need to do anything. Other than run OA naturally, with vehicles that have FLIR. Add UAV, press n for vision modes, and FLIR is just there.

Errr, no, thermal is not flir, they do not even look the same and in dom all the weapons have flir. Well, at least in this version.

;1740823']
#ifdef __OA__
	__aiadda ["Recruit Soldier" call XBlueText,_script,"%1_[color="Red"]Soldier_EP1[/color]"];
	__aiadda ["Recruit AT Soldier" call XBlueText,_script,"%1_[color="Red"]Soldier_AT_EP1[/color]"];
	__aiadda ["Recruit Medic" call XBlueText,_script,"%1_[color="Red"]Soldier_Medic_EP1[/color]"];
	__aiadda ["Recruit MG Gunner" call XBlueText,_script,"%1_[color="Red"]Soldier_MG_EP1[/color]"];
	__aiadda ["Recruit Grenadier" call XBlueText,_script,"%1_[color="Red"]Soldier_GL_EP1[/color]"];
	__aiadda ["Recruit Sniper" call XBlueText,_script,"%1_[color="Red"]Soldier_Sniper_EP1[/color]"];
	__aiadda ["Recruit AA Soldier" call XBlueText,_script,"%1_[color="Red"]Soldier_AA_EP1[/color]"];
	__aiadda ["Recruit Specop" call XBlueText,_script,"[color="Red"]Specop[/color]"];

Change the classnames highlighted in red to BAF classnames' date=' and it should do what you're asking. I BELIEVE thats all you have to do.[/quote']

Yep, that's it.

Hey does anyone know of a reason that ammo trucks would not reload arty in dom?

Edited by callihn

Share this post


Link to post
Share on other sites

How is FLIR not thermal? From Wiki:

Since FLIRs use detection of thermal energy to create the "picture" assembled for the video output, they can be used to help pilots and drivers steer their vehicles at night, and in fog, or detect warm objects against a cold background when it is completely dark (such as a cloudy, moonless night)
FLIRs, such as the AN/AAQ-26, are often used in naval vessels, fixed-wing aircraft, helicopters, and armored fighting vehicles. In warfare, they have three large advantages. First, the imager itself is nearly impossible for the enemy to detect, as it detects energy that's already there and doesn't have to send out any energy of its own. Second, it sees heat, which is hard to camouflage. Thirdly, FLIR systems can see through smoke, fog, haze, and other atmospheric obscurants better than a visible light camera can. However, it is hard to distinguish friend from foe when using the FLIR, which has led to friendly-fire incidents.

I know they look different, as the old "FLIR" isn't FLIR at all, just some post processing tricks that makes it grayscale and does some "things" to the image. "All weapons have FLIR"? Oh my... Not my kind of game :p

Share this post


Link to post
Share on other sites

FLIR is thermal, it's just a type of thermal imaging.

It means Forward Looking Infra Red and started out as being fitted to aircraft as a forward looking sensor, but now really applies to all vehicle mounted IR sensor suites.

IR, as we know it in this game, and when applied to weapons (which is I assume what we're talking about given Grimes' code) means Thermal Weapon sights and is a sighting system, not a sensor system.

Share this post


Link to post
Share on other sites
FLIR is thermal, it's just a type of thermal imaging.

It means Forward Looking Infra Red and started out as being fitted to aircraft as a forward looking sensor, but now really applies to all vehicle mounted IR sensor suites.

IR, as we know it in this game, and when applied to weapons (which is I assume what we're talking about given Grimes' code) means Thermal Weapon sights and is a sighting system, not a sensor system.

They are still not the same.

The FLIR in Domination is much lighter than the TWS now available in game.

How is FLIR not thermal? From Wiki:

I know they look different, as the old "FLIR" isn't FLIR at all, just some post processing tricks that makes it grayscale and does some "things" to the image. "All weapons have FLIR"? Oh my... Not my kind of game :p

Exactly and no only the vehicles gunner.

I may just kill it, I was going to leave it for those that may like it, it does look more realistic, the TWS system they just added does not show much really.

Edited by callihn

Share this post


Link to post
Share on other sites
They are still not the same.

The FLIR in Domination is much lighter than the TWS now available in game.

Oh, I see your point now. If I'm honest, I'd not noticed and until now, I'm not sure it's an issue for me.

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

×