Cant reproduce. Only where there are big number of explosions. Did you tried updating video drivers? Dont know your GPU but Radeon released Crimson edition drivers boosting GPU (mine) about 30% without overclocking. BTW - are you using ACE 3? There is file responsible for big FPS drops on mentioned explosions - ace_frag which produces houndrets of frags while explosion appear - it eat lot of CPU resources.
- Queries
- Arma 3 Activity
- All Stories
- Search
- Advanced Search
Arma 3 Activity
May 10 2016
Also please attach your launcher logs:
Steps on how to export logs from ARMA 3 Launcher:
- Start ARMA 3 Launcher
- Click the Hamburger menu tab in the launcher (Top right corner. Next to Options (Cog wheel icon) and Minimize Button)
- Drop down menu will appear
- Select: Prepare Arma Troubleshooting error and save those files
- A notification will pop up with the name of the generated file
Please note that the files might take a while to collect.
Attach the generated files to the ticket. If the files are too big please use some free file sharing service.
Hello, could you please share more info about your steam client? Is it modified by any chance? Try disabling antivirus too. If that does not help could you please try out the legacy branch on steam? The code to access the branch is: Arma3Legacy152
Thank you.
Also please try running steam in offline mode
I do have more crashlogs but seeing the feedback tracker from others it seems you have several right now.
The server is still crashing hourly we have 3 servers with 125 people on a time and before 1.54 this was fine.
Please revert whatever has changed back to 1.52 as people are really getting fed up at the moment.
Also please stop releasing this releases before the weekend as i know there is no progress our support over the weekend.
Downvoted.
This is expected behavior. The expression:
("U" call Foo)
is evaluated before:
if (false) throw
, because it has round brackets around it.
It's return value (always "false") is thrown and passed as _expression. Can be easily tested by replacing the first
if (false)
with
if (true)
The current "try throw catch"-syntax is useless in my opinion. Even with the recent "improvements". It should be avoided altogether.
So an example of normal behaviour is
IF Statement which is always false that executes code -- Brillant thanks :)
You could just replace the if statement with
123 call abc;
It would accomplish the exact same thing with less overhead from the IF.
The only reasons to use IF THEN (), is to confuse/troll people reading sqf code.
---------------------
Honestly this sounds like a sqf script engine design quirk.
I still think that the IF THROW behaviour goes against normal logic & it will just confuse people. In its current state i would just remove it.
---------------------
But thanks for the info about getVariable & default values.
I need to double check my code for this now aswell, just incase.
There are 3 templates for IF command now
IF BOOL THEN CODE (ELSE CODE)
IF BOOL THEN ARRAY and
IF BOOL THROW ANYTHING
compiler must find a match in templates for your expression otherwise it throws an error. It reads the code forward but it needs to know all the arguments like for example is it a CODE after THEN? Because you can use variable, doesnt have to be block with curly brackets.
if (true) then BIS_fnc_whatever
BIS_fnc_whatever needs to be evaluated. So when you use throw like this, its argument needs to be evaluated just as well.
Also let me remind you that original throw functionality has not changed a bit, you can still
if (false) then {throw (123 call abc)}
and abc will never execute.
PS just to make sure everyone understands this
if (false) throw <whatever>
throw above does not throw anything, command never executes.
"You tell your car not to drive, but it drives anyways" - That's not a problem. This is normal. And normal behavior.
I agree with Torndeco. Better remove this unlogical construct, as it is completely useless and will only break things.
"You are saying its expected behaviour for performance reasons ???"
It is just normal behaviour.
abc =
{
systemchat str _this;
{}
};
if (false) then (123 call abc);
Expression after then is still evaluated and function is called. This is normal.
I really was expecting this to be a programming logic mistake.
You are saying its expected behaviour for performance reasons ???
So the the script engine is executing the call function inside the throw, regardless if is needed or not.
In general use throw statements in general aren't executed often.
Evaluating the throw all the time will cause overhead, especially when using a loop.
This behaviour will cause confusion with most programmers and honestly should just be removed from Arma imo
---------
So the only use for
IF THROW is for when returning static text to an exception, otherwise its completely useless.
"but there is no reason why it shouldn't"
-> if (false)
Or in human words:
"If you must not do that, do it anyways".
So basically you're telling us, that this unlogical behavior, that doesn't occur in every proper programming language in the world, is by design? What's the sense of that "if" then, if the script engine completely disregards it?
The engine evaluates the throw before the if, just in case it needs to throw something? This means the engine is reading the code backwards.
I really can't handle this anymore. Even Visual Basic is more advanced than this.
Sorry for the hate, but this really makes me upset.
if(false){do something here anyway. ????!?!??!?!?}?
I'm afraid this is not a bug but expected behaviour. You pass an argument to throw command which is a result of the function call. With any other command the compiler will behave in the same way, it will first call the function to obtain return value and only then use the value as the argument for the command.
You probably did not expect the function to be executed at all, but there is no reason why it shouldn't, it is inside try {} scope that has been entered. In other cases when you have throw inside then {} scope, it is different because then {} scope is only entered when "if" before that evaluates to true. And since it is false in your example it never has a chance.
Compare this to getVariable with devault value. Same thing would happen, if default value is a function call, it will first call the function.
a = 10;
b = missionNamespace getVariable ["a", 123 call abc];
the abc function will always run, regardless if a is or isn't defined. I hope this clears it up and sorry for the time you have wasted on changing.
I'm sorry, but i dont find here
C:\Users\Armin\AppData\Local\Arma 3
only .rpt and .log
The .mdmp and .bidmp files are missing could you please attach them? They can be found in C:\Users\<Name>\AppData\Local\Arma 3\. Thanks.
Hello,
thank you for your report and files. It seems that your problem is that DirectX crashes. This may be from various reasons, such as outdated DirectX, outdated drivers, overclocked CPU or GPU [by manufacturer or user] and many more.
Sadly, there is nothing that can be done from our side. I linked this problem to bug number #0000579, where you can read useful tips in comments. Also, please check out the forums page for another useful tips:
http://forums.bistudio.com/showthread.php?147598-Endless-DXGI_ERROR_DEVICE_REMOVED-Crashes
Sorry for the inconvenience, have a nice day.
Agreed, this bug is ridiculously annoying.
I got also:
class HitPoints::HitFuel not found in O_HMG_01_high_F
Sorry, my falt, I'm verified integrity of cache and now everything works fine.
Hello,
thank you for reporting the issue, we'll fix that as soon as possible. I'm sorry any inconvenience it might cause you.
Updated:
Romeo 2 encounters the same bug:
after Romeo 2 (the damaged chopper) drops Kilo unit, it takes off a few seconds and then land again and doesn't return to base.
I can confirm
You are welcome.
Ok I feel like an idiot now. I saw the error prior to 1.54 about the third param but never got around to changing it mainly because it did not affect anything. Then the patch comes out and it doesnt work. Thank you so much for the info but one more question. All of the tasks in my mission are created on the server side and via functions. They will not work unless I init.sqf execVM "shk_taskmaster.sqf"; even though I do not use its functions. Is there an initialization that has to happen before scripted tasks can work?
Everything works great now. I apparently was missing a line waituntil for a shk_taskmaster function thus halting BIS tasks from functioning along with other things. Thanks for your help.
There is no initialization needed. If you call the bis_fnc_taskCreate on server with proper attributes, the task frameworks should create the individual (local) task on every valid client.
In your example, you call it with owner being true, which means the task should be created on every client.
To ensure the bis_fnc_taskCreate is executed from server, try for example put it into the missions init.sqf and frame it into the isServer condition:
if (isServer) then
{
[...] call bis_fnc_taskCreate;
};
_position_mark = _this select 0;position to search buildings around
_rad = _this select 1;radius around position to search for buildings
_locselname = _this select 2;//name of location
_intelarray = ["Land_Suitcase_F"];//,"Land_Laptop_unfolded_F","Land_Laptop_F","Land_FilePhotos_F","Land_File1_F","Land_File2_F"
//create random number
_rnum = str(round (random 999));
//select random intel
_intelsel = _intelarray call BIS_fnc_selectRandom;
create intel
_intelobj = createVehicle [_intelsel,[_position_mark select 0, _position_mark select 1, 0], [], 0, "NONE"];
_veh_name = getText (configFile >> "cfgVehicles" >> (_intelsel) >> "displayName");
_VarName = ("ghst_intel" + _rnum);
_intelobj setVehicleVarName _VarName;
_intelobj Call Compile Format ["%1=_This;",_VarName];
missionNamespace setVariable [_VarName,_intelobj];
publicVariable _VarName;
//create task
_tsk = "tsk_intel" + _rnum + str(_position_mark);
_tasktopic = format ["Find %1 in %2", _veh_name,_locselname];
_taskdesc = format ["Search the buildings in %2 for %1. Pay attention to the floors.", _veh_name,_locselname];
_position_mark would equal an actual position such as getposatl _intelobject.
Prior to 1.54 all tasks worked flawlesly so how did the structure change? Also looking at the function viewer line 175 of File A3\functions_f\Tasks\fn_setTaskLocal.sqf, line 175 has the typo =+
Thanks for the info provided. I think I find where the issue is. Please check what you are sending into the function as text on the marker. The format is [_taskDescriptionText,_taskNameText,_taskMarkerText]. Focus on the last element in the array which is the text that is displayed on the task marker in 3D.
According to what you say "_position_mark would equal an actual position such as getposatl _intelobject" you are sending into the function ARRAY with task position instead of STRING that is expected.
Please change the 3rd parameter in the task text array (replace _position_mark with some string, like "INTEL IS HERE!") and please let me know if it works.
Note: _array =+ _array is not a typo, the plus sign is a copy operator; see https://community.bistudio.com/wiki/Operators#Array_Operators for more info.
Please provide the input parameters that you use in the bis_fnc_taskCreate call. Seems like you are sending wrong parameters into the function or the function doesn't handle the input properly.
[true,[_tsk],[_taskdesc,_tasktopic,_position_mark],_position_mark,1,2,true,"Search"] call BIS_fnc_taskCreate;
I am especially interested about the:
- _taskdesc
- _tasktopic
- _position_mark
But if you can provide all input parameters, we will be able to test it. The local variables without values do not tell us much.
Please check what you send into the command and the difference (especially in data types and format) between this:
[
true,
["TestTask"],
["TestTask Desc","TestTask Name","TestTask Marker"],
getPos player,
1,
2,
true,
"Search"
]
call BIS_fnc_taskCreate;
Hallo, somebody there?
Happy New year. Someone here?
Update: It also occurs when you sprint while unarmed.
After Hotfix same issue
Hello,
according to the log you're missing one of the game files. Please let Steam verify the game, it should restore any missing or corrupted files:
- Open Steam;
- From the Library section, right-click on the game and select Properties from the menu;
- Select the Local files tab and click the Verify integrity of game cache... button;
- Steam will verify the game's files - this process may take several minutes.
My steam client is not modified, Steam api version v017 , steam version 1428965950. Disabling antivirus did not help and running steam in offline mode also didn't help. I cant access the legacy branch because steam says the code is invalid.
Also please try running steam in offline mode
Hello, could you please share more info about your steam client? Is it modified by any chance? Try disabling antivirus too. If that does not help could you please try out the legacy branch on steam? The code to access the branch is: Arma3Legacy152
Thank you.
Grenades and other equipment stored in the backpack should take longer to prepare as well.
Yes I have noticed this too on many other sounds...
The sound is locked in its initial stereo location until the sample ends.
I thought it had been that way for a while but either way it stops you adding actions or detecting them easily.
Please try "cursorObject" command, which should be available in tomorrow's DEV