Jump to content

Recommended Posts

4 minutes ago, BroussardH said:

SINGLEPLAYER / SCENARIOS / Steam subscribed content / Ravage - Chernarus

 

So you must have subscribed to a mission from the Workshop then as Ravage doesn't come with a Chernarus scenario....

Share this post


Link to post
Share on other sites
51 minutes ago, EO said:

@BroussardH What mission are you playing? Might not be the Ravage modules that are causing your FPS drop, mission makers add all sorts of weird and wonderful scripts to the Ravage framework, that might account for your issues

 

Like I said earlier, it's most likely your performance drop is coming from all the extras that the mission maker has added to the Ravage framework when creating the scenario.

Have you tried hosting the scenario in MP? It might perform better in that environment, seems it's designed that way. 

Share this post


Link to post
Share on other sites

Adding the LADAWreck to the custom vehicles and wrecks array produces this result on both community made and vanilla terrains...Is there any fix for this folks? 

73cG8Dw.jpg

  • Like 1
  • Haha 1

Share this post


Link to post
Share on other sites
17 hours ago, EO said:

Is there any fix for this folks?


I’d definitely say it’s a model height point bug, since it’s every terrain. You could try setvectorup command but you’d have to probably do some type of loop for “allMissionObjects” so each newly spawned wreck is changed.

 

something like:

 

[] spawn {

while (alive player) do {

{
_wreck_target = ["LADAWRECK"];
if (typeOf _x in _wreck_target ) then {
_x setvectorup [0,0,1];

};

} forEach allMissionObjects "All";

sleep 1;

};
    };

 

this is pseudo code, most likely won’t work without changes, since that setvectorup value is default model height you’ll have to see how to get more height 🍻

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Hello everyone. The group of buddies I periodically get together with to cause havoc in Ravage isn't going to be able to meet up again for another few years after this spring, so I'd like this last scenario to be customized a little more than normal. My experience with coding is minimal but I did take a look at the pbos and I think I saw what I needed to see: if I wanted to completely adjust the base weapons, uniforms, and vehicles Ravage spawns both as loot and for incoming bandits & renegades am I pretty much looking at adjusting only the lootlists, gearpool, gear_list, and mission_init sqfs or did I miss a file or two somewhere else?

 

FYI, I'd use the standard whitelist tables but my idea for the scenario demands greater control over what gear is included and, more importantly, where it's showing up.

Share this post


Link to post
Share on other sites
20 minutes ago, szyzk said:

my idea for the scenario demands greater control over what gear is included and, more importantly, where it's showing up.


Do not edit ravages .pbo files unless explicitly requested to Haleks and permission is granted.

For more control over gearpools / tables it is simple.

In init.sqf:

 

waitUntil {!isNil "rvg_Items"};
sleep 1;//just to be safe, the gearpool script needs to be done first
_blacklisted_items = ["rvg_money",
"rvg_plasticBottleEmpty",
 "rvg_canteenEmpty",
 "rvg_canOpener",
 "rvg_plasticBottle",
 "rvg_plasticBottlePurified",
 "rvg_spirit",
 "rvg_franta",
 "rvg_beans",
 "rvg_bacon",
 "rvg_milk",
 "rvg_rice",
 "rvg_rustyCan",
 "rvg_hose",
 "rvg_guttingKnife",
 "rvg_purificationTablets",
 "rvg_rustyCanEmpty",
 "rvg_beansEmpty",
 "rvg_baconEmpty",
 "rvg_spiritEmpty",
 "rvg_frantaEmpty",
 "rvg_rustyCanEmpty",
 "rvg_beansEmpty",
 "rvg_baconEmpty",
 "rvg_spiritEmpty",
 "rvg_frantaEmpty",
 "rvg_matches",
 "rvg_canisterFuel_Empty",
 "rvg_canisterFuel",
 "rvg_Geiger",
 "rvg_docFolder",
 "rvg_antiRad",
 "rvg_sleepingBag_Blue",
 "rvg_foldedTent_grey",
 "rvg_foldedTent_blue",
 "rvg_notepad",
 "rvg_docFolder",
 "rvg_rustyCanEmpty"];
