Trade

ПРИВАТНЫЙ Trade 1.5.0

  • We have added support for the PayPal payment gateway to our site! 
    Мы добавили поддержку платежного шлюза PayPal на наш сайт!

- Очередная попытка исправить потерю на клиенте данных обменника, это связано в основном с перемещением игрока на большие дистанции во время трейда, так же было замечено что может возникать из за больших дистанций между игроком и обменником.
- переписал плагин и его логику, надеюсь это исправит все
Всем у кого не закрывается окно после обмена - обновите ваши сервера.

- Исправилены некоторые недочеты.
- Переделаны проверки на уничтожение окна а так же его компонента
- Добавил проверки на завершения обмена чтобы не кидало NRE
Добавил задержку на окончание трейда так как на некоторых серверах предметы просто возращались игрокам
ВАЖНО! Разработчики намудрили с принудительным окончанием лутания. В данный момент НЕЛЬЗЯ принудительно завершать лутание игрока.
Так же старая функция когда игрок при лутании отходит от ящика при это он долэен завершить лутать не срабатывает. Игрок продолжает лутать но уже invalid container.
Так что ждём обновления серверной и клиентской части, обновление трейда уже не потребуется.

В данный момент после завершения у игрока остается пустое окно обменника


- Исправлены ошибки, теперь трейд работает отлично.
- Вернул старый поиск игрока
- Пару небольших изменений
- Исправлена работоспособность, изменен хук (Спасибо Oxide <3)
- Изменены некоторые параметры какие должны убрать ошибки в некоторых случаях при обмене.
- Добавлена проверка на дистанцию, и завершение трейда если игрок отошёл на определенную дистанцию после начала трейда
- Уменьшено время удаления окна после завершения обмена
- Добавлено API bool PlayerGetActiveTrade(BasePlayer player) - Возвращает true\false в случае если у игрока есть активный запрос на трейд
Исправил ошибки регионов.
- Исправлена проблема с исчезновением UI кнопки трейда, теперь UI вообще нету
- Исправлена проблема с нерабочей кнопкой Принять трейд
- Код отформатирован и приведен к нормальному виду
- Исправлен недочёт при каком была возможность снимать моды с оружия - Это работает и на стандартных окнах
- Убрал UI текст.

Теперь при переносе предмета в окно трейда, его контейнер блокируется, и при возрате блокировка снимается. Это работает на все виды предметов у каких есть свой миниинвентарь
- исправлена ошибка OnItemSplit
Исправил NRE у OnItemSplit. В случае если появится, сообщите что именно вы или игроки делали, что бы вызвать ошибку
Временный "фикс", исправляющий NRE в OnItemSplit
Исправил NRE в OnItemSplit
  • Я исправил проблему с пропаданием лута у игроков.
  • Исправил проблему обменника, а именно в случае если первый игрок принял трейд, а второй разбивает стак и соглашается (По сути кидает его). Теперь в случае если изменен лут на момент если один из игроков принял обмен, он будет отменен.
  • Добавил использование трейда привилегией и включение\отключение в конфигурации
  • Обновил языковой файл.
перезалив
Перезалив после обновления ффорума
Я допустил одну маленькую ошибку в проверке, из за чего в любых других контейнерах перестала работать функция "Забрать все" правой клавишей )
Добавлен фикс для переноса ресурсов через колесиком мышки в чужое окно. Кстати оно так же фиксит и через обычную витрину.
Добавлена проверка на Duel. Если один из игроков на Duel, трейд не будет принят, и запрос будет удален.
Так же добавлена строка в языковой файл:
Код:
"DENIED.DUEL": "Недоступно, один из игроков на Duel!"
Вернул назад Cooldown (Я сместил его). Теперь его будет давать лишь после завершения обмена между игроками
Очередной раз стараюсь исправить пропадание вещей. Я не могу понять с чем это связано, так как лично у меня и у друзей у каких стоит плагин, вещи у игроков не пропадают. Это лишь связано с окном обменника. Так как трейд не сохраняет и не выдает вещи, он лишь делает активным окно
Добавил команды /trade yes и /trade no (Старые не убирал)
Изменил языковой файл перед обновлением удалите его.

