Jump to content

Recommended Posts

25Gb download? Why was the data repacked?

  • Like 1

Share this post


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

25Gb download? Why was the data repacked?

I'm hoping it was to make future downloads smaller...

Share this post


Link to post
Share on other sites

41UB2VO.jpg

 

Today's update did this to the Carrier GL Rig. I'm using a custom RVMAT that worked completely fine before today, all it changes is the diffuse and ambient levels.

 

Carrier GL Rigs are also broken on stable, RVMATs aren't loaded:

 

clb6OJc.jpg

Share this post


Link to post
Share on other sites
On 3.7.2017 at 8:02 PM, SuicideKing said:

So this is regarding stable branch, but i haven't seen any related dev updates since 1.72 hit stable.

 

The centurion still behaves really weirdly, even with EMCON forced active:

  1. it refuses to engage radar contacts
  2. shuts off its radar after a while
  3. uses its visual sensor to lock once target is ~2km from it
  4. it turns on its radar after it's started to acquire a lock; you get a lock warning even though there's no radar detected.
  5. then fires one missile after another with very little time between both

The problem with 5 is that by the time you've dealt with one missile, 1 or 2 more are on the way. It seems a bit unrealistic too, IRL a SAM probably wouldn't waste so many missiles on a single target. Additionally, depending on guidance systems, not sure if the system can lock a target if it's still guiding the last missile.

THis is exactly the behavior you exspect from an Anti Aircraft missile battery. Even much older systems could fore multiple missiles on one target. Multi Missile strike is even an otion for 80's aircraft, the russians always liked it and even made an automated mutiple launch option availabe for all plattforms. When the PK (probability of Kill) of a missile is low it is quite logical to counter that with more missiles. Another workaround in russian missile tactics was the ripple fire mode of a Radar and a IR seeker missile of the same rocket booster setup (R-27R and R-27T)

  • Like 1

Share this post


Link to post
Share on other sites
20 hours ago, dragon01 said:

Any news on that Apex SP campaign overhaul? I've just bought Apex and it is just as bad as they say. I think this could be much more enjoyable if it was converted to proper SP setup (or at least given a few bots...).

I thought they already made changes so you can play in Single Player. I didn't find any issues when playing in SP mode.

Share this post


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

I thought they already made changes so you can play in Single Player. I didn't find any issues when playing in SP mode.

 

I thought the plan was to make it "really" single player. The current "single player multiplayer" version lack the ability to save, and even more importantly, you cannot pause them since the action will not stop in multiplayer. Good luck answering that phone call (or a call of nature) :)

  • Like 3

Share this post


Link to post
Share on other sites

Exactly. I couldn't see any option to play with AI teammates, either, which is the biggest problem when playing solo. It's not terrible right now, just bad. You sometimes have to abuse the respawn mechanic, especially during the later missions, when you'd have much better chances with a squad (the short periods where you're supported by Raider One are much more manageable just because there are friendly AIs around).

  • Like 3

Share this post


Link to post
Share on other sites

 

 Theres no way the current state is what they offered up -if it is im taking my ball and going home. Anyone with 5 minutes could add the level of SP if not more than the state it is in now -that would be a spit in the face of the singlePlayer fanbase. Not too to hard to notice around the forums and elsewhere that the SP fanbase is none too happy and feel neglected. Im pretty sure BI get this and will offer up something more worthwhile for us.

  • Like 4

Share this post


Link to post
Share on other sites

Yeah, it's especially sad since the actual missions are pretty decent if you ignore the mechanics. The second to last one is actually downright awesome even despite them, though you do have to play your cards exactly right and be very careful if you want to get through it completely solo and without dying even once. The third one is a complete nightmare, on the other hand.

Share this post


Link to post
Share on other sites
2 hours ago, froggyluv said:

 

 Theres no way the current state is what they offered up -if it is im taking my ball and going home. Anyone with 5 minutes could add the level of SP if not more than the state it is in now -that would be a spit in the face of the singlePlayer fanbase. Not too to hard to notice around the forums and elsewhere that the SP fanbase is none too happy and feel neglected. Im pretty sure BI get this and will offer up something more worthwhile for us.

