Beiträge von moeck
-
-
Code
11:39:22 Error in expression <ON_fnc_HandleDB; }; }; sleep 5; [] call TON_fnc_sleeper; > 11:39:22 Error position: <TON_fnc_sleeper; > 11:39:22 Error Undefined variable in expression: ton_fnc_sleeper 11:39:22 File life_server\Functions\DynMarket\fn_config.sqf, line 127
kann es sein, dass die funktion noch nicht definiert ist?
-
Aer0xx : ja dafür brauchen wir halt mal die Logfiles
. Keiner kann Dir helfen wenn wir nicht wissen wo das Problem ist.
-
Master of Desaster : also für die Nutzung von Apex Elementen auf Altis benötigt man das DLC nicht mehr. Allerdings sieht man in der Fehlermeldung dass die Mission wohl auf Tanoa basiert und hierfür benötigt man halt auch Apex
-
Kann es sein, dass ihr Tanoa nutzt? Die Karte funzt nur mit Apex
-
ich könnte jetzt was behaupten aber ich lasse es mal
-
Mh..., kann es sein, dass du x verschiedene Scripts eingebaut hast aber diese nicht einzeln getestest hast? Schön wäre wenn du mal die Links zu den Tutorials mit angeben könntest, wo du die Scripte her hast. Bei dem Fehler mit den playerTags habe ich eine Vermutung und beim Ausweisscript auch.
-
Moin,
also es wäre mal schön zu wissen welche Version Du verwendest. Mir scheint so, dass es eine ältere ist
. Hier mal ein Codeschnipsel zum Testen. Achtung hierbei handelt es sich um ein sehr alten Version, da wir das komplett anders gelöst haben in der aktuellen Version.
Code
Alles anzeigencase 16: { if((!life_action_inUse) && (vehicle player isEqualTo player) ) then { if(life_interrupted) exitWith {life_interrupted = false; titleText[localize "STR_NOTF_ActionCancel","PLAIN"]; life_action_inUse = false;}; { _str = [_x] call life_fnc_varToStr; _val = missionNameSpace getVariable _x; if(_val > 0 ) then { if( _str isEqualTo "Spitzhacke" || _str isEqualTo "pickaxe" ) then { [] spawn life_fnc_pickAxeUse; }; }; } foreach life_inv_items; }; };
Gruß,
moeck
-
Moin, ja haben wir so implementiert, dass man in bestimmte Fahrzeuge bzw. Häuser auch Flüssigkeiten lagern kann
-
kann mich nur anschliessen, es ist einfacher das eine oder andere Script auf 5.0 umzubauen als eine gesamte Mission von 3.1.4.8 auf %
, ausserdem ist die Konfiguration in der 5.0 deutlich angenehmer als in der 3.1.4.8, des weiteren kann man die Konfigurationsdateien relativ einfach um Funktionen erweitern. Zu dem gibt es etliche Bugs in der 3.1.4.8 um die man sich in der 5.0 nichtmehr kümmern muss
-
brauche ich nicht, wir haben keine NPCs auf der Map und ich mache momentan eine pause vom SQF Scripten
-
so hier mal unser Script
C
Alles anzeigen#include "..\..\script_macros.hpp" private["_robber","_shop","_kassa","_ui","_progress","_pgText","_cP","_rip","_pos", "_robdelay", "_delay","_onWanted"]; _shop = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param; //The object that has the action attached to it is _this. ,0, is the index of object, ObjNull is the default should there be nothing in the parameter or it's broken _robber = [_this,1,ObjNull,[ObjNull]] call BIS_fnc_param; //Can you guess? Alright, it's the player, or the "caller". The object is 0, the person activating the object is 1 _kassa = 1000; //The amount the shop has to rob, you could make this a parameter of the call (https://community.bistudio.com/wiki/addAction). Give it a try and post below ;) _action = [_this,2] call BIS_fnc_param;//Action name if (side _robber in [west, independent]) exitwith { //h/intSilent "Bei Dir hackts wohl, Du kannst doch nix überfallen! Oder seit wann arbeitest Du nicht beim Staat!" ["Bei Dir hackts wohl, Du kannst doch nix überfallen! Oder seit wann arbeitest Du nicht beim Staat!","RED",10] spawn life_fnc_notification_system; }; if (life_firstrob) exitWith { //h/int "Jo man es war gerade Weltuntergang und es ist noch kein Geld in der Kasse!" ["Jo man es war gerade Weltuntergang und es ist noch kein Geld in der Kasse!","RED",10] spawn life_fnc_notification_system; }; if (servertime < life_nextrob) exitWith { //h/intSilent format ["Es wurde gerade schon eine Tankstelle überfallen, komm in %1 Minuten wieder vorbei!", [(life_nextrob - servertime),"MM:SS"] call BIS_fnc_secondsToString] [format ["Es wurde gerade schon eine Tankstelle überfallen, komm in %1 Minuten wieder vorbei!", [(life_nextrob - servertime),"MM:SS"] call BIS_fnc_secondsToString],"RED",10] spawn life_fnc_notification_system; }; _robdelay = 900; // 900 Zeit die zwischen zwei Überfällen vergehen muss. if(side _robber != civilian) exitWith { //h/int "Du kannst hier niemanden Überfallen!" ["Du kannst hier niemanden Überfallen!","RED",10] spawn life_fnc_notification_system; }; if(_robber distance _shop > 5) exitWith { //h/int "Du musst 5m von dem Kassierer entfernt sein, um ihn auszurauben!" ["Du musst 5m von dem Kassierer entfernt sein, um ihn auszurauben!","RED",10] spawn life_fnc_notification_system; }; _ret=[[serverTime,0],"TON_fnc_robshops"] spawn life_fnc_MP; //if !(_kassa) then { _kassa = 1000; }; if (vehicle player != _robber) exitWith { //h/int "Steig aus deinem Fahrzeug!" ["Steig aus deinem Fahrzeug!","RED",10] spawn life_fnc_notification_system; }; if !(alive _robber) exitWith {}; if (currentWeapon _robber isEqualTo "") exitWith { //h/int "HaHa, willst du mich verarschen? Verzieh dich du Idiot!" ["HaHa, willst du mich verarschen? Verzieh dich du Idiot!","RED",10] spawn life_fnc_notification_system; }; _cops = (west countSide playableUnits); if(_cops < 4) exitWith{ //h/int "Es sind nicht genügend Polizeikräfte im Dienst!"; ["Es sind nicht genügend Polizeikräfte im Dienst!","RED",10] spawn life_fnc_notification_system; }; if (_kassa isEqualTo 0) exitWith { //h/int "Es ist kein Geld in der Kasse!" ["Es ist kein Geld in der Kasse!","RED",10] spawn life_fnc_notification_system; }; _rip = true; _onWanted = false; _kassa = 150000 + round(random 150000); _shop removeAction _action; _chance = random(100); if (_chance >= 33 && _chance < 66) then { [[1,format["ALARM! - Tankstelle: %1 wird ausgeraubt!", _shop]],"life_fnc_broadcast",west,false] spawn life_fnc_MP; }; if(_chance >= 66) then { //h/int "Der Kassierer hat den stillen Alarm ausgelöst!"; ["Der Kassierer hat den stillen Alarm ausgelöst!","PINK",5] spawn life_fnc_notification_system; [[1,format["ALARM! - Tankstelle: %1 wird ausgeraubt!", _shop]],"life_fnc_broadcast",west,false] spawn life_fnc_MP; }; disableSerialization; 5 cutRsc ["life_progress","PLAIN"]; _ui = uiNameSpace getVariable "life_progress"; _progress = _ui displayCtrl 38201; _pgText = _ui displayCtrl 38202; _pgText ctrlSetText format["Überfall im Gange, halte dich in der Nähe auf (10m) (1%1)...","%"]; _progress progressSetPosition 0.01; _cP = 0.01; if(_rip) then { life_nextrob = servertime + _robdelay; publicVariable "life_nextrob"; while{true} do { sleep 1.5; _cP = _cP + 0.01; _progress progressSetPosition _cP; _pgText ctrlSetText format["Überfall im Gange, halte dich in der Nähe auf (10m) (%1%2)...",round(_cP * 100),"%"]; _Pos = position player; // by ehno: get player pos if (_chance >= 66) then { _marker = createMarker ["Marker200", _Pos]; //by ehno: Place a Maker on the map "Marker200" setMarkerColor "ColorRed"; "Marker200" setMarkerText "!Achtung! Überfall !Achtung!"; "Marker200" setMarkerType "mil_warning"; }; if(_cP >= 1) exitWith {}; if(_robber distance _shop > 10.5) exitWith { deleteMarker "Marker200"; //h/int "Du musst in 10m Nähe bleiben um zu Überfallen! - Die Kasse ist nun verschlossen."; ["Du musst in 10m Nähe bleiben um zu Überfallen! - Die Kasse ist nun verschlossen.","RED",10] spawn life_fnc_notification_system; 5 cutText ["","PLAIN"]; _rip = false; }; if!(alive _robber) exitWith {deleteMarker "Marker200"; _rip = false; 5 cutText ["","PLAIN"];}; if(life_istazed) exitWith {deleteMarker "Marker200"; _rip = false; 5 cutText ["","PLAIN"];}; if(player getVariable ["Re-strained",FALSE]) exitWith { deleteMarker "Marker200"; _rip = false; 5 cutText ["","PLAIN"];}; if (currentWeapon _robber isEqualTo "") exitWith { //h/int "Hier nen Snickers, du wirst immer zur Diva, wenn du hungrig bist!"; ["Hier nen Snickers, du wirst immer zur Diva, wenn du hungrig bist!","RED",10] spawn life_fnc_notification_system; deleteMarker "Marker200"; _rip = false; 5 cutText ["","PLAIN"]; }; }; if!(alive _robber) exitWith { _rip = false; deleteMarker "Marker200"; 5 cutText ["","PLAIN"];}; if(life_istazed) exitWith {deleteMarker "Marker200"; _rip = false; 5 cutText ["","PLAIN"];}; if(player getVariable ["Re-strained",FALSE]) exitWith { deleteMarker "Marker200"; _rip = false; 5 cutText ["","PLAIN"];}; if (currentWeapon _robber isEqualTo "") exitWith {deleteMarker "Marker200"; _rip = false; 5 cutText ["","PLAIN"]; }; if(_robber distance _shop > 10.5) exitWith { deleteMarker "Marker200"; 5 cutText ["","PLAIN"]; _rip = false; }; 5 cutText ["","PLAIN"]; //t/itleText[format["Du hast $%1 gestohlen, flüchte bevor die Polizei eintrifft!",[_kassa] call life_fnc_numberText],"PLAIN"]; [format["Du hast $%1 gestohlen, flüchte bevor die Polizei eintrifft!",[_kassa] call life_fnc_numberText],"PINK",5] spawn life_fnc_notification_system; deleteMarker "Marker200"; // by ehno delete maker CASH = CASH + _kassa; _rip = false; _run = [] spawn { life_use_atm = false; uisleep (30 + random(180)); life_use_atm = true; }; }; if !(_onWanted) then { if!(_chance < 10) then { _chance = random 100; if(_chance < 40) then { [[getPlayerUID _robber,name _robber,"261A"],"life_fnc_wantedAdd",false,false] spawn life_fnc_MP; }; }; }; _action = _shop addAction["Ausrauben",life_fnc_robShops];
zusätzlich haben wir in der live_server\init.sqf 2 Variablen definiert
C
Alles anzeigenlife_nextrob = 0; // 10 min nach Restart, funzt das Überfallen erst. publicVariable "life_nextrob"; life_firstrob = true; publicVariable "life_firstrob"; [] spawn { for "_i" from 0 to 1 step 0 do { uiSleep (10 * 60); life_firstrob = false; publicVariable "life_firstrob"; }; };
Achtung wir nutzen das Notificationsystem von DE100 allerdings ein wenig modifiziert
-
wir haben das komplette Script umgebaut, da man immer nur eine Tanke überfallen kann und dann einen timer gesetzt wird bis man die nächsten überfallen kann
-
ja haben wir glaube ich gefixt. aber sicher bin ich mir gerade nicht. Du wirst aber mit sicherheit nicht alle Fehler finden, da es auch im Framework welche gibt
-
ja aber du musst auch die spawnVehicle auch anpassen
-
copinteractionmenu, da stehen die Marker drin wo man leute in den Knast stecken kann
-
ja dann ist niemand in der nähe
Code_units = {(_x distance _veh < 300)} count playableUnits; ... case (_units isEqualTo 0): {deleteVehicle _x; _deleted = true;};
Sagen wir mal du Startest den Server um 12 Uhr, dann läuft das Script gegen 13 uhr durch (+1-2 Minuten) je nachdem wie schnell der Server startet. Sollte sich dann gegen 13:02 niemand in einem 300 Meter umkreis befinden wird das Fahrzeug gelöscht und in die Garage gestellt.
-
moin an der folgende Stelle fehlt eine Klammer
Code
Alles anzeigenclass CfgDebriefing { class NotWhitelisted { title = "$STR_NotWhitelisted_Title"; subtitle = "$STR_NotWhitelisted_SubTitle"; description = "$STR_NotWhitelisted_Descript"; pictureBackground = ""; picture = ""; pictureColor[] = {0,0.3,0.6,1}; }; class Blacklisted { title = "$STR_Blacklisted_Title"; subtitle = "$STR_Blacklisted_SubTitle"; description = "$STR_Blacklisted_Descript"; pictureBackground = ""; picture = ""; pictureColor[] = {0,0.3,0.6,1}; };
bitte füge nach Blacklisted noch eine Klammer ein!
Code
Alles anzeigenclass CfgDebriefing { class NotWhitelisted { title = "$STR_NotWhitelisted_Title"; subtitle = "$STR_NotWhitelisted_SubTitle"; description = "$STR_NotWhitelisted_Descript"; pictureBackground = ""; picture = ""; pictureColor[] = {0,0.3,0.6,1}; }; class Blacklisted { title = "$STR_Blacklisted_Title"; subtitle = "$STR_Blacklisted_SubTitle"; description = "$STR_Blacklisted_Descript"; pictureBackground = ""; picture = ""; pictureColor[] = {0,0.3,0.6,1}; }; };
Du hast nämlich SpyGlass rausgenommen und dabei versehentlich eine Klammer zu viel gelöscht.
-
Moment ich habe da gerade was durcheinander gebracht. in der FSM geht es um die kaputten Fahrzeuge, diese werden nach 3 Minuten gelöscht.
wie du schon richtig festgestellt hast ist das löschen der intakten Fahrzeuge in der fn_cleanup.sqf
die Bedingung sind entweder Beschädigungen oder dass kein Spieler innerhalb eines 300 Meter Radiuses ist.
-
des wegen wäre es gut wenn man mal das log sehen könnte wo du an genau einer dieser Tankstellen die Funktion testest. Grundsätzlich würde ich jetzt mal daruaf tippen, dass sich ein Fehler in der Configuration der entsprechenden Tanken befindet. aber ob dem so ist kann ich nicht sagen.