Jump to content
LSValmont

vDog Patrol and VDog Feral Multiplayer Scripts [v1.9 - updated 05/18/2020]

Recommended Posts

Awesome release man, good work!:rthumb:

 

I finished my proof of concept script where dog runs fast because he's attached to an invisible AI unit.  To utilize a fast dog, you would have to create another agent that is the runner (i.e., change how dogs move), so it may not be worth it to you (totally understand if its too much work, or not a fit). You might want to take the dust fx though (when animal moving fast I spawn a little dust fx at their feet).  It didn't take long to make, and I may build on it to create herding/flocking behaviour (TBD).

 

  • Like 1
  • Thanks 1

Share this post


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

Awesome release man, good work!:rthumb:

 

I finished my proof of concept script where dog runs fast because he's attached to an invisible AI unit.  To utilize a fast dog, you would have to create another agent that is the runner (i.e., change how dogs move), so it may not be worth it to you (totally understand if its too much work, or not a fit). You might want to take the dust fx though (when animal moving fast I spawn a little dust fx at their feet).  It didn't take long to make, and I may build on it to create herding/flocking behaviour (TBD).

 

 

Congrats on the release @johnnyboy and thank you for the time and dedication you've put on your projects and this!

 

This will be featured in version 1.8 of vDogs no doubts about it! 😉 

  • Thanks 1

Share this post


Link to post
Share on other sites

vDog Patrol and vDog Feral Scripts version 1.8 "FASTEST DOGS IN ARMA 3" RELEASED! (05/06/20)

 

- MAIN FEATURE: JBOY Animal Move (faster animals) incorporated into the vDog scripts! Special thanks to @johnnyboy for making yet another  and a final update possible! 

Spoiler

 

 

 

 

 

 

A final extensive script rewrite to accommodate the JBOY Runner Agents with the following changelog highlights:

 

1) Dogs are now up to three times faster than before!
2) Dogs will now most definitively not go through walls and obstacles in most circumstances other than when getting unstuck from objects.
3) Now the movements of the Dogs, specially the Feral Dogs, are more erratic and evasive, making it harder to kill them.
4) Patrol Dogs' attack distance increased ~25% to accommodate for their faster speeds.
5) There is a small chance now for the Dogs, specially Feral Dogs, to make their targets drop some equipment when attacked!
6) Added yet another 4 more sounds to the Dogs including new calm dogs sounds for when no action is happening.
7) The performance impact of these new features is minimal in contrast to the added benefits.
8.) Fixed the "Heal Dog" not being removed from players once their dog was dead.
9) Prevented the spamming of dog sounds (Now each dog can only play one sound every 5 seconds).
10) Added a check so that Dogs don't move into water so easily.
11) Fixed Dog orders sound spam!

 

Note: Unless there are bugs to fix, this script is considered FEATURE COMPLETE and will not be updated unless necessary.

I would like to thank everyone involved in the project from the testers to the Arma 3 gurus and kind souls who helped along the way.

 

DOWNLOAD LINK: https://drive.google.com/open?id=1Mi0QfaMqWHaKsJRTEm20gF9aJvOZ8EKf

 

PS: This script is now by both Valmont and JohnnyBoy! It would be impossible for me not to give him co-ownership after all the resources he has given and all of JBOY Dog's code that the vDogs now use!

  • Like 4

Share this post


Link to post
Share on other sites

Hi, I'm getting an error with this... been scratching my head for hours but I have to admit defeat!

 

vDogFeral.sqf, line 311 Error Params: Type Array, expected Number

 

Any ideas? I haven't changed any of your code, just trying to use in my mission.

 

Cheers Guys!

  • Thanks 1

Share this post


Link to post
Share on other sites
On 5/9/2020 at 11:49 AM, mrakos2005 said:

Hi, I'm getting an error with this... been scratching my head for hours but I have to admit defeat!

 

vDogFeral.sqf, line 311 Error Params: Type Array, expected Number

 

