📄 Modifications Scripts
The-Programmer - Toutes les modifications de fichiers existants (52 produits)
📄 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_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_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_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_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
- 📄 fn_useItem.sqf
- 🔑 fn_keyHandler.sqf
- 🌟 fn_actionKeyHandler.sqf
- 🚗 fn_spawnVehicle.sqf
- 🚗 fn_getVehicles.sqf
- 🚗 fn_impoundMenu.sqf
- 🚗 fn_garageLBChange.sqf
- 🎲 fn_buyLicense.sqf
- 🏠 fn_buyHouse.sqf
- 🏠 fn_sellHouse.sqf
- 💰 fn_virt_sell.sqf
- 💾 fn_queryRequest.sqf
- 🚫 fn_clientDisconnect.sqf
- 🔄 functions.sqf (server)
- 🔒 fn_lockpick.sqf
- 🔒 fn_boltcutter.sqf
- 📦 fn_inventoryClosed.sqf
- 📦 fn_inventoryOpened.sqf
- 📦 fn_openInventory.sqf
- 🏠 fn_houseMenu.sqf
- 🚑 fn_requestMedic.sqf
- 🔨 fn_setupEVH.sqf
- 🚗 fn_vehicleShopBuy.sqf
- 🚗 fn_vInteractionMenu.sqf
- 🚗 fn_storeVehicle.sqf
- 🚗 fn_vehicleStore.sqf
- 🎵 fn_say3D.sqf
- 🔄 client.fsm
- 💳 fn_atmMenu.sqf
- 🔄 fn_onPlayerRespawn.sqf
- 🔒 CfgRemoteExec.hpp