Welcome to Tactical Gamer

User Tag List

Results 1 to 9 of 9
  1. #1


    Achievements:
    SocialRecommendation First ClassVeteranCreated Blog entryTagger First Class
    Awards:
    Calendar Award

    Unkl's Avatar

    Join Date
    Jan 2010
    Location
    Great White North
    Age
    45
    Posts
    4,807
    Blog Entries
    5
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    Call for headless client mission

    Looking to confugure a test of the headless client this weekend. Need a mission scripted to run this. Im thinking "melt the server" cqb settings seems perfect. Any submissions are welcome. We can work out the details as how we connect the client AI server.

  2.  
  3. #2

    AdeptAbyss's Avatar

    Join Date
    Jul 2007
    Location
    Belfast, Northern Ireland, United Kingdom
    Posts
    1,504
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Call for headless client mission

    City Drive should be perfect test for this, although it isn't set up for headless AI. What needs to be added to the mission to include it?

    My name: Adept a skilled or proficient person Abyss a deep, immeasurable space, gulf, or cavity
    So I'm a very skilled deep hole :D


  4.  
  5. #3
    Achievements:
    SocialVeteran1000 Experience Points

    OPS's Avatar

    Join Date
    Mar 2011
    Location
    Not Here
    Posts
    237
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Call for headless client mission

    Quote Originally Posted by AdeptAbyss View Post
    City Drive should be perfect test for this, although it isn't set up for headless AI. What needs to be added to the mission to include it?
    http://www.reddit.com/r/arma/comment...s_clients_for/

    This Should do it. It works with UPSMON

    Code:
    //   _    _                   _  _                      _____  _  _               _   
    //  | |  | |                 | || |                    / ____|| |(_)             | |  
    //  | |__| |  ___   __ _   __| || |  ___  ___  ___    | |     | | _   ___  _ __  | |_ 
    //  |  __  | / _ \ / _` | / _` || | / _ \/ __|/ __|   | |     | || | / _ \| '_ \ | __|
    //  | |  | ||  __/| (_| || (_| || ||  __/\__ \\__ \   | |____ | || ||  __/| | | || |_ 
    //  |_|  |_| \___| \__,_| \__,_||_| \___||___/|___/    \_____||_||_| \___||_| |_| \__|
    //                                                                                    
    //				@ dylanplecki@gmail.com
    //				@ forums.unitedoperations.net
    //
    //************************************************************************************
    //
    //	NOTES:
    //
    //----------------------------------------
    //
    //			Make sure you have a Headless Client Slot! Preferably use a side that
    //			isn't a fighting force (ie. civilian or independent). The name of the
    //			Headless Client can be set below in the parameters.
    //
    //----------------------------------------
    //
    //			IMPORTANT: Make sure you have at least 1 unit down on the editor for
    //			each side that you want to spawn in via this script, ie. if you want
    //			to spawn in some EAST units, you must first have an EAST unit set in
    //			the editor.
    //
    //----------------------------------------
    //
    //			REMEMBER: Don't forget about the 144 Group limit! Try to have as many
    //			units in one group as you can, and use the return value of the functions
    //			to add to a cycle to delete empty groups (If you want to).
    //
    //----------------------------------------
    //
    //************************************************************************************
    //
    //	Syntaxes:
    //
    //----------------------------------------
    //
    //		_handle = [] execVM "scripts\CRACK_HC.sqf"; // Put in init.sqf, execute on all machines, initializes this script
    //
    //----------------------------------------
    //
    //		_result = _unitArray call CRACK_fnc_createGroupsOnHC; // Call on any (ONE) machine when you want to create (a) group(s) on the HC
    //
    //			Where:		_unitArray = [[[["UnitClassname1", "CodeToRunOnSpawn", _skill, _rank], ...], _position, _side], ...];
    //
    //			Returns:	Array (of spawned group names in order)
    //				
    //----------------------------------------
    //
    //************************************************************************************
    //
    //	Example Syntaxes:
    //
    //----------------------------------------
    //
    /*
    	_unitArray = [
    		[ // Group 1
    			[ // Unit Array
    				["TK_INS_Soldier_TL_EP1", "nul = [this, 'area0'] execVM 'scripts\UPSMON.sqf'", 0.5, "CORPORAL"],
    				["TK_INS_Soldier_EP1", "", 0.2, "PRIVATE"],
    				["TK_INS_Soldier_MG_EP1", "", 0.3, "PRIVATE"],
    				["TK_INS_Soldier_AT_EP1", "", 0.3, "PRIVATE"]
    			],
    			(getMarkerPos "AI_SPAWN_1"),
    			RESISTANCE
    		],
    		[ // Group 2
    			[ // Unit Array
    				["TK_INS_Soldier_TL_EP1", "nul = [this, 'area1'] execVM 'scripts\UPSMON.sqf'", 0.7, "SERGEANT"],
    				["TK_INS_Soldier_Sniper_EP1", "", 0.5, "CORPORAL"]
    			],
    			(getMarkerPos "AI_SPAWN_2"),
    			RESISTANCE
    		]
    	];
    	_result = _unitArray call CRACK_fnc_createGroupsOnHC;
    */
    //
    //----------------------------------------
    //
    /*
    	_unitArray = [
    		[ // Group 1
    			[ // Unit Array
    				["TK_Soldier_SL_EP1", "", 0.7, "SERGEANT"],
    				["TK_Soldier_B_EP1", "", 0.5, "CORPORAL"],
    				["TK_Soldier_GL_EP1", "", 0.3, "PRIVATE"],
    				["TK_Soldier_LAT_EP1", "", 0.3, "PRIVATE"],
    				["TK_Soldier_MG_EP1", "", 0.3, "PRIVATE"],
    				["TK_Soldier_B_EP1", "", 0.5, "CORPORAL"],
    				["TK_Soldier_GL_EP1", "", 0.3, "PRIVATE"],
    				["TK_Soldier_LAT_EP1", "", 0.3, "PRIVATE"],
    				["TK_Soldier_MG_EP1", "", 0.3, "PRIVATE"],
    				["TK_Soldier_Medic_EP1", "", 0.4, "PRIVATE"]
    			],
    			(getMarkerPos "hc_spawn"),
    			EAST
    		]
    	];
    	_result = _unitArray call CRACK_fnc_createGroupsOnHC;
    */
    //
    //----------------------------------------
    //
    //************************************************************************************
    
    // Securing Variables
    private ["_headlessClientNameString"];
    
    //************************************************************************************
    
    // Parameters
    _headlessClientNameString = "HeadlessClient"; // Name of the Headless Client unit
    
    //************************************************************************************
    
    // Functions
    
    //----------------------------------------
    
    CRACK_fnc_createGroupsOnHC = {
    	
    	private ["_groups", "_spawnId"];
    	
    	_spawnId = CRACK_var_spawnIdCounter;
    	CRACK_var_spawnIdCounter = CRACK_var_spawnIdCounter + 1;
    	publicVariable "CRACK_var_spawnIdCounter";
    	
    	["CRACK_ceh_createGroupsOnHC", [_this, _spawnId]] call CBA_fnc_globalEvent;
    	
    	waituntil {(CRACK_var_spawnedGroups select 0) == _spawnId;};
    	_groups = CRACK_var_spawnedGroups select 1;
    	
    	_groups
    };
    
    //----------------------------------------
    
    CRACK_fnc_createGroups = {
    	
    	private ["_unitArray", "_spawnID", "_groups", "_position", "_units", "_group", "_side", "_type", "_code", "_skill", "_rank"];
    	
    	_unitArray = _this select 0;
    	_spawnID = _this select 1;
    	_groups = [];
    	
    	{ // FOREACH GROUP
    		
    		_units = _x select 0;
    		_position = _x select 1;
    		_side = _x select 2;
    		_group = createGroup _side;
    		
    		{ // FOREACH UNIT IN GROUP
    			_type = _x select 0;
    			_code = _x select 1;
    			_skill = _x select 2;
    			_rank = _x select 3;
    			
    			_type createUnit [_position, _group, _code, _skill, _rank];
    			
    		} foreach _units;
    		
    		_groups = _groups + [_group];
    		
    	} foreach _unitArray;
    	
    	CRACK_var_spawnedGroups = [_spawnID, _groups];
    	publicVariable "CRACK_var_spawnedGroups";
    };
    
    //----------------------------------------
    
    //************************************************************************************
    
    // Script
    
    //----------------------------------------
    
    if (isserver) then {
    	
    	CRACK_var_spawnIdCounter = 0;
    	CRACK_var_spawnedGroups = [-1, []];
    	
    	publicVariable "CRACK_var_spawnIdCounter";
    	publicVariable "CRACK_var_spawnedGroups";
    	
    };
    
    //----------------------------------------
    
    if (!isdedicated) then {
    	
    	waituntil {!(isNull player)};
    	
    	if ((str player) == _headlessClientNameString) then {
    		
    		["CRACK_ceh_createGroupsOnHC", CRACK_fnc_createGroups] call CBA_fnc_addEventHandler;
    		
    	};
    };
    
    //----------------------------------------
    
    //************************************************************************************

    "Human history is a litany of blood, shed over different ideals of rulership and afterlife... If this is the individuality you value, we question your judgement." - Legion, Mass Effect 2




  6.  

  7. #4

    AdeptAbyss's Avatar

    Join Date
    Jul 2007
    Location
    Belfast, Northern Ireland, United Kingdom
    Posts
    1,504
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Call for headless client mission

    Thanks Ops, i'll have a good read over this tonight and look at getting a large mission running upsmon working

    My name: Adept a skilled or proficient person Abyss a deep, immeasurable space, gulf, or cavity
    So I'm a very skilled deep hole :D


  8.  
  9. #5
    Achievements:
    SocialRecommendation First ClassVeteranTagger Second Class10000 Experience Points

    Dimitrius's Avatar

    Join Date
    Apr 2007
    Location
    The Windy City of Chicago, Illinois. USA.
    Age
    33
    Posts
    1,402
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    Re: Call for headless client mission

    If I get time this weekend, I'll chime in and take a crack at it.
    Ex-ARMA Irregulars Platoon Commander
    Ex-ARMA Administrator | Ex-Pathfinder | Ex-TGU Instructor

  10.  
  11. #6

    BL1P's Avatar

    Join Date
    Feb 2012
    Location
    Land of Hope & Glory
    Age
    48
    Posts
    494
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Call for headless client mission

    Ill have a look at putting it on PO:MSO but no time soon I am still concurring the universe in X3:AP
    The path of my life is strewn with cowpats from the devil's own satanic herd.

  12.  

  13. #7


    Achievements:
    SocialRecommendation First ClassVeteranCreated Blog entryTagger First Class
    Awards:
    Calendar Award

    Unkl's Avatar

    Join Date
    Jan 2010
    Location
    Great White North
    Age
    45
    Posts
    4,807
    Blog Entries
    5
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    Re: Call for headless client mission

    The mso does have a quick read me on how to implement it with the headless client. The time frame is pushed back on doing a test with a mission but that's fine, we may be looking at next weekend.

  14.  
  15. #8

    AdeptAbyss's Avatar

    Join Date
    Jul 2007
    Location
    Belfast, Northern Ireland, United Kingdom
    Posts
    1,504
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Call for headless client mission

    Found a sample mission someone has made already if you want to have a look at it.
    https://www.dropbox.com/s/23xha13vzl...mo.Zargabad.7z

    I'm still looking over it and will work on something soon, although I suspect someone with more scripting experience will do better

    My name: Adept a skilled or proficient person Abyss a deep, immeasurable space, gulf, or cavity
    So I'm a very skilled deep hole :D


  16.  
  17. #9

    AdeptAbyss's Avatar

    Join Date
    Jul 2007
    Location
    Belfast, Northern Ireland, United Kingdom
    Posts
    1,504
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Call for headless client mission

    Alright someone with good scripting knowledge will really need to make this, seems to require a script to spawn AI under headless control, and while I'm good at stealing other people scripts I don't know enough to make a new script to include headless

    My name: Adept a skilled or proficient person Abyss a deep, immeasurable space, gulf, or cavity
    So I'm a very skilled deep hole :D


  18.  

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Back to top