Announcement

Collapse
No announcement yet.

Server 2 - Task Force Radio - Mission Requirements

Collapse
This is a sticky topic.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • [SOP] Server 2 - Task Force Radio - Mission Requirements

    There are going to be a few requirements for mission submissions that should be met before such missions will be uploaded.

    The first is some requirements for making the radios work the way we want at TG. We will keep the server compatible with people who join without the mod installed. This requires some work arounds to make happen which I will come back to.

    The second is that any mission submitted must be compatible with the vanilla game. If the following steps are followed this will be as easy as commenting out a few lines to remove the addActions for getting radios out of an ammo box. Server One is our primary server and every mission must be available to it. It really isn't much to do but we don't want the admin team to have to edit your missions. So missions won't be uploaded unless you take the few minutes to make a clean Server One version.

    Back to our first point:

    B has helped in converting some of his missions to use with TFR and in such a way that it doesn't prevent non-modded players from joining. I present the problems and solutions.

    1. Any use of any TFR objects be it modules or radio box makes the server exclusive to those who have the mod installed and running.
    2. TFR by default gives each group their own assigned set of frequencies for the radios. Kind of odd since you only need a few channels and some of the default rifleman radios do not allow you to enter specific frequencies. This means a rifleman can select channels but none of them will be compatible with those from another group.
    3. Everyone loses their backpack and gets a LR radio. (UAV operator has no UAV) (medic gets radio and medikit & faks are in it thankfully)

    Solutions:
    There are solutions for this the mission maker has to take care of.

    1. No TaskForceRadio objects in the mission editor. If you have placed a TFR radio box or module and deleted it you will have the edit the mission.sqm and remove @task_force_radio from the "required addons" or whatever that list is called in that file. If this is not done then no one without the mod installed will get into the mission and be booted to the the server lobby list.

    2. There are commands to put in the init.sqf of the mission that will define that a side must use all the same channels. Also to disable the automatic giving of LR radio backpacks and short range radios. Looks like this:
    Code:
     //TaskForceRadio controls
    //Stop spawning new long range radios
    tf_no_auto_long_range_radio = true;
    //Give out personal radios
    TF_give_personal_radio_to_regular_soldier = true;
    
    //Same frequencies for everyone
    tf_same_sw_frequencies_for_side = true;
    tf_same_lr_frequencies_for_side = true;
    //Same frequencies for everyone
    tf_same_sw_frequencies_for_side = true;
    tf_same_lr_frequencies_for_side = true;
    Then we define what radios we will allow for TFR for different types of units:
    Code:
    tf_defaultWestBackpack = "tf_rt1523g"; tf_defaultWestPersonalRadio = "tf_anprc152"; tf_defaultWestRiflemanRadio = "tf_rf7800str"; tf_defaultWestAirborneRadio = "tf_anarc210";
    tf_defaultEastBackpack = "tf_rt1523g"; tf_defaultEastPersonalRadio = "tf_anprc152"; tf_defaultEastRiflemanRadio = "tf_rf7800str"; tf_defaultEastAirborneRadio = "tf_anarc210";
    tf_defaultGuerBackpack = "tf_rt1523g"; tf_defaultGuerPersonalRadio = "tf_anprc152"; tf_defaultGuerRiflemanRadio = "tf_rf7800str"; tf_defaultGuerAirborneRadio = "tf_anarc210";
    edit in orange

    Finally in the init.sqf we will remove all personal radios from each player on start to prevent any substitutions by TFR and execute an ammo box fill script we will talk about in a minute.
    Code:
    if !(isDedicated) then
    {
    player unassignItem "ItemRadio"; player removeItem "ItemRadio";
    }; //ammo boxes by Unk _back = []execVM "TG\backpackBox.sqf"; _gear = []execVM "TG\gearBox.sqf";
    I've used the example of my gearbox.sqf script which I use to fill an ammo box with goodies and add a couple scroll wheel actions to it to allow those with the mod to get and use TFR radios (compliments of B).
    Code:
    if !(isDedicated) then
    {
    gearbox addAction ["<t color='#00ffff'>Get Long Range Radio</t> ", "TG\getLongRadio.sqf"]; gearbox addAction ["<t color='#008db8'>Get Short Range Radio</t> ", "TG\getShortRadio.sqf"];
    }; if (isServer) then {
    _run = true; while {_run} do {
    clearweaponcargo gearbox; clearmagazinecargo gearbox; clearitemcargo gearbox; gearbox addWeaponCargoGlobal ["SMG_01_F",4]; gearbox addWeaponCargoGlobal ["arifle_MX_Black_F",6]; gearbox addWeaponCargoGlobal ["arifle_MX_SW_Black_F",9]; gearbox addWeaponCargoGlobal ["hgun_Pistol_heavy_01_F",11]; gearbox addWeaponCargoGlobal ["arifle_MX_GL_Black_F",12]; gearbox addMagazineCargoGlobal ["11Rnd_45ACP_Mag",30]; gearbox addMagazineCargoGlobal ["3Rnd_UGL_FlareWhite_F",19]; gearbox addMagazineCargoGlobal ["3Rnd_UGL_FlareRed_F",19]; gearbox addMagazineCargoGlobal ["3Rnd_UGL_FlareGreen_F",19]; gearbox addWeaponCargoGlobal ["srifle_EBR_F",40]; gearbox addItemCargoGlobal ["ItemRadio",14]; sleep 3600;
    };
    };

    Above, it is important to add the non-TFR radio into the crate so JIP's who don't have TFR installed can get one so they can see TXT messages in the game.

    Here is the example of getShortRadio.sqf:
    Code:
     _caller = _this select 1;
    
    _caller addItem "tf_anprc152";
    _caller assignItem "tf_anprc152";
    hintSilent "A short range radio has replaced your radio.";

    And getLongRadio.sqf:
    Code:
    _leaders = ["B_Soldier_SL_F","B_Soldier_TL_F","B_officer_F","B _soldier_repair_F","B_Helipilot_F","B_crew_F"];
    
    _caller = _this select 1;
    _type = typeOf _caller;
    
    if (_type IN _leaders) then
    {
    removeBackpack _caller; _caller addBackpack "tf_rt1523g_big"; hintSilent "A long range radio backpack has replaced your backpack.";
    } else {
    hintSilent "Only authorized personnel (leaders-pilots-crewmen) may create a long range radio.";
    };
    As you can see, long range radios are class restricted and the mission maker defines what units may get long range by adding their unit type to the _leaders array.


    This is not as complicated as it would seem to non-mission makers. This is a pretty easy fix.
    Last edited by Unkl; 12-30-2015, 06:14 AM. Reason: updating init.sqf requirement
    |TG-189th| Unkl
    ArmA 3 Game Officer
    Dean of Tactical Gamer University
    189th Infantry Brigade Member
    SUBMIT A RIBBON NOMINATION OR CONTACT AN ARMA ADMIN
    "We quickly advance in the opposite direction and take cover in a house on the SW side of town." - BadStache

  • #2
    Re: Server 2 - Task Force Radio - Mission Requirements

    As per this post by the original author... To ensure that all soldier's personal radios are replaced by 152 - the frequency configurable one the following line is a must:

    TF_give_personal_radio_to_regular_soldier = true;

    I got it incorrectly the first time. Sorry.
    Last edited by Unkl; 07-15-2014, 07:45 AM. Reason: op changed, ty

    Comment


    • #3
      Re: Server 2 - Task Force Radio - Mission Requirements

      A quick update on this... instead of making two separate missions one mission can be made such that server and clients has to keep track of one extra boolean variable to detect and generate the extra variables needed:

      In the init (of server or initServer.sqf):

      Code:
      is_mod_tfr_enabled = isClass(configFile/"CfgPatches"/"task_force_radio");
      publicVariable "is_mod_tfr_enabled";
      
      if (is_mod_tfr_enabled) then
      {
      	tf_no_auto_long_range_radio = true;
      	publicVariable "tf_no_auto_long_range_radio";
      	
      	TF_give_personal_radio_to_regular_soldier = true;
      	publicVariable "TF_give_personal_radio_to_regular_soldier";
      	
      	tf_same_sw_frequencies_for_side = true;
      	publicVariable "tf_same_sw_frequencies_for_side";
      	
      	tf_same_lr_frequencies_for_side = true;
      	publicVariable "tf_same_lr_frequencies_for_side";
      	
      	_settingsSwWest = false call TFAR_fnc_generateSwSettings;
      	_settingsSwWest set [2, ["311","312","313","314","315","316","317","318"]];
      	tf_freq_west = _settingsSwWest;
      
      	_settingsLrWest = false call TFAR_fnc_generateLrSettings;
      	_settingsLrWest set [2, ["30","41","42","43","44","45","46","47","48"]];
      	tf_freq_west_lr = _settingsLrWest;
      };
      Once this is done the addAction can be placed when the control variable is true. For example in the init of the client (e.g. initPlayerLocal.sqf):

      Code:
      if (is_mod_tfr_enabled) then
      {
      	short_radio = compile preprocessfilelinenumbers "getShortRadio.sqf";
      	long_radio  = compile preprocessfilelinenumbers "getLongRadio.sqf";
      
      	<objectName> addAction ["<t color='#00ffff'>Get Long Range Radio</t> ", "call long_radio"];
      	<objectName> addAction ["<t color='#008db8'>Get Short Range Radio</t> ", "call short_radio"];
      };
      where instead of <objectName> can be the name of the ammobox. Furthermore, with the understanding of how we can set channel frequencies and how we can make sure that regular soldiers can have the advanced short range radios, it is no longer needed to remove ItemRadio from the soldier. They will be automatically replaced by the radio that we like with the preset frequencies.
      Last edited by hedgehog; 07-22-2014, 08:01 AM.

      Comment


      • #4
        Re: Server 2 - Task Force Radio - Mission Requirements

        Hey guys, was just playing around in the Zeus TFR mission and noticed the commander couldn't get a LR radio. Looks like the B_Officer class name isn't in the list of classnames above.
        sigpic

        Comment


        • #5
          Re: Server 2 - Task Force Radio - Mission Requirements

          B,
          I see one problem when someone joins the server and they don't have TFR then they still have the addAction to get a radio from the box and therefor get an error. So I'd check locally that TFR is installed and running, then choose to put the addAction in or not.

          Of course, my ammoboxes are always global so this is different depending on how you handle the actual box locality.
          Code:
          //gearbox.sqf for Unkl's global gearbox
          if !(isDedicated) then
          {
          	_is_mod_tfr_enabled_locally = isClass(configFile/"CfgPatches"/"task_force_radio");
          	if (_is_mod_tfr_enabled_locally) then
          	{
          		gearbox addAction ["<t color='#00ffff'>Get Long Range Radio</t> ", "TG\getLongRadio.sqf"];
          		gearbox addAction ["<t color='#008db8'>Get Short Range Radio</t> ", "TG\getShortRadio.sqf"];
          	};
          };
          
          if (isServer) then {
          	_run = true;
          	while {_run} do
          	{
          	
           clearweaponcargo gearbox;
           clearmagazinecargo gearbox;
           clearitemcargo gearbox;
          
           gearbox addWeaponCargoGlobal ["SMG_01_F",10];
           gearbox addWeaponCargoGlobal ["arifle_MX_Black_F",12];
           gearbox addWeaponCargoGlobal ["arifle_MX_SW_Black_F",12];
           gearbox addItemCargoGlobal ["muzzle_snds_H",32];
           gearbox addMagazineCargoGlobal["20Rnd_762x51_Mag", 80];
           gearbox addMagazineCargoGlobal ["30Rnd_45ACP_Mag_SMG_01_Tracer_Green",10];
           gearbox addMagazineCargoGlobal ["30Rnd_45ACP_Mag_SMG_01",40];
           gearbox addMagazineCargoGlobal ["30Rnd_65x39_caseless_mag",80];
           gearbox addMagazineCargoGlobal ["100Rnd_65x39_caseless_mag_Tracer",16];
           gearbox addMagazineCargoGlobal ["100Rnd_65x39_caseless_mag",36];
           gearbox addMagazineCargoGlobal ["30Rnd_65x39_caseless_mag_Tracer",30];
           gearbox addMagazineCargoGlobal["20Rnd_762x51_Mag", 80];
           gearbox addWeaponCargoGlobal ["hgun_Pistol_heavy_01_F",11];
           gearbox addWeaponCargoGlobal ["arifle_MX_GL_Black_F",4];
           gearbox addMagazineCargoGlobal ["11Rnd_45ACP_Mag",30];
           gearbox addMagazineCargoGlobal ["3Rnd_UGL_FlareWhite_F",19];
           gearbox addMagazineCargoGlobal ["3Rnd_UGL_FlareRed_F",19];
           gearbox addMagazineCargoGlobal ["3Rnd_UGL_FlareGreen_F",19];
           gearbox addWeaponCargoGlobal ["srifle_EBR_F",20];
          
           gearbox addMagazineCargoGlobal ["FlareWhite_F",32];
           gearbox addMagazineCargoGlobal ["1Rnd_SmokeRed_Grenade_shell",18];
           gearbox addMagazineCargoGlobal ["Chemlight_blue",21];
           gearbox addMagazineCargoGlobal ["SmokeShell",34];
           gearbox addMagazineCargoGlobal ["Chemlight_green",17];
           gearbox addMagazineCargoGlobal ["Chemlight_yellow",12];
           gearbox addMagazineCargoGlobal ["UGL_FlareGreen_F",7];
           gearbox addMagazineCargoGlobal ["HandGrenade",34];
           gearbox addMagazineCargoGlobal ["SatchelCharge_Remote_Mag",22];
           gearbox addMagazineCargoGlobal ["3Rnd_UGL_FlareCIR_F",18];
           gearbox addMagazineCargoGlobal ["B_IR_Grenade",16];
           gearbox addMagazineCargoGlobal ["Chemlight_red",12];
           gearbox addMagazineCargoGlobal ["3Rnd_HE_Grenade_shell",15];
           gearbox addItemCargoGlobal ["acc_flashlight", 20];
           gearbox addItemCargoGlobal ["acc_pointer_IR", 20];
           gearbox addItemCargoGlobal ["ItemCompass",8];
           gearbox addItemCargoGlobal ["Rangefinder",10];
           gearbox addItemCargoGlobal ["optic_tws",6];
           gearbox addItemCargoGlobal ["optic_Hamr",20];
           //gearbox addItemCargoGlobal ["H_HelmetB_black",33];
           gearbox addItemCargoGlobal ["ItemMap",6];
           gearbox addItemCargoGlobal ["ItemGPS",6];
           //gearbox addItemCargoGlobal ["NVGoggles",20];
           gearbox addItemCargoGlobal ["Medikit",10];
           gearbox addItemCargoGlobal ["FirstAidKit",34];
           gearbox addItemCargoGlobal ["B_UavTerminal",2];
           gearbox addItemCargoGlobal ["muzzle_snds_acp",18];
           gearbox addItemCargoGlobal ["optic_Arco",6];
           gearbox addItemCargoGlobal ["Binocular",5];
           gearbox addItemCargoGlobal ["optic_Aco",20];
           //gearbox addItemCargoGlobal ["ItemRadio",14];
           gearbox addItemCargoGlobal ["muzzle_snds_H",32];
          
           //gearbox addBackpackCargoGlobal ["B_AssaultPack_blk",16];
           //gearbox addItemCargoGlobal ["V_PlateCarrier1_blk",16];
           //gearbox addItemCargoGlobal ["V_RebreatherB",10];
           //gearbox addItemCargoGlobal["U_B_survival_uniform",20];
           //gearbox addItemCargoGlobal ["U_B_Wetsuit",20];
           
           sleep 3600;
          };
          };
          |TG-189th| Unkl
          ArmA 3 Game Officer
          Dean of Tactical Gamer University
          189th Infantry Brigade Member
          SUBMIT A RIBBON NOMINATION OR CONTACT AN ARMA ADMIN
          "We quickly advance in the opposite direction and take cover in a house on the SW side of town." - BadStache

          Comment


          • #6
            Re: Server 2 - Task Force Radio - Mission Requirements

            bumping this thread for easier reference
            |TG-189th| Unkl
            ArmA 3 Game Officer
            Dean of Tactical Gamer University
            189th Infantry Brigade Member
            SUBMIT A RIBBON NOMINATION OR CONTACT AN ARMA ADMIN
            "We quickly advance in the opposite direction and take cover in a house on the SW side of town." - BadStache

            Comment


            • #7
              Re: Server 2 - Task Force Radio - Mission Requirements

              I've edited this first post and we shall begin updating missions for use with TFR and remain compatible with the vanilla game.
              |TG-189th| Unkl
              ArmA 3 Game Officer
              Dean of Tactical Gamer University
              189th Infantry Brigade Member
              SUBMIT A RIBBON NOMINATION OR CONTACT AN ARMA ADMIN
              "We quickly advance in the opposite direction and take cover in a house on the SW side of town." - BadStache

              Comment


              • #8
                Re: Server 2 - Task Force Radio - Mission Requirements

                A quick reference drop. Specifically removing the auto adding of that micro dagr so that vanilla players get one less error on their screen.
                https://forums.bistudio.com/topic/15...2#entry2986056

                Comment


                • #9
                  So since the last CBA update and TFAR update, it is no longer possible to setup the same frequencies on the radio by declaring a few variable on the mission dev level. The TFAR team advised us to use the server side settings to setup these variables.

                  https://forums.bistudio.com/topic/15...0#entry3106767

                  Comment

                  Connect

                  Collapse

                  TeamSpeak 3 Server

                  Collapse

                  Advertisement

                  Collapse

                  Twitter Feed

                  Collapse

                  Working...
                  X