sammael 366 Posted January 8, 2021 I am trying to create a copy of a LPRS scope with maximum zoom and ace . Coefficients remain unclear to me. For example, what is the minimum and maximum zoom in the config of my example ? Can anyone give a formula, for example, so that the minimum zoom will be 8 and the maximum is 80? What is the maximum zoom possible? I will be glad for any help class Max_optic_LRPS_Max: ItemCore { author = "MaxOptic"; dlc = "MaxOptic_New"; _generalMacro = "Max_optic_LRPS_Max"; scope = 2; displayName = "Optic LRPS MAX"; picture = "\A3\Weapons_F_EPB\Acc\Data\UI\gear_acco_sniper02_CA.paa"; model = "\A3\Weapons_F_EPB\Acc\acco_sniper02_F.p3d"; descriptionShort = "LRPS MAX"; ACE_ScopeHeightAboveRail = 4; ACE_ScopeAdjust_Vertical = {-10, 50}; ACE_ScopeAdjust_Horizontal = {-10, 10}; ACE_ScopeAdjust_VerticalIncrement = 0.100000; ACE_ScopeAdjust_HorizontalIncrement = 0.100000; class ItemInfo: InventoryOpticsItem_Base_F { mass = 20; opticType = 2; weaponInfoType = "RscWeaponRangeZeroingFOV"; optics = 1; modelOptics = "\MAX_optic\Optic_LRPS.p3d"; class OpticsModes { class Snip { opticsID = 1; useModelOptics = 1; opticsPPEffects = {"OpticsCHAbera1", "OpticsBlur1"}; opticsZoomMin = 0.011000; opticsZoomMax = 0.045000; opticsZoomInit = 0.045000; discretefov = {0.045000, 0.011000}; discreteDistance = {100}; discreteDistanceInitIndex = 0; distanceZoomMin = 100; distanceZoomMax = 100; discreteInitIndex = 0; memoryPointCamera = "opticView"; modelOptics = {"\MAX_optic\Optic_LRPS.p3d", "\MAX_optic\Optic_LRPS_Z.p3d"}; visionMode = {"Normal"}; opticsFlare = 1; opticsDisablePeripherialVision = 1; cameraDir = ""; }; }; }; inertia = 0.200000; }; }; Share this post Link to post Share on other sites
da12thMonkey 1943 Posted January 12, 2021 If the optic has a discretefov[] = array, it uses the stepped zoom system and has a corresponding modelOptics[] = for the reticle at each level of magnification. For a start it appears you are missing the [] in the parameter names for the all your arrays (the config lines with = {xxx, yyy, zzz}; type lists of one or more values within curly brackets), so the game might not recognise them as valid parameters. But ultimately the values for zoom correspond to the vertical screen FOV. Wide FOVs look less magnified than small FOVs, which is why the old system of optics magnification (opticsZoomMin, opticsZoomMax) are typically inverted to what you would expect, with the "min" value being high magnification and the "max" value being low magnification. Since the Marksman DLC, all optics use an FOV of 0.25 to correspond to 1x magnification, so any magnified optics are calculated on the basis of 0.25 / Magnification. So a 4x scope magnification level would be 0.25/4, 6x would be 0.25/6 etc. etc. As such, the values for a scope that has stepped zoom levels of 3x, 6x, 9x, 12x, 15x can use discretefov[] = {0.25/3,0.25/6,0.25/9,0.25/12,0.25/15}; and a config parsing tool will normally enumerate that during binarisation to values that would be read ingame like discretefov[] = {0.08333,0.04167,0.02778,0.02083,0.01667}; But as I said before, the modelOptics[] are typically calibrated to each of these FOVs if they're using mil-dots. So your scope will need custom optics too if you want working mil-dot reticles for an 8-80x scope 1 Share this post Link to post Share on other sites