Personally I think the best option without them making it an entirely new mode with SP saving and whatnot, would be to leave it as is, add grouped AI to fill the empty slots, and make BI's new revive system grouped AI compatible. It was hinted at when revive was first announced that it might be AI friendly someday. Still holding out hope they'll add that feature. It would add a lot of flexibility for official COOP/MP game modes, making them work with lone wolves, without having to have separate versions of every mission/mode.

 

AI compatible revive I feel like is the missing key here. And the best part is, it's possible with the revive BIS created: http://steamcommunity.com/sharedfiles/filedetails/?id=922953518

Share this post


Link to post
Share on other sites

I'm getting an error when trying to track the 155mm scorcher shell with a custom bullet trace script.

Script works fine on stable.

 

18:12:18 Error in expression <[1780211: shell.p3d,1780212: <no shape>,"1"] cal>
18:12:18   Error position: <: shell.p3d,1780212: <no shape>,"1"] cal>
18:12:18   Error :: Type Number, expected switch

 

Anyone else?

 

Cheers

Share this post


Link to post
Share on other sites
3 hours ago, Grumpy Old Man said:

I'm getting an error when trying to track the 155mm scorcher shell with a custom bullet trace script.

Script works fine on stable.

 


18:12:18 Error in expression <[1780211: shell.p3d,1780212: <no shape>,"1"] cal>
18:12:18   Error position: <: shell.p3d,1780212: <no shape>,"1"] cal>
18:12:18   Error :: Type Number, expected switch

 

Anyone else?

 

Cheers

 

Seems you somehow pass call compiled str value of object. have you got that piece of code to look at?

Share this post


Link to post
Share on other sites

There you go, function is called GOM_fnc_debugBulletCam, called from object init with [this,"ARTY"] spawn GOM_fnc_debugBulletCam
 

Spoiler



params ["_firer"];

if ("MISSILE" in _this) then {_firer setvariable ["GOM_fnc_missileCam",true]};

if ("ARTYCAM" in _this) then {

		_cam = "camera" camcreate (_firer modelToWorldVisual [selectrandom [3,-3],-3,5]);
		_cam cameraeffect ["internal","back"];
		_cam camSetTarget assignedtarget _firer;
		_cam camCommitPrepared 0;
		_firer setVariable ["GOM_fnc_artyBulletCam",true];

};

if ("ARTY" in _this) then {

		_firer setVariable ["GOM_fnc_artyBulletCam",true];

};




