Der Spieler ist aber nicht "objNull"/Null, wenn der an die Funkion übergeben wird, oder?
Beiträge von Rom
-
-
Sieht für micht richtig aus. Funktioniert des denn überhaupt?
-
Wie sieht es denn jetzt komplett aus?
Ich hoffe du hast das <-----SperrZonenScript weggelassen oder auskommentiert -
Code
Alles anzeigenif (isDedicated) exitWith {}; if !(hasinterface) exitwith {}; ["Preload"] call BIS_fnc_arsenal; private["_keyDown"]; [] spawn { waitUntil {!isNull player && player == player}; waitUntil{!isNil "BIS_fnc_init"}; waituntil {!(IsNull (findDisplay 46))}; private["_i", "_keyDown"]; (findDisplay 46) displayAddEventHandler ["KeyDown", "params [""_ctrl"",""_taste"",""_shift"",""_strg"",""_alt""]; if (_taste == 21) then {['Open', true] call BIS_fnc_arsenal; false}; false"]; };
Da hat zum Schluss nen Bool gefehlt, ist mir auch erst nicht aufgefallen
Falls du die Hotkeys erweiter solltest, würde ich ne Funktion nutzen als "Master-Keyhandler" für Hotkeys, wäre ja unnötig für jede einzelne Taste nen neuen Eventhandler zu setzen. -
Welche AL-Version nutzt du denn @Lukas010?
Wenn bei dir keine Konfig von CfgRemoteExec vorhanden ist, brauchst du auch nichts erweitern -
Also, nehmen wir einmal an, du hast eine Init geschrieben, in der gewartet wird, bis der Display 46 nicht mehr Null ist !isNull (findDisplay 46).
Mögliche Erklärung für Display 46, wieso/weshalb/warum: Der Display 46 wird sehr häufig verwendet um Hotkeys zu setzen, welche ermöglichen Aktionen beim Drücken von bestimmten Tasten ausfzuführen.
Code-Beispiel zum setzen eines neuen "Key"-EventhandlersCode(findDisplay 46) displayAddEventHandler ["KeyDown", "params [""_ctrl"",""_taste"",""_shift"",""_strg"",""_alt""]; hint format['%1\n\n\nWelche Taste: %2\nHalte Shift: %3\nHalte STRG: %4\nHalte Alt: %5',_ctrl,_taste,_shift,_strg,_alt];"];
In den Anführungsstrichen kannst du deinen eigenen Code einbauen oder eine Funktion/ein Script aufrufen.
Das Beispiel habe ich jetzt nicht getestet, sondern einfach zusammen geschustert. -
Hallo,
nutzt du das in Verbindung mit Altis Life oder baust du selber was zusammen? -
Also eine Idee hätte ich noch (nicht getestet):
- Du brauchst die Datai life_server\Functions\MySQL\fn_updateRequest.sqf
- Entweder du hast das zu sehen _bank = [_this,4,5000,[0]] call BIS_fnc_param;
- oder als param[ [xxx] ];
- Mein Vorschlag: Ändere die 5000 zu -1
- Also Bspw. so _bank = [_this,4,-1,[0]] call BIS_fnc_param;
- -1: Ist ein Standardwert, wenn nicht definiert
- bei _cash auch die 0 auf -1 setzen, ist die Position wie bei _bank - 5000
- Jetzt zur Überprüfung:
- Unter if((_uid == "") OR (_name == "")) exitWith {}; das hier einfügen:
- if ((_gear isEqualTo []) || (_licenses isEqualTo []) || (_bank < 0) || (_cash < 0)) exitWith {}; // << Abbruch?
- Die Überprüfung soll dafür sorgen, dass die Werte nicht zurückgesetzt werden, wenn keine oder "fehlerhafte" Übermittelt werden/wurden
Wenn das auch nicht geht, weiß ich auch nicht weiter.
-
Hallo,
du musst entweder einen MySQL-Server auf deinen Linux-Server installieren, Benutzerkonto anlegen und Datenbank erstellen.
Du kannst auch theoretisch eine externe Datenbank nutzen.Aber irgendwie finde ich diese Fragestellung fragwürdig, Server öffnen ohne Ahnung wie was geht? Mäh, es gibt auf jeden Fall genug Tuts oder Seiten die dir das Step by Step erklären
-
Gibt es einen versteckten Key-Handler mit ALT+F4 der dein Gear wegen "rage quit" entfernt?
-
Der Perso hat damit Glücklicherweise nichts am Hut
Die wunderschöne Markierung mal vernachlässigen
Es kann sein, dass das irgendwo aufgerufen wird, und wenn Parameter fehlerhaft sind (falscher Datentyp oder nil/nicht vorhanden), dann wird der Standartwert genommen. Da kommen deine 5000 her -
Das Archiv konnte ich jetzt hochladen. Irgendwas hatte es beschädigt, wenn ich es neu packen wollte...
PS: Beispiel-Missionen habe ich entfernt, platzsparend.
Sry. -
Hey,
könnte ich auch bitte einen Dropbox Link erhalten, denn ich kann die Files nicht downloaden.Danke
Link per PN gesendet.
-
@Rom could you please upload it somewhere, Dropbox or something, and send me a link via PM? I would be very grateful
Private Message sent
-
I'm sorry, but I cann't see a `Perso_Paket.zip` to download. Can someone show me?
Yes I know.
Yesterday i added something in the zip, but cannot reupload it yet. Something went wrong while uploading.
I am staying in contact with @nox (an admin). Maybe, he can help me and fix the problem.I am sorry
-
Kommt der Fehler auch, wenn du es mit der Altis-Karte testest?
Du kannst mir auch, wenn du magst, deine Australien-Karte unbinarisiert als PN schicken oder hier. Je nach dem was dir lieber ist, wenn überhaupt.
Kommt die Meldung nur, wenn du auf deinem Server spielen möchtest oder generell auch auf anderen Australien Servern? -
life_garage_sp = "air_g_1","air_g_2"; }];
Eine Auflistung muss als Array [1,2,3,4,5,6,...] erfolgen.
-
Du kannst mal hier schauen: private - Bohemia Interactive Community
Vielleicht ist in irgendeinem NPC oder in einem Script (denke NPC) private aufgeführt, wo aber bei einer lokalen Variable ein _ (Unterstrich) fehlt.Beispiel:
- Falsch: private ["_var1","var2"];
- Richtig: private ["_var1","_var2"];
-
Eine ähnliche Meldung hatte ich letztens auch, nur konnte ich es leichter eingrenzen
Kam diese Meldung von Anfang an oder nachdem etwas geändert wurde? -
Code
Alles anzeigen#include "script_macros.hpp" /* File: init.sqf Author: Bryan "Tonic" Boardwine Edit: Nanou for HeadlessClient optimization. Please read support for more informations. Description: Initialize the server and required systems. */ private ["_dome","_rsb","_timeStamp"]; DB_Async_Active = false; DB_Async_ExtraLock = false; life_server_isReady = false; life_server_extDB_notLoaded = ""; serv_sv_use = []; publicVariable "life_server_isReady"; life_save_civilian_position = if (LIFE_SETTINGS(getNumber,"save_civilian_position") isEqualTo 0) then {false} else {true}; fn_whoDoneIt = compile preprocessFileLineNumbers "\life_server\Functions\Systems\fn_whoDoneIt.sqf"; /* Prepare the headless client. */ life_HC_isActive = false; publicVariable "life_HC_isActive"; HC_Life = false; publicVariable "HC_Life"; if (EXTDB_SETTING(getNumber,"HeadlessSupport") isEqualTo 1) then { [] execVM "\life_server\initHC.sqf"; }; /* Prepare extDB before starting the initialization process for the server. */ if (isNil {uiNamespace getVariable "life_sql_id"}) then { life_sql_id = round(random(9999)); CONSTVAR(life_sql_id); uiNamespace setVariable ["life_sql_id",life_sql_id]; try { _result = EXTDB format ["9:ADD_DATABASE:%1",EXTDB_SETTING(getText,"DatabaseName")]; if (!(_result isEqualTo "[1]")) then {throw "extDB2: Error with Database Connection"}; _result = EXTDB format ["9:ADD_DATABASE_PROTOCOL:%2:SQL_RAW_V2:%1:ADD_QUOTES",FETCH_CONST(life_sql_id),EXTDB_SETTING(getText,"DatabaseName")]; if (!(_result isEqualTo "[1]")) then {throw "extDB2: Error with Database Connection"}; } catch { diag_log _exception; life_server_extDB_notLoaded = [true, _exception]; }; publicVariable "life_server_extDB_notLoaded"; if (life_server_extDB_notLoaded isEqualType []) exitWith {}; EXTDB "9:LOCK"; diag_log "extDB2: Connected to Database"; } else { life_sql_id = uiNamespace getVariable "life_sql_id"; CONSTVAR(life_sql_id); diag_log "extDB2: Still Connected to Database"; }; if (life_server_extDB_notLoaded isEqualType []) exitWith {}; /* Run stored procedures for SQL side cleanup */ ["CALL resetLifeVehicles",1] call DB_fnc_asyncCall; ["CALL deleteDeadVehicles",1] call DB_fnc_asyncCall; ["CALL deleteOldHouses",1] call DB_fnc_asyncCall; ["CALL deleteOldGangs",1] call DB_fnc_asyncCall; _timeStamp = diag_tickTime; diag_log "----------------------------------------------------------------------------------------------------"; diag_log "---------------------------------- Starting Altis Life Server Init ---------------------------------"; diag_log "------------------------------------------ Version 5.0.0 -------------------------------------------"; diag_log "----------------------------------------------------------------------------------------------------"; if (LIFE_SETTINGS(getNumber,"save_civilian_position_restart") isEqualTo 1) then { [] spawn { _query = "UPDATE players SET civ_alive = '0' WHERE civ_alive = '1'"; [_query,1] call DB_fnc_asyncCall; }; }; /* Map-based server side initialization. */ master_group attachTo[bank_obj,[0,0,0]]; { _hs = createVehicle ["Land_Hospital_main_F", [0,0,0], [], 0, "NONE"]; _hs setDir (markerDir _x); _hs setPosATL (getMarkerPos _x); _var = createVehicle ["Land_Hospital_side1_F", [0,0,0], [], 0, "NONE"]; _var attachTo [_hs, [4.69775,32.6045,-0.1125]]; detach _var; _var = createVehicle ["Land_Hospital_side2_F", [0,0,0], [], 0, "NONE"]; _var attachTo [_hs, [-28.0336,-10.0317,0.0889387]]; detach _var; if (worldName isEqualTo "Australia") then { if (_forEachIndex isEqualTo 0) then { atm_hospital_2 setPos (_var modelToWorld [4.48633,0.438477,-8.25683]); vendor_hospital_2 setPos (_var modelToWorld [4.48633,0.438477,-8.25683]); "medic_spawn_3" setMarkerPos (_var modelToWorld [8.01172,-5.47852,-8.20022]); "med_car_2" setMarkerPos (_var modelToWorld [8.01172,-5.47852,-8.20022]); hospital_assis_2 setPos (_hs modelToWorld [0.0175781,0.0234375,-0.231956]); } else { atm_hospital_3 setPos (_var modelToWorld [4.48633,0.438477,-8.25683]); vendor_hospital_3 setPos (_var modelToWorld [4.48633,0.438477,-8.25683]); "medic_spawn_1" setMarkerPos (_var modelToWorld [-1.85181,-6.07715,-8.24944]); "med_car_1" setMarkerPos (_var modelToWorld [5.9624,11.8799,-8.28493]); hospital_assis_2 setPos (_hs modelToWorld [0.0175781,0.0234375,-0.231956]); }; }; } forEach ["hospital_2","hospital_3"]; { if (!isPlayer _x) then { _npc = _x; { if (_x != "") then { _npc removeWeapon _x; }; } forEach [primaryWeapon _npc,secondaryWeapon _npc,handgunWeapon _npc]; }; } forEach allUnits; [8,true,12] execFSM "\life_server\FSM\timeModule.fsm"; life_adminLevel = 0; life_medicLevel = 0; life_copLevel = 0; CONST(JxMxE_PublishVehicle,"false"); /* Setup radio channels for west/independent/civilian */ life_radio_west = radioChannelCreate @@7403affcf5e922062042244bcc22a947a6195c3f@@; life_radio_civ = radioChannelCreate @@7ffaa80fbb525db619e285a323587002652a8de3@@; life_radio_indep = radioChannelCreate @@f2d6c765e608653954a4bd8368e54e85bc87e211@@; /* Set the amount of gold in the federal reserve at mission start */ fed_bank setVariable ["safe",count playableUnits,true]; [] spawn TON_fnc_federalUpdate; /* Event handler for disconnecting players */ addMissionEventHandler ["HandleDisconnect",{_this call TON_fnc_clientDisconnect; false;}]; [] call compile preprocessFileLineNumbers "\life_server\functions.sqf"; /* Set OwnerID players for Headless Client */ TON_fnc_requestClientID = { (_this select 1) setVariable ["life_clientID", owner (_this select 1), true]; }; "life_fnc_RequestClientId" addPublicVariableEventHandler TON_fnc_requestClientID; /* Event handler for logs */ "money_log" addPublicVariableEventHandler {diag_log (_this select 1)}; "advanced_log" addPublicVariableEventHandler {diag_log (_this select 1)}; /* Miscellaneous mission-required stuff */ life_wanted_list = []; cleanupFSM = [] execFSM "\life_server\FSM\cleanup.fsm"; [] spawn { for "_i" from 0 to 1 step 0 do { uiSleep (30 * 60); { _x setVariable ["sellers",[],true]; } forEach [Dealer_1,Dealer_2,Dealer_3]; }; }; [] spawn TON_fnc_initHouses; cleanup = [] spawn TON_fnc_cleanup; TON_fnc_playtime_values = []; TON_fnc_playtime_values_request = []; //Just incase the Headless Client connects before anyone else publicVariable "TON_fnc_playtime_values"; publicVariable "TON_fnc_playtime_values_request"; /* Setup the federal reserve building(s) private _vaultHouse = @@85446e742d73163f323d5636011c9603b532872a@@] call TON_fnc_terrainSort; private _altisArray = [16019.5,16952.9,0]; private _australiaArray = [11074.2,11501.5,0.00137329]; private _pos = @@5aaf1ea786dc4afe69fbf40f7814a23c69010879@@] call TON_fnc_terrainSort; _dome = nearestObject [_pos,"Land_Dome_Big_F"]; _rsb = nearestObject [_pos,_vaultHouse]; for "_i" from 1 to 3 do {_dome setVariable [format ["bis_disabled_Door_%1",_i],1,true]; _dome animate [format ["Door_%1_rot",_i],0];}; _dome setVariable ["locked",true,true]; _rsb setVariable ["locked",true,true]; _rsb setVariable ["bis_disabled_Door_1",1,true]; _dome allowDamage false; _rsb allowDamage false;*/ // <= nicht weit genug auskommentiert /* Tell clients that the server is ready and is accepting queries */ life_server_isReady = true; publicVariable "life_server_isReady"; /* Initialize hunting zone(s) */ aiSpawn = ["hunting_zone",30] spawn TON_fnc_huntingZone; // We create the attachment point to be used for objects to attachTo load virtually in vehicles. life_attachment_point = "Land_HelipadEmpty_F" createVehicle [0,0,0]; life_attachment_point setPosASL [0,0,0]; life_attachment_point setVectorDirAndUp @@fcb22fa7304594a5711b28a3c156b3955a80aaac@@; // Sharing the point of attachment with all players. publicVariable "life_attachment_point"; diag_log "----------------------------------------------------------------------------------------------------"; diag_log format [" End of Altis Life Server Init :: Total Execution Time %1 seconds ",(diag_tickTime) - _timeStamp]; diag_log "----------------------------------------------------------------------------------------------------";
Du hast das Auskommentieren etwas gefailt
kann passieren. Schaue dir da nochmal die privaten _-Variablen an, welche zusammenhängen.
Zur anderen Frage:
Hast du AI/KI deaktiviert? Das geht in der mission.sqm bzw. in der description.ext.
Möglicherweise liegt aber auch ein Fehler in einer h/hpp-Datei vor. Schaue dazu einfach in die Clientlogs und halt Ausschau nach Fehlern.