Jump to content

boriz

Member
  • Content Count

    46
  • Joined

  • Last visited

  • Medals

Everything posted by boriz

  1. Hello dear community! I am finally releasing another mission I've been working on for a very long time and I would like to humbly ask you guys for some feedback. The mission is called Stress Fortress and it is slightly inspired by the Man Vs Machine coop mode from Team Fortress 2. It puts you with 5 other players into a small base which you must defend from hordes of enemies who attack in 10 wave. You win by killing all enemies, but you loose when they capture your base. Steam Workshop link This is actually my 4th iteration. The last two versions can be found here: Stress Fortress - ALTIS Stress Fortress - STRATIS In case you want to follow the development of this mission then join my small Steam group. Without further ado, please give it a try and let me know what you think!
  2. boriz

    [COOP 1-6] Stress Fortress - VR

    Here is some gameplay video I've captured with my friends. It is from an older version, but you can still see how it works. https://youtu.be/B5k729-gbgs?t=8m28s
  3. Edit: I've did some editing to the mission and it seems like the issue does not happen as much as it did before, or at least it occurs much less frequently. There is still a problem with helicopters not working at all, but that is being handled by a different script, so I am probably gonna open another thread with focus just on that. Hello! I am having a problem with AI in Arma 3. It's simple, I want to spawn an enemy vehicle with AI in it and then send it on a death mission where it gets almost surely destroyed by players' heavy fire. However, oftentimes (at ~25% chance) the unit just sits still after its spawn and does nothing at all. So, this is my (almost) whole code. The important part is marked between ↓↓↓↓↓ and ↑↑↑↑↑: _group = createGroup east; _type = _usableUnits select floor random count _usableUnits; if (_type isKindOf "Car") then { _unit = objNull; if (_type == "B_G_Offroad_01_armed_F") then{ _unit = [_spawnLocation, random 360, _type, resistance] call bis_fnc_spawnvehicle; }else{ _unit = [_spawnLocation, random 360, _type, EAST] call bis_fnc_spawnvehicle; }; (_unit select 0) setdamage enemySpawnDamage; driver (_unit select 0) spawn scr_killWhenOnFoot; gunner (_unit select 0) spawn scr_killWhenOnFoot; _unit join _group; (_unit select 0) spawn scr_noFuelWhenCarIsStatis; AIunits = AIunits + (_unit select 1); // ↓↓↓↓↓ _wp = _group addWaypoint [posTarget, 0]; [_group, 1] setWaypointType "HOLD"; _group setCombatMode "YELLOW"; _group setBehaviour "CARELESS"; _group allowFleeing 0; driver (_unit select 0) spawn { while {alive _this} do { _startPos = Position _this; sleep 10; _currentPos = Position _this; if ( (_startPos distance _currentPos) < 1 ) then { _this DoMove posTarget; }; }; }; // ↑↑↑↑↑ }; This code is a part of a larger script which spawns a vehicle, fills it with AI units and then sends it to position posTarget through a waypoint. The last part is the problem. The unit sometimes refuses to move, even if its path is not obstructed at all. I've tried to fix this by telling the unit to DoMove every 10 seconds if its detected to be still, but it still doesn't fix the problem. Does anyone else have similar problem? Do you know how to fix this, or work around this issue?
  4. Thank you for the information! It helped me to solve my problem with units not being spawned: Because I simply must have every solder in his own group, and also be able to spawn hundreds of them, I've worked around this issue by writing a "group manager" system. This script creates 100 empty groups at the start of the game, puts them in an array, and then assigns one group to one soldier each time he is spawned. When index of 100 is reached, it starts all over from 0, which so far works very well for the logic of my mission. Unfortunately, this did nothing to help me with the problem stated in the original post. Any ideas about how could I debug that issue with vehicles (including helicopters) refusing to go to their waypoint?
  5. Kylania's post encouraged me to experiment with this some more and I've found a possible cause! Thank you very much! So this is what's happening... Beside vehicles, I spawn dozens of soldiers. Because I want to have a good control over their behavior, I make each soldier a one man group which means dozens of groups are spawned. After a few minutes of playing, when about 100 units with 100 groups are spawned, the game simply stops creating groups and soldiers (this is something that happened in my previous post, but its cause was not understood yet). Vehicles are still spawned and manned for some reason, but because they belong to no group, they cannot have a waypoint assigned. Now it seems to me like the problem is caused by the game running out of groups since I create so many of them. So, the question now is, how do I work around this issue? I could spawn more than 1 unit in a group, which might solve this issue, but then another question is, how many soldiers I can have in one group?
  6. Thank you for the effort! I appreciate it, but unfortunately it solved nothing. Actually, it made the situation even worse because with these lines of code, the enemy units just stop spawning after about 100 cycles of running my script. I have no idea why the game behaves like this. The AI is a complete mess. I've also checked the logs and I haven't found any errors which would explain why this happens. Also I use vanilla ARMA 3 Stable branch, so this issue is not caused by some mod/addon. I've been investigating this problem for dozens of hours now and I am going insane from the amount of frustration this causes to me. There is nothing else to do to finish my mission than fixing this issue.
  7. That's what I am using. I haven't managed to achieve this in single player yet, let alone in MP. EDIT: Ah, there is Magazines! I'll try to use it somehow. EDIT2: I've tried it and it did nothing. EDIT3: Solved by using: this removeMagazinesTurret ["250Rnd_30mm_HE_shells_Tracer_Green",[0]];|
  8. Hello! I have a Kajman helicopter which is terribly OP against infantry in my mission thanks to its HE machinegun. I would like to remove it, so the enemy AI has to use AP bullets instead. How do I do that? I tried : myHeli RemoveMagazineTurret ["250Rnd_30mm_HE_shells",[-1]]; myHeli RemoveMagazineTurret ["250Rnd_30mm_HE_shells",[0]]; myHeli RemoveMagazineTurret ["250Rnd_30mm_HE_shells",[1]]; But none of that did anything. How do I remove these magazines correctly?
  9. *SOLVED!* Hello good people! I consider myself to be an experienced scripter, but I still sometimes come up with some simple features which happen to be much more difficult to realize than they should be. This is one of them. I want to create a trigger which reacts to BLUFOR units. When any such unit enters this trigger, it gets auto-healed. If this unit is a player, he gets notified about it through the TitleText [...] command. When this unit stays inside of this trigger and receives damage, it also gets auto-healed. After leaving this trigger, the unit stops being auto-healed. All of this must work in multiplayer where I have multiple triggers like this. What is the simplest way to achieve this?
  10. Finally I've found a simple way to hack this into what I want. 1) Insert this line somewhere in the Init.sqf: IsHealing = false; 2) Create a trigger and set it listen to the type of unit you want to 3) In the Condition field, add: this && not IsHealing 4) In the On Activation field add: {_x spawn YourCustomHealUnitScript} forEach thisList; IsHealing = true; 5) In the On Deactivation add: IsHealing = false; Now the trigger activates every second when a desired unit type is inside of it. It is not a very flexible way of doing this feature, but it is just what I need right now. I have yet to test it in multiplayer, but it should work.
  11. Thanks for the link! I'll check it out and see if I can use it.
  12. Thanks! This is almost what I need. The problem is that I want to use a trigger to detect nearby objects. That way I can shape it just as I need and position it precisely in such way that its edges end where I want them to be. Using an object with some invisible area of effect is very inconvenient for me in the Eden editor. Plus, it limits me to using the circular shape. To achieve this, I am thinking about using thisList array in triggers. It should contain all compatible insiders who I can heal. However, AFAIK that array is accessible only in the On Activation event, and that is called only once when the first unit enters it. I think it would be best if this trigger would call On Activate event every second when someone is inside of it, but how do I achieve that?
  13. I want to keep dependencies on a minimum, so if I will have time to continue working on this, it will be probably another iteration of some new locations on Altis.
  14. STRESS FORTRESS - STRATIS 2 This mission is based on a simple "horde mode" style gameplay where you defend your base against a large amount of enemies in several attack waves. It's designed for quick and short coop sessions where you get to the action right away without having to travel much. Some of the features are: Short respawn times (unless your base is being captured) Join In Progress is fully supported Spectator mode (arrows left/right) Epic enemy helicopter crashes 7 bases to select from in the PARAMETERS menu Option to steal enemy vehicles and weapons to use them in any way Configurable day-time, enemy health, allowance of NV goggles and fatigue You loose when all players are dead while your base is being captured Players with Marksmen DLC can use their exclusive weapons Download: Steam Workshop (subscribe) Armaholic Dropbox Other versions: Stress Fortress for Altis Old version of this mission for Stratis
  15. STRESS FORTRESS - ALTIS This is the follower of Stress Fortress for Stratis. Just like before, this mission is based on a simple "horde mode" style gameplay where you defend your base against a large amount of enemies in several attack waves. It's designed for quick and short coop sessions where you get to the action right away without having to travel much. Some of the features are: -Short respawn times (unless your base is being captured) -Join In Progress is fully supported -Epic enemy helicopter crashes -4 bases to select from in the PARAMETERS menu. (more are WIP) -Option to steal enemy vehicles and weapons to use them in any way. -Configurable day-time, enemy health and option to disable NV goggles at night for every unit. -Unlike in the Stratis version, you will fail the mission when all players are dead while your base is captured. -Players with Marksmen DLC can use their exclusive weapons. Download: Steam Workshop Armaholic
  16. Yes. Just a few days ago an update was released which added a new location and improved some things. The updated PBO file can be already downloaded from Armaholic. Regarding future updates, yes I am planning some. Next update will bring a server parameter which lets you disable fatigue on players, which is a thing some users have been complaining about in general. I am also testing two new locations. One of them will hopefully be ready for this weekend, but due to my work I can't promise anything right now.
  17. Thanks for the report! I've been testing the mission for several hours today until I've finally found a bug which might be the one you are talking about. It seems to happen very rarely tho. It probably has something to do with initial lag. Anyway, I'll try to fix this tomorrow. Also, I'll be updating the mission which adds a new location to it and also adds a parameter for having more or less enemy soldiers.
  18. I think I have the same problem. This might be related. If not then I'll start a new threat about this. This script spawns a helicopter, adds a crew into it and adds an even handler for getting hit by bullets. Everything works fine in singleplayer and in multiplayer as long as the server is hosted from the game. However when the server is hosted from a Dedicated Server, the event for catching "HitPart" (the bold code) doesn't work. The event is simply not called. Can someone please explain me why and how to fix it? I've tried changing addEventHandler to addMPEventHandler but that didn't worked at all. _heli = createVehicle [_type, _spawnLocation, [], 0, "FLY"]; _heli setdamage enemySpawnDamage; 0 = [_heli] execVM "BV_killWhenUseless.sqf"; 0 = [_heli] execVM "BV_heightLimit.sqf"; createVehicleCrew (_heli); crew _heli join _group; AIunits = AIunits + crew _heli; 0 = driver _heli execVM "BV_killWhenOnFoot.sqf"; 0 = gunner _heli execVM "BV_killWhenOnFoot.sqf"; { _x setSkill _skill; }forEach crew _heli; _wp = _group addWaypoint [posTarget, 0]; [_group, 1] setWaypointType "SAD"; _group setCombatMode "RED"; _group setBehaviour "SAFE"; _group allowFleeing 0; _heli flyInHeight 30; [b]_heli spawn { // Critical damage event _this addEventHandler ["HitPart", { if (random 1 > 0.90) then { _heli = (_this select 0) select 0; _heliPos = getPosASL _heli; _bulletPos = (_this select 0) select 3; _bomb = createVehicle ["CMflare_Chaff_Ammo", _bulletPos, [], 0, "NONE"]; _heli setDamage (damage _heli + 0.1); _bomb attachTo [_heli, [ ((_heliPos select 0) - (_bulletPos select 0)) * 0.3, ((_heliPos select 1) - (_bulletPos select 1)) * 0.3, ((_heliPos select 2) - (_bulletPos select 2)) * 0.3 ]]; }; }]; }[/b] This code is executed only on the server.
  19. Solved thanks to sxp2high! Hello dear ARMA community! I am working on a new version of my cooperative Stress Fortress mission and I've ran into one major problem I need help with. This is what I wanna do: 1) Mission starts, all players are spawned. Respawn is set to X seconds. 2) When an enemy enters the respawn zone, players respawn is disabled. 3) During this time, all dead players will stay in spectate mode. 4) When the respawn zone is clear again, players respawn is enabled. 5) From this moment, players will respawn as usual until step 2 repeats. This is the problem: I don't know how to disable and enable players' respawn with a script during a mission. Does anyone know how to do this?
  20. Thank you! This is the finished script for anyone who needs it: // Use this variable to control respawn respawn_disabled = false; [] spawn { // Some variables that control spectator options RscSpectator_allowFreeCam = true; // Free cam RscSpectator_hints = [true,true,true]; // Shows the controls as hint // Register layer once _spectatorLayer = ["specator_layer"] call BIS_fnc_rscLayer; // Get initial respawn time respawnTime = 3; // Main loop while {true} do { // Wait until respawn disabled waitUntil {respawn_disabled}; // "Disable" actual respawn setPlayerRespawnTime 9999; // Wait until respawn is enabled again or player died waitUntil {!(respawn_disabled) || !(alive player)}; // if respawn disabled AND player dead if (respawn_disabled && !(alive player)) then { // Maybe a little sleep so its not switching to spectator immediatly sleep 3; // Disable post processing effects for spectator (Fatigue blur and such) BIS_fnc_feedback_allowPP = false; // Start spectator _spectatorLayer cutRsc ["RscSpectator", "PLAIN"]; // Wait until respawn is enabled again waitUntil {!(respawn_disabled)}; // Re-enable post processing effects BIS_fnc_feedback_allowPP = true; // Set original respawn time setPlayerRespawnTime respawnTime; //Respawn the player forceRespawn player; // Stop spectator _spectatorLayer cutText ["", "PLAIN"]; } else { // Set original respawn time setPlayerRespawnTime respawnTime; }; }; }; Edit: _spectatorLayer cutRsc ["", "PLAIN"]; - this did not worked for me so I am using _spectatorLayer cutText ["", "PLAIN"]; instead Now I need to modify the script so it works on AI units too. Thanks again!
  21. Thank you for such quick reply! I've been implementing your script into my mission and it seems to be the exact thing I need. However there is one problem I don't know how to solve. cutRsc ["RscSpectator", "PLAIN"]; This command starts the spectator mode but later it causes problems with the GUI when the player is respawned. If I disable the spectator mode before or after spawning the player, it should be okay, but how do I do that? I've already tried cutRsc ["Default", "PLAIN"]; but it did not helped. I've just got some error message. Any ideas?
  22. This is a pack of 4 coop missions with a fast paced "horde mode" style base-defense gameplay. Available locations: Camp Rogain - Heavy infantry assault with an intense boss fight finale. Old Outpost - Your fortress is an old office building. Will it last to the end? Kill Farm - Lock & Load! The pigs are coming... Unfinished town - Those launchers are there for a reason. Tsoukalia Bay - This valley is a death trap, but for who? You can select any of these location through the PARAMETERS menu in the mission lobby. Additional notes: Join-in-progress is fully supported. All missions are designed to be short, intense, easy to pickup and play. Feel free to add a few friendly NPCs to your team if you need help. Subscribe to download: http://steamcommunity.com/sharedfiles/filedetails/?id=228953830 Alternatively, you can download the .PBO file from Armaholic. Scroll down and click on Download from FTP #1 / #2 Armaholic download (latest version) Put it in a location like this one: C:\Program Files (x86)\Steam\steamapps\common\Arma 3\MPMissions I am looking for some feedback about these kind of missions, so please rate and comment! Thanks!
  23. boriz

    [coop 1-10] Stress Fortress

    Armaholic download page was updated with the latest version
  24. boriz

    [coop 1-10] Stress Fortress

    v1.10 UPDATE! Changes: Added new locations: Agia Marina and Girna Bay Changed available units No player fatigue between attacks Epic helicopter crashes Added another 10 playable slots in case you want to play as independent without a leader (AI Disabled for these units) Added parameter to lower enemy health Increased the number of waves for some locations Enemy vehicles can be stolen when their crew is killed Gameplay polishing and various bug fixing Subscribe to download: http://steamcommunity.com/sharedfiles/filedetails/?id=228953830 Or download from Armaholic here: ARMAHOLIC DOWNLOAD LINK Times are tough for me so I couldn't do as many improvements as I wanted. Also, since this mission didn't gained as much attention as I hoped it would, then I'll probably start working on something else instead. Although the feedback was little, it was incredibly positive and people who played it were very satisfied with the gameplay.
  25. You've probably changed something because I've ran into this same problem when I've created 2 playable units of the same type (example: 2 machine gunners). This causes zombies to give damage to a different unit than they are attacking. I think it works somehow like this: We have two (or more) players and each of them are "Machine gunner" type of a unit belonging to the same side. One of them receives a hit from a random zombie. This damages all players (of the same type). When any of them receive another hit, all players should have a temporal red vision, indicating pain and damage, even tho their damage values aren't increased. This means that all players are immune to a zombie attack, although all of them were hurt from the first strike. To fix this, each players must be a unique type of a unit. You should be able to just unpack this mission, add a few helicopters/tanks or whatever you want, and then play it in Arma 2.
×