_eh = _firer addeventhandler ["Fired",{

	systemchat "Fired";
	_currentCam = missionnamespace getvariable ["GOM_fnc_currentCam",false];
	if (_currentCam) exitWith {false};
	params ["_firer","_weapon","_muzzle","_mode","_ammo","_magazine","_projectile"];
	_target = assignedTarget _firer;

	_isArty = _firer getVariable ["GOM_fnc_artyBulletCam",false];

	if (_firer getvariable ["GOM_fnc_missileCam",false]) exitWith {

		missionnamespace setvariable ["GOM_fnc_currentCam",true];
		_cam = "camera" camcreate (_firer modelToWorldVisual [selectrandom [3,-3],-3,2]);
		_cam cameraeffect ["internal","back"];
		_cam camSetTarget assignedtarget _firer;
		_cam camCommitPrepared 0;

		_wait = [_cam,_firer,_projectile,_target] spawn {

			params ["_cam","_firer","_projectile","_target"];

			waituntil {_projectile distance2d _target < 1800 OR {_projectile distance2d _firer > 1000} OR {!alive _projectile} OR {!alive _target} OR {!([getposasl _projectile,direction _projectile,60,getposasl _target] call BIS_fnc_inAngleSector)}};
			if (!alive _projectile OR {!alive _target}) exitWith {

				_cam camSetFov 0.4;
				_cam camSetTarget _target;

				_cam camCommitPrepared 0;
				sleep 0.5;
				_cam camSetFov 0.1;
				_cam camCommitPrepared 2;
				waituntil {camCommitted _cam};
				sleep 3;
				_cam cameraeffect ["terminate","back"];
				camdestroy _cam;
				missionnamespace setvariable ["GOM_fnc_currentCam",false];

			};

			if (!([getposasl _projectile,direction _projectile,60,getposasl _target] call BIS_fnc_inAngleSector)) exitWith {

				_cam camSetTarget _target;
				_cam camCommitPrepared 0;
				sleep 6;
				_cam cameraeffect ["terminate","back"];
				camdestroy _cam;
				missionnamespace setvariable ["GOM_fnc_currentCam",false];

			};

			_cam camSetFov 0.75;
			_cam camSetTarget _projectile;
			_cam camSetRelPos [0,-5,1];
			_cam camCommitPrepared 1;

			waituntil {camCommitted _cam};

			_cam attachto [_projectile,[0,-5,1]];

			waituntil {!alive _projectile OR {!alive _target} OR {!([getposasl _projectile,direction _projectile,60,getposasl _target] call BIS_fnc_inAngleSector)}};

			_cam attachTo [objNull,[0,0,0]];
			_cam camSetTarget _target;
			_cam camCommitPrepared 0.3;
			_cam camSetFov 0.05;
			_cam camCommitPrepared 1;
			sleep 5;
			_cam cameraeffect ["terminate","back"];
			camdestroy _cam;
			missionnamespace setvariable ["GOM_fnc_currentCam",false];
		};


	};

	if (!_isArty) then {

		_firer removeEventHandler ["Fired",_thisEventHandler];

	};

	_nul = [_firer,_projectile] spawn {

		params ["_firer","_projectile"];
		_cam = "camera" camcreate getposatl _projectile;
		_cam cameraeffect ["internal","back"];
		_cam camSetRelPos [0,-5,2];

		_cam camCommitPrepared 0;

		_ID = ((missionNamespace getVariable ["GOM_fnc_bulletCamID",0]) + 1);
		missionNamespace setVariable ["GOM_fnc_bulletCamID",_ID];
		_ID = str _ID;

		[_ID, "onEachFrame", {

			params ["_projectile","_cam","_ID"];

			if (((getposatl _projectile) select 2) < 240 AND ((velocity _projectile) select 2) < 0 AND _projectile distance2d target < 250) exitWith {

				[_ID, "onEachFrame"] call BIS_fnc_removeStackedEventHandler;

				_delete = [_cam,_projectile] spawn {

					params ["_cam","_projectile"];
					_cam camSetTarget target;

					_cam camCommitPrepared 1;
					_cam camSetFov 0.1;
					_cam camCommitPrepared 4;
					sleep 7;
					_cam cameraeffect ["terminate","back"];
					camdestroy _cam;

				};

			};

			if !(isNull _projectile) then {

				_cam camSetTarget _projectile;
				_cam camSetRelPos [0,-5,2];
				_cam camCommitPrepared 0;

			};

			if (isNull _projectile) then {

				_delete = [_cam] spawn {

					params ["_cam"];
					_cam camSetFov 0.15;
					_cam camCommitPrepared 2;
					sleep 7;
					_cam cameraeffect ["terminate","back"];
					camdestroy _cam;

				};

				[_ID, "onEachFrame"] call BIS_fnc_removeStackedEventHandler;
			};

		},[_projectile,_cam,_ID]] call BIS_fnc_addStackedEventHandler;

	};

}];

true







 

 

Not using call compile anywhere though.

 

Cheers

Share this post


Link to post
Share on other sites
21 hours ago, R3vo said:

Any update on this issue? https://feedback.bistudio.com/T125388

 

Seems like Eden eventhandlers are sometimes not executed when the Editor is directly opened via the startup paramter.

