Jump to content
_xetex_

Unofficial patch ArmA Resistance 2.01

Recommended Posts

The links are dead, and I had to reinstall my Arma CWA. Any possible way for me to get this patch? 

Share this post


Link to post
Share on other sites

Downloaded fine for me. 

 

One question, are mods broken in this patch? 

 

Just loaded a couple of SP missions at random and they both gave me errors, missing content etc. In the 1.96 version of the game (i still have the GOG for it), all the expansion stuff goes to a Res folder where as here it does not may that has something to do with it i'm not sure. 

 

FPS gain is noticeable compared to version 1.96, would like it to keep it like that. Also, is this using more than one core now? I heard the Linux port is multi-treated, seems the game might work better in that platform than on Windows for a change if that's the same. 

Share this post


Link to post
Share on other sites

you don't read with understanding, 2.01 is only for version 1.99

Share this post


Link to post
Share on other sites

why does this unofficial patch fixes my issues with mouse/sensitivity for some reason when I play ARMA CWA or ECP mouse sensitivity is weird its hard to aim , I tried lowering the sensitivity but it still feels kinda weird. Does this unofficial patch have something to do with mouse sensitivity?

Share this post


Link to post
Share on other sites
On 2/11/2020 at 2:24 AM, zygius461 said:

why does this unofficial patch fixes my issues with mouse/sensitivity for some reason when I play ARMA CWA or ECP mouse sensitivity is weird its hard to aim , I tried lowering the sensitivity but it still feels kinda weird. Does this unofficial patch have something to do with mouse sensitivity?

yep

Share this post


Link to post
Share on other sites

Some notes about new script commands:

ammoarray

Spoiler

Syntax:
    object ammoarray muzzleName
Return Value:
    array
The second parameter is "muzzleName". If using wrong name, e.g. using weaponName on a weapon whose name isn't equal to any of its muzzle's name, the return array will be empty, i.e. " [ ] ". More information about "weapon, muzzle, etc" can be seen here.

And that array, the return value, will list all modes of current muzzle. The magazine's name and left rounds will be display for each mode.

Example 1:
<east grenadier> ammoarray "ak74muzzle" will return ["ak74", 30, "ak74", 30, "ak74", 30], corresponding to 3 modes of AK74.
The muzzleName is case-insensitive.

magazinesArray

Spoiler

Syntax:
    magazinesArray object
Return Value:
    array

The elements of returned array is in form: magazineName (string), ammunition (number), magazineName (string), ammunition (number)...

This command is better than magazines. One might have noticed that an exhausted (but not removed) magazine will remain in the returned array of magazines and magazinesArray command. Thus it's hard to judge whether a magazine is empty by magazines but not hard for magaziensArray.

Spoiler

An example to judge precisely whether a unit exhausted its secondary weapon:


// CheckRearm.sqf
_unit = _this;
_wpnSec = secondaryWeapon _unit;
_magazines = _unit call loadFile "GetNotEmptyMags.sqf";
_validMags = [_wpnSec] call loadFile "WeaponValidMags.sqf";
if ("_x in _validMags" count _magazines == 0) then {_rearm = true};
_rearm

// "GetNotEmptyMags.sqf"
_unit = _this;
_magazinesArray = magazinesArray _unit; _index = 0; _count = count _magazinesArray; _magazines = [];
while "_index < _count" do {
	if ((_magazinesArray select (_index + 1)) > 0) then {_magazines set [count _magazines, _magazinesArray select _index]};
	_index = _index + 2;
};
_magazines

// "WeaponValidMags.sqf"
_weapons = _this; _mags = [];
{
	_weapon = _x;
	_muzzles = call format ["%1", _weapon GetWeaponParamArray "muzzles"];
	{
		_muzzle = _x; if (_x == "this") then {
			_muzzle = _weapon; _magazines = call format ["%1", _muzzle GetWeaponParamArray "magazines"];
		} else {
			_magazines = call format ["%1", [_weapon, _muzzle] GetWeaponSubParamArray "magazines"];
		};
		{
			_magazine = _x; if (_x == "this") then {_magazine = _muzzle};
			if !(_magazine in _mags) then {_mags set [count _mags, _magazine]};
		} forEach _magazines;
	} forEach _muzzles;
} forEach _weapons;
_mags

 

