Hey habe das Skill System für die 3.1.4.8 eingefügt und wenn ich jetzt joine lädt er nicht mehr. Er wartet nur für meine UID.
Das hier habe ich in den Logs gefunden!
Code
};
waitUntil{sleep (random 0.3); !DB_Async_Active};
_tickTime = diag_tickT>
22:38:52 Error position: <DB_Async_Active};
_tickTime = diag_tickT>
22:38:52 Error Undefined variable in expression: db_async_active
22:38:52 File life_server\Functions\MySQL\fn_queryRequest.sqf, line 28
22:38:52 Error in expression <d];};
};
waitUntil{sleep (random 0.3); !DB_Async_Active};
_tickTime = diag_tickT>
22:38:52 Error position: <DB_Async_Active};
_tickTime = diag_tickT>
22:38:52 Error Undefined variable in expression: db_async_active
22:38:52 File life_server\Functions\MySQL\fn_queryRequest.sqf, line 28
Alles anzeigen
Kann mir da vielleicht helfen?
C: queryRequest.sqf
/*
File: fn_queryRequest.sqf
Author: Bryan "Tonic" Boardwine
Description:
Handles the incoming request and sends an asynchronous query
request to the database.
Return:
ARRAY - If array has 0 elements it should be handled as an error in client-side files.
STRING - The request had invalid handles or an unknown error and is logged to the RPT.
*/
private["_uid","_side","_query","_return","_queryResult","_qResult","_handler","_thread","_tickTime","_loops","_returnCount"];
_uid = [_this,0,"",[""]] call BIS_fnc_param;
_side = [_this,1,sideUnknown,[civilian]] call BIS_fnc_param;
_ownerID = [_this,2,ObjNull,[ObjNull]] call BIS_fnc_param;
if(isNull _ownerID) exitWith {};
_ownerID = owner _ownerID;
/*
_returnCount is the count of entries we are expecting back from the async call.
The other part is well the SQL statement.
*/
_query = switch(_side) do {
case west: {_returnCount = 10; format["SELECT playerid, name, cash, bankacc, adminlevel, donatorlvl, cop_licenses, coplevel, cop_gear, cop_prof, blacklist FROM players WHERE playerid='%1'",_uid];};
case civilian: {_returnCount = 9; format["SELECT playerid, name, cash, bankacc, adminlevel, donatorlvl, civ_licenses, arrested, civ_gear, civ_prof FROM players WHERE playerid='%1'",_uid];};
case independent: {_returnCount = 9; format["SELECT playerid, name, cash, bankacc, adminlevel, donatorlvl, med_licenses, mediclevel, med_gear, med_prof FROM players WHERE playerid='%1'",_uid];};
};
waitUntil{sleep (random 0.3); !DB_Async_Active};
_tickTime = diag_tickTime;
_queryResult = [_query,2] call DB_fnc_asyncCall;
diag_log "------------- Client Query Request -------------";
diag_log format["QUERY: %1",_query];
diag_log format["Time to complete: %1 (in seconds)",(diag_tickTime - _tickTime)];
diag_log format["Result: %1",_queryResult];
diag_log "------------------------------------------------";
if(typeName _queryResult == "STRING") exitWith {
[[],"SOCK_fnc_insertPlayerInfo",_ownerID,false,true] spawn life_fnc_MP;
};
if(count _queryResult == 0) exitWith {
[[],"SOCK_fnc_insertPlayerInfo",_ownerID,false,true] spawn life_fnc_MP;
};
//Blah conversion thing from a2net->extdb
private["_tmp"];
_tmp = _queryResult select 2;
_queryResult set[2,[_tmp] call DB_fnc_numberSafe];
_tmp = _queryResult select 3;
_queryResult set[3,[_tmp] call DB_fnc_numberSafe];
//Parse licenses (Always index 6)
_new = [(_queryResult select 6)] call DB_fnc_mresToArray;
if(typeName _new == "STRING") then {_new = call compile format["%1", _new];};
_queryResult set[6,_new];
//Convert tinyint to boolean
_old = _queryResult select 6;
for "_i" from 0 to (count _old)-1 do
{
_data = _old select _i;
_old set[_i,[_data select 0, ([_data select 1,1] call DB_fnc_bool)]];
};
_queryResult set[6,_old];
_new = [(_queryResult select 8)] call DB_fnc_mresToArray;
if(typeName _new == "STRING") then {_new = call compile format["%1", _new];};
_queryResult set[8,_new];
//PROFICENCYS
//Parse licenses (Always index 9)
_new = [(_queryResult select 9)] call DB_fnc_mresToArray;
if(typeName _new == "STRING") then {_new = call compile format["%1", _new];};
_queryResult set[9,_new];
//Convert string to number
_old = _queryResult select 9;
for "_i" from 0 to (count _old)-1 do
{
_data = _old select _i;
_old set[_i,[_data select 0, ([_data select 1,1] call DB_fnc_numberSafe),([_data select 2,1] call DB_fnc_numberSafe) ]];
};
_queryResult set[9,_old];
//Parse data for specific side.
switch (_side) do {
case west: {
_queryResult set[10,([_queryResult select 10,1] call DB_fnc_bool)];
};
case civilian: {
_queryResult set[7,([_queryResult select 7,1] call DB_fnc_bool)];
_houseData = _uid spawn TON_fnc_fetchPlayerHouses;
waitUntil {scriptDone _houseData};
_queryResult pushBack (missionNamespace getVariable[format["houses_%1",_uid],[]]);
_gangData = _uid spawn TON_fnc_queryPlayerGang;
waitUntil{scriptDone _gangData};_queryResult pushBack (missionNamespace getVariable[format["gang_%1",_uid],[]]);
};
};
_keyArr = missionNamespace getVariable [format["%1_KEYS_%2",_uid,_side],[]];
_queryResult set[13,_keyArr];
[_queryResult,"SOCK_fnc_requestReceived",_ownerID,false] spawn life_fnc_MP;
Alles anzeigen
Danke im Voraus!
Mfg Pius von Team-Wings