Jump to content

Sertica

Member
  • Content Count

    133
  • Joined

  • Last visited

  • Medals

Everything posted by Sertica

  1. How can server time be used when there is variable latency?
  2. With this code I have AH-99 attacking then landing. But the way it lands is wack. If it is near a map helipad after the switch to land waypoint it bounces up and down on that indefinitely. If it is over a field the pilots disembark then run to the destination.
  3. I tested by playing as the gunner from start to finish this time and solved the mystery of them getting out. It lifts off and lands again when the leader shouts the destination every 10 seconds. They get out and run because each landing is gradually smashing the engine until it it breaks and they abandon. Apparently bots can't land safely on fields, at least not with the AH-99. I also found a way to prevent it from resetting the RTB waypoint, then the pilot got back to the helipad 2/3 times. With that damage issue it still needs to be 100% or the mission is broken. I still don't know why the waypoint replacement makes it land in fields more. After playing as gunner for a while I think this will be a good slot for PvP or a reversely sided mission. Setting behaviour probably should be culled. It changes how ground vehicles drive, but aircraft maybe not.
  4. The only difference is "AWARE" -> "CARELESS". But careless should never be used anyway. I can upload the test mission: https://drive.google.com/drive/folders/1Go7YZPZQU_6wqcXys1rLz4VZIIqs6m5F?usp=sharing You can compress time, then either enter Zeus or switch to gunner. The waypoints of each group are printed on screen. The previous waypoint is deleted because every 10 seconds it is renewed to keep it focused around the spotter. The pasted code is repeated every 10 seconds. I'll try to find a way to skip that if it is the landing order. Someone said you can't do that in this thread from Gunter's list.
  5. I don't see how that is relevant in this case. I tried changing the wp to careless and exact same happens. But the pilot is supposed to continue engagement until no targets before landing. By the way #2, despite the wiki saying that setCurrentWaypoint takes an array, passing 1 wp does put it in the list. I'm fairly sure now that the main problem is setWaypointStatements not working as the wiki says. It should land and pilots do not run to the destination because the wp is completed.
  6. Now I'm doubly confused. On one hand it is acting as the issue is how how the waypoint completion is decided. The current condition is "true" but I want it to be the normal behaviour of completing when the unit is near the destination. So I'm guessing setWaypointStatements overrides the default with "true" and now I need to emulate the default with explicit code. On the other hand that does not explain why the pilots still run to the destination.
  7. My code is already doing that with setWaypointStatements. It is trying to land in a field while in the AWARE waypoint placed on the helipad, which I know because a detailed waypoint list is printed to screen. The combat waypoint does not even exist at that time. Edit: Wait. Nevermind. I made the condition wrong.
  8. Nothing applicable. The one labelled "Let's make AI Helicopter Landings great!" was deleted. UnitPlay can't be used because this is an unpredictable path. However a comment made me realize that the land command ignores the destination. So that goes some way to explaining why they land on the spot and get out.
  9. private _terObjectList = nearestTerrainObjects [_worldCenter, ["Wall"], worldSize, false]; { diag_log format ["Terrain Object: %1", _x]; {_x setDamage 0}; } forEach _terObjectList; I tried this and it does not work on the walls I'm looking at. Walls return empty class names, so I can't use that either. The ones I'm looking for may be buried in the log list. But it is too much hassle to figure out which ones I'm targeting.
  10. Sertica

    Replace Broken Walls

    Is there a reasonable built in way to determine what poles have what wires linking them? I may need to skip on using wires and poles in the sim if not.
  11. The idea is to use doArtilleryFire or BIS_fnc_fireSupport (what is the difference?) in a method that works for any artillery class vehicle. I need to get a reference to the available artillery type gun magazines starting with knowing only the group in the vehicle. So suppose I have the group handle "_crew". I guess I start with assignedGunner. Then what?
  12. Sertica

    Replace Broken Walls

    The cursorObject command gave me a notion. It does not work on power lines. I need a way to manipulate the power lines so I can make it look logical and map the connective structures on the island to arrays. I have a circuit simulator in my java library that can give my mission a real time electrical grid.
  13. Artillery units in a pool are on standby to fill orders as they come in to pound spotted players. It's part of the same routine as the attack heli response I posted about before, except this will get pumped into forests. Each vehicle type prioritizes different types of target terrain. So I suppose I can check whether the vehicle is RscUnitInfoArtillery, then get the magazines from the the gunner index. How does the command deal with the shell already in the chamber? What happens if wrong shell type is in chamber? What is the difference supposed to be between the doArtilleryFire, commandArtilleryFire and BIS_fnc_fireSupport? In func viewer it looks like BIS does more complex stuff on top of the other command.
  14. How do you make troops get in and out of the heli?
  15. Sertica

    Warlords

    Excluding sabotage or hacking, jets can be countered to some extent by putting 1 bot in a few cold SPAA. There were some occasions when I had NATO tied up trying to lase and GBU them while I'm doing something else. T-100 can dodge all missiles with speed. Rhino is only good against static defense. If anything is overpowered in Arma 3, it is pop-up titans. All it needs is 3 seconds to get a lock, then the missile can circumnavigate the planet to visit all 7 wonders of the world before returning to the AO, powder its face with any CM smoke, fly over the house that the target is behind, activate inertial dampeners to turn 90 degrees instantly, tap on his right shoulder to make him look before finally slamming into his left cheek. They are also better against choppers than AA missiles. This and much more in Warlords for the low-low price of 250 CP. Anyway, the official servers probably need to be shut down to have any realistic chance of the official game modes being worth developing or playing or hosting. Most people probably think that "official" means good, which is true in some games.
  16. Totally unplayable because sleeping is broken. It says to drag the minute hand, but the minute hand is not draggable. Really, due only to the fortune of my 3 SD above average intellect, I intuited that the dev bound drag activation to the "fire" key, instead of hard coding the mouse button. Makes you wonder how many that do not use defaults were less fortunate.
  17. There is a thisList passed from a trigger to a function. The function assumes it is an array, as it should be according to trigger documentation. But I'm getting an error saying it is an object. civCred = { // check player credibility as civilian params["_civList"]; { if ("" != primaryWeapon _x) then { _x call joinRes; } else { if ("" != secondaryWeapon _x) then { _x call joinRes; } else { if ("" != handgunWeapon _x) then { _x call joinRes; }}}; } forEach _civList; }; area setTriggerStatements [ "this", "thisList call civCred", "hint 'trigger off'" ];
  18. Sertica

    Trigger Bug?

    I put you on my ignore list. I have a long time programming with Java. I know arrays. But params is baffling. After staring and drooling for a while I think it may have clicked. It sees the entire function argument as 1 array. So a single array needs to be wrapped inside another array before passing to function. 😵
  19. Sertica

    Trigger Bug?

    That page does not explain what the elements are.
  20. Sertica

    Trigger Bug?

    It sinks in now. Passing it in array makes it index=0 instead of array. SQF is very confusing coming from Java. I thought params was like the para definition in void myMethod(Object[] myArray).
  21. Sertica

    Trigger Bug?

    What is [] in an argument? That is not documented anywhere.
  22. Sertica

    Replace Broken Walls

    It is part of a script that renovates the Altis map, fixing or removing all wrecks, at initialization. I already have the houses done. Now I need the walls. Here is the house part: private _worldCenter = [worldSize/2,worldSize/2]; private _objectList = _worldCenter nearObjects worldSize; { //diag_log format ["Found: %1, Type: %2", _x, typeOf _x]; switch (typeOf _x) do { case "Land_u_House_Big_01_V1_F" : { [_x, selectRandom ["Land_i_House_Big_01_V1_F", "Land_i_House_Big_01_V2_F", "Land_i_House_Big_01_V3_F"]] call replaceBuilding; }; case "Land_u_House_Big_02_V1_F" : { [_x, selectRandom ["Land_i_House_Big_02_V1_F", "Land_i_House_Big_02_V2_F", "Land_i_House_Big_02_V3_F"]] call replaceBuilding; }; case "Land_d_House_Big_02_V1_F" : { [_x, selectRandom ["Land_i_House_Big_02_V1_F", "Land_i_House_Big_02_V2_F", "Land_i_House_Big_02_V3_F"]] call replaceBuilding; }; case "Land_u_Shop_02_V1_F" : { [_x, selectRandom ["Land_i_Shop_02_V1_F", "Land_i_Shop_02_V2_F", "Land_i_Shop_02_V3_F"]] call replaceBuilding; }; case "Land_d_Shop_02_V1_F" : { [_x, selectRandom ["Land_i_Shop_02_V1_F", "Land_i_Shop_02_V2_F", "Land_i_Shop_02_V3_F"]] call replaceBuilding; }; case "Land_u_Shop_01_V1_F" : { [_x, selectRandom ["Land_i_Shop_01_V1_F", "Land_i_Shop_01_V2_F", "Land_i_Shop_01_V3_F"]] call replaceBuilding; }; case "Land_d_Shop_01_V1_F" : { [_x, selectRandom ["Land_i_Shop_01_V1_F", "Land_i_Shop_01_V2_F", "Land_i_Shop_01_V3_F"]] call replaceBuilding; }; case "Land_u_House_Small_01_V1_F" : { [_x, selectRandom ["Land_i_House_Small_01_V1_F", "Land_i_House_Small_01_V2_F", "Land_i_House_Small_01_V3_F"]] call replaceBuilding; }; case "Land_d_House_Small_01_V1_F" : { [_x, selectRandom ["Land_i_House_Small_01_V1_F", "Land_i_House_Small_01_V2_F", "Land_i_House_Small_01_V3_F"]] call replaceBuilding; }; case "Land_u_House_Small_02_V1_F" : { [_x, selectRandom ["Land_i_House_Small_02_V1_F", "Land_i_House_Small_02_V2_F", "Land_i_House_Small_02_V3_F"]] call replaceBuilding; }; case "Land_d_House_Small_02_V1_F" : { [_x, selectRandom ["Land_i_House_Small_02_V1_F", "Land_i_House_Small_02_V2_F", "Land_i_House_Small_02_V3_F"]] call replaceBuilding; }; case "Land_u_Addon_02_V1_F" : { [_x,"Land_i_Addon_02_V1_F"] call replaceBuilding; }; case "Land_d_Addon_02_V1_F" : { [_x,"Land_i_Addon_02_V1_F"] call replaceBuilding; }; case "Land_d_Stone_HouseBig_V1_F" : { [_x, selectRandom ["Land_i_Stone_HouseBig_V1_F", "Land_i_Stone_HouseBig_V2_F", "Land_i_Stone_HouseBig_V3_F"]] call replaceBuilding; }; }; } forEach _objectList;
  23. Sertica

    UAV Issues

    1. I want to it move along the yellow lines at the airport and take off from the runway. Jets follow the wp along the lines, but the Greyhawk does not. 2. No. The UAV is supposed to be fully automated on the side the players fight against. At this point I doubt there is a way to make it useful anyway, because when I tested having it locked on a target the knowsabout stayed at zero unless I took control and used the reveal key. I may need to have a player slot on the nato side for uavs. 3. By object I mean the class Object. The commands do not work on that. But now I see how it works for the Greyhawk. You createGroup, addVehicle to a group , then assign wp to the group.
  24. With this script a heli takes off and attacks enemies after they are spotted, tested by spawning groups in Zeus. if (_highestCount > 1 ) then { // is there more than 1 rebel spotted anywhere? if (count _westHelis > 0) then { // are any helis available? { [_x, (currentWaypoint _x)] setWaypointBehaviour "COMBAT"; // combat mode [_x, (currentWaypoint _x)] setWaypointCombatMode "RED"; // fire at will, engage at will [_x, (currentWaypoint _x)] setWaypointType "SAD"; // search & destroy _position = getPos (leader _highestCountGroup); // position of spotter with highest target count _position set [2, (_position select 2) + 100]; // add 100m elevation [_x, (currentWaypoint _x)] setWaypointPosition [_position, 50]; } forEach _westHelis; }; }; After adding the part that moves the waypoint back to helipad if the condition is not met the heli engine never even turns on. The only addition to the test mission is an invisible helipad. It should be going back and forth as the target quantity changes, but is acting like the condition is never met. if (_highestCount > 1 ) then { // is there more than 1 rebel spotted anywhere? if (count _westHelis > 0) then { // are any helis available? { [_x, (currentWaypoint _x)] setWaypointBehaviour "COMBAT"; // combat mode [_x, (currentWaypoint _x)] setWaypointCombatMode "RED"; // fire at will, engage at will [_x, (currentWaypoint _x)] setWaypointType "SAD"; // search & destroy _position = getPos (leader _highestCountGroup); // position of spotter with highest target count _position set [2, (_position select 2) + 100]; // add 100m elevation [_x, (currentWaypoint _x)] setWaypointPosition [_position, 50]; } forEach _westHelis; }; } else { // no combat to join if (count _westHelis > 0) then { // are any helis available? { [_x, (currentWaypoint _x)] setWaypointBehaviour "AWARE"; // aware mode [_x, (currentWaypoint _x)] setWaypointCombatMode "YELLOW"; // fire at will [_x, (currentWaypoint _x)] setWaypointType "MOVE"; // move to [_x, (currentWaypoint _x)] setWaypointPosition [getPos homeHelipad, -1]; // home position object variable name } forEach _westHelis; }; };
×