Hallo, ich habe das Problem das mein Gear nicht korrekt geladen wird.
Also, ich versuche mal mein Problem genauer zu erklären:
Ich spawne (das Problem tritt bei allen Fraktionen auf) mit dem standart Loadout meiner Fraktion und Speichere über den Sync Button, dann warte ich 20 Sekunden und logge aus. Mein Loadout wurde korrekt in der Datenbank eingetragen, jedoch stehe ich wenn ich mich wieder einlogge komplett nackt da (d.h. Keine Kleidung, Rücksack, Brille, GPS, etc.).
Da das Gear ja korrekt in der Datenbank eingetragen wird, denke ich es liegt an der fn_loadGear.sqf.
Ich habe folgende Mods installiert(Wobei ich eig. nicht denke das es an den Mods liegt):
- ACE 3
- CBA A3
- CUP Terrain Core
- extDB2
- Task Force Radio 0.9.12
- X-Cam-Taunus Map
extDB und Server Logs sind angehangen
Meine fn_saveGear.sqf:
#include "..\..\script_macros.hpp"
/*
File: fn_saveGear.sqf
Author: Bryan "Tonic" Boardwine
Full Gear/Y-Menu Save by Vampire
Edited: Itsyuka
Description:
Saves the players gear for syncing to the database for persistence..
*/
private ["_return","_uItems","_bItems","_vItems","_pItems","_hItems","_yItems","_uMags","_vMags","_bMags","_pMag","_hMag","_uni","_ves","_bag","_handled","_savedVirtualItems"];
_return = [];
_savedVirtualItems = LIFE_SETTINGS(getArray,"saved_virtualItems");
_return pushBack uniform player;
_return pushBack vest player;
_return pushBack backpack player;
_return pushBack goggles player;
_return pushBack headgear player;
_return pushBack assignedITems player;
if (playerSide isEqualTo west || playerSide isEqualTo civilian && {LIFE_SETTINGS(getNumber,"save_civilian_weapons") isEqualTo 1}) then {
_return pushBack primaryWeapon player;
_return pushBack handgunWeapon player;
} else {
_return pushBack [];
_return pushBack [];
};
_uItems = [];
_uMags = [];
_bItems = [];
_bMags = [];
_vItems = [];
_vMags = [];
_pItems = [];
_hItems = [];
_yItems = [];
_uni = [];
_ves = [];
_bag = [];
if (!(uniform player isEqualTo "")) then {
{
if (_x in (magazines player)) then {
_uMags pushBack _x;
} else {
_uItems pushBack _x;
};
} forEach (uniformItems player);
};
if (!(backpack player isEqualTo "")) then {
{
if (_x in (magazines player)) then {
_bMags pushBack _x;
} else {
_bItems pushBack _x;
};
} forEach (backpackItems player);
};
if (!(vest player isEqualTo "")) then {
{
if (_x in (magazines player)) then {
_vMags pushBack _x;
} else {
_vItems pushBack _x;
};
} forEach (vestItems player);
};
if (count (primaryWeaponMagazine player) > 0 && alive player) then {
_pMag = ((primaryWeaponMagazine player) select 0);
if (!(_pMag isEqualTo "")) then {
_uni = player canAddItemToUniform _pMag;
_ves = player canAddItemToVest _pMag;
_bag = player canAddItemToBackpack _pMag;
_handled = false;
if (_ves) then {
_vMags pushBack _pMag;
_handled = true;
};
if (_uni && !_handled) then {
_uMags pushBack _pMag;
_handled = true;
};
if (_bag && !_handled) then {
_bMags pushBack _pMag;
_handled = true;
};
};
};
if (count (handgunMagazine player) > 0 && alive player) then {
_hMag = ((handgunMagazine player) select 0);
if (!(_hMag isEqualTo "")) then {
_uni = player canAddItemToUniform _hMag;
_ves = player canAddItemToVest _hMag;
_bag = player canAddItemToBackpack _hMag;
_handled = false;
if (_ves) then {
_vMags pushBack _hMag;
_handled = true;
};
if (_uni && !_handled) then {
_uMags pushBack _hMag;
_handled = true;
};
if (_bag && !_handled) then {
_bMags pushBack _hMag;
_handled = true;
};
};
};
if (count (primaryWeaponItems player) > 0) then {
{
_pItems pushBack _x;
} forEach (primaryWeaponItems player);
};
if (count (handgunItems player) > 0) then {
{
_hItems pushBack _x;
} forEach (handGunItems player);
};
{
_val = ITEM_VALUE(_x);
if (_val > 0) then {
_yItems pushBack [_x,_val];
};
} forEach _savedVirtualItems;
_return pushBack _uItems;
_return pushBack _uMags;
_return pushBack _bItems;
_return pushBack _bMags;
_return pushBack _vItems;
_return pushBack _vMags;
_return pushBack _pItems;
_return pushBack _hItems;
if (LIFE_SETTINGS(getNumber,"save_virtualItems") isEqualTo 1) then {
_return pushBack _yItems;
} else {
_return pushBack [];
};
life_gear = _return;
Alles anzeigen
Meine fn_loadGear.sqf:
#include "..\..\script_macros.hpp"
/*
File: fn_loadGear.sqf
Author: Bryan "Tonic" Boardwine
Description:
Loads saved civilian gear, this is limited for a reason and that's balance.
*/
private ["_itemArray","_handle"];
_itemArray = life_gear;
waitUntil {!(isNull (findDisplay 46))};
_handle = [] spawn life_fnc_stripDownPlayer;
waitUntil {scriptDone _handle};
if (count _itemArray isEqualTo 0) exitWith {
switch (playerSide) do {
case west: {
[] call life_fnc_copLoadout;
};
case civilian: {
[] call life_fnc_civLoadout;
};
case independent: {
[] call life_fnc_medicLoadout;
};
};
};
_itemArray params [
"_uniform",
"_vest",
"_backpack",
"_goggles",
"_headgear",
["_items",[]],
"_prim",
"_seco",
["_uItems",[]],
["_uMags",[]],
["_bItems",[]],
["_bMags",[]],
["_vItems",[]],
["_vMags",[]],
["_pItems",[]],
["_hItems",[]],
["_yItems",[]]
];
if (!(_goggles isEqualTo "")) then {_handle = [_goggles,true,false,false,false] spawn life_fnc_handleItem; waitUntil {scriptDone _handle};};
if (!(_headgear isEqualTo "")) then {_handle = [_headgear,true,false,false,false] spawn life_fnc_handleItem; waitUntil {scriptDone _handle};};
if (!(_uniform isEqualTo "")) then {_handle = [_uniform,true,false,false,false] spawn life_fnc_handleItem; waitUntil {scriptDone _handle};};
if (!(_vest isEqualTo "")) then {_handle = [_vest,true,false,false,false] spawn life_fnc_handleItem; waitUntil {scriptDone _handle};};
if (!(_backpack isEqualTo "")) then {_handle = [_backpack,true,false,false,false] spawn life_fnc_handleItem; waitUntil {scriptDone _handle};};
/* Hotfix for losing virtual items on login */
if (!isNil {(_this select 0)}) then {
life_maxWeight = life_maxWeight + (round(FETCH_CONFIG2(getNumber,"CfgVehicles",(backpack player),"maximumload") / 4));
};
{_handle = [_x,true,false,false,false] spawn life_fnc_handleItem; waitUntil {scriptDone _handle};} forEach _items;
{player addItemToUniform _x;} forEach (_uItems);
{(uniformContainer player) addItemCargoGlobal [_x,1];} forEach (_uMags);
{player addItemToVest _x;} forEach (_vItems);
{(vestContainer player) addItemCargoGlobal [_x,1];} forEach (_vMags);
{player addItemToBackpack _x;} forEach (_bItems);
{(backpackContainer player) addItemCargoGlobal [_x,1];} forEach (_bMags);
life_maxWeight = 100;
{
[true,(_x select 0),(_x select 1)] call life_fnc_handleInv;
} forEach (_yItems);
life_maxWeight = 24;
//Primary & Secondary (Handgun) should be added last as magazines do not automatically load into the gun.
if (!(_prim isEqualTo "")) then {_handle = [_prim,true,false,false,false] spawn life_fnc_handleItem; waitUntil {scriptDone _handle};};
if (!(_seco isEqualTo "")) then {_handle = [_seco,true,false,false,false] spawn life_fnc_handleItem; waitUntil {scriptDone _handle};};
{
if (!(_x isEqualTo "")) then {
player addPrimaryWeaponItem _x;
};
} forEach (_pItems);
{
if (!(_x isEqualTo "")) then {
player addHandgunItem _x;
};
} forEach (_hItems);
[] call life_fnc_playerSkins;
Alles anzeigen
So, ich hoffe ich habe nichts vergessen