This illogically triggers both terrainnew and missionnew events (which are triggered when you open the editor) although it should logically trigger missionload event instead of missionnew since the mission is loaded, not new...

EDIT:
Oops, was a bit triggerhappy, it actually does execute missionload and missionew and terrainnew, in that order.
Still a bit illogical to have missionew triggered in this situation though..

Edited by h -
premature resulting

Share this post


Link to post
Share on other sites
49 minutes ago, h - said:

This illogically triggers both terrainnew and missionnew events (which are triggered when you open the editor) although it should logically trigger missionload event instead of missionnew since the mission is loaded, not new...

EDIT:
Oops, was a bit triggerhappy, it actually does execute missionload and missionew and terrainnew, in that order.
Still a bit illogical to have missionew triggered in this situation though..

 

 

It's kinda weird. The following works fine in all cases:

 

    class EventHandlers
    {
        class ENH
        {
            onTerrainNew = "['init'] call BIS_fnc_3DENStatusBar; 'ONLOAD' call Enh_fnc_3denRadio_toggleRadio; [] spawn Enh_fnc_sessionTimer; [false] call Enh_fnc_showFPS";
            onMissionPreviewEnd = "'ONLOAD' call Enh_fnc_3denRadio_toggleRadio; [] spawn Enh_fnc_sessionTimer; [false] call Enh_fnc_showFPS";
        };
    };

 

However, if I now want to check the Eden Eventhandlers via config viewer it looks like this:

 

pfc3abzs.gif

 

 

I am probably missing something very obvious...

Share this post


Link to post
Share on other sites
13 hours ago, Grumpy Old Man said:

Not using call compile anywhere though

 

But you are, even if you don't know about it ;)

 

	case "oneachframe" : 			{ addMissionEventHandler ["EachFrame", compile format ["%1 call %2", _arguments, _code]]; };

this is from BIS_fnc_addStackedEventHandler

  • Like 2

Share this post


Link to post
Share on other sites
9 minutes ago, killzone_kid said:

 

But you are, even if you don't know about it ;)

 


	case "oneachframe" : 			{ addMissionEventHandler ["EachFrame", compile format ["%1 call %2", _arguments, _code]]; };

this is from BIS_fnc_addStackedEventHandler

Well that explains the "expected switch" message then.

Ditched the old BIS fnc and changed it to addMissionEventHandler, working fine now.

 

Cheers

Share this post


Link to post
Share on other sites
5 hours ago, R3vo said:

I am probably missing something very obvious...

I think that's just the configviewer doing weird things, you can see it in your gif, when you double click the Cfg3DEN -> Eventhandlers open the viewer for some reason jumps to some empty class eventhandlers way down in the list.

Scroll back up to Cfg3DEN and the handlers are there, at least that way it is for me on current dev.. :shrug:

Share this post


Link to post
Share on other sites

That makes sense.

Share this post


Link to post
Share on other sites
3 hours ago, R3vo said:

That makes sense.

It is always possible that something is wrong somewhere..
Latest eden enhanced works fine for me, no missing things on status bar or anything, tried dozens of times and everything works just fine :shrug:

Not saying the ticket is not valid, eden is quite fickle (on the modding side) so most likely mileage varies.

Share this post


Link to post
Share on other sites
10 hours ago, killzone_kid said:

 

But you are, even if you don't know about it ;)

 


	case "oneachframe" : 			{ addMissionEventHandler ["EachFrame", compile format ["%1 call %2", _arguments, _code]]; };

this is from BIS_fnc_addStackedEventHandler

 

How about we don't break existing scripts/missions available in the community. Something like..

Spoiler

/*
	Author: Nelson Duarte

	Description:
	This function adds a new item that will be stacked and called upon event handler selected has been executed

	Parameter(s):
	_this select 0:	STRING			- The unique ID of the item inside the stack
	_this select 1:	STRING			- The onXxx event handler to monitor and execute code upon
	_this select 2:	STRING or CODE	- The function name or code to execute upon the event triggering
	_this select 3:	ANY				- Arguments passed to function/code

	Returns:
	STRING - The stacked item ID
*/

