Jump to content

Twiznak

Member
  • Content Count

    126
  • Joined

  • Last visited

  • Medals

Community Reputation

26 Excellent

1 Follower

About Twiznak

  • Rank
    Sergeant

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi everyone! I just wanted to ask about an improvement to the AI artillery use. AI soldiers requesting an artillery strike from a Sochor against infantry targets, will request a barrage of AP and AT cluster mine shells. I haven't seen this before the update. Was this intentional? If so, thank you! I haven't felt terror like I felt when the enemy fired a 6 round barrage of AP cluster mine shells on my position and everywhere I looked I saw nothing but red triangles. VCOM AI is as essential to Arma 3 game play as a keyboard and mouse! Screenshots for your viewing pleasure. https://steamcommunity.com/sharedfiles/filedetails/?id=2208589815 https://steamcommunity.com/sharedfiles/filedetails/?id=2208589826
  2. Genesis92x, Hi. First: I have to Thank you for this mod. In my opinion, VCOM AI is as essential to playing arma as a keyboard and mouse. 100% from the heart, THANK YOU! Second: A truly random combat situation arose from the use of vcom ai, in my missions. I want to share this story with you and everyone else in the hopes that there is some way to PURPOSELY recreate this situation with VCOM. The story: Our team was engaging the enemy from a bunker. We had brought out a custom ammo crate with us and stored it in the bunker. The enemy encircled us, breached our perimeter and overran the bunker. VCOM AI working as intended! 😎 But that is when the magic happened. An enemy AI, low on ammo, made his way into the bunker. He grabbed a few mags, then he took out our claymores, BOBBY TRAPPED the ammo crate and just sat there, waiting for us. We never saw it coming. During a lull in combat the WHOLE team rushed to the ammo crate to resupply. The second he saw us enter the building he detonated the claymores. There were no survivors. Now, I have been bombed out of a building by AI demolition experts, had every unattended vehicle stolen and been killed by my own weapon systems. But I have never had an AI mine my resources and then just wait for me. Brutal! and I want to have it every game now 🤯 The question: Is it possible to add a protocol that will make AI lay mines/charges around ammo crates and vehicles on the battlefield?
  3. Pierre, Thank you so much for sharing this knowledge with me. I got to work with this new information so quickly that I forgot to say thank you. So many mission possibilities have opened up , thank very much sir!
  4. Hello Sir! This is the solution. It comes as no surprise that the man who authored the original eventHandler, would be the man who authors the new. Thank you Killzone_Kid and Harzach! You, again, gave me reliable and accurate information that pointed me in the right direction. I will forever be in the shadow of you, the giants of Arma script. I stand upon your shoulders with every step I take in mission making. I am truly grateful for everything you and the rest of the giants do for all of us who come here to the forums seeking help. To reach a deeper level of understanding with the command spawn, I would like to ask some questions about its implementation here. First off, I just want to state that I would have NEVER figured this out on my own. Using a remoteExec "spawn", inside of another spawn, blows my mind. SO, I have two questions: 1. Using multiples of spawn, inside a spawn. Allow me to rephrase, can I compile multiple sets of instructions, into one compiled set of instructions? Hypothetical multiple spawn scenario: _hints spawn { _h1 = [] spawn {player globalChat "One for the money!"}; sleep 2; _h2 = [] spawn {player globalChat "Two for the show!"}; sleep 2; _h3 = [] spawn {player globalChat "Three to get ready. Now go, cat, go!"}; }; Is this valid syntax? How would one go about doing this correctly? 2. the variable "_this" is passed unto the code or script that is executed within the compiled set of instructions. If I were to call a script.sqf from the instructions, would I be able to operate with "_this", as it retained it's definition from the instructions that called it. OR would I need to create a private variable and then define that variable with the variable, "_this", that was passed to the script from the instructions? Hypothetical variable passing from _handle spawn {0 = execVM "someScript.sqf";}; someScript.sqf _myVar = (_this select 0); //... Is this valid syntax? How would one go about doing this correctly? I feel like a crazy person. I barley make sense to myself. But yet still, I have to ask because I want to become better at mission scripting. Thank you for your time gentlemen!
  5. Hi Killzone_kid! Ahh yes, the face palm, my signature 😁. If I understand what you are getting at I should use remoteExec ? this is what I have been able to work out. a partial success. It hides the objects, but it does so as soon as I place the charge. player addEventHandler ["fired", { if ("SatchelCharge_remote_ammo"== _this select 4) then { "Tree Cutter Charge Placed, Effective range 15m!" remoteExec ["hint"]; _charge = _this select 6; [_charge, { waitUntil {!isNull _this}; { _x hideObjectGlobal true } foreach (nearestTerrainObjects [_this,[],50]); }] remoteExec ["spawn", 0, true]; } } ]; Then when I change, !isNull to !alive, It hides the objects after detonation but does not work on the dedicated server. Please help me solve this. I keep hitting the same dead end with different approaches. I really appreciate your help.
  6. Hi everyone! This is a bit of a read, but I hope what I have to share is worth the read. I have come to the forums in search of help, but first I would like to share my success with everyone. I have put together an addEventHandler that turns all satchel charges into "tree cutters". I got this from PierreMGI in a 5 year old post on Armaholic forums https://www.armaholic.com/forums.php?m=posts&q=31114. It forms one of the core logistics features in my Valhalla missions. It sets damage to maximum (1) on all trees and bushes within a 15m radius of the charge, when the charge is detonated. Works on dedicated servers. Tree Cutter eventHandler. Add to initPlayerLocal.sqf && onPlayerRespawn.sqf: player addEventHandler ["fired", { if ("SatchelCharge_remote_ammo"== _this select 4) then { "Tree Cutter Charge Placed, Effective range 15m!" remoteExec ["hint"]; _charge = _this select 6; 0 = [_charge] spawn { _pad = createVehicle ["Land_HelipadEmpty_F", player, [], 0, "CAN_COLLIDE"]; _charge = [_this, 0, objNull] call BIS_fnc_param; waituntil {sleep 0.1; isNull _charge}; { _x setDamage 1 } foreach (nearestTerrainObjects [_pad,["tree","bush"],15]); deleteVehicle _pad; } } } ]; Never be at the mercy of vegetation again! Now my Problem. The above code works everywhere except Tanoa. Tanoa's trees: 1, Don't have a "ruin" model, or destroyed state that they can be put in. Even when damage set to maximum, they still stand. 2, they don't have a configure class. The dubug console command hint str(typeOf cursortarget); copyToClipboard str(typeOf cursortarget); that I got from Haleks in the post always returns "". Which according to the description in typeOf means they don't have a config class. Making them nigh impossible for me to target by classname directly. So I went with a hideObjectGlobal approach that works on locally hosted games, but not on dedicated servers. Tanoa Tree Hider eventHandler. player addEventHandler ["fired", { if ("SatchelCharge_remote_ammo"== _this select 4) then { "Tree Cutter Charge Placed, Effective range 15m!" remoteExec ["hint"]; _charge = _this select 6; 0 = [_charge] spawn { _pad = createVehicle ["Land_HelipadEmpty_F", player, [], 0, "CAN_COLLIDE"]; _charge = [_this, 0, objNull] call BIS_fnc_param; waituntil {sleep 0.1; isNull _charge}; { _x hideObjectGlobal true } foreach (nearestTerrainObjects [_pad,[],25,false]); deleteVehicle _pad; } } } ]; I am too wrapped up in my own conundrum to see the solution. Would someone please show me the corrections that need to be made in order for the Tanoa tree hider event handler to work on dedicated servers. Thank you for reading and I hope the these tree cutters help you dominate the battlefield!
  7. Twiznak

    VCom AI: Script Version

    I am not trying to dig up trouble. Davidoss gave accurate information. [] execVM "Vcom\VcomInit.sqf"; IS REQUIRED. I today, 7/6/2020, used his posted information to successfully merge the VCOM mod scripts into my mission. Thank you again Davidoss!
  8. WOW. Excellent work! I will use this as the interior for an ultimate CQB base. Thank you so much.
  9. This might help you.
  10. My avatar explains everything about this 🙂 I had removed the if () then{}; control structure while I was trying to get the backpacks to transfer and forgot to add it back in. Oops! Thank you again Dedmen. I have up'd the ante and modified PierreMGI's vehicle drop script to add the copied ammo crate contents to air dropped vehicles. SUPER useful script. Thank you man.
  11. THANK. YOU. Dedmen! I have a working solution to share with everyone. this script will spawn a copy of an ammo crate with ALL weapons(including all attachments), armor, uniforms, backpacks, magazines, and items. However, it will not transfer items in the inventories of vests and backpacks. They will need to be emptied. Mission: Spawn a copy of a crate. In the editor: Place down a supply crate, name it "CustomCrate_1" and clear its inventory. In CustomCrate_1's init field, add the following this addAction ["Spawn a Copy Crate", "spawnCopyCrate.sqf"]; Copy & Paste the following into NotePad++. Save the file as spawnCopyCrate.sqf and add the file into your mission file. params ["_target", "_presetName", "_presetDescription"]; _target = customCrate_1; private _presetContents = []; private _presetBackpackContents = []; private _newPreset = [_presetName, _presetDescription, _presetContents, _presetBackpackContents]; private _weapons = []; { _presetContents pushBack _X; } forEach weaponsItemsCargo _target; private _magazineCargo = getMagazineCargo _target; { _presetContents pushBack [_x, (_magazineCargo select 1) select _forEachIndex]; } forEach (_magazineCargo select 0); private _itemCargo = getItemCargo _target; { _presetContents pushBack [_x, (_itemCargo select 1) select _forEachIndex]; } forEach (_itemCargo select 0); private _bagCargo = getBackpackCargo _target; { _presetBackpackContents pushBack [_x, (_bagCargo select 1) select _forEachIndex]; } forEach (_bagCargo select 0); _box = "B_SupplyCrate_F" createVehicle position Player; clearWeaponCargoGlobal _box; clearItemCargoGlobal _box; clearMagazineCargoGlobal _box; clearBackpackCargoGlobal _box; params ["_target", "_preset"]; _target = _box; _preset params ["_presetName","_presetDescription","_presetContents", "_presetBackpackContents"]; { if (count _x > 2) then { //Weapon _target addWeaponWithAttachmentsCargoGlobal [_x, 1]; } else { //Item _x params ["_class", "_count"]; _target addItemCargoGlobal [_class, _count]; } } forEach _presetContents; { _x params ["_class", "_count"]; _target addBackpackCargoGlobal [_class, _count]; } forEach _presetBackpackContents; This script can also be called from a virtual supply drop support module. Replacing the default contents of the ammo crate with the contents of CustomCrate_1. Here is how: In the virtual supply drop support module, add the following into the Crate init field _this execVM "spawnCopyCrate.sqf"; In spawnCopyCrate.sqf, delete the the following line _box = "B_SupplyCrate_F" createVehicle position Player; and change all 5 remaining instances of "_box" to "_this".
  12. Dedmen, Thank you for the functions! I am copy/pasting to notepad++ and getting to work right now! When I figure it out, I will comeback here and post my working model so that future arma scripters can use it as a resource......Key word there is when 🙂 thank you Dedmen!.
  13. Hi. I need help with adding items to an ammo box. My aim here is to spawn a copy of an already existing ammo box. For the ultimate purposes of creating a custom ammo drop script that is called from the crates init field. In the supply drop support module. Here is my script, so you can see what I am doing: ammo box placed in the editor named customCrate_1. addAction ["Spawn Copy Crate", "SCC.sqf"]; SCC.sqf _newBP = getBackpackCargo customCrate_1; _newItem = getItemCargo customCrate_1; _newMag = getMagazineCargo customCrate_1; _newWep = getWeaponCargo customCrate_1; _box ="B_SupplyCrate_F" createVehicle position Player; clearBackpackCargoGlobal _box; clearItemCargoGlobal _box; clearMagazineCargoGlobal _box; clearWeaponCargoGlobal _box; _box addBackpackCargoGlobal _newBP; _box addItemCargoGlobal _newItem; _box addMagazineCargoGlobal _newMag; _box addWeaponCargoGlobal _newWep; No errors in the editor or the logs, but there's no cargo being added to the new box. I tried getting as fancy as I could by trying to call specific variables from the predefined array. Example, _box addBackpackCargoGlobal [(_newBP select 1),(_newBP select 2)]; again, no errors and no cargo. I usually follow my trail of tears errors through the logs to find a solution but the trail went cold for me. Would someone please point out my errors so that I can learn. Thank you.
  14. Thank you beno_83au. These are the wiki pages I should have been looking harder at. Thank you Harzach! This is the answer.I was way off. I wasn't even using the right classname for the satchel charge. I copied classname from the editor and it was "SatchelCharge_F".
  15. Hi, it's me again! I want to know how to check to see if a player has an explosive satchel in their inventory as part of a set of conditions that must be satisfied for an addAction. hasWeapon works for primary, secondary and launchers. The notes at the bottom of the page by Benagree "ItemGPS" in (items player + assignedItems player) OR 'ItemGPS' in (items player + assignedItems player) works for all items. But for the life of me I can't find any documentation for how to do this for explosives. As a matter of fact the ONLY mention of this is on the BIwiki items page and a note by Druid Would someone who is in the know please share with me the command and syntax that will do this for explosives? Thank you.
×