Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by johnnyboy

  1. Hi Tricky, welcome to the forums. Download the zip file and unzip the entire mission directory into your missions folder. Then open the mission up in the editor. To make a new mission on a new map, then create and save a mission, and then copy all the files (except the mission.sqm) into your new mission's directory. You then will want to edit the init.sqf. Here you can create new path arrays to use. And modify the code that calls the main script to pass in units of your choice. I recommend thoroughly understanding the init.sqf in the demo mission before trying to create a new mission with your own init.sqf. I need to make an instructional video on how how to make your own move point array, so for now I suggest you just play around with my demo mission. For the different move points in the path array you can add different keywords to make ai do different actions at different points in the path. For example, see the path array assigned to variable _path2. On the two move point rows that contain "door" in the second column of the array, you can add "gunbreach" or "benobreach" (or remove those) to get different entries (breaching charge, shoot the lock, or just open the door). You can also add "grenade" to this keyword array in second column to have leader throw a grenade after reaching the move position. How you create your move array: And note that flashbangs (thanks to Phronk) will be supported in next release!!! (they're working great in my dev branch). 🙂
  2. JBOY AI Scripted Path - Alpha Release of script to have AI move quickly through a path of positions while fighting. In this video we see a stack of 4 units clear a house, breach doors, and dynamically fight. Also this script can be used to create moving AI on static structures that have no AI paths (like new destroyer, Cargo Ship Mods, Oil Rig compositions). For example: It's now possible to have AI defenders patrolling an Oil Rig, or AI attackers assault an Oil Rig. Above video credits: @beno_83au for breaching chard script, and RHS for pump shotgun. Download Demo Mission: Dropbox Link (updated 6/15/19) Demo mission requires mod RHSUSAF for the pump shotgun. Older videos: Features working so far: AI moves through series of hardcoded positions recorded in an array. @beno_83au's awesome door breaching Shotgun door breaching. Aims exactly at door jamb where handle is. Multiple stacks can execute multiple paths simultaneously Supports 1 to 4 units running through movepoints Lead unit uses hand gestures and in-game voice file to command team Leader tosses grenades into rooms or up stairs (and followers take cover) If unit clips and falls off balcony, he is killed so does not ruin entire teams moves AI can fire while moving AI will stop before doors and open them. AI plays animation to test if door is locked, and you see door handle animated, and hear custom locked door jiggle sound. AI resumes ai behaviour and waypoints after successfully executing a move script Planned: Known Issues: Path array used in latest video (6/14/2019 I tried to generate a path through a building based on building positions and building door positions, but that is not enough information for a clear path. The script uses "playMove animationName" to move a unit from one position to another. This requires an unobstructed line from one positions to another. If we used building positions alone, then AI would pass through walls and would not climb stairs. I am creating a little utility so that you can walk through a building in the editor and record each path position in an array. You can then copyToClipboard the array and paste it in a script to create a new path (like a series of waypoints). How you create your own custom move path array: These instructions assume you are editing my test demo mission to learn the basics of creating a custom path of movepoints.
  3. @Larrow hey buddy. Any chance you could modify your above tool to filter to one language only? Just ENG would be fine. It takes between 5 and 10 minutes to load as is, and we really only need to see one language. If you want the path for the French or Chinese version of the command, the user can use my example below which shows how directories are structured per each language. "A3\Dubbing_Radio_F\data\ENG\Male01ENG\RadioProtocolENG\Normal\015_Targeting\Attack_1.ogg" "A3\Dubbing_Radio_F\data\PER\Male01PER\RadioProtocolPER\Normal\015_Targeting\Attack_1.ogg" "A3\Dubbing_Radio_F\data\GRE\Male01GRE\RadioProtocolGRE\Normal\015_Targeting\Attack_1.ogg" "A3\Dubbing_Radio_F\data\ENGB\Male01ENGB\RadioProtocolENG\Normal\015_Targeting\Attack_1.ogg" "A3\Dubbing_Radio_F_EXP\data\FRE\Male01FRE\RadioProtocolFRE\Normal\015_Targeting\Attack_1.ogg" "A3\Dubbing_Radio_F_EXP\data\CHI\Male01CHI\RadioProtocolCHI\Normal\015_Targeting\Attack_1.ogg" "A3\Dubbing_Radio_F_EXP\data\ENGFRE\Male01ENGFRE\RadioProtocolENG\Normal\015_Targeting\Attack_1.ogg" "A3\Dubbing_Radio_F\data\VR\Male01PERVR\RadioProtocolPER\Normal\015_Targeting\Attack_1.ogg" "A3\Dubbing_Radio_F\data\VR\Male01GREVR\RadioProtocolGRE\Normal\015_Targeting\Attack_1.ogg" "A3\Dubbing_Radio_F\data\VR\Male01ENGVR\RadioProtocolENG\Normal\015_Targeting\Attack_1.ogg" If its a hassle don't bother, but it would be a time saver. Thanks for listening.
  4. Here's my favorite script from my Property of Mabunga mission. This is likely the last script I'll release until my next mission "Last Tango in Tanoa" is done (sequel to Last Tango in Bagango). With this script, you can place a trigger anywhere on the map, and a prey animal is spawned, and a bird will attack and carry away that prey animal. If the trigger position is over water, then a fish is the prey. If the trigger position is over land, then a snake, rabbit, or hen is the prey. See it in action: Don't worry: The over-the-top tandem attack at the end was just for fun...it's not really part of the script. But if we ever get a pterodactyl mod, this script is ready to roll! I actually feel sorry for the bunnies and chickens...not only do they have to worry about Birds of Prey, but they also have to worry about Voodoo rites. To use the script, put the following in a trigger activated when a player present: dmy = ["Random",thisTrigger] execvm "Scripts\JBOY_BirdAttack.sqf"; The first parameter "Random" will create a fish if surface is water, or a land animal if surface is land. Or you can specify the exact prey animal like this in the trigger: dmy = ["CatShark_F",thisTrigger] execvm "Scripts\JBOY_BirdAttack.sqf"; Valid animal types to use are: Water: "Mullet_F","Tuna_F","CatShark_F" (the other fish types are too small to see at any distance, so not included) Land: "Rabbit_F", "Hen_random_F", "Snake_random_F" Grab the following files and put them in your mission directory: JBOY_BirdAttack.sqf flightPath1.sqf flightPath2.sqf flightPath3.sqf flightPath4.sqf flightPath5.sqf hawk.ogg Or you can dowload the demo mission used for the video. Note: The demo mission is cluttered with some other stuff not relevant to this script. It does contain the "Tandem Attack on Man" code also. For the hawk sound effect, put this in your description.ext file: class CfgSounds { sounds[] = {hawk, scream}; class hawk { name = "hawk"; sound[] = {"\Sound\hawk.ogg", db+0, 1.0}; titles[] = {0,""}; }; }; How the flight works: My original approach for the bird's flying away after attaching the prey, was to find a nearby game-engine bird and "hitch a ride" on it by looping and setting the attack bird's velocity equal to the game-engine bird's velocity (plus upping the Z velocity to force the attack bird higher). This worked great in SP, and produced natural looking unique flight paths each time. But it didn't work in MP. So I used the same "hitch-a-ride" code in SP to record via diag_log different flight paths (set velocity statements with sleeps), and created 5 different flight path scripts from these recorded flights. So now the script is hardcoded to randomly select 1 of the 5 flight paths and use them to fly away. This makes this script MP compatible, and still looks great (and randomly choosing the flight paths still makes it non-repetitive looking). Splashes and dust effects: To guarantee a splash or dust effect during the attack, i spawn bullets near the prey animal's position. I hope someone finds this useful!
  5. johnnyboy

    JBOY Birds Of Prey [Release]

    All great ideas, thanks. Too many other projects though, so I'm not likely to take it on. I encourage anyone to take this script and modify it per your suggestions though. It would be a fun little project. You could even make a falconer (have a cockerel on your shoulder and command it to hunt/attack).
  6. Hi Nomad. Great script man. A few questions: 1) Can player shoot while moving a HVT? (Cool human shield (i.e. "meat shield") possibilities there btw). 2) Can player shoot while carrying hostage. 3) Can I have permission to integrate your scripts with my AI CQB Movement scripts? I would credit you of course. I have been thinking about adding some sort of hostage interactions in the future, so why re-invent the wheel since you've done some great work here already? I would have to convert it so AI can perform these actions... Once again, nice job.
  7. johnnyboy

    WarfareThai EX Mod

    Love the mod guys. I was looking for the best modded shotgun to use as a breaching shotgun, and the Stakeout would be be perfect. So yesterday I tried all the shotguns, and when you fire, it actually fires 3 times before the pump animation. Boom-Boom-Boom, Ka-Chunck. Is that intentional or a bug? It seems very odd that it bursts 3 rounds then works the pump. I'm using the steam version.
  8. Cosmic lives! Right on man. Good to hear from you. Hope all is well with you. That rascally Froggy... I wonder if he has a line on my lawyer DasAttorney also...
  9. Script Updated (demo mission link in top post has latest). June 15, 2019 If you downloaded the first alpha release, I advise you replace it with this one. Fixed a few bad bugs, and speeded up the stack movement some by reducing some sleeps and using fewer nodes for same path. It seemed to increase the stack's surviveability some also.
  10. Right on man. I'm thinking it can work like this: Get nodes for building per your function. Call saragahyp's function to get a path based on your nodes. New code that converts calculated node path to my path format. New code that reads your node library to flag nodes in my path with "door", "stairs", "roomCenter", "arcLeft", "arcRight". CopyToClipboard augmented path (so designer has option to take this path and edit it). Call my script to run dudes thru path I can modify my script to not require hardcoded flagging for "benobreach", "gunbreach", and "grenade". And instead have that be random, or dependent on conditions (if door locked, or use grenades to be more aggressive if lose a team member, etc.).
  11. hahaha. And thanks for teaching me a new Oz word: bogan! I get it now. You aussie dudes like adding an Oh to names, so I get it now. My uncle grew up partly in Oz and called me "John-o"...
  12. I'm finally releasing an Alpha version of the script. See top post for demo mission download link. It ain't perfect, but its coming along. Took a helluva alot of experimentation to get this far... Latest video shows: 4 man NATO stack clearing building Simultaneously, 3 man bandit stack comes down stairs to fight. @beno_83au's bad ass breaching charge JBOY's bad ass shotgun breaching Team leader uses hand signals and vanilla Arma voice files to command team (in unit's language, i.e., english, brit, french, persina, chinese, etc.) Each team member covers different arc (leader looks forward, #2 looks left 45 degrees, #3 looks right 45 degrees, #4 watches the team's six (faces backwards). Arcs can adjust with circumstances (see #2 and #3 both look left when climbing up stairs, and right when descending stairs. (Not perfect, but its a start) Leader crouches, while followers stand up-right. Intent is #2 guy can hopefully see and shoot over leader adding more firepower to forward movement. Team reforms dynamically When leader killed, next guy becomes leader When path reaches a dead end, stack reverses order: Last guy becomes new leader and resumes path. This reduces ai bumping into each other and going crazy. Next steps: Collude with @MadRussian and @sarogahtyp to use their node generation and path calculation. Integrate @phronk's flash bang. Integrate my bean bag shotgun script. Fix bugs, reduce clipping Speed up movement of stack group Climb ladders
  13. johnnyboy


    Hey grump. I just changed a script to use remoteExec for playSound3D and it plays no sound when in SP. When I change it back to not use playSound3D I hear the sounds. Does this mean remoteExec dosn't work for SP? And therefore I need to test if running in MP or SP, and use playsound3d in SP, and remoteExec of playSound3D in MP? Please advise.
  14. Even cleaner. Now I'm opting for this one lol. Great job by all.
  15. Very slick my Meat Hula Hoop consuming friend. Thanks alot! Thanks much to @ZaellixA and @Dedmen also. I think I'm opting for Larrow's solution as it may be more reliable than relying on string elements present for every magazine.
  16. WTF? I never would have came up with that. Wow. How did you figure that out?
  17. I'm impressed man, that is really good!
  18. I like your perseverance. attachTo is relative to object attaching to (i.e. dog), so sitting will be a problem. The only solution for that IMO is a loop monitoring dog animation (or an animation changed eventHandler perhaps?), that detects dog sit animation, and then applies a different attachTo position and maybe different vector up/down if needed. When can we see a short vid of dog moving with vest attached? 🙂
  19. Yeah EO make us some Snakeskin Cowboys! I already got an awesome theme song for them.
  20. I had the same problem when moving. And I forgot about dying. One thing good about dogs though, is they have only one death pose. So you could capture and hardcode the right vectorDirAndUP for a dead dog. (actually you have to do all this twice for both types of dogs--Alsation and the smaller one). For moving, you could write a loop that changes attachTo position for each animation: Stop, Run, Walk, Sprint. I personally decided it wasn't worth the effort. But if you get it done, kudos to you sir!
  21. That splitString is awesome thanks.
  22. If that's the case, maybe best thing is to not allow dog to sit. You could remove the sit command from the dog menu. Then you don't need crazy logic to accommodate dog's current animation. If your attachTo spine code works, I just might have to do the UDT boomer mission after all! See, I'm not crazy...
  23. Hey EO, I don't know if this fits with your theme, but the snake texture looks cool when used on a shirt. If you like it, maybe you want to make a frithified snake shirt. 🙂 Just an idea buddy, don't waste your time on it, if it doesn't interest you. this setObjectTextureGlobal [ 0, "\A3\Animals_F\Snakes\data\Snake_Leopard_CO.paa"];
  24. Thanks man. You have put me on the right trail I think. currentMagazineDetail gives you the # of rounds left in magazine. In example below I have zero rounds left in in a 5 shot magazine: currentMagazineDetail player; // Returns: "5Rnd .00 Buckshot(0/5)[id/cr:10001293/0]" So If I do some fancy string parsing (get the character following first "(", and if its a zero, then the dude's weapon is empty). To prevent having to have a constantly running loop, I could add add this check to a fired eventHandler on the unit. I then set a variable on unit to flag him as "Reloading", and wait until the bullet count > zero before allowing him to move again. Note I am fudging and adding magazines magically to ai units that use my move script. It's way too much trouble to deal with units running out of ammo before completing a building clear operation.
  25. Thanks George, but that does not fire until after reload animation is complete. My problem is with my move AI script. I want to prevent AI from moving while reloading, because they stupidly go through a door before weapon is loaded and get killed.