// Parameters
params [["_id", "", [""]], ["_event", "", [""]], ["_code", {}, [{}]], ["_arguments", [], [[]]]];

// Supported event handlers - for backwards compatability
private _supportedEvents = ["oneachframe", "onpreloadstarted", "onpreloadfinished", "onmapsingleclick", "onplayerconnected", "onplayerdisconnected"];

// Validate event type
if !(toLower _event in _supportedEvents) exitWith
{
	["Stack with ID (%1) could not be added because the Event (%2) is not supported or does not exist. Supported Events (%3)", _id, _event, _supportedEvents] call BIS_fnc_error;
};

// Mission namespace id
private _namespaceId 	= "BIS_stackedEventHandlers_";
private _namespaceEvent = _namespaceId + _event;

// The data
private _data	= missionNamespace getVariable [_namespaceEvent, []];
private _index	= -1;

// Go through all event handler data and find if id is already defined, if so, we override it
{
	// Item id
	private _itemId	= _x param [0, "", [""]];

	// Is this the correct one?
	if (_id == _itemId) exitWith
	{
		_index = _forEachIndex;
	};
}
forEach _data;

private _objects = [];
{
	if ( _x isEqualType objNull ) then {
		private _nul = _objects pushBack [ _forEachIndex, _x call BIS_fnc_netId ];
		_arguments set[ _forEachIndex, nil ];
	};
}forEach _arguments;

private _header = "
	_arguments = %1;
	{
		_x params[ '_index', '_id' ];
		_arguments set[ _index, _id call BIS_fnc_objectFromNetId ];
	}forEach %3;
";

private _headerWithArgs = _header + "( _this + _arguments ) call %2;";
_header = _header + "_arguments call %2;";

// Is data related to event empty
// If so, we need to initialize it
private _i = switch (toLower _event) do
{
	case "oneachframe" : 			{ addMissionEventHandler ["EachFrame", compile format [_header, _arguments, _code, _objects]]; };
	case "onpreloadstarted" : 		{ addMissionEventHandler ["PreloadStarted", compile format [_header, _arguments, _code, _objects]]; };
	case "onpreloadfinished" : 		{ addMissionEventHandler ["PreloadFinished", compile format [_header, _arguments, _code, _objects]]; };
	case "onmapsingleclick" : 		{ addMissionEventHandler ["MapSingleClick", compile format [_headerWithArgs, _arguments, _code, _objects]]; };
	case "onplayerconnected" : 		{ addMissionEventHandler ["PlayerConnected", compile format [_headerWithArgs, _arguments, _code, _objects]]; };
	case "onplayerdisconnected" : 	{ addMissionEventHandler ["PlayerDisconnected", compile format [_headerWithArgs, _arguments, _code, _objects]]; };
};

// Add new item, or override old one with same id
if (_index == -1) then
{
	// Add
	_data set [count _data, [_id, _event, _i]];
}
else
{
	// Override
	_data set [_index, [_id, _event, _i]];
};

// Store in namespace
missionNameSpace setVariable [_namespaceEvent, _data];

// Log
["Stack as been updated with ID (%1) for Event (%2), Replaced: (%3)", _id, _event, _index != -1] call BIS_fnc_logFormat;

// Return
_id;

 

 

It may add some overhead but at least its not breaking content already available. Anyone who is still around and gives a damn has likely updated their content but if not at least BI wont be breaking it.

  • Like 2

Share this post


Link to post
Share on other sites

I confirmed the problem is partly solved, thanks!

 

EDIT: Oops, it's already stable-branched.

Share this post


Link to post
Share on other sites

In 3den editor using the filter on custom compositions doesn't work no more in the latest Dev build, can anyone else confirm this?

  • Like 1

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

×