@Ammorosh schick mir einmal bitte deine Masterhandler.hpp
Beiträge von B4v4r!4n_Str!k3r
-
-
-
Ja die anderen dürfte auch noch alle funktionieren.
-
man braucht doch nicht in der addAction schon nach dem Donatorrang abfragen, es reicht auch es richtig in der Config_Vehicles.hpp einzutragen!
Code: Config_Vehicles.hpp
Alles anzeigenclass CarShops { . . . class civ_car_vip { side = "vip"; vehicles[] = { { "B_Quadbike_01_F", 2500, { "" }, { "life_donorlevel", "SCALAR", 1 } }, { "C_Hatchback_01_F", 9500, { "driver" }, { "life_donorlevel", "SCALAR", 2 } } }; }; . . . }; class LifeCfgVehicles { . . . class B_Quadbike_01_F { vItemSpace = 25; storageFee[] = { 1000, 0, 0, 0 }; garageSell[] = { 950, 0, 0, 0 }; insurance = 2500; chopShop = 1250; textures[] = { { "Brown", "cop", { "\A3\Soft_F\Quadbike_01\Data\Quadbike_01_co.paa" } }, { "Digi Desert", "reb", { "\A3\Soft_F\Quadbike_01\Data\quadbike_01_opfor_co.paa" } }, { "Black", "civ", { "\A3\Soft_F_beta\Quadbike_01\Data\quadbike_01_civ_black_co.paa" } }, { "Blue", "civ", { "\A3\Soft_F_beta\Quadbike_01\Data\quadbike_01_civ_blue_co.paa" } }, { "Red", "civ", { "\A3\Soft_F_beta\Quadbike_01\Data\quadbike_01_civ_red_co.paa" } }, { "White", "civ", { "\A3\Soft_F_beta\Quadbike_01\Data\quadbike_01_civ_white_co.paa" } }, { "Digi Green", "civ", { "\A3\Soft_F_beta\Quadbike_01\Data\quadbike_01_indp_co.paa" } }, { "Hunter Camo", "civ", { "\a3\soft_f_gamma\Quadbike_01\data\quadbike_01_indp_hunter_co.paa" } }, { "Rebel Camo", "reb", { "\a3\soft_f_gamma\Quadbike_01\data\quadbike_01_indp_hunter_co.paa" } }, { "VIP", "vip", { "\A3\Soft_F_beta\Quadbike_01\Data\quadbike_01_civ_red_co.paa" } } }; }; . . . class C_Hatchback_01_F { vItemSpace = 40; storageFee[] = { 1000, 0, 0, 0 }; garageSell[] = { 4500, 3500, 0, 0 }; insurance = 2500; chopShop = 4750; textures[] = { { "Beige", "civ", { "\a3\soft_f_gamma\Hatchback_01\data\hatchback_01_ext_base01_co.paa" } }, { "Green", "civ", { "\a3\soft_f_gamma\Hatchback_01\data\hatchback_01_ext_base02_co.paa" } }, { "Blue", "civ", { "\a3\soft_f_gamma\Hatchback_01\data\hatchback_01_ext_base03_co.paa" } }, { "Dark Blue", "civ", { "\a3\soft_f_gamma\Hatchback_01\data\hatchback_01_ext_base04_co.paa" } }, { "Yellow", "civ", { "\a3\soft_f_gamma\Hatchback_01\data\hatchback_01_ext_base06_co.paa" } }, { "White", "civ", { "\a3\soft_f_gamma\Hatchback_01\data\hatchback_01_ext_base07_co.paa" } }, { "Grey", "civ", { "\a3\soft_f_gamma\Hatchback_01\data\hatchback_01_ext_base08_co.paa" } }, { "Black", "civ", { "\a3\soft_f_gamma\Hatchback_01\data\hatchback_01_ext_base09_co.paa" } }, { "VIP", "vip", { "\a3\soft_f_gamma\Hatchback_01\data\hatchback_01_ext_base09_co.paa" } } }; }; . . . };
Und in den NPC kommt dann:
CodeaddAction["VIP Fahrzeug Händler",life_fnc_vehicleShopMenu,["civ_car_vip",civilian,"name_des_spawns","vip","VIP Fahrzeuge"]];
und wenn man für NICHT-Donator die Action nicht anzeigen möchte, kann man die addAction noch zuCodeaddAction["VIP Fahrzeug Händler",life_fnc_vehicleShopMenu,["civ_car_vip",civilian,"name_des_spawns","vip","VIP Fahrzeuge"],0,false,false,"",'playerSide isEqualTo civilian && call life_donorlevel > 0'];
erweitern.MfG
B4v4r!4n_Str!k3r -
hmm dann schick uns doch einmal deine fn_virt_sell.sqf. Vielleicht nutzt du bereits eine modifizierte Version
-
hier ist beschrieben, wo du diesen findest
-
der wirft aber ganz schön viele Fehler aus
aber die Datei fn_virt_sell.sqf ist nicht betroffen. Diese wird normal auch clientseitig ausgeführt. Also häng doch den Clientlog auch noch an.
-
hast du irgendwelche Logs?
-
doch
ich habe es nur vergessen zu posten
in der fn_virt_sell.sqf nach _type = lbData[2402,(lbCurSel 2402)]; _mode = _this select 0; einfügen.
und dann
Code_amount = ctrlText 2405; if(!([_amount] call TON_fnc_isnumber)) exitWith {hint localize "STR_Shop_Virt_NoNum";}; _amount = parseNumber (_amount); if(_amount > (missionNameSpace getVariable _var)) exitWith {hint localize "STR_Shop_Virt_NotEnough"};
mit
Code
Alles anzeigen_amount = ctrlText 2405; if(_mode isEqualTo 1) then { _amount = (missionNameSpace getVariable _var); } else { if(!([_amount] call TON_fnc_isnumber)) exitWith {hint localize "STR_Shop_Virt_NoNum";}; _amount = parseNumber (_amount); if(_amount > (missionNameSpace getVariable _var)) exitWith {hint localize "STR_Shop_Virt_NotEnough"}; };
ersetzen.nun deinem Button die Action onButtonClick = "[1] call life_fnc_virt_sell"; geben
Edit: das ist von mir nicht getestet worden, sollte aber funktionieren.
-
-
War bei den Mods ein .biprivatekey dabei? Dann musst du diesen nämlich auch auf den Server in den Ordner keys laden.
Ansonsten hast du irgendeinen anderen Fehler mit den Signaturen der Mods.
-
Ich bin gerade mit Zufall auf das hier gestoßen: https://forums.bistudio.com/topic/157930-r…events-library/
Ich denke das ist genau das was du suchst.
Viel Spaß damit!
-
im mission/core/vehicle/fn_vInteractionMenu.sqf die Zeile
if (typeOf _curTarget == "O_Truck_03_device_F") then {
zu
if (typeOf _curTarget in ["O_Truck_03_device_F","O_T_Truck_03_device_ghex_F"]) then {
ändern.
Das ganze ist ungetestet, Rückmeldung wäre nicht schlecht.
-
Zeile 139 ist ein , zu viel
-
Du musst in der CONFIG_MASTER.hpp den Multiplikator verändern:
vehicle_storage_fee_multiplier = .2; //Pull from garage cost --> Cost takes the playersides Buy Price * multiplier
-
Guten Tag GG Community
nicht dein Ernst ?
-
schon einmal die Mission aus dem Downloadbereich angeschaut?
-
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.
-
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;
durchCode{ _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 bzw. auf zusätzlich gesetzte Tankstellen 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;
-
1. hat @Risk schon alle Positionen angegeben
2. kann man sich auf die Map stellen und folgendes in der Debugkonsole ausführen: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;
nun hat man alle Positionen im Zwischenspeicher.
Die alten Positionen jetzt ersetzen und dannCode_pumpClass = "Land_fs_feed_F"; { _pump = (nearestObject [_x, _pumpClass]); _pump setFuelCargo 0; _pump 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.
jetzt noch die fn_FuelStatOpen.sqf ändern:
_fuelstations = nearestobjects [player, ["Land_fs_feed_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];