Немного изменил выдачу задержки после трейда. Теперь Cooldown выдаеться игрокам только в случает удачного трейда (Открытия окна).
Исправил ошибки NRE связанные с открытием инвентаря/лутанием ящиков во время принятия трейда друга. Теперь если будет открыт инвентарь, вы будете лутать других игроков, при этом начнеться трейд, старое лутание закроеться, и откроеться трейд
Глобальные изменения, добавлена конфигурация, обновлен Lang
Первое это конфигурация.

Код:
{
  "Основное": {
    "Время ответа на предложения обмена (секунд)": 15,
    "Задержка использования трейда (Cooldown - секунд)": 60.0,
    "Запретить использовать трейд в воде": true,
    "Запретить использовать трейд в полёте": true,
    "Запретить использовать трейд в предсмертном состоянии": true,
    "Запретить отправлять запрос в BuildingBlock": true,
    "Запретить принимать запрос в BuildingBlock": true,
    "Количество активных слотов при обмене": 8
  }
}
Языковой файл:
Код:
{
  "DENIED.FALLING": "Недоступно, вы левитируете!",
  "TRADE.HELP": "Trade by RustPlugin.ru\nИспользуйте комманду <color=orange>/trade \"НИК\"</color> для обмена",
  "PLAYER.NOT.FOUND": "Игрок '{0}' не найден!",
  "TRADE.ALREADY.PENDING.ANOTHER.PLAYER": "Невозможно! Игрок '{0}' уже отправил вам предложение обмена!",
  "TRADE.ACCEPT.PENDING.EMPTY": "У вас нет входящих предложний обмена!",
  "TRADE.CANCELED": "Trade отменен!",
  "TRADE.SUCCESS": "Trade успешно завершён!",
  "PENDING.RECIEVER.FORMAT": "Игрок '{0}' отправил вам предложние обмена\nДля принятия обмена используйте команду <color=orange>/trade accept</color>",
  "PENDING.SENDER.FORMAT": "Предложение обмена игроку '{0}' успешно отправлено, ожидайте...",
  "PENDING.TIMEOUT.SENDER": "Trade отменён! Причина: время истекло.",
  "PENDING.TIMEOUT.RECIEVER": "Trade отменён! Причина: вы вовремя не приняли запрос.",
  "PENDING.CANCEL.SENDER": "Trade отменён! Причина: игрок '{0}' отказался",
  "DENIED.SWIMMING": "Недоступно, вы плаваете!",
  "DENIED.WOUNDED": "Недоступно, вы в предсмертном состоянии!",
  "DENIED.GENERIC": "Недоступно, заблокировано другим плагином!",
  "DENIED.PRIVILEGE": "Недоступно, вы в зоне Building Blocked!",
  "DENIED.PERMISSION": "Недоступно, вы в зоне Building Blocked!",
  "TRADE.TOYOU": "Нельзя отправлять запрос самому себе!",
  "COOLDOWN": "Вы только недавно обменивались, подождите - {0:00} сек."
}

Добавлен Cooldown использования трейда
Добавлены проверки: Проверка в воде, на полёт, состояние здоровья.
Добавил управление количеством слотов
Добавлена проверка на существующий запрос трейда (Если игроку уже отправляли трейд)
Добавлена проверка на CanTrade (Множество плагинов работают с данной проверкой, NoEscape, Duel и т.п.)
Добавлено маленькое GUI потверждения трейда (Текст)

Изменены команды:
/trade - Открыть help по трейду
/trade NAME - Отправить запрос
/trade accept - Принять запрос
/trade cancel - Отменить запрос