📄 Modifications Scripts

The-Programmer - Toutes les modifications de fichiers existants (52 produits)

📋 Progression 0 / 31 etapes

📋 Table des matieres

📄 fn_useItem.sqf

Mission/core/pmenu/fn_useItem.sqf

🛈 Instructions : Trouvez la ligne ci-dessous et ajoutez TOUTES les lignes en dessous
private _item = CONTROL_DATA(2005);
// The-Programmer - Tous les produits #include "..\..\The-Programmer\AdvancedHacking\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\Advanced_Insurance\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\CarPainter\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\Craft\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\EffetsEcran\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\Laboratory\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\Lockers\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\MoneyPrinter\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\Plants\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\Restrain\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\Scratch_Ticket\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\SpeedCam\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\Speedometer\scripts\useItemSelect.sqf" #include "..\..\The-Programmer\JobSystem\scripts\useItemSelect.sqf"

Iphone XI - Modification supplementaire

🛈 Pour Iphone XI : Trouvez aussi [] call life_fnc_p_updateMenu; (2 fois) et remplacez par :
[] call the_programmer_iphone_xi_fnc_apps_inventory;

🔑 fn_keyHandler.sqf

Mission/core/functions/fn_keyHandler.sqf

Iphone XI

[] call life_fnc_p_openMenu;
[1] spawn the_programmer_iphone_xi_fnc_phone_init;

Dynamic Market (Bourse)

🛈 Instructions : Ajoutez dans le switch des touches
case 62: {["theprogrammer_fnc_bourseGetBufferData"] spawn theprogrammer_fnc_bourseSendData;};

MoneyPrinter

🛈 Instructions : Ajoutez cette verification pour les interactions avec les imprimantes
if (!(isNull life_container_activeObj) && {life_container_activeObj getVariable ["MP", false]}) exitWith { [_code] call tp_moneyprinter_tpfn_printerKeyHandler; };

FurnitureSystem

🛈 Instructions : Remplacez la gestion des meubles existante par
[_code] call tp_furnituresystem_fnc_furnitureKeyHandler;

🌟 fn_actionKeyHandler.sqf

Mission/core/functions/fn_actionKeyHandler.sqf

Plants

#include "..\..\The-Programmer\Plants\scripts\actionKeyHandlerPlants.sqf"

MoneyPrinter

if ([_curObject] call tp_moneyprinter_tpfn_printerCheck) exitWith { [_curObject] call tp_moneyprinter_tpfn_printerInteractionMenu; };

FurnitureSystem

🛈 Instructions : Remplacez la verification des containers par
if ([_curObject, -1] call tp_furnituresystem_fnc_furnitureCheckMenu) exitWith { [] call tp_furnituresystem_fnc_furnitureOpenInteractionMenu; };

🚗 fn_spawnVehicle.sqf

life_server/Functions/Systems/fn_spawnVehicle.sqf

CarPainter

🛈 Instructions : Ajoutez cette ligne a la FIN du fichier
[_vid,_pid,_vehicle,_unit] remoteExec ["the_programmer_carpainter_fnc_carPainter_spawnVehicleColor",2];

AdvancedHacking

[_vehicle] call life_fnc_clearVehicleAmmo;
[_vehicle, _vid] spawn advanced_hacking_tpfn_SecurityCarInit;

KeyTransfer

🛈 Instructions : Ajoutez a la fin du fichier
[_vehicle] call max_keytransfer_fnc_fetchGivenKeys;

Advanced Insurance

[1,_spawntext] remoteExecCall ["life_fnc_broadcast",_unit];
[_vid,_pid,_vehicle,_unit] spawn advanced_insurance_fnc_getInsureCar;

CarPainter - Suppression (si pas Vehicle Shop)

⚠ Si vous n'avez PAS Vehicle Shop : Supprimez cette ligne
[_vehicle,(_vInfo select 8)] remoteExecCall ["life_fnc_colorVehicle",_unit];

🚗 fn_getVehicles.sqf

life_server/Functions/Systems/fn_getVehicles.sqf

CarPainter (sans Vehicle Shop)

⚠ Si vous avez Vehicle Shop : Passez cette section
_query = format ["SELECT id, side, classname, type, pid, alive, active, plate, color FROM vehicles WHERE pid='%1' AND alive='1' AND active='0' AND side='%2' AND type='%3'",_pid,_side,_type];
_query = format ["SELECT id, side, classname, type, pid, alive, active, plate, color, custom_color FROM vehicles WHERE pid='%1' AND alive='1' AND active='0' AND side='%2' AND type='%3'",_pid,_side,_type];

