Jump to content

madmonkey119

Member
  • Content Count

    15
  • Joined

  • Last visited

  • Medals

Everything posted by madmonkey119

  1. Hello, I've been creating a dynamic mission involving many spawned in units and groups. Currently I would like the player to be able to switch between roles and units using the team switch menu within the map. Currently you can select any unit and the transition works. However the old unit no longer has AI. I've tried this but it didn't work unfortunately. addMissionEventHandler["TeamSwitch", { _oldUnit = _this select 0; [_oldUnit] spawn { _oldUnit = _this select 0; _oldUnit enableAI "ALL"; hint "TURN ON AI"; }; }]; Any help would be appreciated. Thanks! Edit: Nevermind, got it with null=[] spawn {sleep 0.5;onTeamSwitch "selectPlayer (leader _from); {_x doFollow leader _from} foreach units _from; selectPlayer _to;"} from here https://forums.bistudio.com/topic/167466-restart-ai-after-team-switch/
  2. madmonkey119

    [WIP] =ARC= Farkhar Valley

    Looks really authentic and beautiful. Highly detailed with what looks like a few different environments. Can't wait to check it out.
  3. Jeez, I've been playing since Zargabad Life, then Australia Life, then Island Life with TCG, then Island Life with A2L. This looks absolutely great and extremely promising. Keep up the good work.
  4. Either through a trigger with an area that will cause the spawn, or a script spawned with a waituntil block based on time, or possibly serverTime if that works in singleplayer, to spawn a heli. To spawn vehicles https://community.bistudio.com/wiki/BIS_fnc_spawnVehicle or easier but prone to more errors and bugs have the vehicle already created and just activate the waypoint at the correct time (or from trigger) to have it fly over.
  5. I tested attachTo to a gameLogic and I was unable to turn my characters head if I recall correctly.
  6. A bunch of googling later here ya go _unit switchMove "HubSpectator_stand"; and cancel it with _unit playMove "AmovPercMstpSlowWrflDnon"; http://www.armaholic.com/forums.php?m=posts&q=26711
  7. madmonkey119

    Sector Module Scripting

    Thanks a bunch, this code worked perfectly for me!
  8. If you just mark all sectors as default owned by opfor you can have blufor spawn closest to a specific one and tell them to attack that one. Next if capturing them linearly is important I've got an idea. On init call "enableSimulation false" on all but the first sector. Then utilize the expression field of the sectors to "enableSimulation true" on the next sector module after one is captured. According to https://community.bistudio.com/wiki/Arma_3_Module:_Sector disabling the simulation prevents its capture. I haven't tried this but it should work.
  9. I've actually already made something very very similar to what you describe. Sectors are really simple to use. You place a trigger (anybody, present) the size that you want the sector to be. Sync the trigger to an Area module (found in Systems >> logic entities >> Locations). Sync the Area module to the sector module. Sync the sector module to the sides (found in Systems >> logic entities >> sides) that you would like to be able to capture it. More on sectors here: https://community.bistudio.com/wiki/Arma_3_Module:_Sector Done, you have a sector that can be captured. Configure the sector a bit more by setting the expression. In each sector I use the expression field to set a global variable equal to the controlling side. cp1Stat = _this select 1; Now things get a bit trickier. I have a game logic entity that calls a script to manage the game. This script keeps track of both sides tickets and every group in both sides via arrays. Based on the cp1Stat global variable I get each group within the groups array and give them a Search and Destroy way point within the size of the sector. You can get the location of the sector by naming the sector trigger and then calling "position triggerName". I have this code run once every 10 seconds to try and update the waypoints for all units on the map. //WEST if(countBlufor1 < 7 && countOpfor2 > 7 && isNil "wguardGroup1") then{ wguardGroup1 = wGroups call BIS_fnc_selectRandom; if(!isNil "wguardGroup1") then { deleteWaypoint ((waypoints wguardGroup1) select 0); deleteWaypoint ((waypoints wguardGroup1) select 0); _wp = wguardGroup1 addWaypoint [position obj1, 90]; _wp setWaypointType "GUARD"; wGroups = wGroups - [wguardGroup1]; }; }; if(cp1Stat == west) then { if(cp2Stat == west) then { { if(((waypointPosition ((waypoints _x) select 0)) distance (position obj3)) > 91) then { deleteWaypoint ((waypoints _x) select 0); _wp = _x addWaypoint [position obj3, 90]; _wp setWaypointType "SAD";};} forEach wGroups; } else { { if(((waypointPosition ((waypoints _x) select 0)) distance (position obj2)) > 91) then { deleteWaypoint ((waypoints _x) select 0); _wp = _x addWaypoint [position obj2, 90]; _wp setWaypointType "SAD";};} forEach wGroups; }; } else { { if(((waypointPosition ((waypoints _x) select 0)) distance (position obj1)) > 91) then { deleteWaypoint ((waypoints _x) select 0); _wp = _x addWaypoint [position obj1, 90]; _wp setWaypointType "SAD";};} forEach wGroups; }; I am able to keep track of all the groups because they are spawned by code as well. If you manually placed the groups you might just need to hardcode an array of the groups or something. As far as tickets go I don't know as much about the default system. I just decrement some global variables as more units are spawned and utilize them as tickets. I'm aware Arma has some built in accessible ticket system but rolling my own seemed a bit easier. If you are interesting in playing this mission or would just like the code, it currently only works in singleplayer, but I could send it to you. Hope this helps get you in the right direction, its a very fun and rewarding project.
  10. Extra fact, this script will also disable vehicle collision damage I am pretty sure.
  11. madmonkey119

    A3 Wounding System (AIS by Psycho)

    You know a lot more than me when it comes to Arma scripting. I don't think there is a way to currently disable weapon deploying via scripting. You could possibly add a weapon deployed event handler to a a player in agony. Then if they press C the event handler could fire off to put them back into agony. I'll poke through your code to see if I can implement something like this but I doubt it.
  12. madmonkey119

    Weapon Resting & Deployment Feedback

    Agreed. I would like to be able to tap into these features via script. With the possibility of script to disable weapon resting and deploying as well.
  13. madmonkey119

    A3 Wounding System (AIS by Psycho)

    I think I have everything installed fine. However when an AI heals my player after them being incapacitated it results in some weird things. The countdown jumps from around 280 to 480 and the player is able to stand up and walk around. However the player can still not reload or open the inventory. I can't imagine this is working as intended, may just be for me. Dug through the code to try and figure out what is going on but I seem to be partially transitioning from agony to healthy. I have some functionality like walking, however the visual effects retain and I can still press H to ask for help, although no AI will give it. Mod/script is great, thanks so much. Edit: Tested on a completely vanilla launch. Problem still occurs with no differences. Further testing reveals that this only occurs if the player moves after going into agony but before being healed. I don't know, maybe it was working the whole time. Edit: Okay got it, it wasn't working for me because I was using {[_x] call compile preprocessFile (TCB_AIS_PATH+"init_ais.sqf")} forEach (if (isMultiplayer) then {playableUnits} else {switchableUnits}); // execute for every playable unit so AIS wasn't getting initialized for any of the AI so they didn't know how to heal me. Switched to this, {[_x] call compile preprocessFile (TCB_AIS_PATH+"init_ais.sqf")} forEach (units group player); // only own group - you cant help strange group members in the init. I'm a silly man. Edit: Okay this time I think I found a bug for real. After being downed and rolling over to shoot and crawl, if the player presses C to stabilize and deploy the gun they will be able to stand up and walk around afterwards. Edit: Switched this line in ais.fsm to prevent crawling as if you break the system and stand up the ai will glitch and not heal you. " _unit setHit [""legs"",0.5]; Edit: Nope still broke. No matter what if you press C you will be able to stand up again.
  14. Fixed the bugs in the script earlier as I thought it was quite useful _follower = _this select 0; // unit wich is doing following. _leader = _this select 1; // unit wich is being followed. _range = _this select 2; //range to follow at. _combatBeheaviour = "AWARE"; // this is used for moving. _followerGrp = group _follower; // get group of follower. _leadGrp = group _leader; // get group of leader. _stillMoving = true; // set a variable we can use. // create a waypoint. _wp = _followerGrp addWaypoint [getPos (leader _leadGrp), 0]; _wp setWaypointType "MOVE"; _wp setWaypointBehaviour _combatBeheaviour; _wp setWaypointSpeed "FULL"; while {_stillMoving} do { _follower = leader _followerGrp ; // get leader follower group. _leader = leader _leadGrp ; // get leader lead group. if (alive _leader AND alive _follower AND _follower distance (getPos _leader) > _range) then { _wp setWPPos getPos _leader; sleep 0.01; _follower doMove getWPPos _wp; }; sleep 2; if (count units _followerGrp == 0 OR count units _leadGrp == 0) then { _stillMoving = false; hint "all is dead exiting script"; }; }; // END
  15. Still having the same problem. Lip files seem to cause Say to stutter and lag uncontrollably.
×