Get[Vehicle/Weapon/Ammo](Sub)Param(Array)

Spoiler

These commands can be applied to obtain parameters directly from CONFIG.

 

Remark 1: Those "...Array" commands return an array, but commands not returning array probably have to apply "format" first to convert into string and "call" then to obtain their actual value.

 

Example 1: In TZK_4.0.0, the version "setObjectTexture" starts to be widely applied on vehicles in-game, the GetVehicleParamArray is applied on "hiddenSelections" to obtain the array for iterator to be "setObjectTexture".
Example 2: In TZK_2.12 commands GetWeaponParamArray, GetWeaponSubParamArray are applied to obtain available magazines of particular weapon(s). The idea is to check all muzzles of the weapon, then obtain all magazines of each muzzles.

 

analogue method in 1.99:
One can camCreate a temporary vehicle/ammo in a SQF file, and obtain some parameters from that object:

  • HasDriver/Gunner/Commander and transportSoldier: camCreate some temporary "Logic" object(s) and apply moveInDriver/Gunner/Commander/Cargo command.
    • Spoiler
      
      
      private ["_vehicle", "_bool", "_logic"];
      
      _vehicle = typeOf (_this select 0) camCreate [0,0,20];
      _logic = "Logic" camCreate [0,0,0];
      call format ["_logic moveIn%1 _vehicle", _this select 1];
      _bool = count crew _vehicle > 0;
      deleteVehicle _logic;
      deleteVehicle _vehicle;
      [0,1] select _bool

       

       

    • Spoiler
      
      
      private ["_vehicle", "_i", "_c", "_j", "_full"];
      
      _vehicle = typeOf _this camCreate [0,0,20];
      _i = 0; _c = 100; _full = false;
      while "_i < _c && !_full" do {
      	call format [{_tempObjLogic%1 = "Logic" camCreate [0,0,0], _tempObjLogic%1 moveInCargo _vehicle}, _i];
      	if !(count crew _vehicle > _i) Then {_full = true};
      	_i = _i + 1
      };
      _j = _i; if (_i >= _c) Then {_i = 0};
      while "_j > 0" do {
      	call format [{deleteVehicle _tempObjLogic%1}, _j - 1];
      	_j = _j - 1
      };
      deleteVehicle _vehicle;
      _i - 1

       

  • weapons[] and magazines[]: directly obtain those array from that object.
    • Spoiler
      
      
      private ["_vehicle", "_array"];
      
      _vehicle = typeOf _this camCreate [0,0,20];
      _array = weapons _vehicle;
      deleteVehicle _vehicle;
      _array

       

       

  • weaponSlots: Add particular weapons/magazines to that vehicle to know the type and quantity of weaponSlots.
    • Spoiler
      
      
      private ["_vehicle", "_weapons", "_mags", "_slots"];
      
      _vehicle = typeOf _this camCreate [0,0,20];
      removeAllWeapons _vehicle;
      
      {_vehicle addWeapon _x} forEach ["HK", "LaserDesignator", "Binocular", "NVGoggles", "glockS"];
      {_vehicle addMagazine _x} forEach ["HK", "HK", "HK", "HK", "HK", "HK", "HK", "HK", "HK", "HK", "glocksmag","glocksmag","glocksmag","glocksmag"];
      
      _weapons = weapons _vehicle; _mags = magazines _vehicle;
      _slots	= 1 * ("_x == {HK}" count _weapons) + 16 * ("_x == {LaserDesignator}" count _weapons) + 4096 * ("_x == {Binocular}" count _weapons) + 4096 * ("_x == {NVGoggles}" count _weapons)
      		+ 2 * ("_x == {glockS}" count _weapons) + 256 * ("_x == {HK}" count _mags) + 32 * ("_x == {glocksmag}" count _mags);
      
      deleteVehicle _vehicle;
      _slots

       

       

    