_rvg_items = rvg_Items;
rvg_Items = _rvg_items - _blacklisted_items;
publicVariable "rvg_Items";

waituntil {!isNil "rvg_weapons"};
sleep 1;
_blacklisted_weapons = [
"rhssaf_m_weapon_scar"
];
_rvg_weapons = rvg_weapons;
rvg_weapons = _rvg_weapons - _blacklisted_weapons;
publicVariable "rvg_weapons";

The above code will blacklist ANYTHING vanilla ravage, Now that that's out of the way... 

You need to put this in the same init.sqf file but farther down in another code block:
 

rvg_Items = [];

rvg_launchers = [];

rvg_nvgs = [];

rvg_uniforms_lv1 = [];

rvg_uniforms_lv0 = [];

rvg_vests = [];

rvg_headGears = [];

rvg_goggles = [];

rvg_backpacks = [];

rvg_gasmasks = [];

rvg_weapons = [];

rvg_LMG = [];

rvg_WeaponItems = [];

rvg_WeaponLights = [];


Simply fill in the brackets with classnames of items you'd like to override the gearpools with.

YOU MUST ALSO MATCH YOUR GEARPOOL MODULE WITH THESE WHEN PLACED IN THE EDITOR FOR THIS TO WORK (primarily weapon classnames need to match, etc...)

I've used this type of override for close to 3 years or so now and it works marvelously; the first bandit group MAY spawn with vanilla ravage stuff, but all groups after that should spawn with your overrides. 

Cheers 

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites

I am looking for a way to set up different "gear pools" for spawned random patrols of different factions - to have OPFOR/bandits using gear from one setup while BLUFOR/friendlies have other stuff. By default all spawned factions use items from the same gear pool and it makes them undistinguishable from each other.

  • Like 1

Share this post


Link to post
Share on other sites

Thank you, MuRaZorWitchKING. I would have quoted your response here to notify you but it wasn't letting me snip all of your code and I didn't want to clutter up the board again.

 

And I apologize for suggesting editing the files, I guess I misinterpreted the scope of the CC license.

 

I'll see if I can get the scenario where I'd like it to be with the help you provided!

Share this post


Link to post
Share on other sites
7 hours ago, honger said:

I am looking for a way to set up different "gear pools" for spawned random patrols of different factions - to have OPFOR/bandits using gear from one setup while BLUFOR/friendlies have other stuff. By default all spawned factions use items from the same gear pool and it makes them undistinguishable from each other.

 

I totally get what you want to achieve but I don't think that's possible without some external scripting, given Ravage is primarily a survival/post-apo/zombie modification, part of the fun is just not knowing who your friend is....  

Share this post


Link to post
Share on other sites
8 hours ago, honger said:

I am looking for a way to set up different "gear pools" for spawned random patrols of different factions - to have OPFOR/bandits using gear from one setup while BLUFOR/friendlies have other stuff. By default all spawned factions use items from the same gear pool and it makes them undistinguishable from each other.

It's possible, but more complex to achieve.  You would have to detect when groups are spawned, and then re-equip them with your own scripts.  You should be able to use the entityCreated eventHandler to detect spawned units, and go from there.

addMissionEventHandler ["EntityCreated", {
	params ["_entity"];
}];

If spawned _entity isKindOf "Man"...do your stuff.

  • Thanks 1

Share this post


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

 

I totally get what you want to achieve but I don't think that's possible without some external scripting, given Ravage is primarily a survival/post-apo/zombie modification, part of the fun is just not knowing who your friend is....  

