Jump to content
chernaruski

Ravage Mod + Exile integration

Recommended Posts

Let's discuss Ravage Mod and Exilemod integration.

If you not familiar with Ravage , you definitely should check it out. I mainly use it for the zombies, as a better alternative to Z&D mod. So far I've managed to get the Ambient Zeds and Hordes modules to work.
Btw ( @Desperta Ferro)   , it's done by placing the Ravage Mod modules into your mission. If you can't open your mission.sqm in Eden , to place these modules, you probably have outdated mission file.

As for rest of modules, I do understand it will require more digging in exile code to get it working. At the moment , I'm looking for solutions on how to integrate the Ravage's object search loot system instead of using default Exile's ground loot spawns. So far no luck. Something is blocking the holdaction thingy , and when you place the loot module you don't even get the "Search" actionwheel to show up. While it works via editor , it doesn't on dedi .

Anyone done experiments with other modules?

  • Like 3

Share this post


Link to post
Share on other sites

Hello all!


Thanks @chernaruski for giving me a hint of why the zombies don't spawn in my mission. In my case the zombies spawns via editor but not on dedicated. I have copied the mission.sqm from the default Exile.Altis mission that comes with exile to the editor and then added the Ambient Zombies module and then I have copied the mission.sqm to the exile mission again. Maybe I have to make a mission from 0 and then add the zombies for make it work? 

 

I would like to help you but I'm a noob with all this xDD

 

Thanks for the help!!

Share this post


Link to post
Share on other sites

Oh if so, you only missing the 

class rvg_fnc_zed_spawn { allowedTargets=2; }; // Ravage Mod

in your description.ext >  class CfgRemoteExec > class Functions
just place it there next to class ExileServer_system_network_dispatchIncomingMessage { allowedTargets=2; };   and you will be good to go.

On another topic, was wondering if the ravage loot doesn't work for the same reasons (remote functions filtered and blocked )... added almost everything loot related to  class CfgRemoteExec > class Functions too. Still, no luck 😞 . Experiment continues.

  • Like 2
  • Thanks 1

Share this post


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

So far no luck. Something is blocking the holdaction thingy , and when you place the loot module you don't even get the "Search" actionwheel to show up. While it works via editor , it doesn't on dedi .

 

Hello there chernaruski !

 

I remember some years back editing some exile missions and i had used my custom scripts added like the example :

		class CfgExileCustomCode {
		
		ExileClient_object_player_death_startBleedingOut = "custom\EnigmaRevive\ExileClient_object_player_death_startBleedingOut.sqf"; //Happys Revive
		ExileClient_object_player_event_onInventoryOpened = "custom\EnigmaRevive\ExileClient_object_player_event_onInventoryOpened.sqf"; //Happys Revive AntiDupe ---NEW with v0.65
		};	

for more stuff check the EnigmaRevive script for Exile.

and maybe you should also ask Haleks about the holdaction implementation.

Share this post


Link to post
Share on other sites
On 10/3/2019 at 5:25 PM, chernaruski said:

Oh if so, you only missing the 


class rvg_fnc_zed_spawn { allowedTargets=2; }; // Ravage Mod

in your description.ext >  class CfgRemoteExec > class Functions
just place it there next to class ExileServer_system_network_dispatchIncomingMessage { allowedTargets=2; };   and you will be good to go.

 

I have tried this but I can't make it work...

 

I've proved adding the module directly to de default mission.sqm of Exile.Altis and creating a mission from zero (for the outdated mission files and that) adding some exile player slots and ambient zombie too. In both cases the mission doesn't start, It keeps loading forever. But when I remove the ambient zombie  and "class rvg_fnc..." from description.ext the mission work.

 

 

I wonder if there will be any guide to add ravage zombies to Exile for dummies. 😅

 

If you need more info, like the code or something just tell me!

Share this post


Link to post
Share on other sites

Can't help you without seeing your RPT , mission, config & description.ext .  It should work. If you prefer we can continue in PM's, you can drop it there.

Share this post


Link to post
Share on other sites

When i tested Ravage it was not working properly. On a full server (60 player) we only had like max. 20 zombies (even we set it to like 100 zombies)

Share this post


