AsYetUntitled / Framework

Altis Life RPG mission framework for Arma 3 originally made by @TAWTonic.
Other
247 stars 309 forks source link

Sync Data Dupe Glitch #639

Closed milani23234 closed 3 years ago

milani23234 commented 4 years ago

Expected behaviour

You take the items, hit sync data, give them back to your friend/veichle, press ALT F4, join back to the server and you don't have those items.

Actual behaviour

You take the items, hit sync data, give them back to your friend/veichle, press ALT F4, join back to the server. You have the items and your friend/veichle as well.

Steps to reproduce the behaviour

Two ways:

  1. Somone drop his loadout on the ground. You take it, hit sync data in Y menù, drop it back to your friend and wait until he took all the items, press ALT + F4 or force close in task manager, join back to the server, enjoy your duped loadout.
  2. hit sync data in Y menù (with your loadout), put your loadout in your veichle inventory, press ALT F4, join back to th server, enojy duped loadout.

RPT and/or extDB3 logs (if applicable)


Mission version: v5.0.0

Launcher version: 1.5.146096

Game version: 1.96.146114

Branch: main / beta branch not specified

TaktischerSpeck commented 4 years ago

only thing you can do is to sync the gear of the player on DC. That means you use the on DC EVH and you need to rewrite you save gear script a bit so that you can execute it with any unit not only on player. than its fixed

MartinezDeveloper commented 3 years ago

life_server\Functions\Systems\fn_clientDisconnect.sqf

put [] call SOCK_fnc_updateRequest; above this [_uid] spawn TON_fnc_houseCleanup;

AngryHerring commented 2 years ago

Tested using [] call SOCK_fnc_updateRequest (yes, even with remoteExecCall, no target sadly). Fix? Creating a similar script server-side.

Again, creating such a script, will implement even more exploits. One to mention is:

Edit: Adds to the point its stupid to directly add items to the player, instead of adding it to a created "dummy unit". https://community.bistudio.com/wiki/createVehicleLocal (typeOf player createVehicleLocal)