Jump to content

meatball

Member
  • Content Count

    734
  • Joined

  • Last visited

  • Medals

Posts posted by meatball


  1. can this be played alone (with friendly ai) or is it only for a group of players?

    You could play it alone, but there is no option to add in friendly AI. It's extremely difficult to play alone since if you get knocked unconscious, there's noone to revive you. The more players you can have, the better, but you can adjust the difficulty up and down in the parameters based on the number of players you have playing between 2 and 8. I've played it with as little as two of us and had a good time. Definitely harder with less people, but it can be done.


  2. Any chance of having some different optics in soldiers backpacks at the start of the mission?

    Hmm, I probably could if a lot of folks want them. I never really worried about the initial soldier loadouts other than adding in NVG's/Binocs and some extra explosives because in just all the games I play we end up ditching the weapons and such we start with and picking up enemy gear and addons since it's a lot easier to find ammo for them.

    Speaking of which, what does everyone think about the difficulty level and numbers of enemies? Games I've played it seems pretty close to being about right, but would love to hear what others playing it think.


  3. I second the use of the AI Script Pack, but like others said, it's all what you plan to do with it as all the scripts do some stuff a little bit differently. I've been using the AI Spawn Script pack for Reinforcement Helicopters, Paradrops and Militarizing areas in my MP mission without a problem. I'm also using SLP to spawn groups of 'Hunters' to chase the players around as well and it's working well.

    No matter what you pick, it's likely none of the scripts are going to do exactly what you need, and the best bet is to test each of them, see what you like or don't like in them and if they'll work for you. There's nothing saying you have to pick only one either, if you need a little bit of something from each script, then you can use all of them.


  4. Thanks. At this point I'm toying with adding in some civilians at some point and eventually would like to add in selectable/random weather, but I don't want to mess with that until BI gets rain back in. Only short term fix/change I'll probably do is fix that config.bin error in =BTC= revive once it gets fixed.

    But as always, I certainly can't test stuff anywhere near as well as you guys will when you run the mission through it's paces, so if you find anything, let me know. :)


  5. New Update!

    v 0.8 Released: Available on Armaholic - Thanks Big!

    ChangeLog

    - Fixed Random starting points. Players will now randomly start at one of ten starting locations.

    - Enemy helicopter reinforcements will now randomly either land to drop off troops or air drop troops.

    - Redid Intro/Outro screens for mission start and end.

    - Updated to new AI Spawn Script Pack (.80).

    - Updated to new SLP Spawn (3.43) scripts for AI player hunter groups and made some minor tweaks.

    - Updated to latest =BTC= Revive script (.93RC).

    - Fixed a problem with the Ambient Radio script throwing errors.

    - Lot's of other minor fixes/tweaks.

    Known Issues

    - =BTC= Revive Script returns a "No entry 'config.bin/CfgWeapons' error on occasion when players get knocked out. =BTC= Revive author has been informed.


  6. That's sort of what I already have :)

    The triggers for each building destroyed are grouped on the building (activation Static Object) and set to run Once when it's not present and then increment the counter. So for example, the main radar array at AirStation Mike, I have a trigger next to it, grouped to it's object ID and in the ON ACT. I have "radardest = radardest +1;"

    The only difference is the end game condition. I'll test that, but just for my own understanding, why would the other way (checking the variable totals) not work?


  7. I've run into a small problem with my end game trigger in a mission where one player will see the mission end and get the "Mission Complete" screen while other players never see anything and just end up sitting there. I think I might know what it is, but wanted to run it past folks.

    Basically I have an "End #1" trigger that will fire on BluFor being present in a certain location, with the following Condition, "this and transdest == 5 and radardest == 2 and commdest == 4;"

    Those 3 variables refer to towers and buildings being destroyed in the mission that I initialize in a trigger at the beginning of the mission set as "isserver;" condition and "transdest = 0;commdest = 0;radardest = 0;" On Action.

    Then I have triggers on the buildings/objects, that when the get destroyed it increments the variable 1.

    So, there's two things I can possibly think of. 1) The End game trigger needs to be set to run Repeatedly, and not Once. or 2) Since those variables are set with "isserver", maybe they're only initialized on that one machine and not on the players, so they'll never get the variables initialized or incremented and the End Game trigger will not be valid for them. If it is this one, I'm not 100% sure how to set them and increment them so everyone sees them. I thought the way I had it set up they were already global variables, but maybe I'm wrong.

    Any thoughts?


  8. I'll give that a shot, but it just seems like pathfinding is not working right. I'll have one heli come in, it works fine and flies off the opposite direction correctly. Another will come in and then bank off 90 degrees and then hover. Then the next will work right. No rhyme or reason as to what heli's come in and head out on the correct heading.

    Btw, I did try just forcing them to fly out to a marker out in the ocean with the same result. Some worked, some didn't. I'll keep digging and see if something else is acting up. Thanks for all the help so far!


  9. Hmm, I'll give that a shot. Muchas thanks.

    ---------- Post added at 22:26 ---------- Previous post was at 22:09 ----------

    Man, there's gotta be something wrong with AI pathfinding. I've got it set to do the following:

    _flySpot = [_heli, (_helidistance * 3), _dir] call BIS_fnc_relPos;

    Where _heli is the helicopter, _helidistance is the distance of the spawn location from the midpoint, and _dir is the heading from the spawn location to the midpoint. I've got the code set to delete the helicopter/crew once it reaches _helidistance away from the midpoint.

    Half of the time though the helicopter will spawn, fly over the midpoint and then fly about half the _helidistance away (in the right direction) and then stop and just hover there. Other half it works right and flies out to get deleted.


  10. Hey folks, quick question. I need to calculate the end point X/Y coordinates for an AI path and trying to figure out the correct code.

    Say I have a unit at Point A. I want it to move to point B, and then continue on to Point C (that I need to calculate) that is in a straight line and the same distance away from B that point A and B are.

    So a simplistic example. I have a preset location Point A and Point B. Point A is 1000m from point B and the unit must take a heading of 90 to get to Point B. How do I calculate the values of the end location X/Y that would force the unit to continue moving at a heading of 90 to at least 1000m from point B?


  11. Most of the call compile formats are because no matter what else I did, those commands would error out with the local variables in them directly. The call compile format slaps the actual variable value into the command before the code is parsed and it works.

    I could probably the bricks and such out at each location and just give each one a variable name and then point to it. How else would you spawn objects other than spawnVehicle?

    Those pieces all actually work already, the main problem is the choosing of the random location. I need the server to do that, otherwise each client will pick a different random location, but I need the random location before I can have the clients make their map markers.


  12. Hey folks, I'm working on an extraction script for my mission. I have a trigger that fires when all the tasks are completed that then runs this script. I need the script to do a bunch of things.

    1) Pick one random extraction location from 6 of them already placed on the map. I have already placed Markers (lz_0 - lz_5) and invisible helipads (hp_0 - hp_5).

    2) Create a marker on the map for all players showing them the extraction location.

    3) Wait for the players to get to the location and when they find a 'radio' buried in some bricks (a trigger around the bricks) call in an Evac helicopter.

    4) Spawn the Evac helicopter, fly it in and land, then wait for all players to get on board before taking off and flying to the final location to end the mission.

    Here's the actual script I've come up with.

    // randomExtraction point script
    //  By Meatball
    //
    //   Script assumes you have 6 invisible markers already on the map named lz_0 through lz_5 and 
    //    that you have 6 invisible helippads already on the map named hp_0 through hp_5
    //    lz_0 is located next to hp_0, etc.
    //
    //   Script can be updated to use more helipads/LZ's but updating _randomExtract random check to the proper #.
    
    if (!isServer)exitWith{}; // Exit if not Server
    
    // Define Local Variables
    private ["_randomExtract","_lzName","_hpName","_evacH","_evacWP","_evacTrig1","_bricks","_spawnPos","_heli","_heliCrew","_heliGroup"];
    
    // Pick Random extraction location.  
    _randomExtract = floor(random 6);// Update the '6' to match the number of extraction points/helipads you've created on the map.
    
    // Create LZ/Helipad variables and then show Extraction point marker on map
    _lzName = "lz_" + str _randomExtract;
    _hpName = "hp_" + str _randomExtract;
    
    _lzName setMarkerTypeLocal "mil_Pickup";  // For more icon types see http://community.bistudio.com/wiki/cfgMarkers
    _lzName setMarkerColorLocal "ColorRed";  // For more Colors see http://community.bistudio.com/wiki/setMarkerColorLocal
    
    // Create the pile of bricks and set a variable that the radio has not been found yet.
    _bricks = [markerPos _lzName, random 360, "Land_Bricks_V4_F", CIVILIAN] call BIS_fnc_spawnVehicle;
    radFound = 0;  // Set variable that the Radio has not been found yet.
    
    
    // Create Guardians around extraction point using the AI Script Pack militarize script.
    call compile format["nul = [%1,2,(numEnemies*40),true,true,false,0.20,0.05,enemySkill,nil,nil,nil] execVM 'militarize.sqf';",_hpName];
    
    // Create the trigger around the bricks for the 'Radio'
    _evacTrig1=createTrigger["EmptyDetector",getMarkerPos _lzName];
    _evacTrig1 setTriggerActivation["WEST","PRESENT",false];
    _evacTrig1 setTriggerArea[2,2,0,false];
    _evacTrig1 setTriggerStatements["this","hint 'After digging through the pile of bricks you find the radio and call in for evac.  The chopper is en route and they tell you to hold out till they arrive!';radFound = 1;",""];
    _evacTrig1 setTriggerTimeout[2,2,2,false];
    
    // Wait for players to arrive at the radio trigger and 'find' the radio.
    waitUntil {radFound == 1};
    
    // Stop the reinforcement chopper scripts from running.
    stopRein = 0;
    
    // Spawn Evac helicopter and fly to Evacuation Point after a short delay.
    sleep 15;
    hint "DemoTeam two, this is Ghost twelve.  We are inbound and will be there shortly.  Ghost twelve out.";
    _evacH = [markerPos "evacSpawn", random 360, "B_Heli_Transport_01_camo_F", west] call BIS_fnc_spawnVehicle;
    
    // Set evacuation helicopter settings.
    _heli = _evacH select 0;
    _heliCrew = _evacH select 1;
    _heliGroup = _evacH select 2;
    
    _heli allowDamage false;  // Would suck to get shot down during evac after finishing the whole mission.
    
    evacHeli = _heli;
    
    // Set Evac helicopter waypoints and move to evacuation LZ.
    call compile format["wp0 = _heliGroup addwaypoint [getPos %1, 0];",_hpName];
    wp0 setWaypointType "LOAD";
    wp0 setWaypointSpeed "NORMAL";
    wp0 setWaypointBehaviour "CARELESS";
    wp0 setWaypointCombatMode "BLUE";
    wp0 setWaypointStatements ["true","doStop evacHeli; evacHeli land 'LAND';hint 'This is Ghost twelve, we're here, get in when we touch down!';"];
    
    // Once chopper is down, wait for all members of demoteam that are alive, but not captive, to get in.
    waitUntil {{_x in evacHeli} count units demoteam == {alive _x and !captive _x} count units demoteam};
    
    // Once all members are in, fly to end mission marker/trigger.
    wp1 = _heliGroup addwaypoint [getMarkerPos "endMark", 2];
    wp1 setwaypointtype "MOVE";
    wp1 setWaypointCombatMode "GREEN";
    
    

    To be honest, the whole just about works. (Though any suggestion on how to clean it up / streamline it are appreciated!) The only problem I'm having is that the players are not getting the marker created by the setMarkerType and setmarkerColor commands, and only the player running the server sees them. I'm sure it's because the first line of the script tells nonservers to exit the script, but I'm not sure how to handle it.

    I need the server to pick the random number for the lz_# and hp_# variables before I can use the setMarker commands so I can create the marker in the correct location. Any thoughts?


  13. So, Clyde, if I'm following you right, you have a set amount of time you players to be stuck unconscious and not be able to revive, but you don't want them to move? If that's the case, I bet setting BTC_respawn_time to 0 or 1, and then setting BTC_revive_time_min and BTC_revive_time_max to the time you want would do the same thing. Say you want people to be stuck 'unconscious' for 2 minutes, set revive_time_min/max to 119/120 and then set respawn_time to 1.

×