Jump to content
Tankbuster

Editing, Expanding and Modifying Domination

Recommended Posts

Hi guys, sorry to ask such a silly question, but does anybody have the base files for the chernarus carrier_domination? I've tryed all of the PBO opening problems, but either cannot uncompress the PBO or have problems with the opening program.

Ive got the domination editing files that come with the domi_pack but have no idea how to turn that into carrier Domination.

Any help would be appreciated, and I apologise if this question has been asked already but but I did have a quick search of the forum.

Thanks,

Fonz

Share this post


Link to post
Share on other sites
;1919573']Hi guys' date=' sorry to ask such a silly question, but does anybody have the base files for the chernarus carrier_domination? I've tryed all of the PBO opening problems, but either cannot uncompress the PBO or have problems with the opening program.

Ive got the domination editing files that come with the domi_pack but have no idea how to turn that into carrier Domination.

Any help would be appreciated, and I apologise if this question has been asked already but but I did have a quick search of the forum.

Thanks,

Fonz[/quote']

The original files are here. I've put 2.11 up for you.

http://www.teamspaff.co.uk/domination/

Share this post


Link to post
Share on other sites

Thanks for that, got it figured now! Another question (final one hopefully!), is it possible to edit the game settings so that players dont need to wait 30mins to fly jets and attack helis? If so which file do I edit?

Cheers

Fonz (nooby editor)

Share this post


Link to post
Share on other sites

That's a parameter, I think. You don't need to edit files for that.

Share this post


Link to post
Share on other sites

Tankbuster is correct.

However, if you do want to edit the default of that parameter, it's under d_AutoKickTime in description.ext. Change default = 1800; to default = 0;

Share this post


Link to post
Share on other sites

Ah yes, autokick. Not a terribly good name for the variable - perhaps that's why I couldn't remember it. :)

Share this post


Link to post
Share on other sites

Hi Guys,

can someone tell me where i can find the counterpart of this little code:

#ifdef __WOUNDS__

class WoundsRevTime {

title = "Wounds life time:";

values[] = {60,120,300,600,1200,-1};

default = 300;

texts[] = {"60 secs","120 secs","300 secs","600 secs","1200 secs","No poor mans r"};

};

thx

fogu

Share this post


Link to post
Share on other sites

What do you mean 'counterpart'?

Share this post


Link to post
Share on other sites

i mean normaly you got some lines in your init.sqf to get the lobby parameters

but i cant find it in the domination scripts.

Share this post


Link to post
Share on other sites

Have you done a search in files like I mention in the first post?

Share this post


Link to post
Share on other sites

Can anyone tell me what this is doing?

		if (GVAR(with_ai)) then {
		if (__RankedVer) then {_one_unit addEventHandler ["killed", {[1,_this select 1] call FUNC(AddKillsAI)}]};
	};

I added AI to the Ranked version. I wanted AI but I didnt want all the arbitrary changes Xeno made to the AI version like everyone can rescue, arty, call drops, repair etc. I really don't understand the logic, why would he assume that people who wanted to play with AI would also want to remove the class system?

Anyway rant over. Question is does anyone know what that bit of code is doing? It appears all over the place when "with_AI" is defined, but I dunno what it's doing. Best I can guess is it's something to do with given the player points for his AI kills. Can I leave those lines out while playing with AI without breaking anything?

Share this post


Link to post
Share on other sites

Ringosis, I think you've done this the wrong way round. It'd have been much better to take the AI version and enable ranked.

"with_AI" defines the AI version. with_ai is true in AI versions.

That code is adding a "killed" eventhandler to the unut called one_unit. When he dies, it execute the function AddKillsAI

Share this post


Link to post
Share on other sites
Ringosis, I think you've done this the wrong way round. It'd have been much better to take the AI version and enable ranked.

What's your reasoning? Defining __AI__ in the setup adds about 5 or 6 things to the mission, only one of which I want (the ability to get AI). Surely it's easier to add that one thing to the ranked version than remove all the unwanted things from the AI version?

