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

sla686

Пользователи
  • Публикаций

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

  • Посещение

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

    7

Изменения репутации

  1. Нравится
    sla686 изменил репутацию Electr0 за запись, Мелкие недочеты ядра меги   
    Иногда кнопка хукается по три раза что вызывает тройные срабатывания келбеков на игроках, что вызывает либо тройной спам о том что кто-то запустил панику, либо тройное наказание при кулдауне за одну попытку нажатия, не приятно. Стиль сообщений как и способ их вывода некоторых случаях вызывает сомнения. Вместо отдельных кулдаунов нужно сделать один на кнопку и максимально его упростить. В коде есть лишние участки на типе фразы для недоступного никому голосования на блокировку кнопки. Сделать умный вывод времени если остается 5 мин то и пиши 5 мин, если 15.6 секунд то так и пиши 15.6 сек. и писать нужно в центр экрана, а не засорять чат! в некоторых местах есть дублирование кода, не хорошо. Перевести весь код на SourcePawn Transitional Syntax
  2. Нравится
    sla686 изменил репутацию Electr0 за запись, Для пущего накала страстей нужно сбрасывать на игроков самолет за 30 сек до рестарта сервера =D   
    Тикающий таймер обратного отчета до перезагрузки по заданию на 6:30 утра по москве, звуки падающего самолета, только самолет касается игроков Server shutdown хаахаха, эпично же =D
  3. Нравится
    sla686 изменил репутацию Electr0 за запись, Фикс проблемы нулевых патронов   
    После разговора с  @EnumaElish по поводу удаленной команды !drop1, мне в голову пришла идея как обойти данные проблемы. 
    Первое нужно обновить !drop плагин:
    !drop - команда получила короткий синоним !d, выкидывает только текущее оружие в руках. добавил !drop_empty - команда получила короткий синоним !d2, выкидывает пустое оружие из слота 0 (все основные пушки на вроде винтовок, дробовиков и так далее), замена !drop1 которая без проверок и была удалена в последних обновлениях, я ее посчитал дебаг кодом когда исправлял ошибку с копированием ближних оружий после броска и дропа, потом оказалось ее без меня заяц добавлял =D, ну никаких заметок не было так что этого было не избежать) добавил !drop_all - команда получила короткий синоним !d3, выкидывает все оружие из всех разрешенных слотов. (замечал что игроки перед выходом оставляют другим оружие но вводить по команду !drop по кол-ву слотов не очень удобно думаю. Тяжкие часы:
    Я долго думал как исправить застревание оружия без патронов ведь их не сменить, в итоге в поисках всяких методов блокировки последнего патрона понял ничего не получится, точнее получилось красивый плагин и даже анимация не подвисала, но мне не понравилось что игрок не сможет воспользоватся последним патроном, все же это не то куда я хотел придти.
    Третье:
    В итоге я пришел к тому что нужно переписать функцию смены слотов, в ней отсутствовали пара важных проверок, а так же криво написанный код в который я при смене движка выдачи оружия в этом плагине даже не вдавался. Итог я сделал проверку на нулевые патроны в нулевом слоте, при этом если во втором нулевом слоте что-то есть то плагин сразу поменяет оружие без патронов на оружие из второго нулевого слота.
    Теоретические проблемы:
    ПРОБЛЕМА 1: Есть еще такое исключение, допустим у игрока нет НИЧЕГО в втором нулевом слоте, тогда эта пушка без патронов застрянет опять как до изменений. Что в таком случае делать? может тоже автоматом класть в второй слот (я проверял в таком случае при прокрутке мыши или клике на правую клавишу мыши будет то помещение пустого оружия нулевого слота во второй нулевой слот, либо наоборот в пустой из второго нулевого пустое оружие обратно. РЕШЕНИЕ 1: Проверялся вариант блокирования выдачи пустого оружия из второго нулевого слота в пустой нулевой слот, НО в таком случае если игрок использует патроницу он не получит патронов, а значит не сможет взять оружие пока не возьмет что-то другое в нулевой слот с патронами чтобы поменять оружие с патронами на оружие без и зарядить его. Как вариант можно в событии взятия патронов в случае если у игрока одно оружие без патронов на спине (второй нулевой слот) который нельзя взять если применить РЕШЕНИЕ 1, заряжать это оружие патронами автоматически. Принято РЕШЕНИЕ 2: нужно не трогать это исключение, в таком случае если игрок все равно у игрока НЕТ оружия которое можно было бы использовать хоть так хоть сяк. если ему надо он найдет или купит патроны либо найдет другое оружие и возьмет во второй слот то что без патронов если оно ему так дорого, все равно то оружие без патронов что он подберет за взятым с патронами, само поменяется местами с тем в котором патроны есть. ПРОБЛЕМА 2: у игрока накопилось ДВА нулевых слота с пустыми патронами, в этом случае при прокрутке центральным колесом мыши либо нажатии правой клавиши мыши происходит переключение из слота в слот.  Принято РЕШЕНИЕ 1: поднимать данные от сохраненного второго нулевого слота и в случае наличия пустого оружия в обоих нулевых слотах ничего не делать ибо это не имеет смысла они оба пусты и не несут смысловой нагрузки.  В принципе цели достигнуты, но нужно приватное тестирование, ибо не уверен что я не породил дополнительных возможностей скопировать оружие при смене слота, нужно все проверить.
×
×
  • Создать...