Jump to content

Recommended Posts

depending of how long will be the class names list of the guns you will add with the script above, you will have less chance for the bandits to spawn with vanilla weaponry.

But, Haleks will  confirm if i'm right or wrong, with this system , it seems it is absolutly impossible to completly disabling vanilla weapons.

{
	_x = ["xx_xx", "xx_xx", "xx_xx", "xx_xx", "xx_xx", "xx_xx", "xx_xx", "xx_xx",......., "xx_xx", "xx_xx"];
} forEach [rvg_weaponsA3, rvg_weapons, rvg_mainWeapons];
where xx_xx is the class name of the weapon to add and ......... many class names further  ;)

this will override all RAVAGE types of weapons......

By speaking about another subject: .... really it's a pity that this cannot be "legally" made

 

 

@Ravage@Chernarus Plus DayZSA (ported to Arma3 with all ponds workable - original ponds replaced with DBO Ponds for Arma 3-  without major issue and possibility to save the game....)

AG528p.jpg

 

Da6K0J.jpg

 

nvKjnL.jpg

 

Due to BI Licences, DayZ Standalone map porting to ARMA 3 is not allowed for public release......

but it can be done and it is great !!!

so all of this will never be released for public share, but it is worth to know it can be done, especially for  playing RAVAGE (but you'll need to be prepared for a real challenge as Ravage loot will be very rare unless you change the class names of buildings in the loot list

 

 

:rolleyes:  B)

Quick PSA:

I just wanted to let you know I have a PM box with a capital "P."

Just putting that out there.

;)

Share this post


Link to post
Share on other sites

I understand

but sharing information with the maximum of people is fine too.

 

a few months ago I did'nt have a single idea  about Arma 3 mechanism and scripting.

As people shared on this forum and some other places their knowledge, i'm now able to do some little funny things.
and still have lot to learn.

 

I got a PM box too... I'll be happy to help any request if I know how to do.  ;)  :lol:  :)

  • Like 1

Share this post


Link to post
Share on other sites

Hi guys!
 

I may finally have time to work on the mod this month; in fact I've been experimenting a few things regarding MP compatibility this morning.

Before I go any further, I'd like to know what really needs to be adressed first. As far as I know, the following mechanics aren't working in MP :

  • Survival mechanics, inventory menu and custom items.
  • Containers failling to spawn loot except for the host.
  • Loot containers and zombies failling to spawn around connected clients (they only spawn around the host, I think).
  • Custom wrecks textures not showing up for connected clients.
  • ?

 

If you know of any other MP-related issues, let me know.

The goal for the next update is to fix all the basic game mechanics for MP, and allow COOP/MP scenarios; data persistence will come later though.

I will set up a prototype version of the next build soon(ish), if anyone wants to test it (privately!) before the release; meanwhile here's how things are going to work in MP :

Everything will be handled via the modules and CBA eventhandlers, so no scripting is required - actually, it should be impossible to set up or alter the survival features via scripting.

Survival, zombie & loot functions will run on each computer (so that the host/server isn't overloaded), only a small number of key variables will be broadcasted over the network to avoid MP-performance issues.

Basically, it will work just the same as before : open the editor, put some modules and change their settings to your liking, and export the mission - the modules will do the rest.

 

Keep in mind that this is my first time fiddling with MP, so I'm not sure how solid or secure it will be at first...

 

EDIT : I would also need to know if the ambiant music, custom weather and PP Color Corrections work for everyone or the host only (I presume they are broken too though...)! ;)

  • Like 4

Share this post


Link to post
Share on other sites

Hey haleks,

 

thanks for your continuous dedication and special thanks for working on  MP compatibility.  And thanks again for your tips in the cosmic10r's thread, of course!

 

I think I could test your MP build by adapting the mission I told you about for the new build of RAVAGE and hosting it for me and my buddy.  But maybe a test mission without mods like the Chernarus Map is needed? just specify your desired testing parameters and I'll set it up like that. Least I can do to support your great mod I say!

 

Best Regards,

 

tourist

Share this post


Link to post
Share on other sites

Thanks tourist,

 

The best way to test the next build would be to work with vanilla content and very basic missions; ideally players should be far from each others, to see how things go for connected clients.

I will make simple template missions for you guys to try, I might have something to test by the next week-end.

I'll PM you soon. ;)

  • Like 1

Share this post


Link to post
Share on other sites

Good news Haleks!

Be happy to test on the dedicated server for you as well...

I'm sure me and EO would love that!

In that vid I sent you awhile back, the loot seemed synced and pp effects and zeds looked good. We forgot to check out survival.

  • Like 3

