So ausgebessert
Beiträge von AmaZiinG
-
-
Muss dass in Der Datenbank Eingetragen werden ? Quellcode
[*]ALTER TABLE `vehicles` ADD `insure` INT(1) NOT NULL DEFAULT '0';Mfg Likeaboss
Oh fail werde es ändern
-
ersetzt die Zeile:
Codeif ((_vInfo select 14) isEqualTo 1) then { [1,"Votre véhicule est disponible et il est assuré!"] remoteExecCall ["life_fnc_broadcast",_unit]; }else{ [1,"Votre véhicule est disponible mais il n'est pas assuré!"] remoteExecCall ["life_fnc_broadcast",_unit]; }; serv_sv_use deleteAt _servIndex;
Sucht:
ersetzt die Zeile durch:
Sucht:
ersetzt die Zeile durch:Codeif ((_vInfo select 14) isEqualTo 1) then { [1,"Votre véhicule est disponible et il est assuré!"] remoteExecCall ["life_fnc_broadcast",_unit]; }else{ [1,"Votre véhicule est disponible mais il n'est pas assuré!"] remoteExecCall ["life_fnc_broadcast",_unit]; }; serv_sv_use deleteAt _servIndex;
5. life_server\FSM\cleanup.fsm ersetzt alles !:
Code
Alles anzeigen/*%FSM<COMPILE "D:\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, Server-Side Cleanup">*/ /*%FSM<HEAD>*/ /* item0[] = {"init",0,250,-65.004578,-391.651611,24.995417,-341.651672,0.000000,"init"}; item1[] = {"true",8,218,-62.976639,-315.185364,27.023363,-265.185364,0.000000,"true"}; item2[] = {"Share__Work_load",2,250,-64.183350,-224.681931,25.816656,-174.681931,0.000000,"Share " \n "Work-load"}; item3[] = {"true",8,218,-54.709698,75.189262,35.290302,125.189262,0.000000,"true"}; item4[] = {"Time_Check",4,218,-219.425827,-133.310532,-129.425964,-83.310455,0.000000,"Time Check"}; item5[] = {"Delete_Dead_Cars",2,4346,-220.186951,-29.248400,-130.187195,20.751413,0.000000,"Delete" \n "Dead" \n "Cars"}; item6[] = {"",7,210,-312.538239,95.295059,-304.538239,103.295059,0.000000,""}; item7[] = {"",7,210,-311.750000,-203.033707,-303.750000,-195.033707,0.000000,""}; link0[] = {0,1}; link1[] = {1,2}; link2[] = {2,4}; link3[] = {3,6}; link4[] = {4,5}; link5[] = {5,3}; link6[] = {6,7}; link7[] = {7,2}; globals[] = {0.000000,0,0,0,0,640,480,1,46,6316128,1,-629.444153,611.207214,293.309357,-434.050568,1243,885,1}; window[] = {2,-1,-1,-1,-1,985,225,1868,225,3,1261}; *//*%FSM</HEAD>*/ class FSM { fsmName = "Server-Side Cleanup"; class States { /*%FSM<STATE "init">*/ class init { name = "init"; init = /*%FSM<STATEINIT""">*/"private[""_impound"",""_cars"",""_objs"",""_totCars"",""_thread""];" \n "_impound = time;" \n "_cars = time;" \n "_objs = time;"/*%FSM</STATEINIT""">*/; precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/; class Links { /*%FSM<LINK "true">*/ class true { priority = 0.000000; to="Share__Work_load"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ }; }; /*%FSM</STATE>*/ /*%FSM<STATE "Share__Work_load">*/ class Share__Work_load { name = "Share__Work_load"; init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/; precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/; class Links { /*%FSM<LINK "Time_Check">*/ class Time_Check { priority = 0.000000; to="Delete_Dead_Cars"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"((time - _cars) > (3 * 60))"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ }; }; /*%FSM</STATE>*/ /*%FSM<STATE "Delete_Dead_Cars">*/ class Delete_Dead_Cars { name = "Delete_Dead_Cars"; init = /*%FSM<STATEINIT""">*/"{" \n " if(!alive _x) then {" \n " _dbInfo = _x getVariable[""dbInfo"",[]];" \n " if(count _dbInfo > 0) then {" \n " _uid = _dbInfo select 0;" \n " _plate = _dbInfo select 1;" \n " _insureSystem = _dbInfo select 2;" \n " diag_log "" destroy vehicule !"";" \n " diag_log format[""insureSystem = %1 "", _insureSystem];" \n " if(_insureSystem == 1) then " \n " { " \n " diag_log "" Assurer !"";" \n " diag_log format[""insureSystem = %1 "", _insureSystem];" \n " _query_0 = format[""UPDATE vehicles SET alive='1', insure='0', active='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate]; " \n " _query_0 spawn " \n " {" \n " waitUntil {!DB_Async_Active};" \n " _thread_0 = [_this,1] call DB_fnc_asyncCall;" \n " };" \n " } " \n " else " \n " { " \n " diag_log "" Pas Assurer !"";" \n " diag_log format[""insureSystem = %1 "", _insureSystem];" \n " _query = format[""UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate]; " \n " _query spawn " \n " {" \n " waitUntil {!DB_Async_Active};" \n " _thread = [_this,1] call DB_fnc_asyncCall;" \n " }; " \n " }; " \n " };" \n " if(!isNil ""_x"" && {!isNull _x}) then {" \n " deleteVehicle _x;" \n " };" \n " };" \n "} foreach allMissionObjects ""LandVehicle"";" \n "" \n "{" \n " if(!alive _x) then {" \n " _dbInfo = _x getVariable[""dbInfo"",[]];" \n " if(count _dbInfo > 0) then {" \n " _uid = _dbInfo select 0;" \n " _plate = _dbInfo select 1;" \n " _insureSystem = _dbInfo select 2;" \n " diag_log "" destroy vehicule !"";" \n " diag_log format[""insureSystem = %1 "", _insureSystem];" \n " if(_insureSystem == 1) then " \n " { " \n " diag_log "" Assurer !"";" \n " diag_log format[""insureSystem = %1 "", _insureSystem];" \n " _query_0 = format[""UPDATE vehicles SET alive='1', insure='0', active='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate]; " \n " _query_0 spawn " \n " {" \n " waitUntil {!DB_Async_Active};" \n " _thread_0 = [_this,1] call DB_fnc_asyncCall;" \n " };" \n " } " \n " else " \n " { " \n " diag_log "" Pas Assurer !"";" \n " diag_log format[""insureSystem = %1 "", _insureSystem];" \n " _query = format[""UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate]; " \n " _query spawn " \n " {" \n " waitUntil {!DB_Async_Active};" \n " _thread = [_this,1] call DB_fnc_asyncCall;" \n " }; " \n " }; " \n " };" \n " if(!isNil ""_x"" && {!isNull _x}) then {" \n " deleteVehicle _x;" \n " };" \n " };" \n "} foreach allMissionObjects ""Air"";" \n "" \n "_cars = time;" \n "" \n "//Group cleanup." \n "{" \n " if(count units _x == 0 && local _x) then {" \n " deleteGroup _x;" \n " };" \n "} foreach allGroups;"/*%FSM</STATEINIT""">*/; precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/; class Links { /*%FSM<LINK "true">*/ class true { priority = 0.000000; to="Share__Work_load"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ }; }; /*%FSM</STATE>*/ }; initState="init"; finalStates[] = { }; }; /*%FSM</COMPILE>*/
6. life_hc\FSM\cleanup.fsm ersetzt alles !
Code
Alles anzeigen/*%FSM<COMPILE "D:\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, Server-Side Cleanup">*/ /*%FSM<HEAD>*/ /* item0[] = {"init",0,250,-65.004578,-391.651611,24.995417,-341.651672,0.000000,"init"}; item1[] = {"true",8,218,-62.976639,-315.185364,27.023363,-265.185364,0.000000,"true"}; item2[] = {"Share__Work_load",2,250,-64.183350,-224.681931,25.816656,-174.681931,0.000000,"Share " \n "Work-load"}; item3[] = {"true",8,218,-54.709698,75.189262,35.290302,125.189262,0.000000,"true"}; item4[] = {"Time_Check",4,218,-219.425827,-133.310532,-129.425964,-83.310455,0.000000,"Time Check"}; item5[] = {"Delete_Dead_Cars",2,4346,-220.186951,-29.248400,-130.187195,20.751413,0.000000,"Delete" \n "Dead" \n "Cars"}; item6[] = {"",7,210,-312.538239,95.295059,-304.538239,103.295059,0.000000,""}; item7[] = {"",7,210,-311.750000,-203.033707,-303.750000,-195.033707,0.000000,""}; link0[] = {0,1}; link1[] = {1,2}; link2[] = {2,4}; link3[] = {3,6}; link4[] = {4,5}; link5[] = {5,3}; link6[] = {6,7}; link7[] = {7,2}; globals[] = {0.000000,0,0,0,0,640,480,1,46,6316128,1,-629.444153,611.207214,293.309357,-434.050568,1243,885,1}; window[] = {2,-1,-1,-1,-1,985,225,1868,225,3,1261}; *//*%FSM</HEAD>*/ class FSM { fsmName = "Server-Side Cleanup"; class States { /*%FSM<STATE "init">*/ class init { name = "init"; init = /*%FSM<STATEINIT""">*/"private[""_impound"",""_cars"",""_objs"",""_totCars"",""_thread""];" \n "_impound = time;" \n "_cars = time;" \n "_objs = time;"/*%FSM</STATEINIT""">*/; precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/; class Links { /*%FSM<LINK "true">*/ class true { priority = 0.000000; to="Share__Work_load"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ }; }; /*%FSM</STATE>*/ /*%FSM<STATE "Share__Work_load">*/ class Share__Work_load { name = "Share__Work_load"; init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/; precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/; class Links { /*%FSM<LINK "Time_Check">*/ class Time_Check { priority = 0.000000; to="Delete_Dead_Cars"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"((time - _cars) > (3 * 60))"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ }; }; /*%FSM</STATE>*/ /*%FSM<STATE "Delete_Dead_Cars">*/ class Delete_Dead_Cars { name = "Delete_Dead_Cars"; init = /*%FSM<STATEINIT""">*/"{" \n " if(!alive _x) then {" \n " _dbInfo = _x getVariable[""dbInfo"",[]];" \n " if(count _dbInfo > 0) then {" \n " _uid = _dbInfo select 0;" \n " _plate = _dbInfo select 1;" \n " _insureSystem = _dbInfo select 2;" \n " diag_log "" destroy vehicule !"";" \n " diag_log format[""insureSystem = %1 "", _insureSystem];" \n " if(_insureSystem == 1) then " \n " { " \n " diag_log "" Assurer !"";" \n " diag_log format[""insureSystem = %1 "", _insureSystem];" \n " _query_0 = format[""UPDATE vehicles SET alive='1', insure='0', active='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate]; " \n " _query_0 spawn " \n " {" \n " _thread_0 = [_this,1] call HC_fnc_asyncCall;" \n " };" \n " } " \n " else " \n " { " \n " diag_log "" Pas Assurer !"";" \n " diag_log format[""insureSystem = %1 "", _insureSystem];" \n " _query = format[""UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate]; " \n " _query spawn " \n " {" \n " _thread = [_this,1] call HC_fnc_asyncCall;" \n " }; " \n " }; " \n " };" \n " if(!isNil ""_x"" && {!isNull _x}) then {" \n " deleteVehicle _x;" \n " };" \n " };" \n "} foreach allMissionObjects ""LandVehicle"";" \n "" \n "{" \n " if(!alive _x) then {" \n " _dbInfo = _x getVariable[""dbInfo"",[]];" \n " if(count _dbInfo > 0) then {" \n " _uid = _dbInfo select 0;" \n " _plate = _dbInfo select 1;" \n " _insureSystem = _dbInfo select 2;" \n " diag_log "" destroy vehicule !"";" \n " diag_log format[""insureSystem = %1 "", _insureSystem];" \n " if(_insureSystem == 1) then " \n " { " \n " diag_log "" Assurer !"";" \n " diag_log format[""insureSystem = %1 "", _insureSystem];" \n " _query_0 = format[""UPDATE vehicles SET alive='1', insure='0', active='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate]; " \n " _query_0 spawn " \n " {" \n " _thread_0 = [_this,1] call HC_fnc_asyncCall;" \n " };" \n " } " \n " else " \n " { " \n " diag_log "" Pas Assurer !"";" \n " diag_log format[""insureSystem = %1 "", _insureSystem];" \n " _query = format[""UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate]; " \n " _query spawn " \n " {" \n " _thread = [_this,1] call HC_fnc_asyncCall;" \n " }; " \n " }; " \n " };" \n " if(!isNil ""_x"" && {!isNull _x}) then {" \n " deleteVehicle _x;" \n " };" \n " };" \n "} foreach allMissionObjects ""Air"";" \n "" \n "_cars = time;" \n "" \n "//Group cleanup." \n "{" \n " if(count units _x == 0 && local _x) then {" \n " deleteGroup _x;" \n " };" \n "} foreach allGroups;"/*%FSM</STATEINIT""">*/; precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/; class Links { /*%FSM<LINK "true">*/ class true { priority = 0.000000; to="Share__Work_load"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ }; }; /*%FSM</STATE>*/ }; initState="init"; finalStates[] = { }; }; /*%FSM</COMPILE>*/
7. life_server\functions\Systems\fn_getVehicles.sqf sucht nach:
Code_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];
und ersetzt es durch:
Code_query = format["SELECT id, side, classname, type, pid, alive, active, plate, color, insure FROM vehicles WHERE pid='%1' AND alive='1' AND active='0' AND side='%2' AND type='%3'",_pid,_side,_type];
8. life_hc\MySQL\Vehicles\fn_getVehicles.sqf
sucht nach:
Code_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];
ersetzt es durch:
Code_query = format["SELECT id, side, classname, type, pid, alive, active, plate, color, insure FROM vehicles WHERE pid='%1' AND alive='1' AND active='0' AND side='%2' AND type='%3'",_pid,_side,_type];
9. Fügt das in eure Datenbank ein:
10. Ladet den Versichernungs Ordner herunter und fügt die Dateien entsprechend ein.
-
8. mpmission/stringtable.xml sucht:
Code
Alles anzeigen<Key ID="STR_pInAct_SellGarage"> <Original>Sell Garage</Original> <Czech>Navrhujeme Garáž</Czech> <Spanish>Vender Garaje</Spanish> <Russian></Russian> <German>Garage verkaufen</German> <French>Vendre le garage</French> <Italian>Vendi Garage</Italian> <Portuguese>Vender Garagem</Portuguese> <Polish>Sprzedaj garaż</Polish> </Key>
und schreibt darunter:
Code
Alles anzeigen<Key ID="STR_InsuranceApply"> <Original>You just insure your vehicle you are now protected against explosions!</Original> <Czech>Právě jste pojistit své vozidlo se nyní chráněna proti výbuchu!</Czech> <Spanish>Usted acaba de asegurar su vehículo que ahora está protegido contra explosiones!</Spanish> <Italian>Basta assicurare il vostro veicolo si sono ora protetti contro le esplosioni!</Italian> <Polish>Po prostu ubezpieczyć swój pojazd jesteś teraz zabezpieczona przed wybuchem!</Polish> <Russian>Вы просто застраховать свой автомобиль, вы теперь защищены от взрывов!</Russian> <French>Vous venez d'assurer votre véhicule vous êtes maintenant protégé contre les explosions!</French> <Portuguese>Você só segurar o seu veículo que você está actualmente protegida contra explosões!</Portuguese> <German>Sie versichern nur Ihr Fahrzeug, das Sie jetzt vor Explosionen geschützt sind!</German> </Key>
9. Ladet euch die fn_insureCar.sqf herunter und legt sie in den \dialog\function Ordner-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Live_Server:
1. life_server\config.cpp:Code
Alles anzeigenclass TON_System { tag = "TON"; class Systems { file = "\life_server\Functions\Systems"; class managesc {}; class cleanup {}; class huntingZone {}; class getID {}; class vehicleCreate {}; class spawnVehicle {}; class getVehicles {}; class vehicleStore {}; class vehicleDelete {}; class spikeStrip {}; class transferOwnership {}; class federalUpdate {}; class chopShopSell {}; class clientDisconnect {}; class cleanupRequest {}; class setObjVar {}; class keyManagement {}; class vehicleUpdate {}; class recupkeyforHC {}; class handleBlastingCharge {}; class insureCar {}; // Einfügen !!!!!!!!!!!! };
2. life_hc\config.cpp:
Code
Alles anzeigenclass Vehicles { file = "\life_hc\MySQL\Vehicles"; class chopShopSell {}; class getVehicles {}; class spawnVehicle {}; class keyManagement {}; class vehicleStore {}; class vehicleCreate {}; class vehicleDelete {}; class vehicleUpdate {}; class insureCar {}; // EINFÜGEN !!!!!!!!!!!! };
3. life_server\Functions\Systems\fn_spawnVehicle.sqf sucht nach:
Code_query = format["SELECT id, side, classname, type, pid, alive, active, plate, color, inventory, gear, fuel, damage, blacklist FROM vehicles WHERE id='%1' AND pid='%2'",_vid,_pid];
ersetzt die Zeile durch:
Code_query = format["SELECT id, side, classname, type, pid, alive, active, plate, color, inventory, gear, fuel, damage, blacklist, insure FROM vehicles WHERE id='%1' AND pid='%2'",_vid,_pid];
Sucht nach:
ersetzt die Zeile durch:
Sucht nach:
ersetzt die Zeile durch:
Codeif ((_vInfo select 14) isEqualTo 1) then { [1,"Votre véhicule est disponible et il est assuré!"] remoteExecCall ["life_fnc_broadcast",_unit]; }else{ [1,"Votre véhicule est disponible mais il n'est pas assuré!"] remoteExecCall ["life_fnc_broadcast",_unit]; }; serv_sv_use deleteAt _servIndex;
4. life_hc\MySQL\Vehicles\fn_spawnVehicle.sqf sucht nach:
-
Autor: Che Guevara
1. mpmissions\dialog\impound.hpp und sucht nach:Codeclass SellCar: Life_RscButtonMenu { idc = -1; text = "$STR_Global_Sell"; onButtonClick = "[] call life_fnc_sellGarage; closeDialog 0;"; x = 0.26 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.9 - (1 / 25); w = (6.25 / 40); h = (1 / 25); };
unter der Zeile fügt ihr folgendes hinzu:
Codeclass InsureCar : life_RscButtonMenu { idc = 97480; text = "Assurer"; onButtonClick = "[] call life_fnc_insureCar;"; x = 0.43 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.9 - (1 / 25); w = (6.25 / 40); h = (1 / 25); };
2. mpmissions\Functions.hpp unter Class Dialog_Controls schreibt ihr folgendes hinzu:
Spoiler anzeigen
insureCar {};
3. mpmissions\dialog\function\fn_garageLBChange.sqf sucht nach:
Codeprivate["_control","_index","_className","_classNameLife","_dataArr","_vehicleColor","_vehicleInfo","_trunkSpace","_sellPrice","_retrievePrice","_sellMultiplier","_price","_storageFee","_purchasePrice"];
und ersetzt die Zeile:
Codeprivate["_control","_index","_className","_classNameLife","_dataArr","_vehicleColor","_vehicleInfo","_trunkSpace","_sellPrice","_retrievePrice","_sellMultiplier","_insurance","_insuranceMultiplier","_price","_storageFee","_purchasePrice","_insurancePrice"];
In der folgenden Datei sucht ihr nach:
Spoiler anzeigen
_classNameLife = _className;
und schreibt darunter:Spoiler anzeigen
_insurance = (_dataArr select 2);
Sucht nach:
Code
Alles anzeigenswitch (playerSide) do { case civilian: { _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_CIVILIAN"); _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_CIVILIAN"); }; case west: { _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_COP"); _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_COP"); }; case independent: { _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_MEDIC"); _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_MEDIC"); }; case east: { _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_OPFOR"); _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_OPFOR"); }; };
und ersetztet:
Code
Alles anzeigenswitch (playerSide) do { case civilian: { _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_CIVILIAN"); _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_CIVILIAN"); _insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_CIVILIAN"); }; case west: { _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_COP"); _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_COP"); _insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_COP"); }; case independent: { _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_MEDIC"); _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_MEDIC"); _insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_MEDIC"); }; case east: { _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_OPFOR"); _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_OPFOR"); _insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_OPFOR"); }; };
Sucht nach:
Spoiler anzeigen
_sellPrice = _purchasePrice * _sellMultiplier;
und schreibt darunter:Spoiler anzeigen
_insurancePrice = _purchasePrice * _insuranceMultiplier;
Sucht nach:
Spoiler anzeigen
if (!(_retrievePrice isEqualType 0)
_retrievePrice < 1) then {_retrievePrice = 500;};
und schreibt darunter:Spoiler anzeigen
if (!(_insurancePrice isEqualType 0)
_insurancePrice < 1) then {_insurancePrice = 500;};
Sucht nach:
Code(CONTROL(2800,2803)) ctrlSetStructuredText parseText format[ (localize "STR_Shop_Veh_UI_RetrievalP")+ " <t color='#8cff9b'>$%1</t><br/> " +(localize "STR_Shop_Veh_UI_SellP")+ " <t color='#8cff9b'>$%2</t><br/> " +(localize "STR_Shop_Veh_UI_Color")+ " %8<br/> " +(localize "STR_Shop_Veh_UI_MaxSpeed")+ " %3 km/h<br/> " +(localize "STR_Shop_Veh_UI_HPower")+ " %4<br/> " +(localize "STR_Shop_Veh_UI_PSeats")+ " %5<br/> " +(localize "STR_Shop_Veh_UI_Trunk")+ " %6<br/> " +(localize "STR_Shop_Veh_UI_Fuel")+ " %7 ",
und ersetzt es durch das:
Code
Alles anzeigen(CONTROL(2800,2803)) ctrlSetStructuredText parseText format[ (localize "STR_Shop_Veh_UI_RetrievalP")+ " <t color='#8cff9b'>$%1</t><br/> " +(localize "STR_Shop_Veh_UI_SellP")+ " <t color='#8cff9b'>$%2</t><br/> Prix de l'assurance: <t color='#8cff9b'>$%9</t><br/> Etat de l'assurance: %10<br/> " +(localize "STR_Shop_Veh_UI_Color")+ " <t color='#8cff9b'>%8</t><br/> " +(localize "STR_Shop_Veh_UI_MaxSpeed")+ " <t color='#8cff9b'>%3 km/h</t><br/> " +(localize "STR_Shop_Veh_UI_HPower")+ " <t color='#8cff9b'>%4</t><br/> " +(localize "STR_Shop_Veh_UI_PSeats")+ " <t color='#8cff9b'>%5</t><br/> " +(localize "STR_Shop_Veh_UI_Trunk")+ " <t color='#8cff9b'>%6</t><br/> " +(localize "STR_Shop_Veh_UI_Fuel")+ " <t color='#8cff9b'>%7</t> ",
Sucht nach:
Spoiler anzeigen
_vehicleColor];
und ersetzt:Code
Alles anzeigen_vehicleColor, [_insurancePrice] call life_fnc_numberText, if(_insurance == 1) then {"<t color='#8cff9b'>Assuré</t>"} else {"<t color='#FF0000'>Pas d'assurance</t>"}, (_vehicleInfo select 9) ]; if(_insurance == 1) then { ctrlShow [97480,False]; }else{ ctrlShow [97480,True]; };
So müsste jetzt eure fn_garageLBChange.sqf aussehen:
Code
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_garageLBChange.sqf Author: Bryan "Tonic" Boardwine Description: Can't be bothered to answer it.. Already deleted it by accident.. */ disableSerialization; private["_control","_index","_className","_classNameLife","_dataArr","_vehicleColor","_vehicleInfo","_trunkSpace","_sellPrice","_retrievePrice","_sellMultiplier","_insuranceMultiplier","_price","_storageFee","_purchasePrice","_insurancePrice"]; _control = _this select 0; _index = _this select 1; //Fetch some information. _dataArr = CONTROL_DATAI(_control,_index); _dataArr = call compile format["%1",_dataArr]; _className = (_dataArr select 0); _classNameLife = _className; _insurance = (_dataArr select 2); if (!isClass (missionConfigFile >> "LifeCfgVehicles" >> _classNameLife)) then { _classNameLife = "Default"; //Use Default class if it doesn't exist diag_log format["%1: LifeCfgVehicles class doesn't exist",_className]; }; _vehicleColor = ((M_CONFIG(getArray,"LifeCfgVehicles",_classNameLife,"textures") select (_dataArr select 1)) select 0); if (isNil "_vehicleColor") then {_vehicleColor = "Default";}; _vehicleInfo = [_className] call life_fnc_fetchVehInfo; _trunkSpace = [_className] call life_fnc_vehicleWeightCfg; _price = M_CONFIG(getNumber,"LifeCfgVehicles",_classNameLife,"price"); _storageFee = LIFE_SETTINGS(getNumber,"vehicle_storage_fee_multiplier"); switch (playerSide) do { case civilian: { _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_CIVILIAN"); _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_CIVILIAN"); _insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_CIVILIAN"); }; case west: { _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_COP"); _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_COP"); _insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_COP"); }; case independent: { _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_MEDIC"); _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_MEDIC"); _insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_MEDIC"); }; case east: { _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_OPFOR"); _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_OPFOR"); _insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_OPFOR"); }; }; _retrievePrice = _purchasePrice * _storageFee; _sellPrice = _purchasePrice * _sellMultiplier; _insurancePrice = _purchasePrice * _insuranceMultiplier; if (!(_sellPrice isEqualType 0) || _sellPrice < 1) then {_sellPrice = 500;}; if (!(_retrievePrice isEqualType 0) || _retrievePrice < 1) then {_retrievePrice = 500;}; if (!(_insurancePrice isEqualType 0) || _insurancePrice < 1) then {_insurancePrice = 500;}; (CONTROL(2800,2803)) ctrlSetStructuredText parseText format[ (localize "STR_Shop_Veh_UI_RetrievalP")+ " <t color='#8cff9b'>$%1</t><br/> " +(localize "STR_Shop_Veh_UI_SellP")+ " <t color='#8cff9b'>$%2</t><br/> Prix de l'assurance: <t color='#8cff9b'>$%9</t><br/> Etat de l'assurance: %10<br/> " +(localize "STR_Shop_Veh_UI_Color")+ " <t color='#8cff9b'>%8</t><br/> " +(localize "STR_Shop_Veh_UI_MaxSpeed")+ " <t color='#8cff9b'>%3 km/h</t><br/> " +(localize "STR_Shop_Veh_UI_HPower")+ " <t color='#8cff9b'>%4</t><br/> " +(localize "STR_Shop_Veh_UI_PSeats")+ " <t color='#8cff9b'>%5</t><br/> " +(localize "STR_Shop_Veh_UI_Trunk")+ " <t color='#8cff9b'>%6</t><br/> " +(localize "STR_Shop_Veh_UI_Fuel")+ " <t color='#8cff9b'>%7</t> ", [_retrievePrice] call life_fnc_numberText, [_sellPrice] call life_fnc_numberText, (_vehicleInfo select 8), (_vehicleInfo select 11), (_vehicleInfo select 10), if (_trunkSpace isEqualTo -1) then {"None"} else {_trunkSpace}, (_vehicleInfo select 12), _vehicleColor, [_insurancePrice] call life_fnc_numberText, if(_insurance == 1) then {"<t color='#8cff9b'>Assuré</t>"} else {"<t color='#FF0000'>Pas d'assurance</t>"}, (_vehicleInfo select 9) ]; if(_insurance == 1) then { ctrlShow [97480,False]; }else{ ctrlShow [97480,True]; }; ctrlShow [2803,true]; ctrlShow [2830,true];
4. mpmissions\dialog\function\fn_impoundMenu.sqf such nach:
und ersetzt es durch:
5. mpmission\CfgRemoteExec.hpp.
Sucht nach:
und schreibt darunter:
Sucht nach:
und schreibt darunter:
7. mpmissions\config\Config_Master.hpp fügt nach:
Spoiler anzeigen
vehicle_sell_multiplier_OPFOR = -1; // -- NOT IN USE -- Simply left in for east support.
das ein:
Code/* Vehicle Insurance Prices */ vehicle_insurance_multiplier_CIVILIAN = .25; //Civilian Vehicle Insurance Price = Vehicle Buy Price * multiplier vehicle_insurance_multiplier_COP = .1; //Cop Vehicle Insurance Price = Vehicle Buy Price * multiplier vehicle_insurance_multiplier_MEDIC = .1; //Medic Vehicle Insurance Price = Vehicle Buy Price * multiplier vehicle_insurance_multiplier_OPFOR = -1; // -- NOT IN USE -- Simply left in for east support.
-
Guten Tag Liebe Community Ich habe Versuch dass Script Fahrzeug Versicherung Rein zu machen von der 4.4(alt) aber es funktioniert bei mir nicht wenn ich ein auto kaufe wird es nicht mehr in der datenbank gespeicheichert und auch von ich auf den knopf versichern drücke parkt er es ach nicht aus
Hab da sogar die ganzen Dateien für die R3. Kann mal ein TUT machen, wenn du willst.
Mfg
AmaZiinG
-
@AmaZiinG japp... habe es so gemacht wie es dort steht.... bei mir stehen nur wirre zahlen, ohne Icons und alles
Hast du den Statusbar Ordner herunter geladen ?
-
Das Tutorial sollte noch einmal überarbeitet werden! So wie es hier erklärt es funktioniert es nicht!
Hast du es schon getestet ? ich habe es nämlich getestet und es funktioniert !
-
https://native-network.net/thread/3235-ta…ions-auf-tanoa/ hier gibt/gab es Probleme beim einfügen.
Deine Variante funktioniert auch, aber sobald man beispielsweise eine Altis Tankstelle auf [lexicon]Tanoa[/lexicon] setzt, ist dies nicht mehr der Fall, da du Land_fs_feed_F entfernt hast.
Außerdem wird bei meiner Erweiterung noch ein Code mitgeliefert, mit dem man selbst die Positionen herausfinden kann und so z.B. auch zusätzlich gesetzte Tankstellen zum System einbinden kann.
Okay
-
Da es Probleme mit dem Tutorial gab verbessere ich dieses jetzt:
1. mpmissions\core\fn_Setup_Station_Service.sqf
Code_pumpClass1 = "Land_FuelStation_01_pump_F"; _pumpClass2 = "Land_FuelStation_02_pump_F"; { _pump = (nearestObject [_x, _pumpClass1]); _pump setFuelCargo 0; _pump addAction [localize "STR_Action_Pump", life_fnc_FuelStatOpen, 1, 3, true, true, "", ' _this distance _target < 5 && cursorTarget == _target ']; _pump2 = (nearestObject [_x, _pumpClass2]); _pump2 setFuelCargo 0; _pump2 addAction [localize "STR_Action_Pump", life_fnc_FuelStatOpen, 1, 3, true, true, "", ' _this distance _target < 5 && cursorTarget == _target ']; } forEach _NiiRoZz_Station_Essence;
durch
Code{ _pump = nearestObject _x; _pump setFuelCargo 0; _pump addAction [localize "STR_Action_Pump", life_fnc_fuelStatOpen, 1, 3, true, true, "", 'cursorObject isEqualTo _target', 5]; } forEach _NiiRoZz_Station_Essence;
ersetzen.
2. mpmissions\core\shops\fn_FuelStatOpen.sqf:
_fuelstations = nearestobjects [player, ["Land_FuelStation_01_pump_F","Land_FuelStation_02_pump_F"],10];
zu
_fuelstations = nearestObjects [player, ["Land_fs_feed_F","Land_FuelStation_Feed_F","Land_FuelStation_01_pump_F","Land_FuelStation_02_pump_F"],10];
ändern.
Um das ganze auf anderen Maps anzuwenden kann man folgenden Befehl in der Debugkonsole ausführen und danach hat man alle Tankstellenpositionen in der Zwischenablage:
Code
Alles anzeigengetFuelpumps = { _pos = getArray(configFile >> "CfgWorlds" >> worldName >> "centerPosition"); _Station = nearestobjects [_pos,["Land_fs_feed_F","Land_FuelStation_Feed_F","Land_FuelStation_01_pump_F","Land_FuelStation_02_pump_F"], 25000]; _br = toString [13, 10]; _tab = toString [9]; _TexteSortie = "_NiiRoZz_Station_Essence = [" + _br; { _TexteSortie = _TexteSortie + _tab + (str (getpos _x)); _TexteSortie = if (_forEachIndex < ((count _Station) - 1)) then {_TexteSortie + ", " + _br} else {_TexteSortie + _br}; } forEach _Station; _TexteSortie = _TexteSortie + "];"; hint "Completed"; copyToClipboard _TexteSortie; }; [] call getFuelpumps;
Ich wusste gar nicht das es Probleme gab !?. Ich habe es selbst auf meinen [lexicon]Tanoa[/lexicon] Server und es geht alles.
-
Gut du hast das ganze bei:
- fn_boltcutter.sqf
- repairDoor.sqf
- actionKeyHandler.sqf
- fn_houseMenu.sqf
- im Life_server in der init.sqfund suchst mal folgendes:
Land_Dome_Big_F und Land_Research_house_V1_F das sind die Gebäude die du bei Altis hast
OMG DANKE
Endlich geht es.
-
Also habe jetzt alles gemacht aber irgendwie kann ich immer noch die Türen öffnen.
-
Okay Danke für deine Antwort kannst du mir vllt den Thread schicken ? finde ihn nicht
-
-
Weist du zufällig ob man das so für die 4.4 nutzen kann?
Einfach mal austesten
-
1. Functions.hpp unter class Items fügt ihr das ein:
Spoiler anzeigen
class weed {};
2.core\pmenu\fn_useItem.sqf und fügt folgendes ein:Codecase (EQUAL(_item,"marijuana")): { if(([false,_item,1] call life_fnc_handleInv)) then { [] spawn life_fnc_weed; }; };
3. Ladet euch die fn_weed.sqf herunter und fügt sie in den items Ordner ein.
-
Die ist nicht kaputt sondern umgeschrieben für den 3d Eden Editor
Mfg
AmaZiinG
-
Autor: Blayfix
Bild:
1.Geht in die init.sqf und schreibt das rein:
Spoiler anzeigen
[] execVM "statusBar.sqf";
2. Geht dannach in die description.ext und sucht nach class RscTitles { schreibt in den Rsc Titles das rein:
Spoiler anzeigen
#include "statusBar.hpp"
3. Ladet euch den Statusbar Ordner herunter und fügt die Dateien in die einsprechenden Ordner ein.
Fertig !
-
-
Geht in die fn_keyHandler.sqf und sucht nach "case 19" ersetzt den ganzen Code-Block durch diesen:
Code
Alles anzeigen//Restraining (Shift + R) Cops = Instantrestrain // Civs = Knockout to restrain case 19: { //Cops -> Civs if(_shift) then {_handled = true;}; if(_shift && playerSide == west && !isNull cursorTarget && cursorTarget isKindOf "Man" && (isPlayer cursorTarget) && (side cursorTarget == civilian) && alive cursorTarget && cursorTarget distance player < 3.5 && !(cursorTarget getVariable "Escorting") && !(cursorTarget getVariable "restrained") && speed cursorTarget < 1) then { [] call life_fnc_restrainAction; }; // Civs - > Civs if(_shift) then {_handled = true;}; if(_shift && playerSide == civilian && !isNull cursorTarget && cursorTarget isKindOf "Man" && (isPlayer cursorTarget) && alive cursorTarget && cursorTarget distance player < 3.5 && isPlayer cursorTarget && animationState cursorTarget == "Incapacitated" && !(cursorTarget getVariable "Escorting") && !(cursorTarget getVariable "restrained") && speed cursorTarget < 1) then { [] call life_fnc_restrainAction; }; };
Fertig !
-
@ApocalypseCookie funktioniert in der 4.4 auch