Alex_Hell 27 сен 2017, 01:02
если хочешь надежно и в меру не-крякабельно, то вся логика на сервере, например клиент говорит серву "открой сундук", серв выполняет код который проверяет шанс выпадения предмета, выдает предмет в инвентарь (в памяти, и сохраняет синхронно/асинхронно в БД возможно сразу а возможно батчами раз в N сек), и сообщает клиенту что он получил и должен показать юзеру.
конфиги предметов - статы урон, и что там еще - храни на сервере, передавай при старте на клиент в виде JSON (не XML), в юнити есть парсер JSON. Для серва тоже - на PHP,Java.
Как БД не выбирай файлы, они запароться могут, и работать "правильно" с ними сложней, изучи СУБД типа MySQL, и юзай SQL скрипты с серверной стороны вызываемые на UPDATE/INSERT/SELECT.
В таблице предметов можешь ввести например:
(long) UserId - (long) ItemTypeId
1 - 1
1 - 2
2 - 1
2 - 3
тут понятно какие предметы имеются в инвентаре какого игрока,
а по ItemTypeId понятно что за характеристики из сопутствующего связанного конфига ItemTypeId -> ItemInfo , с любыми под-параметрами, в зависимости от того на сколько универсальна система - какие атрибуты и на сколько одинаковые у предметов есть, может быть, может быть если это Урон у всех оружий, Броня у доспехов, тут можешь делить ItemType еще как Id 1 например Оружий, Id 2 Броня.
Главное во всех ID не запутаться, т.к. каждый из своего множества, т.е апельсины с человеками не смешивать