KillahPotatoes / KP-Liberation

The work on GreuhZbugs Liberation Mission for Arma 3 continues...
MIT License
264 stars 298 forks source link

"Custom Settings" from the .pbo #855

Closed Failiatus closed 3 years ago

Failiatus commented 3 years ago

Hey, I just spent quite a while, actually way too long trying to apply my Custom settings to this great Game mode.

Since I set up the Server to only play with 3-4 friends I wanted to adjust the difficulty and therefore used the Custom settings layout from the Biki to adjust them, but they would never apply. I could set Recruit, Regular, Veteran and it was no Problem but Custom? Nope.

At some point I suspected that the forced difficulty "Custom" must've been drawn from somewhere else than the .Arma3Profile. So I ended up renaming the class Custom to "FUCK"

class FUCK { displayName = $STR_Difficulty_Custom; // Name of the difficulty preset. optionDescription = ""; // Description optionPicture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa"; // Picture levelAI = "AILevelLow"; // Level of AI skill

And then adjusted the forced difficulty in the Server Config.

// MISSIONS CYCLE forcedDifficulty = "FUCK";

class Missions { class kp_liberation { template = "kp_liberation.Altis"; difficulty = "FUCK"; }; };

And oh dear, oh dear it worked.

I think it's a great thing you offer the ideal settings for this Game mode, but I couldn't find the settings in the .pbo and also no mention of it in any ReadMe or Github post, maybe I was blind, unlucky or whatever but I think it would be great if you could mention it or rename that part in the pbo file and adjust the suggested difficulty settings "Custom" Name, to spare people in the future from it.

Best regards, Fail

MildlyInterested commented 3 years ago

You couldn't find any mention about any ideal settings that you have to overwrite cause they aren't any. This is my setup which works just fine: .Arma3Profile

{
    class CustomDifficulty
    {
        class Options
        {
            reducedDamage=0;
            groupIndicators=2;
            friendlyTags=1;
            enemyTags=0;
            detectedMines=1;
            commands=1;
            waypoints=1;
            tacticalPing=1;
            weaponInfo=2;
            stanceIndicator=2;
            staminaBar=1;
            weaponCrosshair=1;
            visionAid=0;
            thirdPersonView=1;
            cameraShake=1;
            scoreTable=1;
            deathMessages=1;
            vonID=1;
            mapContentFriendly=1;
            mapContentEnemy=1;
            mapContentMines=1;
            autoReport=0;
            multipleSaves=0;
        };
        aiLevelPreset=3;
    };
    class CustomAILevel
    {
        skillAI=0.5;
        precisionAI=0.5;
    };
};
sceneComplexity=400000;
shadowZDistance=100;
viewDistance=1000;
preferredObjectViewDistance=800;
terrainGrid=25;
volumeCD=10;
volumeFX=10;
volumeSpeech=10;
volumeVoN=10;
singleVoice=0;
maxSamplesPlayed=96;
vonRecThreshold=0.029999999;

and this being the mission roster in my server_config.cfg:

class Missions
{
    class kp_liberation
    {
        template = "KP20Liberation20Lythium.lythium";
        difficulty = "custom";
    };
};
Failiatus commented 3 years ago

Thanks for your Response. I used the difficulty template I linked from the Biki in the OP. The only difference I could find is that your .Arma3Profile uses the term "CustomDifficulty" while my template uses "Custom", weirdly enough that didn't work. Even though I see no reason why it shouldn't.

It looked like this:

class Custom
{ displayName = $STR_Difficulty_Custom; // Name of the difficulty preset. optionDescription = ""; // Description optionPicture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa"; // Picture levelAI = "AILevelLow"; // Level of AI skill

  // All options of the Custom preset are set by the engine. The values in config
  class Options
  {
      // Simulation
      reducedDamage = 1;      // Reduced damage       (0 = disabled, 1 = enabled)

      // Situational awareness
      groupIndicators = 2;    // Group indicators     (0 = never, 1 = limited distance, 2 = always)
      friendlyTags = 1;       // Friendly name tags   (0 = never, 1 = limited distance, 2 = always)
      enemyTags = 0;          // Enemy name tags      (0 = never, 1 = limited distance, 2 = always)
      detectedMines = 1;      // Detected mines       (0 = never, 1 = limited distance, 2 = always)
      commands = 0;           // Commands             (0 = never, 1 = fade out, 2 = always)
      waypoints = 1;          // Waypoints            (0 = never, 1 = fade out, 2 = always)
      tacticalPing = 1;       // Tactical Ping        (0 = disabled, 1 = enabled)

      // Personal awareness
      weaponInfo = 2;         // Weapon info          (0 = never, 1 = fade out, 2 = always)
      stanceIndicator = 2;    // Stance indicator     (0 = never, 1 = fade out, 2 = always)
      staminaBar = 1;         // Stamina bar          (0 = disabled, 1 = enabled)
      weaponCrosshair = 1;    // Weapon crosshair     (0 = disabled, 1 = enabled)
      visionAid = 0;          // Vision aid           (0 = disabled, 1 = enabled)

      // View
      thirdPersonView = 1;    // 3rd person view      (0 = disabled, 1 = enabled, 2 = enabled for vehicles only (Since  >Arma 3 v1.99))
      cameraShake = 1;        // Camera shake         (0 = disabled, 1 = enabled)

      // Multiplayer
      scoreTable = 0;         // Score table          (0 = disabled, 1 = enabled)
      deathMessages = 1;      // Killed by            (0 = disabled, 1 = enabled)
      vonID = 1;              // VON ID               (0 = disabled, 1 = enabled)

      // Misc
      mapContent = 1;         // Extended map content (0 = disabled, 1 = enabled) // before Arma 3 v1.68
      mapContentFriendly = 1; // Map friendlies       (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
      mapContentEnemy = 0;    // Map Enemies          (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
      mapContentMines = 0;    // Map Mines            (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
      autoReport = 0;         // Automatic reporting  (0 = disabled, 1 = enabled)
      multipleSaves = 0;      // Multiple saves       (0 = disabled, 1 = enabled)
  };

}; };

// MISSIONS CYCLE
forcedDifficulty = "Custom";

class Missions { class kp_liberation { template = "kp_liberation.Altis"; difficulty = "Custom"; }; };

And it only worked when I renamed the class.

MildlyInterested commented 3 years ago

Did you read this part in your linked page?

Please note that the following information applies to the config in game's data (namely data_f.pbo) not to the profile. For profile related information please refer to this page. Since Arma 3 1.58 the game's config uses CfgDifficultyPresets class. The former CfgDifficulties is now obsolete and was left in the config only not to break scripts that might have used it.

The correct place to be storing your custom difficulty is the .Arma3Profile file. For more information see here: https://community.bistudio.com/wiki/server.armaprofile#Arma_3 EDIT: since this is probably gonna be closed because it isn't a bug please join the discord server for easier means of communication.