Don't forget to delete those temporary objects in the end of SQF file.

No way to create temporary CfgWeapons object in-game. Editor can however pre-define some required data in mission, telling the relationship between weapons, muzzles and magazines.

(Set)Vector[Dir/Up/DirAndUp]

Spoiler

The only one need to be illustrated is setVectorDirAndUp, it accept an array whose elements are array as well.

Syntax:

  • object SetVectorDirAndUp [array1, array2]

See https://forums.bohemia.net/forums/topic/86426-setvectordirandup-usage-solved/?tab=comments#comment-1459492 for more information.

According to link above, the array1 should be treated as a vector meaning 3D-direction, and the array2 defines the "roll"(Euler Angle).

Thus if wish to set an object's 3D-direction without roll, one can write:

<object> setVectorDirAndUp [<3D-direction>, [0,0,1]]

 

setVectorDirAndUp is the most intuitive in the view of "vectorDir", for vectorDir is its 1st parameter. Actually we need 3 parameters in assign a vehicle's direction, for example, "longitude", "latitude" and "roll". However, when assign 2 3D-vector, we assigned 2 length and 4 angle and thus there's 1 redundant parameter (as in "<object> setVectorDirAndUp [<3D-direction>, [0,0,1]]", one value of array2 is redundant.

 

One can apply setVectorDir and setVectorUp separately, but take care that these 2 vectors aren't independent.

 

Like "setDir" command, it's recommend to use "setPos(ASL)" command right after having used setVector... commands, otherwise some abnormal stuff might occur.

 

And some applications about new commands. They're introduced in form of "applications" but not "commands" thus not list here directly.

Spoiler

 

to be continued...

Edited by CTI player IF
Updating
  • Like 2

Share this post


Link to post
Share on other sites

Please, is there a way to install this on Arma Cold War Crisis 1.99 Linux/Mac edition (Steam version)?

  • Like 2

Share this post


Link to post
Share on other sites
On 5/31/2020 at 2:37 AM, igloigabor said:

Please, is there a way to install this on Arma Cold War Crisis 1.99 Linux/Mac edition (Steam version)?

 

No way. Arma Cold War Crisis 1.99 Linux/Mac edition (Steam version) - is other game.

  • Sad 1

Share this post


Link to post
Share on other sites

Anyone else having problems downloading this? The connection drops just before the download is finished and then BitDefender starts complaining. Time to boot linux...

Share this post


Link to post
Share on other sites

Many Many thanks !!!

 

I'm trying now to copy all my Addons, Mods, Reshade etc to how it works.

 

Is DXDLL water working with this version?

 

Anybody know if ReShade is working with this? I will try it now..

 

Have nice day

Share this post


Link to post
Share on other sites
    On 4/3/2015 at 5:17 PM, kenoxite said:

    Description
    This addon modifies the lighting and glossiness properties of the terrain, vegetation, buildings, infantry, vehicles and virtually anything available in vanilla OFP/CWA. All those vanilla textures have been distributed in several categories (classes) which use new custom material properties.

[Click and drag to move]

 

Any way to get this "OFP Materials" into this unofficial patch?

 

https://forums.bohemia.net/forums/topic/180137-ofp-materials/

 

Description
This addon modifies the lig hting and glossiness properties of the terrain, vegetation, buildings, infantry, vehicles and virtually anything available in vanilla OFP/CWA. All those vanilla textures have been distributed in several categories (classes) which use new custom material properties.

Share this post


Link to post
Share on other sites
1 hour ago, Oli89 said:

    On 4/3/2015 at 5:17 PM, kenoxite said:

    Description
    This addon modifies the lighting and glossiness properties of the terrain, vegetation, buildings, infantry, vehicles and virtually anything available in vanilla OFP/CWA. All those vanilla textures have been distributed in several categories (classes) which use new custom material properties.

[Click and drag to move]

 

Any way to get this "OFP Materials" into this unofficial patch?

 

https://forums.bohemia.net/forums/topic/180137-ofp-materials/

 

Description
This addon modifies the lig hting and glossiness properties of the terrain, vegetation, buildings, infantry, vehicles and virtually anything available in vanilla OFP/CWA. All those vanilla textures have been distributed in several categories (classes) which use new custom material properties.

 

the only question is why? You can use OFP Materials separately, not everyone wants shiny old buildings or vehicles.

  • Like 1

Share this post


Link to post
Share on other sites

Can someone please help me with the bino/nvg trick? I use this patch with WW4 ( mod=@ww4mod25;WW4_EXT;WW4_EXT_VEH;WW4EXT_CW;WW4EXT_ARCTIC )

 

Share this post


Link to post
Share on other sites

there was a problem in 2.01 when i try to join a server with 5 or 4 people init, it said something like Bad connection but the truth is its kicked for using Cheats even The User File is clean is it like the problem in the patch or the server settings ?
I really cant remeber well

Share this post


Link to post
Share on other sites

With 2.01patch i played arma cwa in 60fps and smooth mouse aiming. For the first time in 20 years! A small fix for ww4 was needed (Red Hammer, editor and binoculars problems), other than that this patch is amazing! With 60fps and that nice aiming it feels a little like a regular fps and i tend to play more risky. Hopefully Russians will work on Arma2 now and I will be able to play it in 60 fps in a few years too. New scripting commands are also very nice. I havent tested multiplayer yet.

Share this post


Link to post
Share on other sites
On 12/6/2020 at 8:07 PM, mr.peanut said:

Anyone else having problems downloading this? The connection drops just before the download is finished and then BitDefender starts complaining. Time to boot linux...

Disable the BitDefender 

Share this post


Link to post
Share on other sites

for those who struggle with Bino/NVG problem.

  1. Go to "...@your_favorite_mod\Bin"
  2. open CONFIG.cpp with notepad.
  3. and just edit it like this: https://imgur.com/a/OIB4txD
  4. Search for the lines with the red line.(CTRL + F)
  5. Add the lines in the green circle.
  6. save CONFIG.cpp and play the game!
  • Like 1

Share this post


Link to post
Share on other sites
On 6/26/2022 at 4:27 PM, CTI player IF said:

How to use those "VBS_" commands in 2.01? I haven't seen any documents about them.

im not sure but try this

community.bistudio.com/wiki/Function

Share this post


Link to post
Share on other sites
15 hours ago, prototype1479 said:

im not sure but try this

community.bistudio.com/wiki/Function

Hi thanks. I obtained a document file which lists these commands.

Share this post


Link to post
Share on other sites

About NetworkID

In Command Reference.rtf it says this command's return value can be applied in publicExec directly. However this is incompleted.

The NetworkID returns an array: [string, number]. The second element is a number which is monotonically increasing. If the server hosts many games this value will become large, and a large number can't be formatted directly by format command (large number will be formatted in form of scientific notation like "1.23e+10"). Script designer shall separate the number into 2 parts, format them and join the string.

Besides, since number in OFP is single precision floating-point number, it can express integer precisely only when the interge no more than 2^24 = 16777216. If server hosts long and NetworkID reach this limit the publicExec and NetWorkID will be invalid on some objects. Server hoster shall restart the server in this case.

Above is a video displaying new RTS style commanding in my TZK-CTI. This design applies NetWorkID and publicExec script commands to inform server those units selected in my local client. Take care: OFP can't handle too long string. If use one string to generate the publicExec 's parameter when selecting so many units in video the game will crash immediately. Please separate your string and apply publicExec in many times. In the video object's networkID is displayed in left-upper corner. If this value get close to the limit, one should inform the server hoster to restart the server.

 

Below is an introduction of that RTS style interaction:

 

  • Like 4

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

×