Перейти к публикации

Electr0

Администраторы
  • Публикаций

    10 362
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    414

Комментарии к Запись, опубликованные пользователем Electr0

  1. Прототип 7: план. Сделанное зачеркнуть. Отложенное подчеркнуть. Ломать так ломать.

    • Исправить баг с касаниями предметов
    • В ходе тестов шестой сборки выявлен спам касаниями из-за неправильного типа хука который был во всех старых версиях, исправил тип хука с TOUCH, на Start_touch как и задумывалось.
    • добавить функцию пометки / убирания метки с предметов из определенных слотов, нужно чтобы она понимала что если слот не загружен делать ничего не нужно.
    • добавить функцию пересохранения предметов из выбранного слота (в тот же слот). Команда !fs_resave_slot <номер слота>, нужно чтобы она понимала что если слот не загружен делать ничего не нужно.
    • Сделать ENUM нумерацию кодов режимов работы функций загрузки, сохранения.
    • В коде сохранения есть пара мест которые должны были быть унифицированы раньше, но видимо нехватило времени. Если сделать как задумывалось избежим кучу IO траффика.
    • Переименовать команду сохранения всех предметов в слот с  !fs_save_slot <номер слота> на !fs_save_all_in_slot <номер слота>
    • Исправить нумерацию слотов в документации, там указано что есть 1-5 слоты, но их уже 1-10, нужно брать цифру из константы числа слотов что я добавил в том году.
    • При обращении к несуществующему слоту писать диапазон номеров слотов.
    • В английской документации название функции переименования слотов такое же как и у загрузки слота, это нужно поправить.
    • У функции закрепления / переименования слотов ссылка на инструкцию загрузки слота. wtf.
    • В англ. версии документации закрепления слотов отсутствует заметка как в русской версии, что повторный вызов команды по указанному слоту приводит к снятию закрепления.
    • Добавить показ функции установки пароля на дверь всем, но если игрок не имеет доступа писать ему что ему нужен вип.
    • Изменить метод управления правами доступа на установку двери с "Через жопу", на нормальный.
    • Сделать прямой вызов к новодобавленным функциям в меню напрямую через CallFUNC, так мы исключим время на обработку фейковой команды от игрока сервером
    • Добавить информацию о кол-ве сохраненных предметов в слот.
    • добавить минимализма названиям меню из сохранения загрузки.
    • добавить функцию выравнивания группы помеченных предметов, по выбранной оси, предмета по курсору игрока.

     

  2. Прототип 6: В голове не умещается вместе со всеми возможными проблемами все то что нужно сделать поэтому напишу тут. Сделанное зачеркнуть.

    Исправить исключения:

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

    Добавить:

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

    Изменить:

    • Есть глобальный таймер повторяющийся каждые в 0.1 для показа геометрии, его нужно сделать личным для конкретного клиента и выключать его когда проп для показа геометрии равен нулю, там мы избавимся от холостого хода по данной задаче, ибо он постоянно перебирает клиентов и ищет через все 2048 пропов у кого включена геометрия, мне никогда не нравился этот подход но тогда не было времени что-то придумывать.
    • В протипе 5 применяется проверка которая не проверяет был ли ноль в переменной где хранится референсный код пропа, это очень опасно, нужно исправить.

    Удалить:

    • В режиме граба планировались некоторые функции которые не были реализованы однако келбеки от них я оставил, нужно выпилить это.
    • Для определения заграблен ли предмет есть две функции одна исключает текущего клиента, другая же нет, нужно объединить в одну.
  3. Прототип 5, переменные хранящие индекс пропа переведены на Entity Reference код, чтобы точно быть уверенным что это именно тот предмет что мы запоминали, в связи с этим большая часть переменных переделана в строну оптимизации и уменьшения использования массивов там где этого можно избежать. Исправлено дублирование перевода из референс кода пропа в обычный индекс в функциях которые извлекали данные из ArrayList'ов игрока (сохранение, и и прочие)

    Исправлен краш из за переключения модели на несуществующую, теперь там жесткие списки с максимальными номерами для конкретных, игроку пишет при попытке неверно изменить правильные диапазоны.

  4. Прототип 4: альфа мяу, здесь по плану нужно будет реализовать:

    • Блокировку вызова функций которые не поддерживают групповое редактирование во время того как включен режим редактирования только помеченных предметов, чтобы исключить ложные запросы редактирования объектов по курсору.
    • Добавить в информацию о предмете кнопочку пометки предмета, полезно при поиске анимации.
    • Может быть добавить функцию выравнивания группы предметов, по выбранной оси, предмета по курсору игрока.
  5. Прототип 3: переделана система доступа к предметам, теперь она передает коды ошибок, что позволило сделать перед действиями над группой предметов анализ, если хоть один из предметов нельзя трогать, действие над всей группой не производится т.к. мы потеряем целостность редактируемой группы, вместо действия в таком случае пишет сколько предметов вызвало проблему и какую именно (такой же стиль как при ошибках загрузки слота. Проблема нарушения целостности таким образом закрыта.

  6. Я понял как можно облегчить работу плагину во всех сферах вплодь до сохранения огромных убег. это уменьшит нагрузку при поиске из больших массивов данных что происходит при массовых телодвижениях. надеюсь поможет, только нужно перелопатить весь плагин ><. Так я уменьшу кол-во итераций на поиск одного предмета из памяти с 2048 до 1.

  7. Реализовал пометку/убирание меток всех предметов игрока по команде, при передвижении 300 предметов одновременно возникают сильные лаги, это не только сетевой трафик ведь при одновременной передаче инфы о трехста предметах лаги неизбежны, ничего не могу с этим поделать. видимо эта возможность будет только для випов в иных случаях есть риск троллинга сервера ненормальными.

  8. Первый прототип только что заработал: Работает функция передвинуть несколько помеченных предметов по определенной оси одновременно.

    По странному стечению обстоятельств играла музыка Clint Mansell – First Movement, очень мило, были мурашки когда эти строки что я писал в редакторе заработали) к этому не привыкнешь)

  9. мелкие технические поправки в код бета версии:

    • Откатил инициацию танков на старую схему.
    • щит снова работает по старой схеме, он не скрывается а просто удаляется, снимают его не часто смысла в этом нет выходит.
    • если кобальт кого-то ударил по идее блюр прекращается, ЗНАЧИТ нужно удалить муляж с карты что я и сделал.
    • если таймаут спец способности меньше 0.1 типа 0.0555хуевознаеткакоечисло то разрешаю использовать спец способность.
    • в версию без контроля людьми, при сборке плагина теперь не вкладываются все фичи для версуса (для коопа где только боты, для уменьшения нагрузки)
    • для щит танка используется отдельная переменная статуса спец способности, тогда как все остальные используют другую, вырезал эту отдельную и вшил ту что используют другие, + к унификации кода и меньшему жору памяти.
    • Нашел баг в новой версии, таймер снятия кулдауна запускался не из корректного места, а так же можно открыть дверь находясь за километр, расстояние не учитывается и это пздц плохо.
    • Старый баг: определение расстояния идет от человека который пытается открыть дверь, а не от самой двери, переделал на дверь.

    Схема нотификации будет следующая, всем игрокам вне зоны открытия двери (дальше чем 500 юнитов от нее), пишется черный хинт "Пожалуйста подойдите к убежищу" во время попытки открыть дверь, в этот же момент, всем игрокам в чат будет писать фразу: Дождитесь игроков: Nick, Bill, Francis, Me, не более 4 никнеймов, отсортированых от самого далекого от убеги и по убыванию расстояния. Наконец тот кто попытался открыть дверь, если кто-то далеко был то ему пишет хинт "Дождитесь прибытия всех игроков"

    Что-то такое должно быть в чат тому кто открывает:
    Ждем игроков: Rochelle, Ellis, Coach

    В качестве антиспама до старта открытия двери, будет выступать следующее: если кто-то был далеко от двери при попытке ее открыть то она дает запрет на 2.0 сек, после этого можно снова попытатся открыть дверь. При попытке открыть дверь во время кулдауна в 2.0 сек игрок получает сообщение "Попробуйте через {1} секунд."    

    Плагин дверей будет игнорировать попытки ботов открыть дверь.

    Раньше же писало максимум 2 игрока и то они могли быть где-то почти рядом, теперь же первый игрок в надписи "Дождитесь игроков: {1}" самый далекий от нее.

    Похожая тема будет для закрытия двери, но без сортировки по дальности от двери.

    Что-то такое должно быть тому кто закрывает:

    Ждем игроков: Rochelle, Ellis, Coach

    Молчаливый кулдаун заменен понятным и говорящим сколько нужно ждать.

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

    Пока дверь открывается плагин должен игнорировать попытки воздействовать на дверь клавишей действия.

  10. игроки не понимают текущую систему нотификаций конечной двери. она не понятная они продолжают прыгать на двери в надежде что та откроется, нужно изменить это. Применить кулдаун если кто-то из игроков не подошел к двери чтобы не спамило. Уведомлять хинтом ВСЕХ далеко стоящих игроков (больше 500 юнитов от двери) о том что им нужно подойти к убеге. Т.к плагин не считает тех кто в инкапе, стоит не считать и тех кто под атакой спец зараженного ибо фигурально они оба выведены из строя просто один совсем другой не совсем)

  11. Плагин перекалиброван с учетом фиксов определения расстояния, минимальное расстояние открытия двери 500 юнитов (вместо 1000). Плагин считает выжившего в убеге если он на расстоянии максимум на расстоянии от 0 до 300 (было 1000) юнитов от выжившего помеченого как в находящегося в убеге.

×
×
  • Создать...