Advanced Insurance

🛈 Instructions : Ajoutez les colonnes d'assurance a la requete SELECT
, insurance, CONCAT('""',expiration_date,'""'), DATEDIFF (expiration_date, CURRENT_TIMESTAMP)

🚗 fn_impoundMenu.sqf

Mission/dialog/function/fn_impoundMenu.sqf

CarPainter (sans Vehicle Shop)

⚠ Si vous avez Vehicle Shop : Passez cette section
_tmp = [(_x select 2),(_x select 8)];
_tmp = [(_x select 2),(_x select 8),(_x select 9)];

Advanced Insurance

_tmp = [(_x select 2),(_x select 8)];
_tmp = [(_x select 2),(_x select 8),(_x select 9),(call compile (_x select 10)),(_x select 11)];

🚗 fn_garageLBChange.sqf

Mission/dialog/function/fn_garageLBChange.sqf

CarPainter (sans Vehicle Shop)

⚠ Si vous avez Vehicle Shop : Passez cette section
_vehicleColor = ((M_CONFIG(getArray,"LifeCfgVehicles",_classNameLife,"textures") select (_dataArr select 1)) select 0); if (isNil "_vehicleColor") then {_vehicleColor = "Default";};
_colorData = ([_className,(_dataArr select 1),(_dataArr select 2)] call the_programmer_carpainter_fnc_carPainter_get_color); _colorType = _colorData select 0; _vehicleColor = _colorData select 1;
🛈 Ensuite : Trouvez aussi cette ligne et remplacez-la
" +(localize "STR_Shop_Veh_UI_Color")+ " %8<br/>
" + _colorType + " %8<br/>

Advanced Insurance

🛈 Instructions : Ajoutez au-dessus de la ligne du prix de vente
" + ([(_dataArr select 2),(_dataArr select 3),(_dataArr select 4)] call advanced_insurance_fnc_insuranceStatus) + "

🎲 fn_buyLicense.sqf

Mission/core/actions/fn_buyLicense.sqf

PermisPoints

🛈 Instructions : Ajoutez cette ligne a la FIN du fichier
[_type] call max_permisPoints_fnc_permisLicenseCheck;

🏠 fn_buyHouse.sqf

Mission/core/housing/fn_buyHouse.sqf

Property Center

🛈 Instructions : Ajoutez ce code en HAUT du fichier
if ((getNumber (missionConfigFile >> "The_Programmer_Property_Center" >> "buy_house_only_with_property_center")) isEqualTo 1) exitWith { hint (["STR_USE_PROPERTY","The_Programmer_Property_Center","Property_Center_Localization"] call theprogrammer_core_fnc_localize); };

🏠 fn_sellHouse.sqf

Mission/core/housing/fn_sellHouse.sqf

Property Center

closeDialog 0;
if ((getNumber (missionConfigFile >> "The_Programmer_Property_Center" >> "sell_house_only_with_property_center")) isEqualTo 1) exitWith { hint (["STR_USE_PROPERTY_SELL","The_Programmer_Property_Center","Property_Center_Localization"] call theprogrammer_core_fnc_localize); };

KeyTransfer

closeDialog 0;
// KeyTransfer - Verification du proprietaire if (!([_house] call max_keytransfer_fnc_checkOwner)) exitWith {}; [_house] call max_keytransfer_fnc_ownerSellHouse;

FurnitureSystem

🛈 Instructions : Remplacez le nettoyage des containers par
[_house] call tp_furnituresystem_fnc_furnitureSellHouse;

💰 fn_virt_sell.sqf

Mission/core/shops/fn_virt_sell.sqf

Dynamic Market (Bourse)

🛈 Instructions : Remplacez l'attribution du prix et ajoutez le suivi des ventes
// Dynamic Market - Mise a jour des prix [_type, _amount] call theprogrammer_fnc_bourseSoldItems;

Gouvernement

🛈 Instructions : Ajoutez a la fin du fichier pour les taxes
if ((M_CONFIG(getNumber,"VirtualItems",_type,"illegal")) isEqualTo 0) then { [_price,1] spawn max_gouvernement_fnc_gouvernementTaxe; };

