Jump to content

johnnyboy

Member
  • Content Count

    2693
  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by johnnyboy

  1. WTF? I never would have came up with that. Wow. How did you figure that out?
  2. I'm impressed man, that is really good!
  3. 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? 🙂
  4. Yeah EO make us some Snakeskin Cowboys! I already got an awesome theme song for them.
  5. 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!
  6. That splitString is awesome thanks.
  7. 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...
  8. 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"];
  9. 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.
  10. 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.
  11. I know, I know, this post is 5 years old... But has anyone discovered a way since then to detect if an AI unit is in the act of reloading? Their animationState does not change, so that does not work...
  12. Hi PortalGunner. I tried attaching a vest to a dog a year ago or more, and it really doesn't work very well. By fiddling with setVectorDirAndUP you can get it placed ok for a stationary dog. But once he starts moving its all over the place. I don't know if I tried attaching to spine, that would be better. For getting the right vectorDir and vectorUp values, I place a vest in the editor and use the rotation tool to get it oriented the way I want. I then play in Editor and use console to get the vectorDir and Up values for the vest. And use those hardcoded captured values to attach to dog. Maybe that technique will help you. Make sample vest a simple object so gravity doesn't drop it to the ground when you play the test mission. I don't have the sample code any more for the dog and vest experiments. I find that a huge pain in the ass as well. Good luck mate! Here's the old gag screenshot of UDT Boomer with a vest and dry dive helmet:
  13. johnnyboy

    [SP] Wolves And Sheep Campaign

    Your first post is a campaign? That is impressive sir.
  14. Those are super cool EO.
  15. johnnyboy

    Combat Realism Scripts

    Cool, thanks. I will implement what you've published now, and update it when you get to it.
  16. johnnyboy

    Combat Realism Scripts

    Hey my @phronkadelic friend. I forget if I explicitly asked you this or not. Is it ok for me to include your Flashbang script in my AI scripted movement script? So far I've added Beno's Breach, my own shotgun door breach, and would love to add Phronk's flashbang... You would be credited of course.
  17. For my scripted AI movement script, I've written a script that uses in-game sound files (supporting all arma languages) for the stack members. Examples: "RallyUp", "MoveUp", "SetCharge", etc. This will make for nice chatter as the stack of 4 units clears a building (and it should make a player nervous when he hears an enemy AI team progress through a building he is in.). Does anyone know the sound file path for "Frag Out"? Below are some example sound paths I'm using. Frag Out is not found in any of these paths. "A3\Dubbing_Radio_F\data\ENG\Male01ENG\RadioProtocolENG\Normal\110_Com_Announce\TakingCommand.ogg" "A3\Dubbing_Radio_F\data\ENG\male01eng\RadioProtocolENG\NORMAL\100_Commands\SetCharge.ogg" A3\Dubbing_Radio_F\data\ENG\male01eng\RadioProtocolENG\NORMAL\070_MoveDirectionRelative1\moveUp.ogg I found this code somewhere which I thinks lists all sound file names, but it doesn't return full path: _cfg = configfile >> "RadioProtocolENG" >> "Words" >> "Normal"; _arr = []; for "_i" from 0 to (count _cfg)-1 do { _word = configName(_cfg select _i); _arr pushback _word; }; copyToClipboard str _arr; That code returns a long list of what I think are sound file names, and includes these related to grenades: "ThrowingSmokeE_1", "ThrowingGrenadeE_1", "ThrowingGrenadeE_2", "ThrowingGrenadeE_3", "ThrowingSmokeE_2", "IncomingGrenadeE_1", "IncomingGrenadeE_2", "IncomingGrenadeE_3", I tried @Larrow's awesome utility for seeing and playing all radio commands, but did not see any sounds related to grenades. I also tried this code to find sounds: _arr = [(configFile >> "RadioProtocolENG"),1, true, true ] call BIS_fnc_returnChildren; copyToClipboard str _arr; And it returns these grenade related lines (but these are not paths to .ogg files, so do not help me): bin\config.bin/RadioProtocolENG/SentThrowingGrenade, bin\config.bin/RadioProtocolENG/SentThrowingGrenade/Frag_out_1, bin\config.bin/RadioProtocolENG/SentThrowingGrenade/Frag_out_2, bin\config.bin/RadioProtocolENG/SentThrowingGrenade/Frag_out_3, bin\config.bin/RadioProtocolENG/SentThrowingGrenade/Frag_out_4, bin\config.bin/RadioProtocolENG/SentThrowingGrenade/Frag_out_5, bin\config.bin/RadioProtocolENG/SentThrowingGrenade/Frag_out, bin\config.bin/RadioProtocolENG/SentThrowingSmoke, bin\config.bin/RadioProtocolENG/SentThrowingSmoke/Smoke_out_1, bin\config.bin/RadioProtocolENG/SentThrowingSmoke/Smoke_out_2, bin\config.bin/RadioProtocolENG/SentThrowingSmoke/Smoke_out_3, bin\config.bin/RadioProtocolENG/SentThrowingSmoke/Smoke_out, bin\config.bin/RadioProtocolENG/SentIncomingGrenade, bin\config.bin/RadioProtocolENG/SentIncomingGrenade/Incoming_frag_1, bin\config.bin/RadioProtocolENG/SentIncomingGrenade/Incoming_frag_2, bin\config.bin/RadioProtocolENG/SentIncomingGrenade/Incoming_frag_3, bin\config.bin/RadioProtocolENG/SentIncomingGrenade/Incoming_frag_4, bin\config.bin/RadioProtocolENG/SentIncomingGrenade/Incoming_frag_5, bin\config.bin/RadioProtocolENG/SentIncomingGrenade/Incoming_frag, How do I find the full file path for the .ogg file for "Frag Out" or "Throwing smoke" etc.? Thanks!
  18. Thanks for the tip Grump. But since I've already solved using unit's native voice with string substitution in paths, I'm going to stick with playSound3d for now. @Larrow: Thanks much for the details on how to navigate the config. I've now found all the correct paths for the subset of voice files I need. You guys are still tops in my book!
  19. johnnyboy

    [Release] SleepingAI

    Cool script Beno (I've never seen it before). Now I'm off to create my next mission: "Slumber Party"
  20. Maybe one of you scripting/geometry gurus can write a script that generates move positions for a particular building model. For a building type, we can currently detect Building Positions, and Doors. But that is not enough positions to calculate a path for a scripted AI to move through (see topic JBOY Scripted Path). What I am hoping is possible, is to do the following: Find External Doors (entrances to buildings). Pick one External Door to be beginning of path. Create position on outside of door (outside building) (Red Marker 1 in screenshots below). Create position inside of building (Red Marker 2) Ray cast around, can entire room be seen from this inside position? Locate interior door or transitions to other rooms by line of sight and capture position. Bottom line, calculate a path as presented in the ordered Red markrs below. Key for screenshots: Yellow markers in door jambs are door positions (which we can get now) Blue markers are Building Positions we can get now (but may be of no use to Scripted AI Paths) Red markers are Positions we hope can be calculated to make a path through a building. They are numbered 1 through N to simulate the path we want AI to travel to clear rooms. For this building, we find an external door, and use that to calculate starting position of path: Two positions should be calculated (one outside door (1), and one inside door(2)). Then we enter the building. From here the layout is analyzed and find that we need to connect to the internal hallway across the room. There is no hard door, but we want a position calculated inside room we are in, and other side of door in hallway (positions 3 and 4 by the internal door). From position 4 we can see the whole hall way so do not have to go further down the hallway. Next we detect that this is a two story building, so we must find the bottom of the stairs (6), the landing corner (7), and the top of the stairs (8). When we know bottom of stairs (6) we need to connect our path from the hallway (4) to bottom of stairs (6). But this cannot be a straight line, because there is a wall blocking line from 4 to 6. So we calculate an intermediate position (5) in the room (so AI can walk from hallway (4) through position (5) then to bottom of stairs (6) -- i.e position 5 can see both 4 and 6 unobstructed). Next we move up to second floor. We have top of stairs position (8). This is a divide room, so position 8 cannot see entire room behind partial wall. So calculate the next position (9) which allows full unobstructed view of upper side room. Once he have position 9 we can see all the upstairs except for side room that has a physical door (position 10). Calculate a position on either side of door (10 and 11). Then AI can enter this 2nd floor side room. Once inside second floor side room (11), we need a position inside room (12) where we can see entire move for clearing. For clearing we may not need position 13 but maybe we want to move there because of the window. Not sure about that. If we were able to calculate all of the above, then an AI could clear every room in this 2 story building. BUT, this building has a back entrance also (see below). So we would want to calcualte a path for walking this building from this alternate entrance also. So beginning position outside door (1), another path is analyzed to walk the same building. Maybe if we already have a path segment for going upstairs, it only needs to calculate new path to position 4. And then it would use the same path segment to go upstairs that was previously calculated. This is some crazy stuff and I don't know if its doable. Maybe one of you cool geniuses out there can do it!!! Good luck!!!!
  21. The little hop the unit did is in my move script. The script plays a move animation, and checks if unit position has changed since starting the move. If he hasn't moved, he's given a little velocity boost to get him going. This helps prevent units from being stuck and running in place. And it also causes the occasional little funny hop you spotted.
  22. I've tried both playMove and playAction and in buildings playmove is much more reliable for me. I understand your point on rifles vs. pistols, and will likely end up dynamically changing move based on weapon (replace substring...or something). I'm already doing that to change from standing to crouch. Unfortunately, playAction seems to be unreliable for me.
  23. Everybody's a bloody critic... lol
  24. Hahaha. Sadly, there is no way this will ever be as good as Swat 4. That was the best coop game ever.
  25. I posted a progress video:
×