Jump to content

El' Rabito

Member
  • Content Count

    177
  • Joined

  • Last visited

  • Medals

Everything posted by El' Rabito

  1. El' Rabito

    Base Camera sorting

    Well it says whats wrong. "ERROR: Override of ExileClient_gui_baseCamera_event_onLoad in CfgExileCustomCode points to a non-existent file: Custom\ExileClient_gui_baseCamera_event_onLoad .sqf . Defaulting to vanilla Exile code!"
  2. Then try again and be sure that you put it in the exile.ini for extdb3 and not in the the one for extdb2.
  3. The error says you didn't add them.
  4. Works for me and others, you must have a error/problem somewhere.
  5. It's worth the effort ^^
  6. What it does: The amount of the territory protection is affected by the number of members in the territory. Installation: Make two customcode overrides. ExileClient_gui_payTerritoryProtectionMoneyDialog_event_onTerritoryDropDownSelectionChanged.sqf /** * ExileClient_gui_payTerritoryProtectionMoneyDialog_event_onTerritoryDropDownSelectionChanged * * Exile Mod * www.exilemod.com * © 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["_display", "_territoryDropDown", "_index", "_flagObject", "_radius", "_level", "_objectsInTerritory", "_ETBR", "_ETTPC", "_popTabAmountPerObject", "_totalPopTabAmount","_totalPopTabAmountD", "_costControl", "_payButton", "_playerMoney"]; disableSerialization; _display = uiNameSpace getVariable ["RscExilePayTerritoryProtectionMoneyDialog", displayNull]; _territoryDropDown = _this select 0; _index = _this select 1; _flagObject = objectFromNetId (_territoryDropDown lbData _index); _radius = _flagObject getVariable ["ExileTerritorySize", 15]; _level = _flagObject getVariable ["ExileTerritoryLevel", 1]; _popTabAmountPerObject = getNumber (missionConfigFile >> "CfgTerritories" >> "popTabAmountPerObject"); _objectsInTerritory = _flagObject getVariable ["ExileTerritoryNumberOfConstructions", 0]; _ETBR = _flagObject getVariable ["ExileTerritoryBuildRights", []]; _ETTPC = count (_ETBR); _case = {}; if (_ETTPC == 4) then {_case = 1}; if (_ETTPC == 5) then {_case = 2}; if (_ETTPC == 6) then {_case = 3}; if (_ETTPC == 7) then {_case = 4}; if (_ETTPC == 8) then {_case = 5}; if (_ETTPC == 9) then {_case = 6}; if (_ETTPC == 10) then {_case = 7}; if (_ETTPC == 11) then {_case = 8}; if (_ETTPC == 12) then {_case = 9}; if (_ETTPC == 13) then {_case = 10}; if (_ETTPC == 14) then {_case = 11}; if (_ETTPC == 15) then {_case = 12}; if (_ETTPC >= 16) then {_case = 13}; switch (_case) do { default {_totalPopTabAmount = _level * _popTabAmountPerObject * _objectsInTerritory;}; case 1: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 2.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; case 2: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 3.00; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; case 3: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 3.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; case 4: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 4.00; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; case 5: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 4.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; case 6: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 5.00; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; case 7: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 6.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; case 8: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 7.00; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; case 9: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 7.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; case 10: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 8.00; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; case 11: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 8.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; case 12: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 9.00; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; case 13: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 9.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; }; _costControl = _display displayCtrl 4000; _costControl ctrlSetStructuredText (parseText format["<t size='1.4'>%1<img image='\exile_assets\texture\ui\poptab_inline_ca.paa' size='1' shadow='true' /></t>", _totalPopTabAmount]); _payButton = _display displayCtrl 4002; _playerMoney = player getVariable ["ExileMoney", 0]; if (_playerMoney >= _totalPopTabAmount) then { _payButton ctrlEnable true; _costControl ctrlSetTextColor [1, 1, 1, 1]; } else { _payButton ctrlEnable false; _costControl ctrlSetTextColor [0.91, 0, 0, 1]; }; ExileServer_system_territory_network_payTerritoryProtectionMoneyRequest.sqf /** * ExileServer_system_territory_network_payTerritoryProtectionMoneyRequest * * Exile Mod * www.exilemod.com * © 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/. * 64Bit Conversion File Header (Extdb3) - Validatior */ private["_sessionID","_parameters","_flagNetID","_playerObject","_flagObject","_flagStolen","_territoryDatabaseID","_radius","_level","_objectsInTerritory","_popTabAmountPerObject","_totalPopTabAmount","_totalPopTabAmountD", "_ETBR", "_ETTPC", "_playerPopTabs","_currentTimestamp","_logging","_territoryLog"]; _sessionID = _this select 0; _parameters = _this select 1; _flagNetID = _parameters select 0; try { _playerObject = _sessionID call ExileServer_system_session_getPlayerObject; if (isNull _playerObject) then { throw "Invalid player object"; }; _flagObject = objectFromNetId _flagNetID; if (isNull _flagObject) then { throw "Invalid flag object"; }; _flagStolen = _flagObject getVariable ["ExileFlagStolen", 0]; if (_flagStolen isEqualTo 1) then { throw "Flag stolen!"; }; _territoryDatabaseID = _flagObject getVariable ["ExileDatabaseID", 0]; _radius = _flagObject getVariable ["ExileTerritorySize", 15]; _level = _flagObject getVariable ["ExileTerritoryLevel", 1]; _objectsInTerritory = _flagObject getVariable ["ExileTerritoryNumberOfConstructions", 0]; _popTabAmountPerObject = getNumber (missionConfigFile >> "CfgTerritories" >> "popTabAmountPerObject"); _ETBR = _flagObject getVariable ["ExileTerritoryBuildRights", []]; _ETTPC = count (_ETBR); _case = {}; if (_ETTPC == 4) then {_case = 1}; if (_ETTPC == 5) then {_case = 2}; if (_ETTPC == 6) then {_case = 3}; if (_ETTPC == 7) then {_case = 4}; if (_ETTPC == 8) then {_case = 5}; if (_ETTPC == 9) then {_case = 6}; if (_ETTPC == 10) then {_case = 7}; if (_ETTPC == 11) then {_case = 8}; if (_ETTPC == 12) then {_case = 9}; if (_ETTPC == 13) then {_case = 10}; if (_ETTPC == 14) then {_case = 11}; if (_ETTPC == 15) then {_case = 12}; if (_ETTPC >= 16) then {_case = 13}; switch (_case) do { default {_totalPopTabAmount = _level * _popTabAmountPerObject * _objectsInTerritory;}; //45.000 (250 objects lvl 10 / config popTabAmountPerObject = 18;) //Poptabs //Players case 1: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 2.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 112.000 //>=4 case 2: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 3.00; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 135.000 //5 case 3: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 3.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 157.500 //6 case 4: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 4.00; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 180.000 //7 case 5: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 4.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 202.500 //8 case 6: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 5.00; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 225.000 //9 case 7: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 6.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 292.500 //10 case 8: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 7.00; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 315.000 //11 case 9: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 7.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 337.000 //12 case 10: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 8.00; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 360.000 //13 case 11: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 8.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 382.500 //14 case 12: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 9.00; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 405.000 //15 case 13: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 9.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 427.500 //>16 }; _playerPopTabs = _playerObject getVariable ["ExileMoney", 0]; if (_playerPopTabs < _totalPopTabAmount) then { throw "You do not have enough pop tabs!"; }; _playerPopTabs = _playerPopTabs - _totalPopTabAmount; _playerObject setVariable ["ExileMoney", _playerPopTabs, true]; format["setPlayerMoney:%1:%2", _playerPopTabs, _playerObject getVariable ["ExileDatabaseID", 0]] call ExileServer_system_database_query_fireAndForget; _currentTimestamp = call ExileServer_util_time_currentTime; _flagObject setVariable ["ExileTerritoryLastPayed", _currentTimestamp]; _flagObject call ExileServer_system_territory_maintenance_recalculateDueDate; format["maintainTerritory:%1", _territoryDatabaseID] call ExileServer_system_database_query_fireAndForget; [_sessionID, "toastRequest", ["SuccessTitleOnly", ["Protection money paid!"]]] call ExileServer_system_network_send_to; _logging = getNumber(configFile >> "CfgSettings" >> "Logging" >> "territoryLogging"); if (_logging isEqualTo 1) then { _territoryLog = format ["PLAYER ( %1 ) %2 PAID %3 POP TABS TO PROTECT TERRITORY #%4 | PLAYER TOTAL POP TABS: %5",getPlayerUID _playerObject,_playerObject,_totalPopTabAmount,_territoryDatabaseID,_playerPopTabs]; "extDB3" callExtension format["1:TERRITORY:%1",_territoryLog]; }; _flagObject call ExileServer_system_xm8_sendProtectionMoneyPaid; } catch { [_sessionID, "toastRequest", ["ErrorTitleAndText", ["Failed to pay!", _exception]]] call ExileServer_system_network_send_to; _exception call ExileServer_util_log; }; Like you see below a territory with less than 4 players is not affected by the multiplier. (default case). But with 4 members in your territory you pay 45.000 * 2.50 (Lvl 10 base max objects) = 112.000 poptabs. default {_totalPopTabAmount = _level * _popTabAmountPerObject * _objectsInTerritory;}; //45.000 (250 objects lvl 10 / config popTabAmountPerObject = 18;) //Poptabs //Players case 1: {_totalPopTabAmountD = _level * _popTabAmountPerObject * _objectsInTerritory * 2.50; _totalPopTabAmount = [_totalPopTabAmountD, 0] call BIS_fnc_cutDecimals;}; // 112.000 //>4 Adjust the multipliers to your likings but remember to change them in both files!
  7. Updated. Removed some unnecessary code....
  8. https://github.com/aussie-battler/CBA-ASDG-JR-Exile-Trader-Compatibility
  9. Problem: For example: If you had set the config of the Sloth Machine (class CfgSlothMachine) to more generous values it is very easy to make easy/fast gains as player with the default Exile code just by spamming the Sloth Machine. What it does: Disables the possibility to spam the "Sloth Machine" spin button. 1. Add to initplayerlocal.sqf IsplayingSlothMachine = false; 2. Create two CfgExileCustomCode overrides for the following. ExileClient_gui_xm8_slide_slothMachine_event_onSpinButtonClick.sqf /** * ExileClient_gui_xm8_slide_slothMachine_event_onSpinButtonClick * * Exile Mod * www.exilemod.com * © 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/. */ if (IsplayingSlothMachine) exitWith { ["ErrorTitleAndText",["Sloth Machine", "You are already playing!"]] call ExileClient_gui_toaster_addTemplateToast; }; ["slothMachineRequest"] call ExileClient_system_network_send; IsplayingSlothMachine = true; ExileClient_system_slothMachine_network_slothMachineResponse.sqf /** * ExileClient_system_slothMachine_network_slothMachineResponse * * Exile Mod * www.exilemod.com * © 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["_prizeName", "_winnings", "_moneyChange", "_symbols", "_winningsString", "_moneyChangeString", "_dialog", "_startButton", "_backButton", "_winningsLabel", "_gameText1", "_gameText2", "_gameText3", "_displays", "_control", "_image", "_position"]; _prizeName = _this select 0; _winnings = _this select 1; _moneyChange = _this select 2; _symbols = _this select 3; [_prizeName, _winnings,_moneyChange,_symbols] spawn { disableSerialization; _prizeName = _this select 0; _winnings = _this select 1; _moneyChange = _this select 2; _symbols = _this select 3; _winningsString = _winnings call ExileClient_util_string_exponentToString; _moneyChangeString = _moneyChange call ExileClient_util_string_exponentToString; _dialog = uiNameSpace getVariable ["RscExileXM8", displayNull]; _startButton = _dialog displayCtrl 4141; _startButton ctrlEnable false; _backButton = _dialog displayCtrl 4148; _backButton ctrlEnable false; _winningsLabel = _dialog displayCtrl 4144; _gameText1 = _dialog displayCtrl 4145; _gameText2 = _dialog displayCtrl 4146; _gameText3 = _dialog displayCtrl 4147; _displays = [_gameText1,_gameText2,_gameText3]; { playSound format["SndExileTwinkleTwisterCharge0%1", _forEachIndex + 1]; uiSleep 4.5; playSound format["SndExileTwinkleTwisterChargeDone0%1", _forEachIndex + 1]; _control = (_displays select _forEachIndex); _image = _x; _control ctrlSetText _image; _position = ((ctrlPosition _control) select 0); _control ctrlSetPosition [ _position, safezoneH + (safezoneY - 1.2) ]; _control ctrlSetFade 0; _control ctrlShow true; _control ctrlCommit 3; uiSleep 3; } forEach _symbols; if (_prizeName isEqualTo "") then { playSound "SndExileTwinkleTwisterFail"; _winningsLabel ctrlSetStructuredText (parseText format ["<t align='center' color='#e14141'>%1</t>",_winningsString]); ["ErrorTitleAndText", ["You lose!", format ["%1<img image='\exile_assets\texture\ui\poptab_inline_ca.paa' size='24'/>", _moneyChangeString]]] call ExileClient_gui_toaster_addTemplateToast; IsplayingSlothMachine = false; } else { if (_prizeName isEqualTo "Jackpot") then { playSound "SndExileTwinkleTwisterSuccess"; _winningsLabel ctrlSetStructuredText (parseText format ["<t align='center' color='#e14141'>%1<img image='\exile_assets\texture\ui\poptab_inline_ca.paa' size='1' shadow='true' /></t>",_winningsString]); ["SuccessTitleAndText", ["Jackpot!", format ["+%1<img image='\exile_assets\texture\ui\poptab_inline_ca.paa' size='24'/>", _moneyChangeString]]] call ExileClient_gui_toaster_addTemplateToast; IsplayingSlothMachine = false; } else { playSound "SndExileTwinkleTwisterSuccess"; _winningsLabel ctrlSetStructuredText (parseText format ["<t align='center' color='#e14141'>%1<img image='\exile_assets\texture\ui\poptab_inline_ca.paa' size='1' shadow='true' /></t>",_winningsString]); ["SuccessTitleAndText", ["Small prize!", format ["+%1<img image='\exile_assets\texture\ui\poptab_inline_ca.paa' size='24'/>", _moneyChangeString]]] call ExileClient_gui_toaster_addTemplateToast; IsplayingSlothMachine = false; }; }; uiSleep 5; call ExileClient_gui_xm8_slide_slothMachine_reset; }; true
  10. I guess everyone knows the bug where you pickup vests/backpacks/weapons and your primary weapon loses magazines sometimes. (They just disapear). Does anybody ever found a reason for that or maybe even a fix ? I always said *#arma but some players are really annoyed by it. How is your experience as admins and players with this bug ? Do you know it ? GIF of it happening: https://gyazo.com/18f902af3a44e62b1f731b70ae0000d7
  11. El' Rabito

    Disappearing Magazines

    Here you can see it, just manged to catch it. https://gyazo.com/18f902af3a44e62b1f731b70ae0000d7
  12. El' Rabito

    Disappearing Magazines

    For an survival server to often yea. Mostly while looting
  13. El' Rabito

    Disappearing Magazines

    Do you use infistar ? And if so do you have fix_uniform_and_vest = "true"; in your EXILE_AHAT_CONFIG.hpp ?
  14. El' Rabito

    Stupid Question

    Edit i forgot something 😅
  15. El' Rabito

    Stupid Question

    #include "delayed_actions.hpp" Add the above to the mission config.cpp And then add the following into the delayed_actions.hpp class CfgExileDelayedActions { class Abstract { duration=10; abortInCombatMode=1; durationFunction=""; animation=""; animationType="switchMove"; failChance=0; conditionFunction=""; completedFunction=""; abortedFunction=""; failedFunction=""; repeatingCheckFunction=""; }; class RepairVehicle: Abstract { duration=37; animation="Exile_Acts_RepairVehicle01_Animation01"; conditionFunction="ExileClient_action_repairVehicle_condition"; completedFunction="ExileClient_action_repairVehicle_completed"; }; class HotwireVehicle: Abstract { duration="4 * 60"; failChance=40; 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 HackLock: Abstract { animationType = "switchMove"; animation = "Acts_TerminalOpen"; abortInCombatMode = 0; failChanceFunction = "ExileClient_action_hackLock_failChance"; durationFunction = "ExileClient_action_hackLock_duration"; conditionFunction = "ExileClient_action_hackLock_condition"; completedFunction = "ExileClient_action_hackLock_completed"; failedFunction = "ExileClient_action_hackLock_failed"; abortedFunction = "ExileClient_action_hackLock_aborted"; }; class GrindLock: Abstract { animationType = "switchMove"; animation = "Acts_TerminalOpen"; abortInCombatMode = 0; failChanceFunction = "ExileClient_action_grindLock_failChance"; durationFunction = "ExileClient_action_grindLock_duration"; conditionFunction = "ExileClient_action_grindLock_condition"; completedFunction = "ExileClient_action_grindLock_completed"; failedFunction = "ExileClient_action_grindLock_failed"; abortedFunction = "ExileClient_action_grindLock_aborted"; }; 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="Acts_TerminalOpen"; conditionFunction="ExileClient_action_breaching_condition"; completedFunction="ExileClient_action_breaching_completed"; failedFunction="ExileClient_action_breaching_failed"; abortedFunction="ExileClient_action_breaching_aborted"; }; class PlantChargeMetal: PlantChargeWood { duration="4 * 60"; animation="Acts_TerminalOpen"; }; class PlantChargeConcrete: PlantChargeWood { duration="5 * 60"; animation="Acts_TerminalOpen"; }; 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=25; animationType="playMoveNow"; animation="AinvPknlMstpSnonWnonDr_medic5"; conditionFunction="ExileClient_action_GutAnimal_condition"; completedFunction="ExileClient_action_GutAnimal_completed"; }; }; Create an override for ExileClient_action_execute and change the line with _actionConfig and add the line with _missionConfig _missionConfig = missionConfigFile >> "CfgExileDelayedActions" >> _actionName; _actionConfig = if (isClass _missionConfig) then {_missionConfig} else {configFile >> "CfgExileDelayedActions" >> _actionName};
  16. Well then its my mistake, must have read over this part of the rules. Thanks for pointing it out
  17. Since my post got deleted i ask again ? Is there any news about the progress on katya and maybe an ETA ?
  18. El' Rabito

    Crafting items not working

    Your rpt is full of errors that shouldnt be there..... 19:28:19 Warning Message: No entry 'bin\config.bin/CfgVehicles/Exile_Construction_WoodDrawBridge_Abstract.scope'. 19:28:19 Warning Message: '/' is not a value 19:28:19 Warning Message: No entry 'bin\config.bin/CfgVehicles/Exile_Construction_WoodDrawBridge_Abstract.model'. 19:28:19 Warning Message: '/' is not a value 19:28:19 Warning Message: No entry 'bin\config.bin/CfgVehicles/Exile_Construction_WoodDrawBridge_Abstract.simulation'. 19:28:19 Warning Message: '/' is not a value 19:28:19 Warning Message: No entry 'bin\config.bin/CfgVehicles/Exile_Construction_WoodDrawBridge_Abstract.accuracy'. 19:28:19 Warning Message: '/' is not a value 19:28:19 Warning Message: No entry 'bin\config.bin/CfgVehicles/Exile_Construction_WoodDrawBridge_Abstract.camouflage'. 19:28:19 Warning Message: '/' is not a value 19:28:19 Warning Message: No entry 'bin\config.bin/CfgVehicles/Exile_Construction_WoodDrawBridge_Abstract.audible'. 19:28:19 Warning Message: '/' is not a value 19:28:19 Warning Message: No entry 'bin\config.bin/CfgVehicles/Exile_Construction_WoodDrawBridge_Abstract.displayName'. That's most likely the reason for your problems. Start with a vanilla exile server, test it, add mod by mod and test again after every mod......
  19. El' Rabito

    Base Camera sorting

    Well it's nothing i just changed 😅 _cameras = ExileCameraSystemBase nearObjects ["Exile_Construction_BaseCamera_Static",_range]; to _cameras = nearestObjects [ExileCameraSystemBase, ["Exile_Construction_BaseCamera_Static"], _range]; https://community.bistudio.com/wiki/nearObjects https://community.bistudio.com/wiki/nearestObjects
  20. https://github.com/CoftSock/exile-tree-stay-down Might use this then.
  21. El' Rabito

    DMS - Defent's Mission System

    @OdinCZ He already wrote how you can do it for individual missions......
  22. Small tweak that adds the possibility to blacklist magazines that spawn with weapons. Instructions in the codebox below. // 1. Add this to mission config.cpp class CfgExileLootSettings /** * Shows the classname of magazines spawned with a weapon in the server .rpt (0 = disabled / 1 = enabled) */ MagSpawnDebug = 0; /** * Weapon magazine spawn blacklist (CASE SENSITIVE! Enable MagSpawnDebug to check for the propper classnames. */ MagazineSpawnBlacklist[] = { "rhsusf_5Rnd_HE", "rhsusf_5Rnd_FRAG", "rhsusf_8Rnd_HE", "rhsusf_8Rnd_FRAG", "rhsusf_5rnd_doomsday_buck", "rhsusf_8rnd_doomsday_buck", "rhs_mag_rsp30_red", "rhs_mag_rsp30_green", "rhs_mag_rsp30_white" }; // 2. Make an override for ExileServer_system_lootManager_spawnLootInBuilding.sqf and replace the "case 2" part. case 2: { _lootHolder addWeaponCargoGlobal [_itemClassName, 1]; if !(_itemClassName isKindOf ["Exile_Melee_Abstract", configFile >> "CfgWeapons"]) then { _magazineClassNames = getArray(configFile >> "CfgWeapons" >> _itemClassName >> "magazines"); if (count(_magazineClassNames) > 0) then { _blackList = getArray(missionConfigFile >> "CfgExileLootSettings" >> "MagazineSpawnBlacklist"); _MagSpawnDebug = getNumber(missionConfigFile >> "CfgExileLootSettings" >> "MagSpawnDebug"); { if ( _x in _blackList ) then { _magazineClassNames set [ _forEachIndex, -1 ]; }; }forEach _magazineClassNames; _magazineClassNames = _magazineClassNames - [ -1 ]; if (_MagSpawnDebug == 1) then { diag_log format ["MagSpawnDebug: %1", _magazineClassNames]; }; _magazineClassName = selectRandom _magazineClassNames; _numberOfMagazines = 2 + floor(random 2); _lootHolder addMagazineCargoGlobal [_magazineClassName, _numberOfMagazines]; _spawnedItemClassNames pushBack _magazineClassName; }; }; _numberOfItemsToSpawn = -1; }; Support Me: www.buymeacoffee.com/ElRabito
  23. With this small tweak lockable safes/containers count torwards the total base object count. No more bases with 100+ safes 🙂 Make a CfgCustomCode override for ExileServer_system_territory_updateNumberOfConstructions.sqf /** * ExileServer_system_territory_updateNumberOfConstructions * * Exile Mod * www.exilemod.com * © 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["_flag", "_territoryRange", "_numberOfConstructions","_numberOfConstructionsO","_numberOfConstructionsS"]; _flag = _this; _territoryRange = _flag getVariable ["ExileTerritorySize", 0]; _numberOfConstructionsO = count (_flag nearObjects ["Exile_Construction_Abstract_Static", _territoryRange]); _numberOfConstructionsS = count (_flag nearObjects ["Exile_Container_Abstract_Safe", _territoryRange]); _numberOfConstructions = _numberOfConstructionsO + _numberOfConstructionsS; _flag setVariable ["ExileTerritoryNumberOfConstructions", _numberOfConstructions, true];
  24. El' Rabito

    Wear what you want

    Ok thank you for testing, really weird. I try to find a way to exclude TRYK uniforms in your script 😬
×