NeverAgain 81 Report post Posted March 11, 2017 Please how to change hotwire chance? ExileClient_action_execute : /** * ExileClient_action_execute * * Exile Mod * exile.majormittens.co.uk * © 2015 Exile Mod Team * * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. */ private["_actionName","_parameters","_progress","_actionConfig","_duration","_durationFunction","_failChance","_animation","_animationType","_conditionFunction","_abortInCombatMode","_startTime","_sleepDuration","_failAt","_errorMessage","_keyDownHandle","_mouseButtonDownHandle","_display","_label","_progressBarBackground","_progressBarMaxSize","_progressBar","_function","_progressBarColor"]; disableSerialization; if (ExileClientActionDelayShown) exitWith { false }; ExileClientActionDelayShown = true; ExileClientActionDelayAbort = false; _actionName = _this select 0; _parameters = _this select 1; _progress = 0; _actionConfig = configFile >> "CfgExileDelayedActions" >> _actionName; _duration = getNumber (_actionConfig >> "duration"); _durationFunction = getText (_actionConfig >> "durationFunction"); _failChance = getNumber (_actionConfig >> "failChance"); _animation = getText (_actionConfig >> "animation"); _animationType = getText (_actionConfig >> "animationType"); _conditionFunction = getText (_actionConfig >> "conditionFunction"); _abortInCombatMode = (getText (_actionConfig >> "abortInCombatMode")) isEqualTo 1; _startTime = diag_tickTime; _sleepDuration = _duration / 100; _failAt = diag_tickTime + 99999; _errorMessage = ""; if !(_conditionFunction isEqualTo "") then { _errorMessage = _parameters call (missionNameSpace getVariable [_conditionFunction,{}]); }; if !(_errorMessage isEqualTo "") exitWith { ExileClientActionDelayShown = false; ["ErrorTitleAndText", ["Whoops!", _errorMessage]] call ExileClient_gui_toaster_addTemplateToast; }; if !(_durationFunction isEqualTo "") then { _duration = _parameters call (missionNameSpace getVariable [_durationFunction,{}]); }; if ((floor (random 100)) < _failChance) then { _failAt = _startTime + _duration * (0.5 + (random 0.5)); }; ("ExileActionProgressLayer" call BIS_fnc_rscLayer) cutRsc ["RscExileActionProgress", "PLAIN", 1, false]; _keyDownHandle = (findDisplay 46) displayAddEventHandler ["KeyDown","_this call ExileClient_action_event_onKeyDown"]; _mouseButtonDownHandle = (findDisplay 46) displayAddEventHandler ["MouseButtonDown","_this call ExileClient_action_event_onMouseButtonDown"]; _display = uiNamespace getVariable "RscExileActionProgress"; _label = _display displayCtrl 4002; _label ctrlSetText "0%"; _progressBarBackground = _display displayCtrl 4001; _progressBarMaxSize = ctrlPosition _progressBarBackground; _progressBar = _display displayCtrl 4000; _progressBar ctrlSetPosition [_progressBarMaxSize select 0, _progressBarMaxSize select 1, 0, _progressBarMaxSize select 3]; _progressBar ctrlSetBackgroundColor [0, 0.78, 0.93, 1]; _progressBar ctrlCommit 0; _progressBar ctrlSetPosition _progressBarMaxSize; _progressBar ctrlCommit _duration; if !(_animation isEqualTo "") then { if (_animationType isEqualTo "switchMove") then { player switchMove _animation; ["switchMoveRequest", [netId player, _animation]] call ExileClient_system_network_send; } else { player playMoveNow _animation; }; }; try { while {_progress < 1} do { if (diag_tickTime >= _failAt) then { throw 1; }; if (ExileClientActionDelayAbort) then { throw 2; }; if (ExileClientPlayerIsInCombat) then { if (_abortInCombatMode) then { throw 2; }; }; if !(alive player) then { throw 2; }; uiSleep _sleepDuration; _progress = ((diag_tickTime - _startTime) / _duration) min 1; _label ctrlSetText format["%1%2", round (_progress * 100), "%"]; }; _errorMessage = ""; if !(_conditionFunction isEqualTo "") then { _errorMessage = _parameters call (missionNameSpace getVariable [_conditionFunction,{}]); }; if !(_errorMessage isEqualTo "") exitWith { ["ErrorTitleAndText", ["Whoops!", _errorMessage]] call ExileClient_gui_toaster_addTemplateToast; throw 2; }; throw 0; } catch { _function = ""; _progressBarColor = []; switch (_exception) do { case 0: { _function = getText (_actionConfig >> "completedFunction"); _progressBarColor = [0.7, 0.93, 0, 1]; }; case 2: { _function = getText (_actionConfig >> "abortedFunction"); _progressBarColor = [0.82, 0.82, 0.82, 1]; }; case 1: { _function = getText (_actionConfig >> "failedFunction"); _progressBarColor = [0.91, 0, 0, 1]; }; }; _progressBar ctrlSetBackgroundColor _progressBarColor; if !(_function isEqualTo "") then { _parameters call (missionNameSpace getVariable [_function,{}]); }; if !(_animation isEqualTo "") then { player switchMove ""; ["switchMoveRequest", [netId player, ""]] call ExileClient_system_network_send; }; _progressBar ctrlSetPosition _progressBarMaxSize; _progressBar ctrlCommit 0; }; ("ExileActionProgressLayer" call BIS_fnc_rscLayer) cutFadeOut 2; (findDisplay 46) displayRemoveEventHandler ["KeyDown", _keyDownHandle]; (findDisplay 46) displayRemoveEventHandler ["MouseButtonDown", _mouseButtonDownHandle]; ExileClientActionDelayShown = false; ExileClientActionDelayAbort = false; Share this post Link to post Share on other sites
NeverAgain 81 Report post Posted March 11, 2017 5 minutes ago, Crazy Mike said: u dont if its anything like placing explosives which it is I need % chance to hotwire vehicles. Share this post Link to post Share on other sites
NeverAgain 81 Report post Posted March 11, 2017 21 minutes ago, Crazy Mike said: thats near the top then They do not help me, please thanks Share this post Link to post Share on other sites
JakeHekesFists 58 Report post Posted July 9, 2017 (edited) On 3/12/2017 at 2:48 AM, NeverAgain said: Please how to change hotwire chance? First, you want to override ExileClient_action_execute.sqf // _actionConfig = configFile >> "CfgExileDelayedActions" >> _actionName; // <-- this is the line we need to change _actionConfig = missionConfigFile >> "CfgExileDelayedActions" >> _actionName; // <-- replace it with this next copy this into your config.cpp in the mission file class CfgExileDelayedActions { class Abstract { duration=10; abortInCombatMode=1; durationFunction=""; animation=""; animationType="switchMove"; failChance=0; conditionFunction=""; completedFunction=""; abortedFunction=""; failedFunction=""; }; class RepairVehicle: Abstract { duration=37; animation="Exile_Acts_RepairVehicle01_Animation01"; conditionFunction="ExileClient_action_repairVehicle_condition"; completedFunction="ExileClient_action_repairVehicle_completed"; }; class HotwireVehicle: Abstract { duration="3 * 60"; failChance=50; animation="Exile_Acts_RepairVehicle01_Animation01"; conditionFunction="ExileClient_action_hotwireVehicle_condition"; completedFunction="ExileClient_action_hotwireVehicle_completed"; failedFunction="ExileClient_action_hotwireVehicle_failed"; }; class StealFlag: Abstract { duration=60; abortInCombatMode=0; durationFunction="ExileClient_action_stealFlag_duration"; animation="Exile_Acts_RepairVehicle01_Animation01"; conditionFunction="ExileClient_action_stealFlag_condition"; completedFunction="ExileClient_action_stealFlag_completed"; }; class HideBody: Abstract { duration=10; animation="Exile_Shovel_Dig01"; conditionFunction="ExileClient_action_HideBody_condition"; completedFunction="ExileClient_action_HideBody_completed"; }; class PlantChargeWood: Abstract { duration="3 * 60"; abortInCombatMode=0; animation="Exile_Acts_RepairVehicle01_Animation01"; conditionFunction="ExileClient_action_breaching_condition"; completedFunction="ExileClient_action_breaching_completed"; failedFunction="ExileClient_action_breaching_failed"; abortedFunction="ExileClient_action_breaching_aborted"; }; class PlantChargeMetal: PlantChargeWood { duration="5 * 60"; }; class PlantChargeConcrete: PlantChargeWood { duration="7 * 60"; }; class RepairConstruction: Abstract { animation="Exile_Acts_RepairVehicle01_Animation01"; durationFunction="ExileClient_action_repairConstruction_duration"; conditionFunction="ExileClient_action_repairConstruction_condition"; completedFunction="ExileClient_action_repairConstruction_completed"; }; class GutAnimal: Abstract { duration=10; animationType="playMoveNow"; animation="AinvPknlMstpSnonWnonDr_medic5"; conditionFunction="ExileClient_action_GutAnimal_condition"; completedFunction="ExileClient_action_GutAnimal_completed"; }; }; then edit the bit that says fail chance = 50; class HotwireVehicle: Abstract { duration="3 * 60"; failChance=50; // Change this line to whatever you want animation="Exile_Acts_RepairVehicle01_Animation01"; conditionFunction="ExileClient_action_hotwireVehicle_condition"; completedFunction="ExileClient_action_hotwireVehicle_completed"; failedFunction="ExileClient_action_hotwireVehicle_failed"; }; you can of course then edit anything you want from the actions, such as how long it takes to place charges, fail chance of hotwiring. everything! have fun. Edited July 9, 2017 by JakeHekesFists typo 2 Share this post Link to post Share on other sites