Any ideas? I haven't changed any of your code, just trying to use in my mission.

 

Cheers Guys!

 

You need to add this to the ACTIVATION FIELD of a trigger:

 

null = [getPos thisTrigger,((triggerArea thisTrigger) select 0), "Fin_random_F", 3, true] execVM "vScripts\vDog\vDogFeral.sqf";

 

Make the trigger as big as you would want the Feral Dogs to attack and that's it!

Share this post


Link to post
Share on other sites

Hi and thanks for your reply BUT this is exactly what I did - placed the trigger etc as per the readme... still I have the error.

  • Like 1

Share this post


Link to post
Share on other sites

vDogs version 1.8B (HOTFIX) RELEASED!

 

Changelog:

- Fixed two sound class errors: dogGrowl4 and dogGrowl. (Both reported by PatPgtips on Armaholic.com so thank you PatPgtips!)
- Corrected the Feral Dogs's TRIGGER ACTIVATION code so that there are no "Type Array, expected String" errors. (Thank you @mrakos2005).
PS: Use this in the TRIGGER ACTIVATION now: null = [getPos thisTrigger,((triggerArea thisTrigger) select 0), "Fin_random_F", 3, true] execVM "vScripts\vDog\vDogFeral.sqf";
- Patrol Dogs are now faster to react and will reveal targets to their owner so they are far more dangerous and useful than before! (Fear the Patrol Dogs!)
- Dogs will now take slightly more punishment before going down.
- Additional small optimizations!

 

 

DOWNLOAD LINK: https://drive.google.com/open?id=1mtMH6irOWYsyPy0cl1Jlk4sOrpahqcX4

 

Enjoy!

Share this post


Link to post
Share on other sites
13 hours ago, LSValmont said:

vDogs version 1.8B (HOTFIX) RELEASED!

 

Changelog:

- Fixed two sound class errors: dogGrowl4 and dogGrowl. (Both reported by PatPgtips on Armaholic.com so thank you PatPgtips!)
- Corrected the Feral Dogs's TRIGGER ACTIVATION code so that there are no "Type Array, expected String" errors. (Thank you @mrakos2005).
PS: Use this in the TRIGGER ACTIVATION now: null = [getPos thisTrigger,((triggerArea thisTrigger) select 0), "Fin_random_F", 3, true] execVM "vScripts\vDog\vDogFeral.sqf";
- Patrol Dogs are now faster to react and will reveal targets to their owner so they are far more dangerous and useful than before! (Fear the Patrol Dogs!)
- Dogs will now take slightly more punishment before going down.
- Additional small optimizations!

 

 

DOWNLOAD LINK: https://drive.google.com/open?id=1mtMH6irOWYsyPy0cl1Jlk4sOrpahqcX4

 

Enjoy!

Hi and thanks for the quick fix! Could you please explain if there's anything particular I need to do with the trigger locality for it to work properly in a self hosted mp mission - like trigger "server only" tickbox (in editor) or remoteExec instead of execVM? Sorry if this seems obvious but I am learning ;¬)

  • Like 1

Share this post


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

Hi and thanks for the quick fix! Could you please explain if there's anything particular I need to do with the trigger locality for it to work properly in a self hosted mp mission - like trigger "server only" tickbox (in editor) or remoteExec instead of execVM? Sorry if this seems obvious but I am learning ;¬)

 

The only way of learning is asking so ask as many times as you want!

 

In the case of the vDogs you don't need to worry about locality as the script will exit if run on any client and will only work on the server, so any kind of trigger will do. It should also work fine if you tick the server only tickbox but there is no need for that. RemoteExec is not needed if you use a trigger or add the execVM to the unit's init field.

Share this post


Link to post
Share on other sites
5 minutes ago, LSValmont said:

 

The only way of learning is asking so ask as many times as you want!

 