💾 fn_queryRequest.sqf

life_server/Functions/MySQL/fn_queryRequest.sqf

Advanced Phone

[] remoteExec ["max_phone_fnc_resetContact",(owner _returnToSender)];

MoneyPrinter

_houseData = _uid spawn TON_fnc_fetchPlayerHouses;
_houseData = _uid spawn tp_moneyprinter_tpfn_printerFetchPlayerHouses;

FurnitureSystem

_houseData = _uid spawn TON_fnc_fetchPlayerHouses;
_houseData = _uid spawn tp_furnituresystem_fnc_furnitureFetchHouses;

KeyTransfer

_houseData = _uid spawn TON_fnc_fetchPlayerHouses;
_houseData = _uid spawn max_keytransfer_fnc_fetchPlayerHouses;

🚫 fn_clientDisconnect.sqf

life_server/Functions/Systems/fn_clientDisconnect.sqf

MoneyPrinter

[_uid] spawn tp_moneyprinter_tpfn_printerCleanup;

FurnitureSystem

[_uid] spawn TON_fnc_houseCleanup;
[_uid] spawn tp_furnituresystem_fnc_furnitureCleanup;

KeyTransfer

[_uid] spawn TON_fnc_houseCleanup;
[_uid] spawn max_keytransfer_fnc_houseCleanContainers;

🔄 functions.sqf (life_server)

life_server/functions.sqf

Iphone XI (sans Phone Number/Advanced Phone)

⚠ Si vous avez Phone Number ou Advanced Phone : Passez cette section
_type = _this select 2;
if ((_type != 2) && (_type != 3) && (_type != 4) && (profileNamespace getVariable ["TP_IphoneXI_PlaneMode",false])) exitWith {};

Dispatch - Appels Police

🛈 Instructions : Dans la fonction d'appel police
maxence_waiting_cop_calls pushBack [(name player),(position player),_msg,servertime,"", player,0]; publicVariable "maxence_waiting_cop_calls";

Dispatch - Appels Medecins

maxence_waiting_med_calls pushBack [(name player),(position player),_msg,servertime,"", player,0]; publicVariable "maxence_waiting_med_calls";

🔒 fn_lockpick.sqf

Mission/core/items/fn_lockpick.sqf

Advanced Insurance

🛈 Instructions : Ajoutez apres le message d'echec du crochetage
[] call advanced_insurance_fnc_carAlarm;

AdvancedHacking - Optionnel

⚠ Optionnel : Pour bloquer l'utilisation des lockpick sur les vehicules
_isVehicle = if ((_curTarget isKindOf "LandVehicle") || (_curTarget isKindOf "Ship") || (_curTarget isKindOf "Air")) then {true} else {false};
if (_isVehicle) exitWith {};

🔒 fn_boltcutter.sqf

Mission/core/items/fn_boltcutter.sqf

AdvancedHacking - Optionnel

⚠ Optionnel : Pour bloquer l'utilisation des outils de serrurier sur les maisons
_building = param [0,objNull,[objNull]];
if ((_building getVariable ["house_id", -1]) isNotEqualTo -1) exitWith {};

📦 fn_inventoryClosed.sqf

Mission/core/functions/fn_inventoryClosed.sqf

FurnitureSystem

🛈 Instructions : Remplacez la verification et mise a jour des containers par
if ([_container, -1] call tp_furnituresystem_fnc_furnitureCheckMenu) exitWith { [_container] call tp_furnituresystem_fnc_furnitureInventoryClosed; };

📦 fn_inventoryOpened.sqf

Mission/core/functions/fn_inventoryOpened.sqf

FurnitureSystem

🛈 Instructions : Remplacez la verification du type de container par
[_container] call tp_furnituresystem_fnc_furnitureInventoryOpened;

📦 fn_openInventory.sqf

Mission/core/vehicle/fn_openInventory.sqf

FurnitureSystem - Partie 1

🛈 Instructions : Modifiez la verification du vehicule pour inclure les meubles

FurnitureSystem - Partie 2

