• Если вы испытываете проблемы с пополнением баланса, свяжитесь с @WOLF SPIRIT.

Помогите передача лута

sim12345

26 Дек 2023
143
3
78
28
Всем здравствуйте,кто может подсказать плагин который запрещает передачу предметов другим игрокам
 
Запретишь ты выкидывать лут, ок. Нельзя будет так передать.
Ну или сделать так что бы выкинутый лут мог поднять только владелец.

А через ящик? А через перераб? И другие объекты?)
 
Запретишь ты выкидывать лут, ок. Нельзя будет так передать.
Ну или сделать так что бы выкинутый лут мог поднять только владелец.

А через ящик? А через перераб? И другие объекты?)
Можно сделать костыль к имени предмета, в который закодировать стимайди пробелами или иными символами, а потом валидировать это
 
Можно сделать костыль к имени предмета, в который закодировать стимайди пробелами или иными символами, а потом валидировать это
Ассоциативное хранилище, при загрузке плагина привязывать вещи к их владельцам исходя от того где они находятся (в ящике владельца дома X, в интвентаре владельца X), при перемещении проверять кто владелец. Делал когда то примерно такое:
C#:
    public static class MyPropertyExtensions
    {
        private static readonly ConditionalWeakTable<object, Propertries> _properties = new();

        public static ulong GetMyProperty(this object obj) =>  _properties.GetOrCreateValue(obj).Owner;
        public static void SetMyProperty(this object obj, ulong value) => _properties.GetOrCreateValue(obj).Owner = value;

        private class Propertries
        {
            public ulong Owner { get; set; }
        }
    }
 
Ассоциативное хранилище, при загрузке плагина привязывать вещи к их владельцам исходя от того где они находятся (в ящике владельца дома X, в интвентаре владельца X), при перемещении проверять кто владелец. Делал когда то примерно такое:
C#:
    public static class MyPropertyExtensions
    {
        private static readonly ConditionalWeakTable<object, Propertries> _properties = new();

        public static ulong GetMyProperty(this object obj) =>  _properties.GetOrCreateValue(obj).Owner;
        public static void SetMyProperty(this object obj, ulong value) => _properties.GetOrCreateValue(obj).Owner = value;

        private class Propertries
        {
            public ulong Owner { get; set; }
        }
    }
а плагина нет готового?
 
Можно сделать костыль к имени предмета, в который закодировать стимайди пробелами или иными символами, а потом валидировать это
В Item`ах уже сделали это, они хранят того кто их "выкинул".

Но тут посыл в том что.

Например закинул вещи в перераб один, а забрал переработанное другой игрок.
Ибо при переаботке удаляется перерабатываемый предмет и создаеться совсем новый.

Или был ящик набитый одним игроком, "владелец" разрушил его, методом взрыва, "выпадет" серый стеш, который уже овнера теряет.

И еще куча и куча способов как это обойти)
 
В Item`ах уже сделали это, они хранят того кто их "выкинул".

Но тут посыл в том что.

Например закинул вещи в перераб один, а забрал переработанное другой игрок.
Ибо при переаботке удаляется перерабатываемый предмет и создаеться совсем новый.

Или был ящик набитый одним игроком, "владелец" разрушил его, методом взрыва, "выпадет" серый стеш, который уже овнера теряет.

И еще куча и куча способов как это обойти)
Все это тоже легко детектится, у перераба есть хук в котором есть человек который инициировал. Но тут и вправду довольно интересная тема. А насчет моего примера - да, есть такой класс, забыл за него
 
Все это тоже легко детектится, у перераба есть хук в котором есть человек который инициировал.
Да. Но не будешь же ты лочить перераб пока закинувший вещи все оттуда не заберет.
Так хватит одного дебила который по всем перерабам по карте пробежится и "полочит" их. А если лок делать на 1 игрока, на время, поможет, если у дебила нет тимы)
 
Да. Но не будешь же ты лочить перераб пока закинувший вещи все оттуда не заберет.
Так хватит одного дебила который по всем перерабам по карте пробежится и "полочит" их. А если лок делать на 1 игрока, на время, поможет, если у дебила нет тимы)
можно сделать так,что бы все вещи при закрытия перераба возвращались в инвентарь
 
можно сделать так,что бы все вещи при закрытия перераба возвращались в инвентарь
Можно) Просто эти НО для передачи лута, привеликое множество)

А еще можно вещи "заменой" через лутбоксы менять (или уже нет? :D)
 
Крафт через верстак (с трубами и тд)

С технической точки это будет очень запарно, одними хуками не обойдешся, патчить придется.
Патчи тут фактически чуть ли не самое легкое будет. Гораздо сложнее будет найти все способы обхода этой всей темки
 
можешь сказать хотя б 1?
А еще ведь, как вариант, есть же тиммейты, у тебя же не MAX1 сервер?) У тебя же подозреваю PvE.
А PvE люди имеют свойство, да как и на PvP в тимах играть.

Передачу между тимейтами запретить? Тогда люди будут уходить на другие сервера.
А если разрешить? Что мешает игроку А принять в тиму игрока Б, передать вещи и выгнать из тимы?

Это просто что сейчас прям в голову приходит.

А игроки, они еще те блять затейники, иногда такое найдут, до чего сам никогда не додумаешься.
 
А еще ведь, как вариант, есть же тиммейты, у тебя же не MAX1 сервер?) У тебя же подозреваю PvE.
А PvE люди имеют свойство, да как и на PvP в тимах играть.

Передачу между тимейтами запретить? Тогда люди будут уходить на другие сервера.
А если разрешить? Что мешает игроку А принять в тиму игрока Б, передать вещи и выгнать из тимы?

Это просто что сейчас прям в голову приходит.

А игроки, они еще те блять затейники, иногда такое найдут, до чего сам никогда не додумаешься.
для этого естьклан,между ними можно и передавать все)
 
Активность
Пока никто не печатает сообщение