"with_AI" defines the AI version. with_ai is true in AI versions.

That code is adding a "killed" eventhandler to the unut called one_unit. When he dies, it execute the function AddKillsAI

Can you dumb that down a bit further, it's still over my head.

Share this post


Link to post
Share on other sites
What's your reasoning? Defining __AI__ in the setup adds about 5 or 6 things to the mission, only one of which I want (the ability to get AI). Surely it's easier to add that one thing to the ranked version than remove all the unwanted things from the AI version?

I see. You don't want the team wide ability to repair vehicles/rescue hostages/call artillery? If that's the case then yes, your way is better.

---------- Post added at 20:26 ---------- Previous post was at 20:26 ----------

Can you dumb that down a bit further, it's still over my head.

I can't tell if you're being sarcastic or not, so I'll leave that one for the time being.

---------- Post added at 20:28 ---------- Previous post was at 20:26 ----------

I really don't understand the logic, why would he assume that people who wanted to play with AI would also want to remove the class system?

I imagine that the AI version is aimed at very small teams. That's why the players have more abilities. If you have AI, it's quite possible to play it single player.

Edited by Tankbuster

Share this post


Link to post
Share on other sites

No I'm not being sarcastic, I have absolutely no coding skills, I'm working on logic, guess work and trial and error.

I understand that __AI__ in the setup defines "with_ai" and then anything that calls (GVAR "with_ai") will be part of a mission with AI on. So all I've done is searched the entire pbo for any instance of "with_ai" and changed it to "with_ranked" on any line that isn't dealing with addaction/artillery/call drop/is_engineer type stuff.

Seems to work fine, the AI building spawns, I can buy AI in game, it deducts points, it won't let me buy if I don't have enough points, and I don't have any extra class options. I'd just like to know what those lines are doing in case they cause bugs that I havn't noticed yet. Virtually the same line seems to be all over the place and I can't figure out what it's doing.

Some examples:

x_serverfunc.sqf

00293: #ifdef __TT__
00294: if (_do_points) then {_vehicle addEventHandler ["killed", {[3,_this select 1] call FUNC(AddKills)}]};
00295: #endif
00296: if (GVAR(with_ai)) then {if (__RankedVer) then {_vehicle addEventHandler ["killed", {[5,_this select 1] call FUNC(AddKillsAI)}]}};
00297: };
00298: (leader _grp) setSkill _grpskill;
00299: [_the_vehicles, _crews]
00300: };

fn_spawncrew.sqf

00067: __addDeadAI(_unit)
00068: #ifdef __TT__
00069: if (_do_points) then {_unit addEventHandler ["killed", {[1,_this select 1] call FUNC(AddKills)}]};
00070: #endif
00071: if (GVAR(with_ai)) then {
00072: if (__RankedVer) then {_unit addEventHandler ["killed", {[1,_this select 1] call FUNC(AddKillsAI)}]};
00073: };
00074: _unit setUnitAbility ((GVAR(skill_array) select 0) + (random (GVAR(skill_array) select 1)));
00075:

x_createpara.sqf

00060: _one_unit setVariable ["BIS_noCoreConversations", true];
00061: __addDeadAI(_one_unit)
00062: #ifdef __TT__
00063: _one_unit addEventHandler ["killed", {[1,_this select 1] call FUNC(AddKills)}];
00064: #endif
00065: if (GVAR(with_ai)) then {
00066: if (__RankedVer) then {_one_unit addEventHandler ["killed", {[1,_this select 1] call FUNC(AddKillsAI)}]};
00067: };
00068: _one_unit setSkill ((GVAR(skill_array) select 0) + (random (GVAR(skill_array) select 1)));

Share this post


Link to post
Share on other sites
I'm working on logic, guess work and trial and error.

Excellent. :) The best way.

---------- Post added at 20:44 ---------- Previous post was at 20:40 ----------