Oh I do understand that player is supposed to have hard time telling whether dude in front of him is a friend or foe, however my goal is to have a "normal" bandit faction, friendly faction and third, military one. It would be more reasonable to make them wear their uniforms (in any state) instead of running in civilian clothes with completely random gear. 😄

2 hours ago, johnnyboy said:

It's possible, but more complex to achieve.  You would have to detect when groups are spawned, and then re-equip them with your own scripts.  You should be able to use the entityCreated eventHandler to detect spawned units, and go from there.


addMissionEventHandler ["EntityCreated", {
	params ["_entity"];
}];

If spawned _entity isKindOf "Man"...do your stuff.

Thanks, I'll see if ambient patrols module has an init field for every created unit and I'll deal with it somehow.

  • Like 1

Share this post


Link to post
Share on other sites

@honger take a look at haleks Dust scenario, there's a CSAT ambient patrol script, you could use it as a template, works perfectly alongside the Ravage ambient module....

Spoiler

csat_grp_templt = [
	"O_soldierU_F",
	"O_soldierU_TL_F",
	"O_soldierU_AAR_F",
	"O_soldierU_medic_F",
	"O_soldierU_exp_F",
	"O_Urban_HeavyGunner_F",
	"O_soldierU_F",
	"O_soldierU_F",
	"O_soldierU_F",
	"O_Urban_Sharpshooter_F"
];
csat_patrols = [];
fnc_spawn_csat = {
	_pos = _this;
	_csatgr = [_pos, EAST, csat_grp_templt,[],[],[],[],[],random 360] call BIS_fnc_spawnGroup;
	_csatgr spawn {
		sleep 0.5;
		{
			_x setface selectRandom [
			"AsianHead_A3_05",
			"AsianHead_A3_02",
			"AsianHead_A3_04",
			"AsianHead_A3_03",
			"AsianHead_A3_07",
			"AsianHead_A3_01",
			"AsianHead_A3_06"
			];
			_x setSpeaker selectRandom ["male01chi","male02chi","male03chi"];
			_x addGoggles selectRandom ["G_Balaclava_TI_blk_F","G_Balaclava_TI_G_blk_F"];
			_x addVest "V_O2Tank";
			_x setPitch (0.95 - random 0.1);
			if (backpack _x isEqualTo "") then {
				_x addBackpack "B_FieldPack_oucamo";
			};
			[_x] call RVG_fnc_AddLoot;
			csat_patrols pushBack _x;
			_x addEventHandler ["Killed", {csat_patrols = csat_patrols - [_this # 0]}];
		} forEach (units _this);
		_this spawn rvg_fnc_hunters;
		_this setBehaviour "SAFE";
		_this setFormation "COLUMN";
	};
	_csatgr
};
csat_patrols_sys = 0 spawn {
	while {alive player} do {
		sleep (120 + random 60);
		if (count csat_patrols < 5) then {
			_pos = [getposASL player, 500, 1250, 1, 0, 0.5, 0] call BIS_fnc_findSafePos;
			_pos call fnc_spawn_csat;
		};
		{
			if (_x distance2D player > 1500) then {
				csat_patrols = csat_patrols - [_x];
				deleteVehicle _x;
			};
		} forEach csat_patrols;
	};
};

 

 

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites
On 1/15/2023 at 11:39 PM, MuRaZorWitchKING said:


Do not edit ravages .pbo files unless explicitly requested to Haleks and permission is granted.

For more control over gearpools / tables it is simple.

In init.sqf:

 


waitUntil {!isNil "rvg_Items"};
sleep 1;//just to be safe, the gearpool script needs to be done first
_blacklisted_items = ["rvg_money",
"rvg_plasticBottleEmpty",
 "rvg_canteenEmpty",
 "rvg_canOpener",
 "rvg_plasticBottle",
 "rvg_plasticBottlePurified",
 "rvg_spirit",
 "rvg_franta",
 "rvg_beans",
 "rvg_bacon",
 "rvg_milk",
 "rvg_rice",
 "rvg_rustyCan",
 "rvg_hose",
 "rvg_guttingKnife",
 "rvg_purificationTablets",
 "rvg_rustyCanEmpty",
 "rvg_beansEmpty",
 "rvg_baconEmpty",
 "rvg_spiritEmpty",
 "rvg_frantaEmpty",
 "rvg_rustyCanEmpty",
 "rvg_beansEmpty",
 "rvg_baconEmpty",
 "rvg_spiritEmpty",
 "rvg_frantaEmpty",
 "rvg_matches",
 "rvg_canisterFuel_Empty",
 "rvg_canisterFuel",
 "rvg_Geiger",
 "rvg_docFolder",
 "rvg_antiRad",
 "rvg_sleepingBag_Blue",
 "rvg_foldedTent_grey",
 "rvg_foldedTent_blue",
 "rvg_notepad",
 "rvg_docFolder",
 "rvg_rustyCanEmpty"];
_rvg_items = rvg_Items;
rvg_Items = _rvg_items - _blacklisted_items;
publicVariable "rvg_Items";

waituntil {!isNil "rvg_weapons"};
sleep 1;
_blacklisted_weapons = [
"rhssaf_m_weapon_scar"
];
_rvg_weapons = rvg_weapons;
rvg_weapons = _rvg_weapons - _blacklisted_weapons;
publicVariable "rvg_weapons";

The above code will blacklist ANYTHING vanilla ravage, Now that that's out of the way... 

You need to put this in the same init.sqf file but farther down in another code block:
 


rvg_Items = [];

rvg_launchers = [];

rvg_nvgs = [];

rvg_uniforms_lv1 = [];

rvg_uniforms_lv0 = [];

rvg_vests = [];

rvg_headGears = [];

rvg_goggles = [];

rvg_backpacks = [];

rvg_gasmasks = [];

rvg_weapons = [];

rvg_LMG = [];

rvg_WeaponItems = [];

rvg_WeaponLights = [];


Simply fill in the brackets with classnames of items you'd like to override the gearpools with.

YOU MUST ALSO MATCH YOUR GEARPOOL MODULE WITH THESE WHEN PLACED IN THE EDITOR FOR THIS TO WORK (primarily weapon classnames need to match, etc...)

I've used this type of override for close to 3 years or so now and it works marvelously; the first bandit group MAY spawn with vanilla ravage stuff, but all groups after that should spawn with your overrides. 

Cheers 

Tried this and I'm still looting Ravage consumables and empty cans.

Share this post


Link to post
Share on other sites
On 1/15/2023 at 12:49 PM, EO said:

Adding the LADAWreck to the custom vehicles and wrecks array produces this result on both community made and vanilla terrains...Is there any fix for this folks? 

[...]

 

I'll look into this next week; I'm going to port the wrecks generation system I wrote for the Aradus demo from the Remnant mod : it is much more detailed and precise than the old Ravage script, and can place objects on the correct side of roads (rather than in the middle). I've also been looking into porting the enhanced AI driving system from Aradus, but I'm sorta giving up on that one : while it does work well on a "cleaned-up" terrain (Aradus removes a lot of terrain objects from Altis), making it work in heavily cluttered environments is absolute hell... If I try to have the AI avoid walls, trees or fences, it becomes clueless and refuses to move; if I don't, it will happily knock down everything in its path, which is equally immersion breaking (and bad since it will inevitably increase the size of save files until the system crashes, unless m3mory is loaded). 😕

AI driving is truly cursed.

 

If you have any suggestion for bug fixing or improvements, now would be a good time chaps.

  • Like 4

Share this post


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

I'll look into this next week; I'm going to port the wrecks generation system I wrote for the Aradus demo....

 

That would be a fantastic addition to Ravage, wreck placement in Aradus looks and feels much more immersive and I've never noticed any partially sunken wreck models that can sometimes happen with the Ravage wrecks module. :rthumb:

 

 

  • Like 1

Share this post


Link to post
Share on other sites
6 hours ago, haleks said:

 

If you have any suggestion for bug fixing or improvements, now would be a good time chaps.

 

I've posted this a few pages back but vehicles in the stock Tanoa scenario can't be used at all (stuck without simulation).

 

IDK what the limitations would be but I guess just a wishlist format would work for me on this:

 

AI Module:

Language array option

Face/identity array option

 

Gear Pool option:

Expand on the "Military Grade Uniforms" to Military gear with its own Arrays (helmets, chestrigs etc.)

Military Grade Uniform option input field for the "Common Items" and "Rare Items" to adjust how often/much they are added

An option for filtering out Ravage survival items from the Gear Pool. (I'm still looting stuff after adding the init lines mentioned before this post.)

Update item pools for SOG and other CDLCs. (I don't own the Reforger-esque ones but you do you. :b)

 

Zombie Module:

A simple yes/no option to mute zombies.

"Whitelisted structures" option to add in objects that spawn zombies (SOG's new The Bra map doesn't spawn many zombies naturally.)

"Headshots-only" for zombies as a yes/no option.

 

Vehicles Module:

Update classnames for toolkits to include SOGs toolkit. (Unless you need something special but the basic one doesn't seem to count.)

 

I PMed you on discord a question about script/trigger spawning in individual zombie/remnants btw. 🙂

 

 

 

 

 

 

 

 

 

 

  • Like 1

Share this post


Link to post
Share on other sites
33 minutes ago, Recaldy said:

 

I've posted this a few pages back but vehicles in the stock Tanoa scenario can't be used at all (stuck without simulation).

[...]

 

I've been looking into this one, but whatever causes this behavior remains a complete mystery to me... I know it's something going on with the dynamic simulation; I'll keep digging, but I might have to disable it entirely (I'm not seeing a huge difference framerate-wise anyway).

 

Thanks for the suggestions!

I'll get back to you on Discord buddy. 😉 

  • Like 1

Share this post


Link to post
Share on other sites

We've discussed the differences of the Remnant mod framework for module-based spawners; Just curious if you're thinking of an overhaul of Ravage's spawner modules for zeds?

(Yes, yes, yes, I really want your Ghost hunter zeds) 😉 

Obviously, this would be a ton of work, and I completely understand if the mod is in final stages of development. 

If you wanted however on something a bit lighter - that displaystatus function we discussed privately, maybe more true / false settings towards some survival aspects of Ravage to bring an even more dynamic editing experience? 

If not, I completely understand man, I currently am going through a tad bit of Burn out on development of current projects, they're kind of at a standstill currently, just no motivation I suppose... I enjoy playing more at the moment but I'm sure I'll jump right back in once the time is right! 

Cheers man, 

And I hope you ALL are doing well currently in the new year; I wish you all the very best. 

🥃

  • Like 1

Share this post


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

We've discussed the differences of the Remnant mod framework for module-based spawners; Just curious if you're thinking of an overhaul of Ravage's spawner modules for zeds?

(Yes, yes, yes, I really want your Ghost hunter zeds) 😉 

 

At this point in Ravage's lifetime, I probably won't be making any radical change to the modules. The mod is 7 years old; technically it's possible to overhaul the modules without breaking compatibility with old content, but I reckon that a lot of mission makers are used to the current framework : modules à la Remnant mean getting rid of global variables, which are most likely used by other frameworks that expend on Ravage systems - I'm not sure that content creator would be willing to revise their own work to adapt to this.

At the moment, I can see 2 possible solutions : a new "advanced" modules section, or a series of script templates that one could use & adapt to work around the current limitations. The latter requires less work, and could be a good way to test the idea before actually making new, additional modules.

 

10 hours ago, MuRaZorWitchKING said:

[...] I currently am going through a tad bit of Burn out on development of current projects, they're kind of at a standstill currently, just no motivation I suppose... I enjoy playing more at the moment but I'm sure I'll jump right back in once the time is right! 

Cheers man, 

And I hope you ALL are doing well currently in the new year; I wish you all the very best. 

🥃

 

I know the feeling, haha. ^^

It happens to all of us, especially on ambitious projects.

 

Cheers buddy!

beer.gif

  • Like 3

Share this post


Link to post
Share on other sites
14 hours ago, MuRaZorWitchKING said:

I currently am going through a tad bit of Burn out on development of current projects, they're kind of at a standstill currently, just no motivation I suppose

3 hours ago, haleks said:

I know the feeling, haha. ^^

It happens to all of us, especially on ambitious projects.

I totally get it too gents.  Sometimes you need to step away for awhile.  For me some outside activity is the best battery recharger.

 

Have a great 2023.

  • Like 2

Share this post


Link to post
Share on other sites

 

Looking for a little help with a trigger/game logic set-up....

 

I'm spawning a Zombie Horde module via a trigger, where the horde module is named h1...

Spoiler

RjKRMY5.png

Works as intended, spawns 10 zombies within a 40m radius of the horde module position.

 

What I want to achieve is, when a certain object is destroyed, in this case a loudspeaker named s1, set the damage of any remaining zeds (spawned by the horde module) to 0.

Any ideas folks?

 

(I was going to post this in mission editing/scripting but it's Ravage specific) 

Share this post


Link to post
Share on other sites
4 hours ago, EO said:

 

Looking for a little help with a trigger/game logic set-up....

 

I'm spawning a Zombie Horde module via a trigger, where the horde module is named h1...

[...]

Works as intended, spawns 10 zombies within a 40m radius of the horde module position.

 

What I want to achieve is, when a certain object is destroyed, in this case a loudspeaker named s1, set the damage of any remaining zeds (spawned by the horde module) to 0.

Any ideas folks?

 

(I was going to post this in mission editing/scripting but it's Ravage specific) 

 

Unfortunately, the horde function is pretty much useless in its current form, since it doesn't return anything - that makes it difficult to keep track of zeds spawned by it.

I would suggest replacing your 'On Activation' code by this :

thisTrigger spawn {
	if (!alive s1) exitWith {};
	_horde = missionNamespace getVariable ["s1_horde",[]];
	for "_i" from 1 to 10 do {
		_zed = createAgent [selectRandom ["zombie_walker","zombie_bolter"], getpos _this, [], 40, "NONE"];
		_zed setPosATL [getPosATL _zed # 0, getPosATL _zed # 1, 0.2];
		_zed setDir random 359;
		_zed setVariable ["_zPersistent", true];
		_horde pushBack _zed;
	};
	missionNamespace setVariable ["s1_horde", _horde];
}

And, to kill them all once s1 is destroyed, put this code in its init block :

this spawn {
	waitUntil {sleep 1; !alive _this};
	{_x setDamage 1} forEach (missionNamespace getVariable "s1_horde") 	
};

Since your trigger is set to repeat, feel free to remove the _zed setVariable ["_zPersistent", true] line, as it prevents zombies from being auto-deleted when players are too far away.

Untested, but gimme a shout if it doesn't work. 😉 

  • Thanks 1

Share this post


Link to post
Share on other sites
11 hours ago, haleks said:

Untested, but gimme a shout if it doesn't work. 😉 

 

Spoiler

 

Apologies for the profanity on a Sunday. :icon_biggrin:

 

  • Like 1

Share this post


Link to post
Share on other sites

Hi everyone, I've a beginners question: Is there a tutorial how to set up custom traders? My problem is, that the traders don't show every items I've added to them (classes are correct, if I change the order before not shown items are shown but others, that shown before are not). Some items, like the survial suit are not shown in any case. So I'm wondering if there is a detailed tutorial with every aspect that has to be mentioned. Thanks in advance!

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

×