In the case of the vDogs you don't need to worry about locality as the script will exit if run on any client and will only work on the server, so any kind of trigger will do. It should also work fine if you tick the server only tickbox but there is no need for that. RemoteExec is not needed if you use a trigger or add the execVM to the unit's init field.

Awesome, thanks! What about having the dogs respawn after a certain amount of time has passed, like some new dogs move in to replace any my players have killed? Trigger repeat or loop etc?

Share this post


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

Awesome, thanks! What about having the dogs respawn after a certain amount of time has passed, like some new dogs move in to replace any my players have killed? Trigger repeat or loop etc?

 

There is no need to repeat. Trigger repeat doesn't work so well in my experience.

 

Just place 2 equal triggers at the same position and have them be activable at different times.

 

Trigger 1 Condition: time > 5 && {alive (agent _x) && ((agent _x) inArea thisTrigger)} count agents < 1;

Trigger 2 Condition: time > 60 && {alive (agent _x) && ((agent _x) inArea thisTrigger)} count agents < 1;

 

The first trigger will spawn the Feral Dogs 5 seconds into the mission and the second trigger will only activate when all the previous Feral Dogs are dead.

 

PS: It is kinda tricky working with agents but that is your solution 😉

Share this post


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

 

There is no need to repeat. Trigger repeat doesn't work so well in my experience.

 

Just place 2 equal triggers at the same position and have them be activable at different times.

 

Trigger 1 Condition: time > 5 && {alive (agent _x) && ((agent _x) inArea thisTrigger)} count agents < 1;

Trigger 2 Condition: time > 60 && {alive (agent _x) && ((agent _x) inArea thisTrigger)} count agents < 1;

 

The first trigger will spawn the Feral Dogs 5 seconds into the mission and the second trigger will only activate when all the previous Feral Dogs are dead.

 

PS: It is kinda tricky working with agents but that is your solution 😉

Thanks very much for all your help - just what I needed!!!

  • Like 1

Share this post


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

Thanks very much for all your help - just what I needed!!!

 

No problem!

 

Also you can set the second trigger TIMEOUT to XX amount of seconds so the second wave of dogs don't spawn exactly at the same time the previous wave are dead.

 

Have fun!

Share this post


Link to post
Share on other sites

vDog Multiplayer Dogs scripts by Valmont and Johnnyboy VERSION 1.9 "BEWARE OF DOG" Released:

 

Release Highlights:

 

- Dogs will now correctly chase targets that are running backwards (Negative Speeds).
- Fixed some instances where Dogs would stop chasing targets without reason.
- Patrol Dogs are now less likely to get in the way of their owners. (Will walk on the side now).
- Fixed some instances of players not getting the option to heal their dog.
- Feral Dogs will now react faster and longer to invasions on their territory.
- Replaced several instances of "if () then {}" with "switch (true) do {}" to optimize several functions.
- Replaced "BIS_fnc_dirTo" with the engine "getDir" solution. (Results in less resources being used)
- Added visual pain effect for when players are bitten complementing the bite sound and the pain sounds.
- Fixed dog bite sound effect not playing on some instances.
- Made several Dog sounds slightly louder to better alert players of their presence.
- Updated the trigger on the demo mission to show mission makers how to make Feral dogs respawn (You add several Triggers that activate at different times).

PS: All these fixes and improvements ended up making the Dogs far more effective than before! So Beware of Dog!

 

v1.9 DOWNLOAD LINKhttps://drive.google.com/open?id=1UbL4IuPZx8eMkg3QvzBteqZYaouLgLnj

  • Like 1

Share this post


Link to post
Share on other sites
12 hours ago, LSValmont said:

Beware of Dog!

Right on!  Lots of great improvements.

12 hours ago, LSValmont said:

- Replaced several instances of "if () then {}" with "switch (true) do {}" to optimize several functions.
- Replaced "BIS_fnc_dirTo" with the engine "getDir" solution. (Results in less resources being used)

