Jump to content

II OMEGA101 II

Member
  • Content Count

    18
  • Joined

  • Last visited

  • Medals

Everything posted by II OMEGA101 II

  1. Stranded - The Long Road Home The old world as we knew it was gone. With the arrival of the event so too came the new world. Balances shifted and new powers have emerged. Even the dead are now just another part of the grand scheme and you are just a pawn. Another mercenary in another country that's gone to hell. Trying to earn a buck and survive. You came here on a simple mission. To claim the bounties placed on the dead. To help clean up the world and make a few dollars but something changed. The powers that be, once again, have shifted and you are stuck right in the middle. If you want to survive you need to get the hell out of Chernarus. https://steamcommunity.com/sharedfiles/filedetails/?id=3336049810 Overview The concept of the mission is simple. You go from A to B. Once you reach B you've managed to escape. How you reach B is up to you. What happens to you on your way to B is not. Plan carefully as every shot you take will attract unwanted attention. Features This scenario features returning elements from my first scenario Stranded along with some additions and improvements. - Vendors - Safe Zones - Random Events - Ambient spawns - Loot Zones - Repeatable jobs. - Dynamic trader group spawning & Medic group - Dynamic camp spawn for traders, doctors and mechanics. - Respawn. Die and you'll start from the beginning of the map again or save scum. It's a game. You choose how to play. - Warfare zones. - Warfare zones change. You'll never know when your about to step onto a battlefield. Sneak through or go around. - AI in warfare zones are given random focus points. Stay out of their way, or don't. - Cause too much trouble in a warfare zone and squads will be sent to hunt you down. You've been warned. Ravage Features - Dynamic spawning zeds - Hunger, thirst and radiation - Ravage items (Raditation removed as it's a bit buggy) Gameplay Modes Story - In story mode you must find out where the last evac point is and try to reach it to escape. You'll start with minimal gear, at the refugee outpost and when you die you have to start from refugee outpost again. Sandbox - In sandbox mode you can do whatever you like whenever you like. Jump in for some quick survival gameplay or play for an extended session. You'll start with completely random gear in a completely random place and when you die you'll respawn with random gear and in random place. Required Mods & DLC - Apex - Contact - All free DLC - CBA - Ravage - CUP Terrains - Core - CUP Terrains - Maps 2.0 - RHSUSAF - RHSAFRF - RHSGREF - RHSSAF - Project Opfor Reccomended - m3mory mod by haleks if you want to have an extended playthrough. A Note on Performance There is allot more in this scenario than in my previous scenario. Performance will vary depending on PC. Warfare zones will reduce performance because there is more active AI however there's not a crazy amount of AI. Outside of warfare zones performance will be better. The Chernarus map is also more performance intensive than Altis. Performance will also decrease depending on what other mods your running. I have done as much I can though to improve performance and will continue to do so. Credits and Thanks Haleks for providing Ravage. Bohemia Interactive forums, for all the coding snippets, advice and support shared between members. George Floros [GR] - Excellent script snippets and ideas that I've taken to use as part of my other scripts. DaVidoSS - For the clean up script. Bangabob and Strider42 for the EOS scripts outlawed for the mag repack script. HallyG for the money shop scripts. R3evo for his simple conversation script. IndeedPete for his drunk script. Rydygier & Gunter Severloh for the excellent Herne script and AI squad heal script. Tinter for the excellent Tinter furniture script. Rydygier for the excellent FFE God of war script. Music Credits None of the music present within this scenario is of my own work. All rights belong to the respective authors of the music played within this creation. Ambient Noodling - Rabea Massaad - https://www.youtube.com/@RabeaMassaad Serenity - Das Ungesagte - https://www.youtube.com/@DasUngesagte MooZe - Stalker OST Soundtrack - GSC Gameworld Ambient Song - andy othling - https://www.youtube.com/@AndyOthling Sad and Dramatic Music - Apocalypse - Rossbugden - https://www.youtube.com/@RossBugden ♫ Acoustic Guitar Music ♪♬ - Aftermath (TMBD OST) feat. Simon Leong - Rossbugden - https://www.youtube.com/@RossBugden No Mans Land (Copyright and Royalty Free) // ♩♫ Post-Apocalyptic Music ♪♪ - MarchingMemoriesCinema - https://www.youtube.com/@Bravo45th ♩♫ Dramatic Apocalyptic Music ♪♬ - The Wasteland (Copyright and Royalty Free) - Rossbugden - https://www.youtube.com/@RossBugden Metro 2033 - The Tower
  2. II OMEGA101 II

    [RELEASED] [SP] Stranded - The Long Road Home

    Thank you. I've reported my post. Hopefully should be moved over soon?
  3. II OMEGA101 II

    [RELEASED] [SP] Stranded - The Long Road Home

    Thank you for telling me. I'll reupload the images. Can I move the post or do I have to delete and repost?
  4. II OMEGA101 II

    [RELEASED] [SP] Stranded - The Long Road Home

    Scenario has now been released. https://steamcommunity.com/sharedfiles/filedetails/?id=3336049810
  5. This is just an example. I needed to fully customise the loadouts of the units I spawned for the scenario I built. You can take the concept and customise how you like. Chop and change it to make it as easy or as specific as you want.
  6. Hi Justin, Your on the right lines in some bits. Your just missing some elements of the script though. I have a little experience with loadout scripts. Happy to share an example. Loadout.sqf _unit = _this select 0; _LoadoutBasic = { _unit = _this select 0; removeAllWeapons _unit; removeAllItems _unit; removeAllAssignedItems _unit; removeUniform _unit; removeVest _unit; removeBackpack _unit; removeHeadgear _unit; removeGoggles _unit; // ________________ Random Stuff ________________ // _MainWeapon = selectRandom [ "arifle_AKM_F", "hgun_PDW2000_F", "SMG_01_F", "SMG_05_F", "hgun_Pistol_01_F", "hgun_Pistol_heavy_02_F", "arifle_AKS_F", "srifle_DMR_06_hunter_F", "sgun_HunterShotgun_01_F", "sgun_HunterShotgun_01_sawedoff_F" ]; _Sidearm = selectRandom [ ]; _Uniforms = selectRandom [ "U_B_CombatUniform_mcam_vest","U_B_GEN_Soldier_F","U_C_WorkerCoveralls","U_C_Poor_1","U_B_CombatUniform_tshirt_mcam_wdL_f","U_C_HunterBody_grn", "U_C_Poor_shorts_1","U_C_Commoner_shorts" ]; _Vests = selectRandom [ "V_Rangemaster_belt","V_BandollierB_khk","V_BandollierB_cbr","V_BandollierB_rgr","V_BandollierB_blk","V_BandollierB_oli","V_Chestrig_khk", "V_Chestrig_rgr","V_Chestrig_blk","V_Chestrig_oli","V_Pocketed_black_F","V_LegStrapBag_black_F" ]; _Headgear = selectRandom [ "H_Cap_grn_BI","H_Cap_police","H_Cap_usblack","H_HelmetB_light","H_Cap_blk_Raven","H_Cap_blk_ION","H_Watchcap_cbr","H_Watchcap_khk", "H_Watchcap_camo","H_Watchcap_sgg","H_Hat_Safari_sand_F","H_Hat_Safari_olive_F","H_HeadBandage_bloody_F" ]; _Backpacks = selectRandom [ "B_LegStrapBag_black_F","B_LegStrapBag_coyote_F","B_LegStrapBag_olive_F","B_Messenger_Black_F","B_Messenger_Coyote_F", "B_Messenger_Gray_F","B_Messenger_Olive_F","B_Messenger_IDAP_F","" ]; _Facewear = selectRandom [ "G_Balaclava_blk","G_Balaclava_combat","G_Balaclava_lowprofile","G_Balaclava_TI_blk_F","G_Balaclava_TI_G_blk_F", "G_Balaclava_TI_tna_F","G_Balaclava_TI_G_tna_F","G_Bandanna_aviator","G_Bandanna_beast","G_Bandanna_blk","G_Bandanna_khk", "G_Bandanna_shades","G_Bandanna_sport","G_Bandanna_oli","G_Bandanna_tan","" ]; _LinkItems = selectRandom [ "ItemMap","ItemCompass","ItemWatch","ItemRadio","ItemGPS" ]; _Items = selectRandom [ "rvg_plasticBottleEmpty","rvg_beansEmpty","rvg_plasticBottle","Chemlight_red","rvg_spirit","rvg_franta","rvg_beans", "rvg_bacon","rvg_flare","rvg_docFolder","rvg_notepad","rvg_plasticBottlePurified","FirstAidKit","rvg_guttingKnife" ]; // ________________ Loadout ________________ // _unit forceAddUniform _Uniforms; _unit addVest _Vests; _unit addBackpack _Backpacks; for "_i" from 1 to (1 + floor random 2) do {_unit addItemToVest _Items;}; _RandomNo = [1,2,3,4] call BIS_fnc_selectRandom; [_unit,_MainWeapon,_RandomNo] call bis_fnc_addWeapon; _unit addHeadgear _Headgear; _unit setIdentity _Facewear; _unit linkItem _LinkItems; }; _LoadoutElite { _unit = _this select 0; removeAllWeapons _unit; removeAllItems _unit; removeAllAssignedItems _unit; removeUniform _unit; removeVest _unit; removeBackpack _unit; removeHeadgear _unit; removeGoggles _unit; // ________________ Random Stuff ________________ // _MainWeapon = selectRandom [ "arifle_AKM_F", "hgun_PDW2000_F", "SMG_01_F", "SMG_05_F", "hgun_Pistol_01_F", "hgun_Pistol_heavy_02_F", "arifle_AKS_F", "srifle_DMR_06_hunter_F", "sgun_HunterShotgun_01_F", "sgun_HunterShotgun_01_sawedoff_F" ]; _Sidearm = selectRandom [ ]; _Uniforms = selectRandom [ "U_B_CombatUniform_mcam_vest","U_B_GEN_Soldier_F","U_C_WorkerCoveralls","U_C_Poor_1","U_B_CombatUniform_tshirt_mcam_wdL_f","U_C_HunterBody_grn", "U_C_Poor_shorts_1","U_C_Commoner_shorts" ]; _Vests = selectRandom [ "V_Rangemaster_belt","V_BandollierB_khk","V_BandollierB_cbr","V_BandollierB_rgr","V_BandollierB_blk","V_BandollierB_oli","V_Chestrig_khk", "V_Chestrig_rgr","V_Chestrig_blk","V_Chestrig_oli","V_Pocketed_black_F","V_LegStrapBag_black_F" ]; _Headgear = selectRandom [ "H_Cap_grn_BI","H_Cap_police","H_Cap_usblack","H_HelmetB_light","H_Cap_blk_Raven","H_Cap_blk_ION","H_Watchcap_cbr","H_Watchcap_khk", "H_Watchcap_camo","H_Watchcap_sgg","H_Hat_Safari_sand_F","H_Hat_Safari_olive_F","H_HeadBandage_bloody_F" ]; _Backpacks = selectRandom [ "B_LegStrapBag_black_F","B_LegStrapBag_coyote_F","B_LegStrapBag_olive_F","B_Messenger_Black_F","B_Messenger_Coyote_F", "B_Messenger_Gray_F","B_Messenger_Olive_F","B_Messenger_IDAP_F","" ]; _Facewear = selectRandom [ "G_Balaclava_blk","G_Balaclava_combat","G_Balaclava_lowprofile","G_Balaclava_TI_blk_F","G_Balaclava_TI_G_blk_F", "G_Balaclava_TI_tna_F","G_Balaclava_TI_G_tna_F","G_Bandanna_aviator","G_Bandanna_beast","G_Bandanna_blk","G_Bandanna_khk", "G_Bandanna_shades","G_Bandanna_sport","G_Bandanna_oli","G_Bandanna_tan","" ]; _LinkItems = selectRandom [ "ItemMap","ItemCompass","ItemWatch","ItemRadio","ItemGPS" ]; _Items = selectRandom [ "rvg_plasticBottleEmpty","rvg_beansEmpty","rvg_plasticBottle","Chemlight_red","rvg_spirit","rvg_franta","rvg_beans", "rvg_bacon","rvg_flare","rvg_docFolder","rvg_notepad","rvg_plasticBottlePurified","FirstAidKit","rvg_guttingKnife" ]; // ________________ Loadout ________________ // _unit forceAddUniform _Uniforms; _unit addVest _Vests; _unit addBackpack _Backpacks; for "_i" from 1 to (1 + floor random 2) do {_unit addItemToVest _Items;}; _RandomNo = [1,2,3,4] call BIS_fnc_selectRandom; [_unit,_MainWeapon,_RandomNo] call bis_fnc_addWeapon; _unit addHeadgear _Headgear; _unit setIdentity _Facewear; _unit linkItem _LinkItems; }; if (random 1 < 0.8) then { [_unit] spawn _LoadoutBasic; } else { [_unit] spawn _LoadoutElite; }; To call the loadout script put this into the soldier's init field. This can also be used on units spawned via script. Simply swap "this" out with the variable of the unit. [this] execVM "Loadout.sqf"; Your passing the variable of the unit into the script when you execute it which is good. Also you don't need a hashtag just "_unit = _this select 0;" will be okay. I usually put this at the top of the script as it's always worked best for me that way. What this line does it will assign _unit as the variable for the variable that you passed into the script. What your missing is the code that adds the items to the unit. I take it that you may want to remove just the weapon rather than everything the unit has like I've done? Feel free to use and adjust my code. At the bottom of my script you can see I've got commands that add weapons, uniforms and items to the unit which is what I think your missing. Give this is a go and see if it helps. I would recommend reading about global and local variables in arma too. Edit: sorry i missed completely that you want to select a loadout at random. When I'm back later I'll show you how you can do that. Edit 2: I've re-edited the code. I've changed the loadouts into two functions within the same script. There's numerous ways you can go about doing this and you'll likely change your method a dozen times over however this..... should ...... work. Just ammend the code to how you need to. If you only want items and weapons then you can simply delete the other lines and keep the lines that add items and weapons. If your not using ravage I would recommend removing all class names beginning with rvg. I hope this helps.
  7. II OMEGA101 II

    [RELEASED] [SP] Stranded - The Long Road Home

    Possibly, this weekend. All the gameplay systems are finished now. I've optimized performance as much as possible. I'm just looking for music tracks to complement the scenario. Then gotta do some music editing and finish character dialogues (nothing too fancy). Finally a bit of media, showing gameplay and then I'll upload.
  8. II OMEGA101 II

    [Release] AI Medic Auto Heal

    Nice man, thanks for this. I'll be adding this to my scenario's.
  9. II OMEGA101 II

    Safezone

    Nice dude! Really glad it helped
  10. II OMEGA101 II

    Safezone

    The loop checks every second if there is any player inside the safe zone. The player's vehicle will be protected if the player is in it however if the player isn't in it then it can be destroyed in the safe zone. The other limitations with this as well is that the vehicle will stay invulnerable (if a player was in it when the loop fired) if driven outside the safe zone when there is no player in it however if the player gets back in the vehicle outside a safe zone it will become vulnerable again. Using markers makes some things harder as well as easier unfortunately.
  11. II OMEGA101 II

    Safezone

    Hey, I've had a ponder on this. I'm not very knowledgeable with arma scripting so take this with a grain of salt _Safezones = ["Safezone_1"]; _SafezoneSafety = { private ["_Unit"]; _Unit = _this select 0; _Unit allowdamage false; vehicle _Unit allowDamage false; }; _SafezoneUnSafety = { private ["_Unit"]; _Unit = _this select 0; _Unit allowdamage true; vehicle _Unit allowDamage true; }; while {true} do { { private _unit = _x; { if (_unit inarea _x) then { [_unit] spawn _SafezoneSafety; } else { [_unit] spawn _SafezoneUnSafety; }; } forEach _Safezones; } forEach allplayers; sleep 1; }; I've briefly tested the script and it works (at least in single player should hopefully work in multiplayer too?) In essence you put down a marker called Safezone_1 and add it into the safezones array. Then the loop will check if any players are in the marker and spawn the safezone safety function to make them invulnerable. If the player is in a vehicle then it will make the vehicle invulnerable too. You can add more markers to the array as well. This code may be subject to exploits and will need some indepth testing and tweaking however I think this covers the bare bones. I'm not sure how to make it so that newly spawned players into the safe zone will be invulnerable without making the loop redundant. Could adapt this for use in a trigger however I prefer scripts. I've tried to add in hints however can't figure out how to do it without the hint popping up constantly. Could put down a trigger that displays a hint when entering and exiting the marker? I hope this helps
  12. Stranded An event occurred. It's origin unknown. Some say it's just nature restoring the balance. Some say it's a virus from outer space. Some say it's Judgement. Nobody truly knows. What we do know is that one day the dead started to rise. Everyone who dies rises again to attack the living and create more walking corpses. Countries that had the infrastructure managed to withstand the event whereas countries torn by civil war, famine and scarcity were not so lucky. Altis was not so lucky. You are a drifter. A faceless roaming survivor of the aftermath earning a meagre living scavenging and selling loot. You are nothing. A nobody and when you die you become another nobody. Over and over. Explore and pillage the island nation of Altis where the further you go the harder it gets. Battle across high risk/high reward loot zones where the better the gear the more dangerous the foe but don't stay out too long. You don't want to be outside a safe zone when night falls. Take on odd jobs. Kill zombies and bandits for money. Build up your cash to buy better gear to take on harder loot zones but beware, If you die you lose it all. https://steamcommunity.com/sharedfiles/filedetails/?id=3210541042 Gameplay Videos Mission Summary Features - Random Events - Safe Zones - Vendors - Loot Zones - Tiered Loot system - Tiered enemies - Somewhat balanced progression - Repeatable missions - Mag repacking - Ambient, non intrusive, music - Custom dynamic spawn system that changes depending on day/night cycle. - Hire-able AI in safe zones. - Wanted / Bounty system - If you kill friendly units then bounty hunters will come after you until you pay it off or die. - Integrated Tinters furniture script. The main feature of this scenario is what I hope to be re-playable fun that you can either enjoy in short spurts or play over a couple hours. Future Whilst this project is functionally completed there is more I would have liked to do with it however due to time constraints / inexperience I've had to cut features out. Over time I would like to add things like a sort of bounty system / reputation system plus expand and add more variety to what's in this scenario. I can't make any promises, beyond bug fixing support, that I'll continue to add to this project though. Changelog For a complete list of changes please see the changelog on the steam workshop page. Requirements - Apex - Contact - All free DLC - Ravage Reccomended Mods All these mods are located on the steam workshop. For long play through's I recommend the m3mory mod by Haleks. JSRS Sound Mod JSRS Reload Sounds Better Inventory Death Hit and Reaction Sounds Enhanced Movement Enhanced Movement Rework CE: Movement CQB Weapon Stance Dynamic Camo System Impact Moving Stacks Rework No more Soul-Less Eyes Project SFX: Remastered Webknights Two Primary Weapons - This mod introduces an unintended consequence in the respawn system whereby the second primary weapon isn't removed. Rested Weapon Movement Modernized controls collection Enhanced Soundscape I use the above list of mods with this scenario however there are a couple very minor interactions with my scripts. Bug Reporting / Feedback / Suggestions Leave a comment here or on the steam workshop page I greatly appreciate any feedback and/or support. Credits Haleks for providing Ravage. Bohemia Interactive forums, for all the coding snippets, advice and support shared between members. George Floros [GR] for his excellent scripts, including single player respawn and clean-up Bangabob and Strider42 for the EOS scripts outlawed for the mag repack script. HallyG for the money shop scripts. R3evo for his simple conversation script. IndeedPete for his conversation system. IndeedPete for his drunk script. Rydygier & Gunter Severloh for the excellent Herne script. Tinter for the excellent Tinter furniture script. Music Credits None of the music present within this scenario is of my own work. All rights belong to the respective authors of the music played within this creation. Ambient Noodling - Rabea Massaad - https://www.youtube.com/@RabeaMassaad Serenity - Das Ungesagte - https://www.youtube.com/@DasUngesagte MooZe - Stalker OST Soundtrack - GSC Gameworld Ambient Song - andy othling - https://www.youtube.com/@AndyOthling
  13. Updated the scenario to remove the Western Sahara dlc requirement. This was completely unintentional and I left the dlc activated as I was planning on adding in the weapons and clothing and making a separate version at some point.
  14. Scenario has now been released onto the steam workshop. Click the link below to find it https://steamcommunity.com/sharedfiles/filedetails/?id=3210541042
  15. Update 01/04/2024 I've created a gameplay demonstration video that I've linked in the main post and also here just as a proof of concept. I'm currently play testing and ironing things out. I'm linking the video here too
  16. Update, 03/03/2024. I took a bit of a long hiatus however I intend to release this ........ soon The base features have been completed. I've cut some things out because I didn't have the time/experience to implement them such as the conversations and lore elements. Now I just need to polish this up a bit and do a full test and subsequent bug fixing exercise then this will be ready for release
  17. Hi peeps, I'm writing a script (cut and pasted from various other scripts) that spawns units while a player is inside the marker. I would like them to be deleted when the player has either moved outside the marker or moved a certain distance away. I have tried different methods and functions however they either throw errors or don't work as intended. One method that does delete the group will not work when the player moves outside the hot zone. I am a scripting noobie. Would anyone kindly be able to provide some advice please? Once the basic functionality is working I would like to expand this script much more. if (isServer) then { _Spawntarget = player; _Spawndistance = 100; _deleteDist = 150; _patrolDist = 500; _Spawngroups = [ (configfile >> "CfgGroups" >> "East" >> "rhs_faction_vdv" >> "rhs_group_rus_vdv_infantry" >> "rhs_group_rus_vdv_infantry_squad") ]; _Spawnmaxdelay =40; _Spawnavgdelay =50; _Spawnmindelay =60; _Spawnside = OPFOR; while {true} do { if (_Spawntarget inArea "HotZone_1") then { _SpawnPosistion = _Spawntarget getRelPos [_Spawndistance, round random 360]; _NewGroup = [_SpawnPosistion, _Spawnside , _Spawngroups select (floor (random (count _Spawngroups)))] call BIS_fnc_spawnGroup; [_NewGroup, position leader _Spawntarget, _patrolDist] call bis_fnc_taskpatrol; systemChat "HotZone_1 Working"; }; if (_Spawntarget inArea "HotZone_2") then { _SpawnPosistion = _Spawntarget getRelPos [_Spawndistance, round random 360]; _NewGroup = [_SpawnPosistion, _Spawnside , _Spawngroups select (floor (random (count _Spawngroups)))] call BIS_fnc_spawnGroup; [_NewGroup, position leader _Spawntarget, _patrolDist] call bis_fnc_taskpatrol; systemChat "HotZone_2 Working"; }; if ((_Spawntarget distance (units _NewGroup)) >= _deleteDist) then { {deletevehicle _x} forEach (units _NewGroup); }; sleep (random [_Spawnmindelay,_Spawnavgdelay,_Spawnmaxdelay]); }; };
  18. Please ignore, after allot of frustration think I finally came across a solution which seems to work.
×