Moin,
erstmal das ganze wurde von mir bei der 5.0 getestet.
Also was genau macht es:
Jedes mal wenn der Spieler die "Take" oder "Store" Taste drückt wird ein (!kompletter!) gear sync durchgeführt.
Warum das ganze?
Das Tonic Framework ist an dieser stelle etwas "dumm", das gear (darunter auch die z items) werden nur bei zb. dem drücken von Z Sync Data gespeichert und können zb. nicht beim Disconnect gespeichert werden.
Somit kann man auf sehr vielen Servern Dupen und das recht simpel ohne tools das Inventar Duplizieren.
Auf nachfrage erkläre ich gerne wie aber ich will das hier nicht öffentlich schreiben, kurz gesagt der Server bekommt nicht schnell genug mit das die Items umgelagert wurden und nicht mehr beim spieler sind.
ACHTUNG
Das ganze bringt nachteile mit sich, bei jedem button click wird ein DB befehl mit dem kompletten gear ausgeführt, das ist nicht so super performance freundlich für die EXTDB aber naja evtl schreibe ich oder ein andere es etwas um.
In den folgenden Datein:
-fn_vehStoreItem.sqf
-fn_vehTakeItem.sqf
-fn_vehStoreAllItem.sqf (falls vorhanden)
-fn_vehTakeAllItem.sqf (falls vorhanden)
fügt ihr nach dieser Zeile
das folgende ein
das wars schon
der ausschnitt der datei sollte jetzt ca so aussehen:
life_trunk_vehicle setVariable ["Trunk",[_data,(_old select 1) - _weight],true];
[life_trunk_vehicle] call life_fnc_vehInventory;
[3] call SOCK_fnc_updatePartial;
} else {
[ localize "STR_NOTF_InvFull",true,"fast"] call life_fnc_notification_system;
};
};
Es ist wirklich keine schöne methode aber momentan die einzige die mir einfällt die den dupe verhindert