Keiner? Kann doch nicht sein o.o
Von ExtDB 2 auf 3 [64bit] RAW SQL
-
- Altis Life
-
crackhead -
27. Januar 2017 um 12:16
-
-
oups 2x..
-
Ich möchte euch mal die einfachste möglichkeit ans Herz legen damit geht es zu 100% .github: extDB2 → extDB3 · AsYetUntitled/Framework@ff70991 · GitHub man muss nur gut lesen können, bei mir geht es mit der AL v. 4.4
-
-
indem du in zeile 45 mal schaust wo das ) fehlt
Error Missing ) <-
Und poste bitte mal deine init.sqf
-
Code
Alles anzeigenif (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(!(EQUAL(_result,"[1]"))) then {throw "extDB3: Error with Database Connection"}; _result = EXTDB format["9:ADD_DATABASE_PROTOCOL:%2:SQL:%1:TEXT",FETCH_CONST(CRA_sql_id),EXTDB_SETTING(getText,"DatabaseName")]; if(!(EQUAL(_result,"[1]"))) then {throw "extDB3: Error with Database Connection"}; } catch { diag_log _exception; life_server_extDB_notLoaded = [true, _exception];
-
Die ganze wäre schon hilfreich
-
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 4.4r4 -------------------------------------------"; 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; } 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 [[0, 0.95, 1, 0.8], "Side Channel", "%UNIT_NAME", []]; life_radio_civ = radioChannelCreate [[0, 0.95, 1, 0.8], "Side Channel", "%UNIT_NAME", []]; life_radio_indep = radioChannelCreate [[0, 0.95, 1, 0.8], "Side Channel", "%UNIT_NAME", []]; /* 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) */ _dome = nearestObject [[16019.5,16952.9,0],"Land_Dome_Big_F"]; _rsb = nearestObject [[16019.5,16952.9,0],"Land_Research_house_V1_F"]; 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; /* 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 [[0,1,0], [0,0,1]]; // 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 "----------------------------------------------------------------------------------------------------";
-
Da das hier ja ein EXTDB3 Thread ist, frage ich mich nun, willst du ein extDB2 Problem lösen'? Weil anscheind nutzt du extDB2 und nicht 3.
-
Habe das Problem so ähnlich wie von Diyos.
Code19:32:27 Error in expression <gServer" >> "DatabaseName")]; if(!(EQUAL(_result,"[1]"))) then {throw "extDB3: E> 19:32:27 Error position: <(_result,"[1]"))) then {throw "extDB3: E> 19:32:27 Error Missing ) 19:32:27 File life_server\init.sqf, line 32 19:32:27 Error in expression <gServer" >> "DatabaseName")]; if(!(EQUAL(_result,"[1]"))) then {throw "extDB3: E> 19:32:27 Error position: <(_result,"[1]"))) then {throw "extDB3: E> 19:32:27 Error Missing ) 19:32:27 File life_server\init.sqf, line 32
Entweder bin ich gerade etwas blöd im Kopf oder ich sehe den Fehler nicht. Mir ist es bewusst das ein ) fehlt aber nicht wo.Die init.sqf ist angehängt.
Danke im Vorraus
-
Probiers mal bitte mit der init
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. */ #define __CONST__(var1,var2) var1 = compileFinal (if(typeName var2 == "STRING") then {var2} else {str(var2)}) DB_Async_Active = false; DB_Async_ExtraLock = false; life_server_isReady = false; publicVariable "life_server_isReady"; [] execVM "\life_server\functions.sqf"; [] execVM "\life_server\eventhandlers.sqf"; //I am aiming to confuse people including myself, ignore the ui checks it's because I test locally. _extDB3 = false; //Only need to setup extDB3 once. 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 "extDB3: Error with Database Connection"}; _result = EXTDB format ["9:ADD_DATABASE_PROTOCOL:%2:SQL:%1:TEXT2",FETCH_CONST(CRA_sql_id),EXTDB_SETTING(getText,"DatabaseName")]; if (!(_result isEqualTo "[1]")) then {throw "extDB3: Error with Database Connection"}; } catch { diag_log _exception; _extDBNotLoaded = [true, _exception]; }; if (_extDBNotLoaded isEqualType []) exitWith {}; EXTDB "9:LOCK"; diag_log "extDB3: Connected to Database"; } else { life_sql_id = uiNamespace getVariable "life_sql_id"; CONSTVAR(life_sql_id); diag_log "extDB3: Still Connected to Database"; }; if (_extDBNotLoaded isEqualType []) exitWith { life_server_extDB_notLoaded = true; publicVariable "life_server_extDB_notLoaded"; }; life_server_extDB_notLoaded = false; publicVariable "life_server_extDB_notLoaded"; //Run procedures for SQL cleanup on mission start. ["CALL resetLifeVehicles",1] spawn DB_fnc_asyncCall; ["CALL deleteDeadVehicles",1] spawn DB_fnc_asyncCall; ["CALL deleteOldHouses",1] spawn DB_fnc_asyncCall; ["CALL deleteOldGangs",1] spawn DB_fnc_asyncCall; //Maybe delete old gangs life_adminlevel = 0; life_medicLevel = 0; life_coplevel = 0; //Null out harmful things for the server. __CONST__(JxMxE_PublishVehicle,"No"); //[] execVM "\life_server\fn_initHC.sqf"; life_radio_west = radioChannelCreate [[0, 0.95, 1, 0.8], "Side Channel", "%UNIT_NAME", []]; life_radio_civ = radioChannelCreate [[0, 0.95, 1, 0.8], "Side Channel", "%UNIT_NAME", []]; life_radio_indep = radioChannelCreate [[0, 0.95, 1, 0.8], "Side Channel", "%UNIT_NAME", []]; serv_sv_use = []; fed_bank setVariable["safe",(count playableUnits),true]; //General cleanup for clients disconnecting. addMissionEventHandler ["HandleDisconnect",{_this call TON_fnc_clientDisconnect; false;}]; //Do not second guess this, this can be stacked this way. [] spawn TON_fnc_cleanup; life_gang_list = []; publicVariable "life_gang_list"; life_wanted_list = []; client_session_list = []; [] execFSM "\life_server\cleanup.fsm"; [] spawn { private["_logic","_queue"]; while {true} do { sleep (30 * 60); _logic = missionnamespace getvariable ["bis_functions_mainscope",objnull]; _queue = _logic getvariable "BIS_fnc_MP_queue"; _logic setVariable["BIS_fnc_MP_queue",[],TRUE]; }; }; [] spawn TON_fnc_federalUpdate; [] spawn { while {true} do { sleep (30 * 60); { _x setVariable["sellers",[],true]; } foreach [Dealer_1,Dealer_2,Dealer_3]; }; }; //Strip NPC's of weapons { if(!isPlayer _x) then { _npc = _x; { if(_x != "") then { _npc removeWeapon _x; }; } foreach [primaryWeapon _npc,secondaryWeapon _npc,handgunWeapon _npc]; }; } foreach allUnits; [] spawn TON_fnc_initHouses; pb_spieler = []; pb_spielstatus = 0; pb_maxspieler = 10; //Lockup the dome private["_dome","_rsb"]; _dome = nearestObject [[16019.5,16952.9,0],"Land_Dome_Big_F"]; _rsb = nearestObject [[16019.5,16952.9,0],"Land_Research_house_V1_F"]; 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];}; _rsb setVariable["bis_disabled_Door_1",1,true]; _rsb allowDamage false; _dome allowDamage false; life_server_isReady = true; publicVariable "life_server_isReady";
-
-
Zeig mal die init mit [lexicon]extDb[/lexicon] 2 die bei die ging bitte
-
Hatte vorher extDB35. Aber gerne.
-
-
ich bin mir nicht sicher ob man so einfach von [lexicon]extDB[/lexicon] 1 auf 3 gehn kann
aber änder mal in der initi für extDB3
CRA_sql_id
zu
life_sql_id
-
Leider noch immer, aber naja es wird glaube nichts mehr xD.
-
Hey habe das nun so gemacht und in meinen DB Logs steht. Nach der Weile schmiert die Arma Exe ab.
Code[15:51:15:007551 +02:00] [Thread 17860] extDB3: SQL: Initialized: Add Quotes around TEXT Datatypes mode: 1 [15:51:15:007759 +02:00] [Thread 17860] extDB3: SQL: Initialized: NULL = "" [15:51:15:007950 +02:00] [Thread 17860] extDB3: Locked [15:51:16:003663 +02:00] [Thread 17860] extDB3: Error Unknown Protocol: 4788 Input String: 2:4788:SELECT houses.id, houses.pid, houses.pos, players.name FROM houses, players WHERE houses.owned='1'
Vielleicht hat ja jemand ne Lösung.
AltisLife 4.4
-
Anscheinend irgendein falscher Eintrag unter den Häusern
-