So all I've done is searched the entire pbo for any instance of "with_ai" and changed it to "with_ranked" on any line that isn't dealing with addaction/artillery/call drop/is_engineer type stuff.

I suggest that doing this is risky. If it were me, I'd set both ranked and ai to true, then comment out the ai bits you don't want.

You still want the class system? The problem is that in the AI version everyone is in their own group. They are all team leaders.

---------- Post added at 20:49 ---------- Previous post was at 20:44 ----------

OK. Eventhandlers. :) Deep breath. (also known as EH)

When you add an eventhandler to a vehicle or unit, you say which type it is. In this case, is the "killed" eventhandler. When the unit or vehicle that has the eventhandler on it is killed, the eventhanlder "fires" (it's a potentially confusing term, I know) and the function at the end of the EH is executed.

So, if you look at line 63 in x_createpara, you can see that the unit named _one_unit has the "killed" EH attached to him. When he dies, the game will the function AddKIlls. You might find it useful to find where AddKIlls is defined and have a look.

Share this post


Link to post
Share on other sites
Excellent. :)

I suggest that doing this is risky. If it were me, I'd set both ranked and ai to true, then comment out the ai bits you don't want.

The problem with doing that is that almost all the parts I'm concerned with are part of rather complex if/else statements...commenting out the bits I don't want would just break the script.

You still want the class system? The problem is that in the AI version everyone is in their own group. They are all team leaders.

I don't really see where your problem is? "Team Leader" is just a name it's not like if you are the leader of a team then you MUST have "Team Leader" abilities. Xeno could just as easily have called the class "Air Drop Guy". I don't want every player in the game to have half a dozen different abilities regardless of if they are leading a team or not.

So, if you look at line 63 in x_createpara, you can see that the unit named _one_unit has the "killed" EH attached to him. When he dies, the game will the function AddKIlls. You might find it useful to find where AddKIlls is defined and have a look.

Yeah, I've done that, like I said, to me it looks like they are there to add points to the player's score if their AI gets a kill, but I'm asking for someone who knows better than me to look at it and tell me if that is correct and if that is all they do.

Share this post


Link to post
Share on other sites

Yeah, I've done that, like I said, to me it looks like they are there to add points to the player's score if their AI gets a kill, but I'm asking for someone who knows better than me to look at it and tell me if that is correct and if that is all they do.

Thats exactly what that code does. It credits you when your AI get kills.

---------- Post added at 21:34 ---------- Previous post was at 21:31 ----------

I don't really see where your problem is? "Team Leader" is just a name it's not like if you are the leader of a team then you MUST have "Team Leader" abilities. Xeno could just as easily have called the class "Air Drop Guy". I don't want every player in the game to have half a dozen different abilities regardless of if they are leading a team or not.

The entire class system hangs off the unit names, including the broken (in 2.29) engineer scripts.

This is why it might have been better to not use AI as the base for you mission, because of this everyone-can-do-everything stuff. Abilities are assigned to units by their editor name, west_1 and so on, except in the AI version.

Share this post


Link to post
Share on other sites
The entire class system hangs off the unit names, including the broken (in 2.29) engineer scripts.

This is why it might have been better to not use AI as the base for you mission, because of this everyone-can-do-everything stuff. Abilities are assigned to units by their editor name, west_1 and so on, except in the AI version.

What's broken about the engineer scripts? And I didn't use AI as the base for my mission. I used ranked, you were the one that said I should have used AI :P

Share this post


Link to post
Share on other sites

There's a variable called "is_engineer" or similar which makes you think you can assign players to that variable making them engineers. But it doesn't work. That variable is completely ignored.

Yes, you're right. :) I did say that. It might have been better to go at it starting with AI then try to prune the bits that give universal abilities.

To be honest, what you are doing is a big job. I've been fiddling with this mission for years and it's something that would be quite daunting for me.

Share this post


Link to post
Share on other sites
There's a variable called "is_engineer" or similar which makes you think you can assign players to that variable making them engineers. But it doesn't work. That variable is completely ignored.