Cool performance tips.  I learned something today! 

 

I'm curious bout "if" vs. "switch"...why does that perform better?

  • Like 1

Share this post


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

Right on!  Lots of great improvements.

Cool performance tips.  I learned something today! 

 

I'm curious bout "if" vs. "switch"...why does that perform better?

 

It exits the switch scope as soon as one of the conditions returns true while several If () then {} will check all the condition even if the previous was true unless you use "exitWith" but then that exits the whole script and not just the switch part... so there...

  • Thanks 1

Share this post


Link to post
Share on other sites
1 minute ago, PatPgtips said:

thanks again for the update 

 

Hey! You are the guy at Armaholic! 

 

Nice to see you here!

 

No problem! My next work is going to blow your mind 😉

 

Keep testing please 😃 

Share this post


Link to post
Share on other sites
41 minutes ago, LSValmont said:

 

Hey! You are the guy at Armaholic! 

 

Nice to see you here!

 

No problem! My next work is going to blow your mind 😉

 

Keep testing please 😃 

i have it on 5 escape from servers i have updated today but havent had the chance to test it out yet but do love the speed of the dogs now 

 

got to change things up now and again to keep players on their toes

 

  • Like 1

Share this post


Link to post
Share on other sites
42 minutes ago, LSValmont said:

No problem! My next work is going to blow your mind 😉

🤔???!!!!

Share this post


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

🤔???!!!!

 

It is a super package of over 50 scripts I've developed over the years that greatly increase the Immersion and gameplay elements of Arma 3 while also fixing long standing bugs and issues we all have struggled with. It will also contain work of other authors that I've updated to work post 1.98. (With authorization of course).

 

The idea started with providing a way to better control your Ai units but in my quest of a good "modless" experience for arma 3 it quickly expanded into something much much bigger.

 

Using this "vScripts" package will remove the requirements of over 20 mods that most of us have enabled at all times to have a better Arma experience.

 

The result is a lot less complications, outdated mods, less loops running on servers and better overall performance compared to having all those mods active.

 

Additionally I have not taken any code from the mods this script package replaces but did all the coding from scratch to take advantage of the never engine commands available since 1.98.

 

Well, it is not that I actually mean to replace those mods but rather have scripted alternatives that are easier to update and do not cause dependency issues, making missions last longer and reduces the chances of them becoming outdated.

 

Nothing worst than breaking your ass off making a mission only to have one of the mods that it needs becoming outdated and therefore you have to redo your mission, remove it from steam or just abandon it.

  • Like 3

Share this post


Link to post
Share on other sites

Dont know if anyone has mentioned this, there seems to be a radio problem or two. As in; if there's already other radio triggers (supply drop scripts ect) the dog commands overwrite them. also enemy AI guards had the guard dog & player can see the attack commands in the radio list if they have a radio trigger option. just updated to previous version. not tried 1.9 yet

 

  • Like 1

Share this post


Link to post
Share on other sites

Tested 1.9 version & all works fine, but need to make sure other radio triggers are not Alpha or Bravo & still;

 

Playing as Blueforce (with no dogs at all)  & with AI enemy Opforce guard with guard-dog script (has a dog) player will see the dog radio commands in his Blueforce Radio list, but the enemy's dog will not obey the commands, if given by Blueforce on the radio. So it does work 🙂

 

  • Like 2

Share this post


Link to post
Share on other sites

Really nice update, we really enjoy some canine action! That goodDogBark.ogg though...

  • Like 1

Share this post


Link to post
Share on other sites

Trying to use 1.9, but have a strange bug:

 

In both the test mission provided in the download, and any missions I use this script it, all dogs have a visible human body attached to them.  It's upside down, with the legs and posterior sticking out of the top of the dog.  Would be great for THE THING, but not so great for my mission.  Any ideas what might be causing this?

 

Edited to add:

 

Tried 1.7 as well, same issue.

Edited by senoj
  • Haha 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

×