Link to post
Share on other sites
Quote

When i tested Ravage it was not working properly. On a full server (60 player) we only had like max. 20 zombies (even we set it to like 100 zombies)


Sounds very strange. If it was long ago, it could be due to global max zeds and the fact the zed hordes that didn't clean up after the player was out of range. Now things work differently, it had many fixes since then.
Currently I haven't  notice any of the mentioned low zeds count, but I'm not running full server so can't say you wrong.  For 10 players everything, Ambient Zeds and Hordes , is working just fine for all players. And it exceeds 60-80 zeds sometimes.

  • Like 1

Share this post


Link to post
Share on other sites
On 10/3/2019 at 11:19 PM, GEORGE FLOROS GR said:

 

Hello there chernaruski !

 

I remember some years back editing some exile missions and i had used my custom scripts added like the example :


		class CfgExileCustomCode {
		
		ExileClient_object_player_death_startBleedingOut = "custom\EnigmaRevive\ExileClient_object_player_death_startBleedingOut.sqf"; //Happys Revive
		ExileClient_object_player_event_onInventoryOpened = "custom\EnigmaRevive\ExileClient_object_player_event_onInventoryOpened.sqf"; //Happys Revive AntiDupe ---NEW with v0.65
		};	

for more stuff check the EnigmaRevive script for Exile.

and maybe you should also ask Haleks about the holdaction implementation.


Hey GL , yeah thats where all custom/changed/merged code overrides go. But it doesn't really help , since exilemod loot can be turned off completely in config and Ravage loot system is working as its own thing. so I don't really need to merge it together.
As for asking Haleks ,  to be honest , I don't even know what to ask exactly... since he is not familiar with exile code. Without it Ravage works just fine, so I can't ask a man to go dig the code of 3rd party mod and find me a solution for it.

  • Like 1

Share this post


Link to post
Share on other sites

Hey how can I disable ravage soundtrack? The ravage music is awesome but I want to play an intro music per example and the ravage ost is overlapping the song.

 

I've tried puting an Ambient module from ravage and select Ravage Soundtrack = no but this doesn't works.

Share this post


Link to post
Share on other sites
Quote

I've tried putting an Ambient module from ravage and select Ravage Soundtrack = no but this doesn't works.

Are you sure your mission is set correctly? Are you sure its the Ravage soundtrack that is playing? It's more of an offtopic that should be discussed in Ravage forum thread. Music is turned off in Atmosphere module and not Ambient module. If it still playing after you've set it to Ambient Music = No , its a bug that you should report to Ravage mod topic.

Share this post


Link to post
Share on other sites

Sry I don't know why I thought it was the ravage music. Both Exile and Ravage have epic music so I got confused. After some research I know how to change music. Thanks!

Share this post


Link to post
Share on other sites

Had a quick look, will check it out again. Also would like the zeds to drop loot. Will have a play around with it tonight. 

 

Switched the dead riser on which looks pretty cool but it is leaving a dead corpse as well as the zombie spawning. 

Share this post


Link to post
Share on other sites

@chernaruski @scottyd05 

 

Did you have any problems with multiple dead bodies popping up after an NPC (Ai) was killed. I did enable the option for dead players to become zombies. Any ideas?

Also thanks for the info on the CfgRemoteExec, I didn't have that added but I surely will add. However I don't think that's what's causing this issue.

 

On 11/4/2019 at 8:11 AM, scottyd05 said:

Any ideas on a MPkilled script for adding points to players for killings zeds?


This is from the Ravage Wikia:

Quote

 

Directly from Haleks:

Zombies have their own faction (creatively named "ZOMBIE_Faction") wich belongs the Civilian Side (That's why they can be found under 'civilian' in Eden).

But technically, all zombies are set to become renegades as soon as they spawn (making sure no one mistakes them for glitched friends), so inquiring on a zed's side while playing will probably return "sideEnemy", wich is neither civilian, opfor or anything. It's just "bad guys".

 


 

Since I'm a little rusty...where can we state the changes so that we can dictate "ZOMBIE_Faction" can be used for Respect? Is there a custom config I can implement or change?

 

 

Share this post


Link to post
Share on other sites
Quote

Did you have any problems with multiple dead bodies popping up after an NPC (Ai) was killed. I did enable the option for dead players to become zombies. Any ideas?
 


Don't activate the ressurection module. Its Ravage mod bug. Nothing you can do about it. Haleks, Ravage mod developer, tried fixing the dead bodies strange behaviour (sliding bodies / poping up) , it didn't work. Go check and also report this bug in Ravage mod thread .

  • Like 1

Share this post


Link to post
Share on other sites

Thanks! Any way you found to add the kills to player stats without using ExileZ or ExileZ 2 mods? Looks like both require Ryan's Z&D?

 

Share this post


Link to post
Share on other sites

Haven't searched for it. I don't use the respect points at all. You will have to find the solution yourself by testing things. You sound quite confused. What Ryan's Z&D have to do with Exilemod and Ravage integration?

You can't simply add ravage zeds faction name and be done with it. You will have to change the mpkilled related code and use that new override file. (ExileServer_object_player_event_onMpKilled maybe?)
Or use the built-in Ambient Zeds module MP Killed Event Handler and enter a proper command to update players respect points on every ravage zombie kill.

Share this post


Link to post
Share on other sites

I have been wondering if there are any system to add dynamic missions (something similar to dms?) related to ravage, like clear areas from zeds, save survivors...

 

I didn't find any addon/script for exile which could implement this.

 

Any ideas? 

 

PS: i don't know if I would have to write another thread for this, if so tell me pls.

Share this post


Link to post
Share on other sites

Hi guys,

 

I have the zeds working in the editor, but as soon as I move over to the dedicated server, no zombies whatsoever spawn 😞

I have made the changes to description.ext as explained above (mine is in infistar's CfgRemoteExec.hpp file, but it's in the correct place).

I have added a ambient spawn module and a horde module to my mission.sqm. No zombies are spawning though.

 

cfgRemoteExec.hpp:

class CfgRemoteExec
{
	class Functions
	{
		mode = 1;
		jip = 0;
		class fnc_AdminReq { allowedTargets=2; };	// infiSTAR AntiHack
		class fn_xm8apps_server { allowedTargets=2; };	// infiSTAR xm8apps
		class ExileServer_system_network_dispatchIncomingMessage { allowedTargets=2; };	// ExileMod
		class rvg_fnc_zed_spawn { allowedTargets=2; }; //Ravage Mod
	};
	class Commands
	{
		mode=0;
		jip=0;
	};
};


mission.sqm

class Entities
	{
		items=2;
		class Item0
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={16465.686,55.875072,15281.17};
			};
			id=177;
			type="Ravage_zombies";
			class CustomAttributes
			{
				class Attribute0
				{
					property="Ravage_zombies_fastNum_m";
					expression="_this setVariable ['fastNum_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=20;
						};
					};
				};
				class Attribute1
				{
					property="Ravage_zombies_z_active_m";
					expression="_this setVariable ['z_active_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=100;
						};
					};
				};
				class Attribute2
				{
					property="Ravage_zombies_z_FN_m";
					expression="_this setVariable ['z_FN_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="";
						};
					};
				};
				class Attribute3
				{
					property="Ravage_zombies_z_uniforms_m";
					expression="_this setVariable ['z_uniforms_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="";
						};
					};
				};
				class Attribute4
				{
					property="Ravage_zombies_z_pitch_m";
					expression="_this setVariable ['z_pitch_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=1;
						};
					};
				};
				class Attribute5
				{
					property="Ravage_zombies_safeDistance_m";
					expression="_this setVariable ['safeDistance_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=75;
						};
					};
				};
				class Attribute6
				{
					property="Ravage_zombies_z_damage_eh_m";
					expression="_this setVariable ['z_damage_eh_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=1;
						};
					};
				};
				class Attribute7
				{
					property="Ravage_zombies_z_hit_m";
					expression="_this setVariable ['z_hit_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="";
						};
					};
				};
				class Attribute8
				{
					property="Ravage_zombies_type_m";
					expression="_this setVariable ['type_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="Both";
						};
					};
				};
				class Attribute9
				{
					property="Ravage_zombies_numberMax_m";
					expression="_this setVariable ['numberMax_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=20;
						};
					};
				};
				class Attribute10
				{
					property="Ravage_zombies_z_hording_m";
					expression="_this setVariable ['z_hording_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute11
				{
					property="Ravage_zombies_z_risedelay_m";
					expression="_this setVariable ['z_risedelay_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=30;
						};
					};
				};
				class Attribute12
				{
					property="Ravage_zombies_z_damage_m";
					expression="_this setVariable ['z_damage_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=20;
						};
					};
				};
				class Attribute13
				{
					property="Ravage_zombies_z_dirty_m";
					expression="_this setVariable ['z_dirty_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute14
				{
					property="Ravage_zombies_z_killed_m";
					expression="_this setVariable ['z_killed_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="";
						};
					};
				};
				class Attribute15
				{
					property="Ravage_zombies_z_visual_m";
					expression="_this setVariable ['z_visual_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=1;
						};
					};
				};
				class Attribute16
				{
					property="Ravage_zombies_z_audio_m";
					expression="_this setVariable ['z_audio_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=0.2;
						};
					};
				};
				class Attribute17
				{
					property="Ravage_zombies_z_condition_m";
					expression="_this setVariable ['z_condition_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="True";
						};
					};
				};
				class Attribute18
				{
					property="Ravage_zombies_z_init_m";
					expression="_this setVariable ['z_init_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="";
						};
					};
				};
				class Attribute19
				{
					property="Ravage_zombies_z_blacklist_m";
					expression="_this setVariable ['z_blacklist_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="[]";
						};
					};
				};
				class Attribute20
				{
					property="Ravage_zombies_sunF_m";
					expression="_this setVariable ['sunF_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute21
				{
					property="Ravage_zombies_z_grab_m";
					expression="_this setVariable ['z_grab_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute22
				{
					property="Ravage_zombies_numberMaxGlobal_m";
					expression="_this setVariable ['numberMaxGlobal_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=300;
						};
					};
				};
				class Attribute23
				{
					property="Ravage_zombies_spawnRadius_m";
					expression="_this setVariable ['spawnRadius_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=250;
						};
					};
				};
				class Attribute24
				{
					property="Ravage_zombies_z_rising_m";
					expression="_this setVariable ['z_rising_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=0;
						};
					};
				};
				nAttributes=25;
			};
		};
		class Item1
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={4592.9009,339,10237.068};
			};
			id=183;
			type="Ravage_hordes";
			class CustomAttributes
			{
				class Attribute0
				{
					property="Ravage_hordes_z_uniforms_m";
					expression="_this setVariable ['z_uniforms_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="";
						};
					};
				};
				class Attribute1
				{
					property="Ravage_hordes_hordeRadius_m";
					expression="_this setVariable ['hordeRadius_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=70;
						};
					};
				};
				class Attribute2
				{
					property="Ravage_hordes_type_m";
					expression="_this setVariable ['type_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="Walkers";
						};
					};
				};
				class Attribute3
				{
					property="Ravage_hordes_fastNum_m";
					expression="_this setVariable ['fastNum_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=35;
						};
					};
				};
				class Attribute4
				{
					property="Ravage_hordes_triggerRadius_m";
					expression="_this setVariable ['triggerRadius_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=500;
						};
					};
				};
				class Attribute5
				{
					property="Ravage_hordes_hordeSize_m";
					expression="_this setVariable ['hordeSize_m',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=25;
						};
					};
				};
				nAttributes=6;
			};
		};
	};

 

 

 

Can anyone tell me what is wrong? I cannot get them to work.. Editor works just fine though 😕

Share this post


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

@Karel Delmoitie try changing these to :

mode = 2; 

jip = 1;

 

That didnt work either.. 😞

 

I tried opening my Exile mission in the editor, so that it updates to the latest version, but that puts the mission in a bootloop on the dedi server, and I have no idea why?

At first I thought it was ExtDB3, but it seems that it's able to connect the first time around and all the times after that, when the mission is read, it throws errors about already being enabled.

My RPT doesn't show anything wrong afaik..

 

Thanks for you help anway, I appreciate it 🙂 

Share this post


Link to post
Share on other sites

×