Yes, you're right. :) I did say that. It might have been better to go at it starting with AI then try to prune the bits that give universal abilities.

To be honest, what you are doing is a big job. I've been fiddling with this mission for years and it's something that would be quite daunting for me.

Uh..."is_engineer" isn't ignored. It's called here and adds the checks to see if you can use the Salvage truck.

00010: GVAR(cargo_selected_index) = -1;
00011:
00012: _tr_cargo_array = GVD(_vehicle,GVAR(CARGO_AR),[]);
00013:
00014: if (!GVAR(with_ai)) then {
00015: if !(GVAR(string_player) in GVAR(is_engineer)) exitWith {hintSilent "Only engineers can place static weapons"};
00016: };
00017:
00018: if (vehicle _engineer == _vehicle) exitWith {hintSilent "You have to get out before you can place the static weapon!"};
00019:
00020: if (count _tr_cargo_array > 0) then {

And here to show who is playing an engineer on the settings screen.

00343: };
00344: } forEach GVAR(is_engineer);
00345:
00346: if (_str == "") then {_str = "No human players are engineers"};
00347: __ctrl(2010) ctrlSetText _str;
00348:
00349: [] spawn {

And here to add the Build Farp action menu entry

00835: __pSetVar [quote(GVAR(is_engineer)),true];
00836: __pSetVar [quote(GVAR(farp_pos)), []];
00837: __pSetVar [quote(GVAR(farpaction)), _p addAction ["Build FARP" call FUNC(GreyText),"x_client\x_farp.sqf",[],-1,false,true,"","count (player getVariable 'd_farp_pos') == 0"]];
00838:

And here to define which players can repair base buildings

00027: #ifndef __TT__
00028: FUNC(jet_service_facNet) = {
00029: if (__XJIPGetVar(GVAR(jet_serviceH))) then {
00030: private ["_element", "_pos", "_dir", "_fac"];
00031: if (GVAR(string_player) in GVAR(is_engineer) || GVAR(with_ai)) then {[0] spawn FUNC(XFacAction)};
00032: _element = GVAR(aircraft_facs) select 0;
00033: _pos = _element select 0;
00034: _dir = _element select 1;
00035: _fclass = if (__OAVer) then {"Land_vez_ruins"} else {"Land_budova2_ruins"};
00036: _fac = _fclass createVehicleLocal _pos;

And here if you have the old Repair/Refeul function on

if ((GVAR(string_player) in GVAR(is_engineer)) || GVAR(with_ai)) then {
#ifndef __ACE__
FUNC(sfunc) = {
	private "_objs";
	if (vehicle player == player) then {
		_objs = nearestObjects [player, ["LandVehicle","Air"], 7];
		if (count _objs > 0) then {
			GVAR(objectID2) = _objs select 0;
			if (alive GVAR(objectID2)) then {
				(damage GVAR(objectID2) > 0.05 || fuel GVAR(objectID2) < 1)
			} else {
				false

Share this post


Link to post
Share on other sites

help me..

I made ​​several beta missions

but, there are different names for the beta Mission

arma2oa5.jpg

I erased it from the Editor.

But "Domi_OA!" are left...

Please tell me how to change the name of the mission...

Share this post


Link to post
Share on other sites

What version of Domination are you using as a base, Ringo?

Share this post


Link to post
Share on other sites
help me..

I made ​​several beta missions

but, there are different names for the beta Mission

arma2oa5.jpg

I erased it from the Editor.

But "Domi_OA!" are left...

Please tell me how to change the name of the mission...

Go into the mission.sqm and change the line "briefingName=" to the name you want

What version of Domination are you using as a base, Ringo?

2.57 Ranked OA

Share this post


Link to post
Share on other sites

2.57 Ranked OA

That explains why I don't recognise much of the code you've posted. My mission is based on 2.29. Xeno must have fixed the busted engineer code after that.

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

×