This is truly phenomenal. I don't know how many players of MP servers realise the amount of effort (and testing) that goes into making what may seem a simple mission like this. I am now going to go through every vid and see what I can cannibalise
Your channel is a treasure trove of scripting ideas, I discovered you about one or two weeks ago and in my 3000 hours in arma I just thought scripting was gonna be something that stayed out of my reach, there are tutorial videos out there sure, but they go too into detail and you don't see the result until the very end, and even then its never a super useful script, I checked around the BI forums but I normally don't get exactly what I'm looking for. You and your videos have opened my eyes to scripting, you make it seem so simple.
Thank you for your kind words! Been playing since Arma & just started learning script too. It's tough at first but after awhile kinda get a hang of the basic scripts. I kinda mixed & match them to get these results. Im not a pro but i use common sense to combine certain script together. It's still try & error. Those that works i gladly share it via RUclips. Glad you loved the mission ideas.
@@Rodz88 Trial and error is arma in a nutshell, but I have a question, I found a way around it through an ace arsenal whitelisting but how did you allow blufor to pick up enemy uniforms out of the box, when I tried it wouldn't let me, I haven't used CWR3 myself but I would assume russian kit is labeled as opfor gear in the mod. Also am I correct in assuming the restricted area is just setCaptive false when in the area?
So cool! This type of intelligence missions I like to do so any more along these lines would be awesome. Maybe a recon type mission where targets need to be spotted to complete an objective?
Yeah! Good idea! I can do a simple tutorial about it. It's good to have varieties of mission type aside from all out gunfight. I gonna work on the tutorial soon!
@@Rodz88 Totally right, I like the variety of mission types too. I do stuff like divers doing lost warhead recovery underwater and other non combat missions that can be very fun.
This is the best mission I have ever seen compared to other missions.This is amazing, would you like to teach us some scripting skills or any editor skills.Keep up the good work bro!
Great tips, thank you a lot! One question though, could I use a vehicle with the same principle? Meaning, as long as I stay inside, enemy won't react to me? I suppose it should work aswell.... I just don't know what to put there as Condition. Could you help me out a bit? I'd like to make this mechanic working for multiple people at the same time.. Thanks
@@Rodz88 Well, my intent was using that given vehicle (civial car or truck) as that disguise mechanic, so player could potentialy stay inside in his full gear and not being attacked..
Really nice Work, I have a question, what is the content of the trigger that is in the computer room, I know that trigger desable the undercover mode, but how?
Other 2 questions, and sorry for that.. If a need that the "undercover mode" activate with other weapons how I can do that?.. and the other is... How can I put a condition that if the player shoot the undercover mode is going to off..
For the computer room. Place a trigger, Activate by any player is present. On activation box put this - player setCaptive "false" on the deactivation box put this - player setCaptive "true"
Just replace the gun name in the script including the uniform. I think i will touch on how to find name of uniform & gun in the next video. If we shot to break the undercover, there is a script for it but it's kinda complex, i haven't figure out on how to use it.
This is high level as expected, but.. is it possible to make this work for more than one player? ie: I want my group of six players to be able to infiltrate a camp unnoticed. Would it work if a trigger was added for each player with different variable names?
Yes. But the downside it will trigger locally in each PC. Example if there are objective A & B. You completed objective A while your friend completed objective B, in reality both A & B completed. But in your end you will only see A completed & youd friends will only see B completed. I haven't figure out how to make the triggers execute on server side. It's a different script.
1. Addaction
this addaction ["Holster weapon",{[] spawn {player action ["SWITCHWEAPON",player,player,-1];
waitUntil {currentWeapon player == "" or {primaryWeapon player == "" && handgunWeapon player == ""}};
}},[],6,false,true,"","true",-1,false,"",""];
2. Undercover (set the trigger as repeatable)
Condition:
uniform spy isEqualTo "cwr3_o_uniform_m1982_rolled" && vest spy isEqualTo "cwr3_o_vest_beltkit_officer" && headgear spy isEqualTo "cwr3_o_headgear_officer_cap_field" && (currentWeapon spy isEqualTo "") && (primaryWeapon spy isEqualTo "")
Activation:
player setcaptive true; titleText ["You are undercover", "PLAIN DOWN", -1, true, true];
Deactivation:
player setcaptive false; titleText ["You are not undercover", "PLAIN DOWN", -1, true, true];
3. Hold action (hack pc)
[pc,"Steal Intel","\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_search_ca.paa","\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_search_ca.paa","_this distance _target < 3","_caller distance _target < 3", {},{}, {obj1 = true;}, {}, [], 5, 0] remoteExec ["BIS_fnc_holdActionAdd",0];
4. AI ambient animation (guard then turn to armed if in danger)
[this,"GUARD","ASIS"] call BIS_fnc_ambientAnim;
0 = this spawn {waitUntil {behaviour _this == "combat"};
_this call BIS_fnc_ambientAnim__terminate;_this addWeapon "CUP_arifle_AK74"}
5. AI honk car
[] spawn {(driver car_0) forceWeaponFire [currentWeapon car_0, currentWeapon car_0];sleep 3; (driver car_0) forceWeaponFire [currentWeapon car_0, currentWeapon car_0]; };
6. COD style subtitle
titleText ["SF Soldier: Head right in sir!", "PLAIN DOWN", -1, true, true];
This made my day. Thank you!
hi dude, I couldn't switch my uniform put everything in the box, and everything was going well but uniform. So, why??
Haha very good mission ! ;)
Interesting idea right?
@@Rodz88 yes good idea ! ;)
This is truly phenomenal. I don't know how many players of MP servers realise the amount of effort (and testing) that goes into making what may seem a simple mission like this. I am now going to go through every vid and see what I can cannibalise
This channel is a goldmine! Thanks king, you're the best for sharing this.
I did, and it works amazing!!
Thank you. I don't know how to pay you for these great tutorials.
thousand likes!!
Most welcome friend! Glad it worked for you. Your like & subscribe is already a big help to my work, Thanks!
Your channel is a treasure trove of scripting ideas, I discovered you about one or two weeks ago and in my 3000 hours in arma I just thought scripting was gonna be something that stayed out of my reach, there are tutorial videos out there sure, but they go too into detail and you don't see the result until the very end, and even then its never a super useful script, I checked around the BI forums but I normally don't get exactly what I'm looking for. You and your videos have opened my eyes to scripting, you make it seem so simple.
Thank you for your kind words! Been playing since Arma & just started learning script too. It's tough at first but after awhile kinda get a hang of the basic scripts. I kinda mixed & match them to get these results. Im not a pro but i use common sense to combine certain script together. It's still try & error. Those that works i gladly share it via RUclips. Glad you loved the mission ideas.
@@Rodz88 Trial and error is arma in a nutshell, but I have a question, I found a way around it through an ace arsenal whitelisting but how did you allow blufor to pick up enemy uniforms out of the box, when I tried it wouldn't let me, I haven't used CWR3 myself but I would assume russian kit is labeled as opfor gear in the mod. Also am I correct in assuming the restricted area is just setCaptive false when in the area?
So cool! This type of intelligence missions I like to do so any more along these lines would be awesome. Maybe a recon type mission where targets need to be spotted to complete an objective?
Yeah! Good idea! I can do a simple tutorial about it. It's good to have varieties of mission type aside from all out gunfight.
I gonna work on the tutorial soon!
@@Rodz88 Totally right, I like the variety of mission types too. I do stuff like divers doing lost warhead recovery underwater and other non combat missions that can be very fun.
@@chriswest7402 Here you go. There is a script which will only activate for spotting specific target. ruclips.net/video/VZ6sDs1l700/видео.html
incredible! thank for your job and scripting
Thank you & glad you like the script!
Awesome. Thank you for sharing. My only video critique, maybe turn down the background music a little. Bit loud compared to your speech
Thanks for the feedback. It will be better on coming videos
This is the best mission I have ever seen compared to other missions.This is amazing, would you like to teach us some scripting skills or any editor skills.Keep up the good work bro!
Great stuff. Thanks for your work. The background music is kinda loud which makes it difficult from times to understand you though
Great job! Small masterpiece!
Nice! I better buy ARMA3 some days tho.
wooaaaaaawww thank you ,.........
You got a sub
Thanks!
Can you put a link to download the mission? So it would be easier to copy and paste everything you teach in the tutorial
Great tips, thank you a lot!
One question though, could I use a vehicle with the same principle? Meaning, as long as I stay inside, enemy won't react to me?
I suppose it should work aswell....
I just don't know what to put there as Condition. Could you help me out a bit? I'd like to make this mechanic working for multiple people at the same time..
Thanks
Yeah. It works as long you wearing the same gear.
@@Rodz88 Well, my intent was using that given vehicle (civial car or truck) as that disguise mechanic, so player could potentialy stay inside in his full gear and not being attacked..
@@spectrelebowski5011 This is possible just set the vehicle to surrendered with some basic scripting and the vehicle won't be shot at.
@@badger3911 Hey as long your unit is setcaptive "true" any vehicle you embarked will be seen as a civilian in the eye of the AIs
This is fantastic! Great job. Quick question, if someone spots you not undercover can you go back to undercover in their view?
Yes. As long you quickly holster your weapon & equiped that specific uniform
@@Rodz88 okay thanks for the fast reply!
Interesting
Damn
how you manage to make the text look like CoD?? can u share the code for it? Great video
Hey, you can check out my tutorial here
ruclips.net/video/aLd_0k6C3wY/видео.html
Really nice Work, I have a question, what is the content of the trigger that is in the computer room, I know that trigger desable the undercover mode, but how?
Other 2 questions, and sorry for that.. If a need that the "undercover mode" activate with other weapons how I can do that?.. and the other is... How can I put a condition that if the player shoot the undercover mode is going to off..
For the computer room. Place a trigger, Activate by any player is present. On activation box put this - player setCaptive "false" on the deactivation box put this - player setCaptive "true"
Just replace the gun name in the script including the uniform. I think i will touch on how to find name of uniform & gun in the next video.
If we shot to break the undercover, there is a script for it but it's kinda complex, i haven't figure out on how to use it.
@@Rodz88 thanks for the answer bro
This is high level as expected, but.. is it possible to make this work for more than one player? ie: I want my group of six players to be able to infiltrate a camp unnoticed. Would it work if a trigger was added for each player with different variable names?
Yes. But the downside it will trigger locally in each PC. Example if there are objective A & B. You completed objective A while your friend completed objective B, in reality both A & B completed. But in your end you will only see A completed & youd friends will only see B completed.
I haven't figure out how to make the triggers execute on server side. It's a different script.
Cant hear much over the music.
i found hurd times to equip a blufor unit with other than blufor uniform solution : i put it on a triger fnc_otherUnif = {
params ["_type","_return"];
if (_type == 0) exitWith {
MGI_button = _return #1; false
};
if (_type == 1 and !isnil "MGI_button" && {MGI_button == 1}) then {
disableSerialization;
_control = _return select 0;
_index = _return select 1;
private _idc = ctrlIDC _control;
private _text = lbText [_idc, _index];
private _picture = lbPicture [_idc,_index];
private _uniforms = ("getText (_x >> 'displayName') == _text && getNumber (_x >> 'ItemInfo' >> 'type') == 801" configClasses (configFile >> "CfgWeapons"));
if (_uniforms isEqualType [] && {!(_uniforms isEqualTo [])}) then {
[_idc,_text,_picture,_index,_uniforms] spawn {
params ["_idc","_text","_picture","_index","_uniforms",["_selectedUnif",""],"_unifConts",["_uniformObject",objNull],"_otherItems","_g0"];
private _currentUnif = uniform player;
private _currentInvent = uniformItems player;
_currentInvent = (_currentInvent arrayIntersect _currentInvent) apply {private _v= _x;[_x]+[{_v isEqualTo _x} count _currentInvent]};
private _selectedUnif = ((_uniforms select {toLower (gettext (_x >> "picture")) splitString "\"joinString "\" == _picture}) apply {configName _x});
if (_selectedUnif isEqualTo []) exitWith {};
if !(pl_container isKindOf "CAManBase") then {
_unifConts = (everyContainer pl_container select {getNumber (configFile >> "CfgWeapons" >> _x #0 >> 'ItemInfo' >> 'type') == 801});
_uniformObject = objNull;
private ["_cnt","_selectedCfg"];
scopeName "main";
for "_i" from 0 to count _selectedUnif -1 do {
_cnt = 0;
_selectedCfg = _selectedUnif #_i;
for "_j" from 0 to _index do {
if (lbText [_idc,_j] == _text) then {
_cnt = _cnt +1;
_uniformObject = _unifConts select {_selectedCfg == (_x #0)} select (_cnt -1) select 1;
if (!isnil "_uniformObject" && {!isNull _uniformObject}) then {
_selectedUnif = _selectedCfg;
breakTo "main"
};
};
};
_uniformObject = objNull;
};
} else {
_selectedUnif = _selectedUnif #0;
_uniformObject = uniformContainer pl_container
};
if (!isNull _uniformObject && !(player isUniformAllowed _selectedUnif)) then {
private _itemsAndMags = (_uniformObject call MGI_orderItsAndMgs) params ["_selectedItems","_selectedMags"];
if !(pl_container isKindOf "CAmanbase" or isNull pl_container) then {
private _its = getItemCargo pl_container;
private _mgs = magazinesAmmoCargo pl_container;
private _unifItems = _unifConts apply {_x #0};
private _vestConts = (everyContainer pl_container select {getNumber (configFile >> "CfgWeapons" >> _x #0 >> 'ItemInfo' >> 'type') == 701});
private _vestItems = _vestConts apply {_x #0};
_otherItems = +(_its #0) - _unifItems - _vestItems;
_otherItems = _otherItems apply {[_x,_its #1#(_its #0 find _x)]};
private _conts = _unifConts + _vestConts;
for '_i' from 0 to count _Conts -1 do {
if (_conts #_i #1 == _uniformObject) exitWith {
_conts deleteAt _i
};
};
pl_container setVariable ["MGIallContForWear",[]];
{
private _itsAndMgs = ((_x #1) call MGI_orderItsAndMgs) params ["_its","_mgs"];
(pl_container getVariable "MGIallContForWear") pushBack [_x #0,_its,_mgs];
} forEach _conts;
_g0 = pl_container;
clearItemCargoGlobal _g0;
} else {
_g0 = createVehicle ['WeaponHolderSimulated_Scripted', (player modelToWorld [0,1,1]), [], 0, 'CAN_COLLIDE']
};
player forceAddUniform _selectedUnif;
private _unif = uniformContainer player;
{_unif addItemCargoGlobal [_x#0,_x#1]} count _selectedItems;
{_unif addMagazineAmmoCargo [_x#0,_x#2,_x#1]} count _selectedMags;
call {
if (pl_container isKindOf "CAManBase") exitWith {
removeUniform pl_container
};
{
_x params ["_cont",["_it",[]],["_mag",[]]];
pl_container addItemCargoGlobal [_cont,1];
private _createdCont = pl_container call MGI_lastCont;
{_createdCont addItemCargoGlobal [_x#0,_x#1]} count _it;
{_createdCont addMagazineAmmoCargo [_x#0,_x#2,_x#1]} count _mag;
} forEach (pl_container getVariable "MGIallContForWear");
{_g0 addItemCargoGlobal [_x #0,_x #1]} forEach _otherItems;
};
_g0 addItemCargoGlobal [_currentUnif,1];
_lastCont = _g0 call MGI_lastCont;
{_lastCont addItemCargoGlobal [_x #0,_x #1]} forEach _currentInvent;
if (_g0 isKindOf "WeaponHolderSimulated" && {(count itemCargo _g0 + count magazineCargo _g0 + count weaponCargo _g0 + count backpackCargo _g0) == 0}) then {
deleteVehicle _g0
};
};
};
};
MGI_button = 0; false
};
};
MGI_orderItsAndMgs = compileFinal "
params [['_uniformObject', objNull,[objNull]]];
private _items = getItemCargo _uniformObject;
private _mags = magazinesAmmoCargo _uniformObject;
private _selectedItems = (_items #0) apply {[_x,_items #1#(_items #0 find _x)]};
private _selectedMags = (_mags arrayintersect _mags) apply {private _v= _x;_x+[{_v isEqualTo _x} count _mags]};
[_selectedItems,_selectedMags];
";
MGI_lastCont = compileFinal "
params [['_cont',objNull]];
private '_lastCont';
_invent = (everyContainer _cont - (everyBackpack _cont apply {[typeOf _x,_x]}));
if !(_invent isEqualTo []) then {
_lastCont = _invent select (count _invent -1) select 1;
} else {
_lastCont = _cont;
};
_lastCont
";
player addEventHandler ["InventoryOpened", {
params ["_unit", "_container"];
pl_container = _container;
[] spawn {
waitUntil {!(isNull findDisplay 602)};
disableSerialization;
{(findDisplay 602 displayCtrl _x) ctrlAddEventHandler ["MouseButtonClick", "[0,_this] call fnc_otherUnif"]} forEach [632,640];
{(findDisplay 602 displayCtrl _x) ctrlAddEventHandler ["LBSelChanged", "[1,_this] spawn fnc_otherUnif"]} forEach [632,640];
};
}];
Still waiting for the black hawk down
I got most of the scripts compiled, i will do a tutorial soon. Stay tuned!
Ok mi amigo thank you
All I can hear is the music
Sorry. I agree the music was very loud in this video
The music drowns out your voice to damn much for me to understand a damn THING