Share this post


Link to post
Share on other sites

There's also no zombie sounds on the connected clients (as opposed to host) and no colour filters. You're right on the loot spawn thing inside the container. I suspect you've written it as part of an InventoryOpened EH when a player opens the inventory of a spawned-in container as a way to reduce the "hitchy" lag thing but I don't think it'll be a problem if you place the items in the container during the createVehicle process. The real lag comes from the creation of the container (vehicle) rather than the placing of the items in it. 

 

In MP, the thing to take into account, is the use of a 3rd variable when doing setVariable commands:

 

_x setVariable ["MyVariable",true];

If you were to add this:

x_ setVariable ["MyVariable",true,true]; -- the 3rd variable being "TRUE", that is made for all clients. Same with using false at the end. It moves it from a local variable to a globally-recognized one and is even JIP (join in progress). 

 

B

  • Like 1

Share this post


Link to post
Share on other sites

Thanks tourist,

 

The best way to test the next build would be to work with vanilla content and very basic missions; ideally players should be far from each others, to see how things go for connected clients.

I will make simple template missions for you guys to try, I might have something to test by the next week-end.

I'll PM you soon. ;)

 

^ Exactly, Haleks. I would recommend keeping it as vanilla as possible for all of your testing and re-work. It shouldn't be that big of a deal to modify to make for multiplayer (for at least a listen server for the time being). The things I think you'd need to modify primarily are the createAgent and createVehicle spawn routines used for spawning zed and loot containers, respectively. The spawn function(s) themselves can remain on the clients, as it already is, but perhaps mark a building when it's already had a function run thru-it to keep other clients from attempting to have the function run in the same building, preventing duplication of loot containers and zed. There's nothing wrong in having one client's box spawning, controlling, and owning (locality) all the zed in, say, a village, when his client-side function runs first to spawn. Since they are agents, it shouldn't lag him down really since (I suspect) no inherent Arma 3 behaviour scripts are running (disable "FSM" I am gathering you use). 

 

Same goes for the bandit/raider AI as well.

 

Now when you get ready to try dedicated server MP using a headless client to spawn all the agents, loot, and raiders, let me know and I'll be ready to lend a hand.

 

B

  • Like 1

Share this post


Link to post
Share on other sites

Thanks guys!

 

@bdc : as you guessed the loot is handled via EH, it will be fairly easy to fix. I'm surprised about the absence of zombie sounds though - I use say3D for it and I thought it was sync accross clients. :/

It might be related to the way variables are handled in MP, I'll make a few changes. A lot of changes, most likely. ^^'

 

EDIT : quick question for you guys : anyone knows if using _x setVariable ["MyVariable",true,true] automatically broadcasts the variable over the network (like publicVariable does)?

I wanna make sure it's safe to use it performance-wise.

EDIT² : Looks like it does...

  • Like 1

Share this post


Link to post
Share on other sites

Hey Haleks, just wanted to say I absolutely love this mod you have created, I play it often with my friends and we all have an absolute blast. Honestly there's only a couple of things that would make it better, I see that you have already listed a few up above, concerning MP functionality and the like. One other thing that would make it even more amazing though, is if you added the option of tweaking the amount of Human NPC's that spawn on the maps, including custom ones like Taviana and Panthera. I've noticed a lack of Npc's on most custom maps I've played on using Ravage, but other than that, I have to say you did an amazing job with this mod. Great work man, and thanks!

  • Like 1

Share this post


Link to post
Share on other sites

Hi ArteyFlo!

 

Good point about the amount of NPC; I intended to tweak it at some point : everybody doesn't use the zombies, in wich case maps will often feel empty.

I'll try a few things, eventhough I can't promise it will be part of the next update - it all depends on how much free time I'll have this month. ;)

  • Like 1

Share this post


Link to post
Share on other sites

Thanks guys!

 

@bdc : as you guessed the loot is handled via EH, it will be fairly easy to fix. I'm surprised about the absence of zombie sounds though - I use say3D for it and I thought it was sync accross clients. :/

It might be related to the way variables are handled in MP, I'll make a few changes. A lot of changes, most likely. ^^'

 

EDIT : quick question for you guys : anyone knows if using _x setVariable ["MyVariable",true,true] automatically broadcasts the variable over the network (like publicVariable does)?

I wanna make sure it's safe to use it performance-wise.

 