if (_vehicle isKindOf "Box_IND_Grenades_F"...
if ([_vehicle, -1] call tp_furnituresystem_fnc_furnitureCheckMenu) exitWith {...

FurnitureSystem - Partie 3

🛈 Instructions : Remplacez la mise a jour du coffre de maison par
[_this] call tp_furnituresystem_fnc_furnitureOpenInventory;

🏠 fn_houseMenu.sqf

Mission/core/housing/fn_houseMenu.sqf

FurnitureSystem

🛈 Instructions : Remplacez la section garage par
[_curTarget] call tp_furnituresystem_fnc_furnitureHouseMenu;

🚑 fn_requestMedic.sqf

Mission/core/medical/fn_requestMedic.sqf

AdvancedIdentity

player setVariable ["The_Programmer_Identity_Init",false]; [player] remoteExec ["the_programmer_identity_tpfn_IdentityRequestCard",2];

Dispatch (sans ACE3)

🛈 Instructions : Remplacez les appels existants par
[2] spawn max_callsmanage_fnc_deathMessage;
[1] spawn max_callsmanage_fnc_deathMessage;

🔨 fn_setupEVH.sqf

Mission/core/fn_setupEVH.sqf

Dispatch (avec ACE3)

⚠ Uniquement si vous utilisez ACE3
["ace_unconscious", {_this spawn max_callsmanage_fnc_requestMedic}] call CBA_fnc_addEventHandler;

🚗 fn_vehicleShopBuy.sqf

Mission/core/shops/fn_vehicleShopBuy.sqf

KeyTransfer

🛈 Instructions : Ajoutez a la fin du fichier
_vehicle setVariable ["vehicle_has_keys",[(getPlayerUID player)],true];

🚗 fn_vInteractionMenu.sqf

Mission/core/vehicle/fn_vInteractionMenu.sqf

Advanced Insurance (sans Radial Menu)

⚠ Si vous n'utilisez PAS Radial Menu
_Btn2 ctrlSetText "Verifier l'assurance"; _Btn2 buttonSetAction "[life_vInact_curTarget] spawn advanced_insurance_fnc_checkInsurance; closeDialog 0;";

🚗 fn_storeVehicle.sqf

Mission/core/actions/fn_storeVehicle.sqf

KeyTransfer

🛈 Instructions : Remplacez la verification du proprietaire du vehicule par
_vehOwner = _x getVariable ["ownerId",""];
_vehOwners = _x getVariable ["vehicle_has_keys",[]];

🚗 fn_vehicleStore.sqf (Server)

life_server/Functions/Systems/fn_vehicleStore.sqf

KeyTransfer

if !(_uid isEqualTo getPlayerUID _unit) exitWith {
if !(_uid in (_vehicle getVariable ["vehicle_has_keys",[]])) exitWith {

🎵 fn_say3D.sqf

Mission/core/functions/network/fn_say3D.sqf

Advanced Phone

🛈 Instructions : Remplacez la lecture du son par
_object say3D [_sound,_distance,_pitch];
_soundObject = _object say3D [_sound,_distance,_pitch]; [_object, _soundObject] call max_phone_fnc_handleSound;

🔄 client.fsm

Mission/core/fsm/client.fsm

Gouvernement

🛈 Instructions : Ajoutez apres le paycheck (salaire)
"[(call life_paycheck),2] spawn max_gouvernement_fnc_gouvernementTaxe;"\n

💳 fn_atmMenu.sqf

Mission/core/shops/fn_atmMenu.sqf

RobATM (sans Banking System)

⚠ Si vous n'avez PAS Banking System
🛈 Instructions : Ajoutez les verifications ATM et les appels de braquage
// RobATM - Verification des classnames ATM et appel braquage if (_atmClass in the_programmer_robatm_atm_classnames) then { [_atm] call the_programmer_robatm_tpfn_checkRobbery; };

🔄 fn_onPlayerRespawn.sqf

Mission/core/medical/fn_onPlayerRespawn.sqf

AdvancedIdentity

player setVariable ["The_Programmer_Identity_Init",false]; [player] remoteExec ["the_programmer_identity_tpfn_IdentityRequestCard",2];

RobATM

[] spawn the_programmer_robatm_tpfn_initRobAtm;

🔒 CfgRemoteExec.hpp

Mission/CfgRemoteExec.hpp

FurnitureSystem

🛈 Instructions : Ajoutez dans la section des fonctions autorisees
F(lockInventory,ANYONE)

📋 Resume des fichiers modifies

✅ Total : 31 fichiers a modifier pour l'installation complete des 52 produits The-Programmer
✅ Progression sauvegardee !