na du muust schon das mit %1 - %7 angeben aber schau mal wie die lizenzen bei dir heißen
Beiträge von moeck
-
-
poste bitte mal die datei bzw was passiert wenn du mal alles auskommentierst?
-
ich habe nicht gesagt dass ich es getestet habe. wo hast das mit dem setzen der variablen eingefügt?
-
Hast Du mal Debug ausgaben eingebaut?
-
Auch nicht in den Dialogen? Hast Du da was geändert?
-
Moin,
die Parameter solltest Du vielleicht auch mal zusammenführen
"arma3server.exe" -cfg=basic.cfg -config=config.cfg -profiles=ServerProfiles -nosound -port=2302 -serverMod=@life_server;@extDB3; -servermod=@infiSTAR_A3;
besser ist
"arma3server.exe" -cfg=basic.cfg -config=config.cfg -profiles=ServerProfiles -nosound -port=2302 -serverMod=@life_server;@extDB3;@infiSTAR_A3;
und beim -profiles bin ich mir gerade nicht ganz sicher ob Du da nicht die Config eintragen musst
-
Zum Beispiel die Server Logs, ich würde sagen die könnten helfen
-
Ich würde entweder das mit der Distanz ganz rausnehmen oder einfach auf 10km stellen
-
Moin,
der Übeltäter ist die fn_cleanup.sqf im life_server. Hier werden abgestellte Fahrzeuge nach einer gewissen Zeit "entsorgt", wenn das Fahrzeug beschädigt ist oder sich niemand in der Nähe aufhält
.
Gruß,
moeck
-
Moin,
na man könnte den Marker an das Vehicle binden. Im Endefekt so ähnlich wie die Medic Marker. Man müsste halt beim Absetzen des Notrufs eine entsprechende Variable auf das Fahrzeug setzen.
Code
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_adacMarkers.sqf Author: moeck Description: Marks defect vehicles on the map when it's open. */ private _markers = []; private _vehicles = []; sleep 0.25; if(visibleMap) then { { if((_x isKindOf "Car") || (_vehicle isKindOf "Air") || (_vehicle isKindOf "Ship")) then { _name = (_x getVariable "vehicle_info_owners") select 0; _down = _x getVariable ["defect",false]; if(!isNil "_name" && !_down) then { _units pushBack _x; }; }; } foreach vehicles; //Loop through and create markers. { _marker = createMarkerLocal [format["%1_down_marker",_x],visiblePosition _x]; _marker setMarkerColorLocal "ColorGreen"; _marker setMarkerTypeLocal "n_maint"; _marker setMarkerTextLocal format["%1",(_x getVariable[("vehicle_info_owners" select 0),"Unknown Player"])]; _markers pushBack _marker; } foreach _vehicles; waitUntil {!visibleMap}; {deleteMarkerLocal _x;} foreach _markers; };
So dann muss man natürlich noch beim Notruf absetzen die Variable "defect" auf das Fahrzeug setzen
_vehicle setVariable ["defect", true];
Ich hoffe das hilft Dir weiter.
Gruß,
moeck
-
Moin,
hast Du mal in deiner Missiondatei mal nach dem String "5,209,852" gesucht?
Gruß,
moeck
-
Moin,
na dann viel Spass und Erfolg beim Scriptenauf dass Du immer ein Lösung für deine Probleme findest
Gruß,
moeck
-
-
Gibt es irgendwelche Fehlermeldungen?
-
So hier mal noch ein anderer Ansatz, der eventuell einfacher zu verstehen ist.
Du machst für jeden Verarbeiter / Händler x leere Marker auf die Karte und gibst ihnen Namen wie zum Beispiel "copper_process1", "copper_process2", "copper_process3"
Dann legst Du im life_server ein Script an.
C: fn_getprocess.sqf/* Random Process / Dealer Author: moeck 17.10.2017 */ copper_processor = ["copper_process1", "copper_process2", "copper_process3"]call BIS_fnc_selectRandom; // Positions copper processor publicVariable "copper_processor";
Anschliessend in erstellst Du in deiner Mission ein weiteres Script.
Code: fn_setprocessor.sqf
Alles anzeigen/* Set random Dealer and Process Author: moeck */ { private _obj= (_x select 0)createVehicleLocal [0,0,0]; _obj setPosWorld(getMarkerpos (_x select 1)); _obj setDir (getDir (_x select 1)); _obj enableSimulation(_x select 2); _obj allowDamage(_x select 3); if!((_x select 4) isEqualTo "")then{_obj call compile(_x select 4);}; if!((_x select 5) isEqualTo "")then{_obj setVehicleVarName (_x select 5);}; nil; } count [ ["Land_InfoStand_V2_F",copper_processor,false,false," _this addAction[localize""STR_Process_Copper"",life_fnc_processAction,""copper"",0,false,false,"""",' life_inv_copperUnrefined > 0 && !life_is_processing && !life_action_inUse']; this addAction[format [""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""copper"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""copper"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""copper"",0,false,false,"""",' !license_civ_copper && playerSide isEqualTo civilian '];",""] ,["Land_InfoStand_V2_F",copper_dealer,false,false," _this addAction[localize""STR_MAR_Iron_Copper_Trader"",life_fnc_virt_menu,""iron""];",""] ];
und zum schluss musst Du das noch mit initialisieren. Dazu fügst Du in die initPlayerLocal.sqf das Folgende ein.
[] execVM "core\functions\fn_setprocessor.sqf";
Ich habe das jetzt nicht getestet, aber so dürfte es funktionieren.
Gruß,
moeck
-
Die DB musste trotzdem erweitern sofern Du das permanent haben willst. Weil irgendwo musst es ja speichern
-
-
Moin,
dazu muss man das komplette Gangsystem umbauen und die DB erweitern.
Gruß,
moeck
-
C
Alles anzeigen/* Created by Mokomoko Date: 04.08.2014 Related Forum Post: http://www.altisliferpg.com/topic/4812-tutorial-how-to-increase-the-fuel-usage/ */ private["_vehicleToFuel","_velocityOfVehicle","_fuelConsumption"]; while{true} do { _vehicleToFuel = (vehicle player); if(isEngineOn _vehicleToFuel && ((driver _vehicleToFuel) isEqualTo player) && !(_vehicleToFuel isKindOf "Air") && (_vehicleToFuel != player) ) then { _velocityOfVehicle = sqrt(((velocity _vehicleToFuel select 0)^2)+((velocity _vehicleToFuel select 1)^2))*3.6; _fuelConsumption = _velocityOfVehicle/150000 + 0.0001; if(_fuelConsumption > 0.002) then { _fuelConsumption = 0.002; }; _vehicleToFuel setFuel ((fuel _vehicleToFuel)-_fuelConsumption); //hint format["Benzinverbrauch: %1L/km",_fuelConsumption*10000/2]; if(fuel _vehicleToFuel < 0.2 && fuel _vehicleToFuel > 0.18) then { hint "Dein Tank ist gleich leer, fahre schnell zur nächsten Tankstelle."; } else { if(fuel _vehicleToFuel < 0.02) then { hint "Klopf, Klopf, Dein Tank ist jeden moment leer!"; }; }; }; sleep 2; };
-
wenn ich dann am rechner bin poste ich das nochmal etwas ausführlich, aber zum verständnis. Du erstellst eine eigene Datei mit dem Kram und packst die mit in die mission. Anschliessend führst du in der mission init das script mit aus