Janat
Member-
Content Count
94 -
Joined
-
Last visited
-
Medals
Everything posted by Janat
-
Where is the recoil/laser trails?
Janat replied to VII.Racetrack -ITA-'s topic in ARMA 3 - BETA DISCUSSION
This is a pretty good representation of what red tracer rounds look in real life (1:25 onwards to see it clearly): It looks pretty real in A3, they are just a bit too visible daytime. -
I can't imagine any reason why someone in the future would NOT use a sling on his rifle. Without a sling, your movement is very much restricted since you always have to hold your rifle (or drop it). Also, I can tell from experience that with a properly configured sling, dropping the rifle while drawing the pistol is a viable move and that you can easily do this on the move (as long as you moving slower than jogging). Of course the rifle gets on the way a bit, and in some situation more than just a bit, but most of the time you can adjust the position of the rifle (ie. move it to your side or back) with one hand in less than a second. It doesn't really restrict movement while it's hanging there, it just makes movement more uncomfortable. Also, dropping your rifle and drawing the pistol, even on the move, takes about one second. Maybe two or three if you've never done it before, but I would guess these soldiers are properly trained.
-
I think that if it's impossible to make it possible to switch to the pistol while moving, making the switch very fast could be a good solution. I mean in real situation, a soldier wouldn't carefully throw the rifle to his back and then take out the pistol if the rifle jammed or ran out of ammo. He would quickly throw the rifle aside with one hand (usually soldiers have rifle slings) while taking the pistol out with the other hand (the whole process from beginning to being ready to fire with the pistol taking about 0.5 seconds to 1 second). A fast switch would emulate this quite well.
-
Yeah, sleep 1 inside the while loop would repeat the script fast enough while being quite easy on the cpu. That trigger would work, too, but it's not as pretty (and somehow I have a feeling it would take a bit more processing power, which is hardly a problem if you're not running loads of scripts). Edited the counting script to actually do what the OP asked it to do.
-
I'm not sure if this works in A3, but it did in A2. EDIT: I put the unnecessary stuff inside the spoiler create a script with a code like this: enemyCount = 0; forEachUnit side "OPFOR" {enemyCount=enemyCount+1}; hint format["Enemy count: %1", enemyCount]; To make the script repeat, you can use something like this: while true do {[i]the script you want to repeat[/i]}; Now I'm not completely sure whether the syntax is correct since I've had quite a long break from scripting, but I'm sure you can pick up the general idea and if this code doesn't work, find out the correct syntax and commands. :)
-
Of course you can't effectively scan your surroundings while you are aiming with a magnified scope, even if you keep both your eyes open. However, you still have that peripheral vision, and may notice movement outside your scope area. I wasn't really talking about whether the kind of 3D scope that they have in RO2 is realistic, merely stating that some kind of implementation of it would be (extremely blurred, with those peripheral view dots when there is movement in the left side of the screen (or in the side of whichever eye is not looking at the scope)).
-
Have you shot a rifle with a magnified scope? I can say that it is perfectly possible to shoot and with both of your eyes open.
-
If the animation you're talking about is in the E3 Demonstration video shown on the first page of this thread and at about 01:40, then I somewhat agree in that the transition between those animations seem to be a bit too quick. I haven't really seen any over the top or unrealistic animations.
-
[sP] Cut the Power Author: Janat Version: 1.5 Required Addons: Arma 2 CO 1.59+ Mission Description: Player is leading a USMC Force Recon squad as Lt. Weiss in order to infiltrate Elektrozavodsk for a sabotage operation in Russian captured Chernarus. Features: A highly atmospheric covert ops infantry mission with multiple objectives like searching for a person and sabotaging a power plant. You can choose when and how to approach your objectives, as well as what weapons you use. Immersive stealth action. OFPEC score 8/10, read the review here: OFPEC Review All comments and feedback appreciated :) DOWNLOAD: OFPEC Armaholic Installing Extract this zip archive to your arma 2 mission directory (example: C:\Program Files\Bohemia Interactive\Arma 2\Missions) Change log v1.04 - Improved intro and outro scenes - Added automatic save points - Improved automatic save points v1.05 - Reduced the amount of spawning enemy patrols and the amount of enemies in a single patrol - Enemy patrols now spawn further away from the player - Some minor improvements v1.1 - Reduced the amount of enemies - The mission is now more balanced - Improved mission objectives - Lots of minor changes v1.11 - Optimised performance - Removed player team waypoints v1.12 - Objectives automatically update v1.2 - All script errors fixed - Many scripts have been tweaked - The mission features voice acting - Intro and outro tweaked and extended - AI is now a lot more responsive - Custom difficulty settings make the mission more challenging and realistic - Numerous minor changes v1.3 - Tweaked cinematics - Tweaked voice levels - Removed most automatic save points - Added G36 ammo - Some minor changes v1.4 - Added unsilenced M4A3 ammo - Improved handling of music tracks - Script improvements v1.5 - Minor script improvements - Added a couple more civilians Credits Bohemia Interactive (creators of Arma 2 and Arma 2 OA) Janat (mission design, editing and scripting)
-
Yeah, I'd recommend you to not use any mods affecting AI behavior with this mission, as it may become impossible or very frustrating to finish. Glad you enjoyed the atmosphere :)
-
Here's Armaholic download link in case someone has problems with the Ofpec link: www.armaholic.com/page.php?id=16603
-
Weird, I just clicked download and it worked. Maybe try it with a different browser?
-
Group chasing/hunting the player
Janat replied to Rh1985's topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
Try using commandMove instead of doMove, or group Hunters instead of leader Hunters. -
Can't get fadeMusic to work in a script
Janat posted a topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
I can't get fadeMusic to work in a script. The script should first fade out any music track currently playing and then start playing a new track. Everything else works, but fadeMusic doesn't seem to do anything. The script has been compiled and preprocessed in init.sqf. init.sqf nextTrack = compile preprocessFile "nexttrack.sqf"; I call it via editor trigger trigger activated field [_next = "track", 3] spawn nextTrack; If I use call instead of spawn, sleep command doesn't obviously work, else it works the same way as it does when spawning it. How can I get the script to work the way it should work? Here's the script: nexttrack.sqf private ["_musicTrack","_transitionLength"]; _transitionLength fadeMusic 0; _musicTrack = _this select 0; _transitionLength = _this select 1; sleep _transitionLength + 2; playMusic _musicTrack; -
Can't get fadeMusic to work in a script
Janat replied to Janat's topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
Thanks, wonder why the fade out doesn't work without fade in in this script... It does work everywhere else :confused: -
I think that most AT weapons like RPGs should be usable while in prone position. It's completely realistic and this feature would make commanding AI squads with AT weapons a much more pleasant experience :)
-
Scripting Questions
Janat replied to Deuce82's topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
The setSkill would be your best bet on setting stamina, see this link for details: community.bistudio.com/wiki/setSkill_array As for civilians becoming hostile towards OpFor, you can set independents to be not friendly towards OpFor, resulting in civilians fearing them. Does this help you or did you mean some other kind of hostility? If you want armed civilians to shoot at OpFor units, you can use local guerilla units, or group the civilians with a higher ranked BluFor or guerilla unit which has probability of presence set to 0. Alternatively, you can make a script (preferably fsm script) that checks for some conditions and makes civilians and OpFor react based on them, but this would require quite a lot of work and some scripting skills. -
What is wrong with this group spawn script?
Janat posted a topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
This is the spawn script I'm using: _rOrig = getPos player; _rDir = round (random 360); _rDist = 200 + (round (random 100)); _rPos = [(_rOrig select 0)+(sin _rDir)*_rDist,(_rOrig select 1)+(cos _rDir)*_rDist,0]; _skill = [0.1, 0.5]; _side = EAST; _units = ["RU_Soldier_TL", "RU_Soldier_Marksman", "RU_Soldier"]; EnemyGroup1 = [_rPos, _side, _units, [], [], _skill, [], [1], _rDir] call BIS_fnc_spawnGroup; _ewp1 = EnemyGroup1 addWaypoint [position player, 30]; _ewp1 setWaypointType "SENTRY"; _ewp1 setWaypointSpeed "NORMAL"; _ewp1 setWaypointFormation "LINE"; The script works fine, the group spawns and moves to player's position. But every time the script is called, an error message appears. It shows the error is in BIS spawn function, but I have a feeling there's something wrong in my script and would like to make it error free. Please tell me if you find out what's wrong with my script :) Here's the error message: Error in expression <inUnits - 1)) then { if ((random 1) > _chance) then {_skip = true}; }; }; if > Error position: <_chance) then {_skip = true}; }; }; if > Error Undefined variable in expression: _chance File ca\modules\functions\spawning\fn_spawnGroup.sqf, line 180 Thanks everyone, problem solved :) -
What is wrong with this group spawn script?
Janat replied to Janat's topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
The script starts when the player enters a certain area, so there should be no need for a delay. I've also placed the functions module. Are you using A2CO v1.60 with showscripterrors? -
Wow, I never thought my mission would end up in top three, what a pleasant surprise! :)
-
The biggest turn off for me is the clunky squad command interface, and lack of control in HC interface. Squad command works just fine if you don't participate in actual combat and have enemy map icons on, but in the heat of battle it's impossible to effectively command your team. A quick to use radial menu with commands like suppress that position, move there, follow me, take point, flank left/right, attack that enemy, engage and disengage, open fire and hold fire, and all formation commands would help a great deal when you're playing as a team leader.
-
I've only played the first mission and not even completed it yet, but I have to say the campaign has been very enjoyable so far. But there's one thing that I just hate.
-
Sabotage: Shapur final v1.00 This is the first Arma 2 mission I've released. I'd really appreciate any and all comments. Also, please tell me if you find bugs in the mission. I've playtested it quite a lot of times but I may well have missed something critical. The second and probably last update is now available. I strongly recommend downloading it. Change log in readme file. Requirements: - Arma 2 Operation Arrowhead required - Arma 2 OA: BAF Lite required - Arma 2 OA: BAF DLC recommended - Arma 2 Combined Operations recommended (you can still play the mission without A2CO, but you may get some error messages and have less weapons to choose from in briefing) Key features: - A full single player night time sabotage mission complete with different kinds of objectives - Choose your gear in briefing - Most voice acting done (but it sucks :P) - Many possible endings - Overview.html complete with mission image and description - Briefing and debriefing - Atmospheric music from ArmA 2 OA - Cutscenes - Lone wolf style infantry mission - no AI subordinates to worry about - You can go stealth or rambo style - though stealth is strongly encouraged - Somewhat open ended - you can finish objectives in almost any order - It takes about one to two hour to complete the mission - Automatic save points - Dynamic weather Download links Armaholic mirror (beta v0.71): Sabotage: Shapur beta v0.71 on Armaholic Mediafire (final v1.00): http://www.mediafire.com/?r73rokjsdeywh16
-
The second and probably last update is out now. You can see the change log in readme file.
-
Alarm script for stealth missions
Janat posted a topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
So, I've been developing an alarm script for my mission Sabotage: Shapur. Now I have a working script and thought I'd share it here. You can set 6 parameters: - List of AI who receive your location info when the alarm will sound - Name of the first marker - Total amount of markers - Knowsabout value before alarm will be set off - Delay from detection to the alarm sounding (if you can kill the units who spotted you within this delay, the alarm will not sound) - Debug messages (0 = OFF, no value = off, any other value = ON) Note: place a game logic with alarm1 = 0 in init field, otherwise the script will not fire. Example: alarmOn = [list aiArea, "ringalert", 3, 0.08, 5, 1] [i](AI list, marker name, marker count, knowsabout value, delay, debug)[/i] You can set up to ten alarm sound locations by creating markers. The first marker can be given any name. All other marker names should follow this structure: markername_n , where n is the ordinal number of the marker. So you can just copy and paste the first marker all around the map. You can set up to 10 sound sources each time you execute the script. Example: ringalert, ringalert_1, ringalert_2, ringalert_3, ringalert_4, ringalert_5, ringalert_6, ringalert_7, ringalert_8, ringalert_9 [i]You have set the marker name parameter to be "ringalert" (with quotes).[/i] Take a look at the sample mission to better see how it should be set up. Feel free to use this script in any mission. Please tell me if you have ideas to make this script even better. The script doesn't work perfectly if an enemy group with more than one unit sees you. If a group that consists of more than one enemy unit spots you, no matter what the alarm will be set off. The alarm will be deactivated soon after that (if no other group has spotted you). Here's the script (new tested version): private ["_snd", "_snd1", "_snd2", "_snd3", "_snd4", "_snd5", "_snd6", "_snd7", "_snd8", "_snd9", "_aiList", "_markerName", "_detSens", "_detDelay", "_debug", "_markerCount"]; _aiList = _this select 0; _markerName = _this select 1; _markerCount = floor (_this select 2); _detSens = _this select 3; _detDelay = _this select 4; _debug = _this select 5; // Checks if parameters have been given in correct form if ((_markerCount < 0) or (_markerCount > 10)) then { _markerCount = 0 } else { }; if ((_detSens < 0) or (_detSens >= 1)) then { _detSens = 0.07 } else { }; if (_detDelay < 0) then { _detDelay = 5 } else { }; if (_debug == 0) then { } else { _debug = 1 }; // End of checks // Checks if alarm is already on if (alarm1 == 0) then { {if ((_x knowsAbout player) > _detSens) then { if (_debug == 1) then { hint format["noticed by enemy\nMarker Name Is %1_2", _markerName]; } else { }; sleep _detDelay; if (_x knowsAbout player > _detSens) then { alarm1 = 1; if (_debug == 1) then { hint "alarm activated" } else { }; sleep 1; switch (_markerCount) do { case 0: { if (_debug == 1) then { hint "creating 0 sound sources" } else { }; _x reveal player; _x setBehaviour "COMBAT"; _x setCombatMode "YELLOW"; _x setSpeedMode "NORMAL"; while {(_x knowsAbout player) > 0} do {sleep 30}; if (_debug == 1) then { hint "alarm off" } else { }; alarm1 = 0; }; case 1: { if (_debug == 1) then { hint "creating 1 sound sources" } else { }; // Starts creating alarm sounds to selected marker positions _snd = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1", _markerName]), [], 0]; // End of alarm sound creating _x reveal player; _x setBehaviour "COMBAT"; _x setCombatMode "YELLOW"; _x setSpeedMode "NORMAL"; while {(_x knowsAbout player) > 0} do {sleep 30}; if (_debug == 1) then { hint "alarm off" } else { }; // Starts alarm sound deletion deleteVehicle _snd; // End of alarm sound deletion alarm1 = 0; }; case 2: { if (_debug == 1) then { hint "creating 2 sound sources" } else { }; // Starts creating alarm sounds to selected marker positions _snd = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1", _markerName]), [], 0]; _snd1 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_1", _markerName]), [], 0]; // End of alarm sound creating _x reveal player; _x setBehaviour "COMBAT"; _x setCombatMode "YELLOW"; _x setSpeedMode "NORMAL"; while {(_x knowsAbout player) > 0} do {sleep 30}; if (_debug == 1) then { hint "alarm off" } else { }; // Starts alarm sound deletion deleteVehicle _snd; deleteVehicle _snd1; // End of alarm sound deletion alarm1 = 0; }; case 3: { if (_debug == 1) then { hint "creating 3 sound sources" } else { }; // Starts creating alarm sounds to selected marker positions _snd = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1", _markerName]), [], 0]; _snd1 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_1", _markerName]), [], 0]; _snd2 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_2", _markerName]), [], 0]; // End of alarm sound creating _x reveal player; _x setBehaviour "COMBAT"; _x setCombatMode "YELLOW"; _x setSpeedMode "NORMAL"; while {(_x knowsAbout player) > 0} do {sleep 30}; if (_debug == 1) then { hint "alarm off" } else { }; // Starts alarm sound deletion deleteVehicle _snd; deleteVehicle _snd1; deleteVehicle _snd2; // End of alarm sound deletion alarm1 = 0; }; case 4: { if (_debug == 1) then { hint "creating 4 sound sources" } else { }; // Starts creating alarm sounds to selected marker positions _snd = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1", _markerName]), [], 0]; _snd1 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_1", _markerName]), [], 0]; _snd2 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_2", _markerName]), [], 0]; _snd3 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_3", _markerName]), [], 0]; // End of alarm sound creating _x reveal player; _x setBehaviour "COMBAT"; _x setCombatMode "YELLOW"; _x setSpeedMode "NORMAL"; while {(_x knowsAbout player) > 0} do {sleep 30}; if (_debug == 1) then { hint "alarm off" } else { }; // Starts alarm sound deletion deleteVehicle _snd; deleteVehicle _snd1; deleteVehicle _snd2; deleteVehicle _snd3; // End of alarm sound deletion alarm1 = 0; }; case 5: { if (_debug == 1) then { hint "creating 5 sound sources" } else { }; // Starts creating alarm sounds to selected marker positions _snd = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1", _markerName]), [], 0]; _snd1 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_1", _markerName]), [], 0]; _snd2 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_2", _markerName]), [], 0]; _snd3 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_3", _markerName]), [], 0]; _snd4 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_4", _markerName]), [], 0]; // End of alarm sound creating _x reveal player; _x setBehaviour "COMBAT"; _x setCombatMode "YELLOW"; _x setSpeedMode "NORMAL"; while {(_x knowsAbout player) > 0} do {sleep 30}; if (_debug == 1) then { hint "alarm off" } else { }; // Starts alarm sound deletion deleteVehicle _snd; deleteVehicle _snd1; deleteVehicle _snd2; deleteVehicle _snd3; deleteVehicle _snd4; // End of alarm sound deletion alarm1 = 0; }; case 6: { if (_debug == 1) then { hint "creating 6 sound sources" } else { }; // Starts creating alarm sounds to selected marker positions _snd = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1", _markerName]), [], 0]; _snd1 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_1", _markerName]), [], 0]; _snd2 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_2", _markerName]), [], 0]; _snd3 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_3", _markerName]), [], 0]; _snd4 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_4", _markerName]), [], 0]; _snd5 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_5", _markerName]), [], 0]; // End of alarm sound creating _x reveal player; _x setBehaviour "COMBAT"; _x setCombatMode "YELLOW"; _x setSpeedMode "NORMAL"; while {(_x knowsAbout player) > 0} do {sleep 30}; if (_debug == 1) then { hint "alarm off" } else { }; // Starts alarm sound deletion deleteVehicle _snd; deleteVehicle _snd1; deleteVehicle _snd2; deleteVehicle _snd3; deleteVehicle _snd4; deleteVehicle _snd5; // End of alarm sound deletion alarm1 = 0; }; case 7: { if (_debug == 1) then { hint "creating 7 sound sources" } else { }; // Starts creating alarm sounds to selected marker positions _snd = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1", _markerName]), [], 0]; _snd1 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_1", _markerName]), [], 0]; _snd2 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_2", _markerName]), [], 0]; _snd3 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_3", _markerName]), [], 0]; _snd4 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_4", _markerName]), [], 0]; _snd5 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_5", _markerName]), [], 0]; _snd6 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_6", _markerName]), [], 0]; // End of alarm sound creating _x reveal player; _x setBehaviour "COMBAT"; _x setCombatMode "YELLOW"; _x setSpeedMode "NORMAL"; while {(_x knowsAbout player) > 0} do {sleep 30}; if (_debug == 1) then { hint "alarm off" } else { }; // Starts alarm sound deletion deleteVehicle _snd; deleteVehicle _snd1; deleteVehicle _snd2; deleteVehicle _snd3; deleteVehicle _snd4; deleteVehicle _snd5; deleteVehicle _snd6; // End of alarm sound deletion alarm1 = 0; }; case 8: { if (_debug == 1) then { hint "creating 8 sound sources" } else { }; // Starts creating alarm sounds to selected marker positions _snd = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1", _markerName]), [], 0]; _snd1 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_1", _markerName]), [], 0]; _snd2 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_2", _markerName]), [], 0]; _snd3 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_3", _markerName]), [], 0]; _snd4 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_4", _markerName]), [], 0]; _snd5 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_5", _markerName]), [], 0]; _snd6 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_6", _markerName]), [], 0]; _snd7 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_7", _markerName]), [], 0]; // End of alarm sound creating _x reveal player; _x setBehaviour "COMBAT"; _x setCombatMode "YELLOW"; _x setSpeedMode "NORMAL"; while {(_x knowsAbout player) > 0} do {sleep 30}; if (_debug == 1) then { hint "alarm off" } else { }; // Starts alarm sound deletion deleteVehicle _snd; deleteVehicle _snd1; deleteVehicle _snd2; deleteVehicle _snd3; deleteVehicle _snd4; deleteVehicle _snd5; deleteVehicle _snd6; deleteVehicle _snd7; // End of alarm sound deletion alarm1 = 0; }; case 9: { if (_debug == 1) then { hint "creating 9 sound sources" } else { }; // Starts creating alarm sounds to selected marker positions _snd = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1", _markerName]), [], 0]; _snd1 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_1", _markerName]), [], 0]; _snd2 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_2", _markerName]), [], 0]; _snd3 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_3", _markerName]), [], 0]; _snd4 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_4", _markerName]), [], 0]; _snd5 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_5", _markerName]), [], 0]; _snd6 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_6", _markerName]), [], 0]; _snd7 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_7", _markerName]), [], 0]; _snd8 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_8", _markerName]), [], 0]; // End of alarm sound creating _x reveal player; _x setBehaviour "COMBAT"; _x setCombatMode "YELLOW"; _x setSpeedMode "NORMAL"; while {(_x knowsAbout player) > 0} do {sleep 30}; if (_debug == 1) then { hint "alarm off" } else { }; // Starts alarm sound deletion deleteVehicle _snd; deleteVehicle _snd1; deleteVehicle _snd2; deleteVehicle _snd3; deleteVehicle _snd4; deleteVehicle _snd5; deleteVehicle _snd6; deleteVehicle _snd7; deleteVehicle _snd8; // End of alarm sound deletion alarm1 = 0; }; case 10: { if (_debug == 1) then { hint "creating 10 sound sources" } else { }; // Starts creating alarm sounds to selected marker positions _snd = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1", _markerName]), [], 0]; _snd1 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_1", _markerName]), [], 0]; _snd2 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_2", _markerName]), [], 0]; _snd3 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_3", _markerName]), [], 0]; _snd4 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_4", _markerName]), [], 0]; _snd5 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_5", _markerName]), [], 0]; _snd6 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_6", _markerName]), [], 0]; _snd7 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_7", _markerName]), [], 0]; _snd8 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_8", _markerName]), [], 0]; _snd9 = createSoundSource ["Sound_Alarm2", (getMarkerPos format["%1_9", _markerName]), [], 0]; // End of alarm sound creating _x reveal player; _x setBehaviour "COMBAT"; _x setCombatMode "YELLOW"; _x setSpeedMode "NORMAL"; while {(_x knowsAbout player) > 0} do {sleep 30}; if (_debug == 1) then { hint "alarm off" } else { }; // Starts alarm sound deletion deleteVehicle _snd; deleteVehicle _snd1; deleteVehicle _snd2; deleteVehicle _snd3; deleteVehicle _snd4; deleteVehicle _snd5; deleteVehicle _snd6; deleteVehicle _snd7; deleteVehicle _snd8; deleteVehicle _snd9; // End of alarm sound deletion alarm1 = 0; }; }; _x reveal player; _x setBehaviour "COMBAT"; _x setCombatMode "YELLOW"; _x setSpeedMode "NORMAL"; while {(_x knowsAbout player) > 0} do {sleep 30}; if (_debug == 1) then { hint "alarm off" } else { }; // Starts alarm sound deletion deleteVehicle _snd; deleteVehicle _snd1; deleteVehicle _snd2; deleteVehicle _snd3; deleteVehicle _snd4; deleteVehicle _snd5; deleteVehicle _snd6; deleteVehicle _snd7; deleteVehicle _snd8; deleteVehicle _snd9; // End of alarm sound deletion } else { if (_debug == 1) then { hint "enemy dead within set time" } else { }; }; } else { };} forEach _aiList; } else { if (_debug == 1) then { hint "alarm already active" } else { }; }; And here's a sample mission on Desert with outdated version of the script: http://www.mediafire.com/?m68623olvsj3r98