My buddy and I Hardpipe tried out the DoctorX multiplayer mission yesterday. Not sure if you're familiar with it or not, but it uses your Ravage mod as the backdrop. I hosted it on my gamer machine (not on a server) and all of the Ravage-based functions worked properly. I had zombie sounds, the colour filter, weather, all that sort of thing. But my buddy didn't. He had regular Arma clouds and colours, no zombie sounds, and whenever he looked into a spawned loot container, there was nothing in it. He also had trouble getting in vehicles as he would be kicked out. It's almost as if the actual Ravage-side scripts didn't load, although he could see the zombies and the raiders. 

 

And on the setVariable thing - That's how you do it for anything that needs to go multiplayer. I don't think it operates like a publicVariable EH but it is JIP-compatible and does hit all clients. It works just fine. Adding a bit to this - In CO18 Resistance Plus, I have some vehicles that are locked in an area-of-engagement marker area that remain locked until the marker is cleared of bad guys. Once that happens, I have a routine that will unlock them. Part of that is keeping the inventory locked as well. I use the InventoryOpened EH tied to each player and it's triggered every time that player attempts to get inventory opened, like you're already familiar with. On the locked vehicles, when the server is loaded and propagating those vehicles on the map, I execute this:

 

_this setVariable ["InvLocked",true,true]; 

 

If a player logs in after the server has already been going and attempts to go to that vehicle and get into its inventory, he can't. In the InventoryOpened EH code, it grabs the variable from the vehicle (_InvLocked = _this getVariable ["InvLocked",false];) and is returned false on it. If it's already unlocked by the time he logs in, he'll get true back and can open it. So it's JIP-compatible and doesn't use EH's. It's inherent, apparently.

 

B

  • Like 2

Share this post


Link to post
Share on other sites

Hi ArteyFlo!

 

Good point about the amount of NPC; I intended to tweak it at some point : everybody doesn't use the zombies, in wich case maps will often feel empty.

I'll try a few things, eventhough I can't promise it will be part of the next update - it all depends on how much free time I'll have this month. ;)

 

In speaking of NPC's, how exactly are you spawning the random bandit/raider AI? Are they marker-based, meaning there's a static amount that pops with signature areas like military bases, towns, that sort of thing? Or is it entirely random?

 

B

Share this post


Link to post
Share on other sites

In speaking of NPC's, how exactly are you spawning the random bandit/raider AI? Are they marker-based, meaning there's a static amount that pops with signature areas like military bases, towns, that sort of thing? Or is it entirely random?

 

B

 

The module populates the map with triggers around various locations (cities, villages etc); it also defines what sides and unit types are to be spawned, as well as the functions to call upon trigger activation.

Those are stored in variables wich are called later on, depending on the location class - I have already made a few tweaks on my end regarding this. It is more or less random in the end, but you will always see more bad guys around major cities than villages.

 

By the way...

Override Default Animal Behaviour

b8cdd29b-d6a2-4ee2-80e4-ff57d5b538af.jpg

It's happening!

  • Like 2

Share this post


Link to post
Share on other sites

Feral Dogs!!!

 

I know... mikey and I saw that and thought... finally... a dog companion!

Im downloading RC branch now... 

Share this post


Link to post
Share on other sites

Lol... kinda like the supermutant companion in fallout...

 

Do you have to feed him bandits to keep him from being... well... more feral... lol

Share this post


Link to post
Share on other sites

It could actually be fun to code needs for them - but I'd probably have to do the same for recruited units. ^^'

That being said, using a dog companion to hunt rabbits and the like would be a bloody cool feature and could balance things...

 

Damn, I only fired the editor this morning, and end up with a shitload of projects by the end of the day. ^_^

  • Like 3

Share this post


Link to post
Share on other sites

but I'd probably have to do the same for recruited units. ^^'

 

 

 

So if you don't tell them how great they are doing, they might get bitter and jaded and leave your group?

 

In all seriousness, that would be a cool feature

 

Mikey and i have wanted a dog companion for awhile to sniff bombs... and maybe loot :)

 

_bitterUnit joinsilent grpnull;

  • Like 1

Share this post


Link to post
Share on other sites

The module populates the map with triggers around various locations (cities, villages etc); it also defines what sides and unit types are to be spawned, as well as the functions to call upon trigger activation.

Those are stored in variables wich are called later on, depending on the location class - I have already made a few tweaks on my end regarding this. It is more or less random in the end, but you will always see more bad guys around major cities than villages.

 

By the way...

Override Default Animal Behaviour

b8cdd29b-d6a2-4ee2-80e4-ff57d5b538af.jpg

It's happening!

 

In multiplayer, those triggers will have to be converted from having been done on the map to being written in script form, if they're not already, and run on the host machine only. 

 

