Moin,
aktuell haben wir folgendes Problem. Bei einigen Häusern gehen die platzierten Kisten kaputt. Es scheint nach den bisherigen Erkenntnissen sich immer wieder um die selben Häuser zu handeln. Bisher habe ich noch keinen Anhaltspunkt gefunden warum die Kisten wegbuggen. Zum Teil kauft ein Spieler das Haus platziert die Kiste und kann auch darauf zugreifen. Nach einem Disconnect bzw. Server Restart ist die Kiste dann nicht mehr vorhanden. In der DB finde ich aber die Kiste inklusive Inhalt noch zu mindestens so lange kein weiterer Restart erfolgt ist. Danach wurde die Kiste inkl. I-Inventar auch in den DB gelöscht. Wenn der Spieler dann eine neue Kiste platziert kann er zu mindestens auf das T-Inventar zugreifen aber das ist keine befriedingten Lösung . Achja wir haben die Anzahl der möglichen Kisten von ehemals 4 auf eine reduzierte um den Effekt etwas abzuschwächen.
Ich poste hier mal das Script zum Platzieren der Kiste beim Connect.
/*
BLAH BLAH
I LOVE NOTEPAD++ GET OVER IT
BLAH!
*/
private["_house","_houseID","_containers","_query"];
_house = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
if(isNull _house) exitWith {systemChat "House null";};
_houseID = _house getVariable["house_id",-1];
if(_houseID == -1) exitWith {systemChat "HouseID invalid";};
_containers = _house getVariable ["containers",[]];
systemChat format["Number of containers found: %1",count _containers];
_arr = [];
{
_className = typeOf _x;
_weapons = getWeaponCargo _x;
_magazines = getMagazineCargo _x;
_items = getItemCargo _x;
_backpacks = getBackpackCargo _x;
_arr pushBack [_className,[_weapons,_magazines,_items,_backpacks]];
} foreach _containers;
_arr = [_arr] call DB_fnc_mresArray;
_query = format["UPDATE houses SET containers='%1' WHERE id='%2'",_arr,_houseID];
waitUntil{!DB_Async_Active};
[_query,1] call DB_fnc_asyncCall;
//systemChat "Query ran?";
Alles anzeigen
Gruß,
moeck