B

Share this post


Link to post
Share on other sites

Hey guys, Im having an issue where the AI only spawn with HLC weapons. I have a few weapon mods from the list and i added this  to the init

waitUntil {!isNil "rvg_gearlist"};
{
0 = rvg_mainWeapons pushBack _x; //civilians weapons
}
forEach ["hlc_rifle_RU556",
"hlc_rifle_RU5562",
"hlc_rifle_Colt727",
"hlc_rifle_Colt727_GL",
"hlc_rifle_bcmjack",
"hlc_rifle_Bushmaster300",
"hlc_rifle_vendimus",
"hlc_rifle_SAMR",
"hlc_rifle_honeybadger"];
{
0 = rvg_Weapons pushBack _x; // military weapons
}
forEach ["hlc_rifle_RU556",
"hlc_rifle_RU5562",
"hlc_rifle_Colt727",
"hlc_rifle_Colt727_GL",
"hlc_rifle_bcmjack",
"hlc_rifle_Bushmaster300",
"hlc_rifle_vendimus",
"hlc_rifle_SAMR",
"hlc_rifle_honeybadger"];
{
0 = rvg_Items pushBack _x; // accessories
}
forEach ["hlc_muzzle_556NATO_KAC",
"hlc_muzzle_300blk_KAC"];

 

 

but thats all the AI are using now with the odd Vanilla weapon. Any help would be appreciated.Thanks

Share this post


Link to post
Share on other sites

Haleks - Is Ravage compatible with the CUP terrain maps/mod?

Share this post


Link to post
Share on other sites

Bear in mind that adding dogs creates a whole bunch of other problems.

Back in the day I tested out the dog functions in the DayZ mod. A lot of people wondered why dogs were almost added and then didn't appear in the released version.

Dogs don't really have any purpose. It's easy to add them and it's easy to add feeding and petting functions, but that's only amusing for five minutes. What comes after that? If dogs are to be useful, you'll want them to alert you to danger, find food and attack your enemies. Any one of those becomes a real problem to code.

If a dog is to find food, then you have to spawn loot at a greater distance (uh oh) and of course the dog should only scent food (uh oh). And what's the dog going to do when it does detect food? Fetch it for you? Lead you to it? Can it detect canned food? Or does it just detect rabbits? Either one of those is a hassle that will create a thousand new bugs. The best solution I could think of (the last time I thought about it) was to have the dog run off out of sight, spawn a dead rabbit in its mouth and have it return to you. That seemed like it would introduce the least bugs and coding problems, but even that's not without hassles.

If you want the dog to attack zombies, then it has to have pathfinding and attack animations. Which zombie does it attack first? What if there's a group of them? Can the zombies detect and attack the dog? Yikes. You could reason that the zombies are too dumb to be able to deal with a dog and just skip that, but that's going to seem pretty unrealistic eventually. And you really need the dog to stay by your side unless you tell it to attack otherwise it'll be off attacking zombies the whole time. Not to mention that that reduces the already slight danger from zombies to almost zero.

If you want the dog to attack NPCs, then you've got all those same problems, but you can't have NPCs ignore the dog. But if it runs in a straight line towards them, there's a pretty good chance of ending up with a dead dog almost every time. So you have to make the AI less accurate for dogs or come up with some other workaround. All this adds the potential for more bugs and gives the processor even more work to do.

So yeah, the idea of dogs sounds really good, but thinking about the reality presents an awful lot of problems.

The best way of using dogs that I could think of was to introduce them as enemies only. Have a (very) occasional pack of wild dogs for you to find. They're hostile and they attack in a group. They're faster than you, so you have to shoot fast or escape to higher ground. I think this could be a nice feature that really adds a rare 'oh shit!' moment to the game.

I think dogs are an example of when one should ignore  But those are just my thoughts.

Oh and a couple of years ago I made a video showing how dogs were almost included in DayZ, so you can see what they're like. It's in the spoiler below. I can't remember who made the mission file for me - maybe Above? It may even have been Haleks.

  • Like 2

Share this post


Link to post
Share on other sites

I remember the first few pages of the thread covered the topic of roaming feral dogs rather than companions as such.

 

If the project is gearing towards MP, then an extra enemy would be a welcome addition.

  • Like 3

Share this post


Link to post
Share on other sites

I remember the first few pages of the thread covered the topic of roaming feral dogs rather than companions as such.

 

If the project is gearing towards MP, then an extra enemy would be a welcome addition.

 

That's a good idea. Adding another antagonist would help re-balance things back out a bit.

 

B

  • 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

×