Перейти к содержанию

xuser

Постоялец
  • Публикаций

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

  • Посещение

  • Победитель дней

    1
  • Отзывы

    0%

Весь контент xuser

  1. xuser

    Ошибка ГС

    К сожалению я не пользуюсь дебианом, но вы правильно поняли вам нужно установить графическую оболочку и оттуда запускать эту сборку, как я уже сказал понятия не имею зачем они используют там awt,
  2. xuser

    Ошибка ГС

    Просто она требует быть запущенной внутри графической сессии (тоесть должен быть установлен и запущен xorg сервер) правда зачем это сборке ума не приложу. Руки надо разрабам оторвать за такое).
  3. Да ничего та особо не менялось самым глобальным изменением было переименование классов и удаление gpl заголовков.
  4. Мой вариант модификации был написан до обновления и расчитан на старую версию. Там всё работало единственно гем падал на землю даже при включенном автолуте. Что там в новой версии незнаю так-как её не смотрел.
  5. Да мне он тоже пару минусов поставил, но мне как-то до этого дела нет.
  6. Поддерживаю и сделал тоже самое. Кстати это далеко не первый случай. Раньше такие способы получения репутации уже использовались некоторыми пользователями на этом форуме правда очень давно. Ну как говорится всё новое это хорошо забытое старое.
  7. Для валидации стиля джава кода есть библиотека checkstyle используется обычна так: java -jar path/to/checkstyle.jar -c path/to/checks.xml path/to/file В качестве пути до checks.xml можно использовать как реальный путь в файловой системе так и одно из двух внутренних значений: /sun_checks.xml /google_checks.xml Но запускать вручную проверку перед каждым коммитом не удобно и легко забыть на помощь нам приходят система хуков (перехватчиков). В случае с git в качестве хука может использоваться любой скрипт/бинарник поддерживаемый вашей системой. В моём примере это скрипт на руби. Так-как мы хотим выполнить валидацию кода перед коммитом то лучше всего нам подходит хук pre-commit. Если выполнение хука завершается с не нулевым статусом коммит отменяется. Создаём в поддирректории .git/hooks нашего репозитория файл pre-commit со следующим содержимым: #!/usr/bin/env ruby require 'stringio' # redirrect outpit to stderr $stdout = STDERR # run shell command with stderr reddirection # and strip tralling spaces, etc from it's output def run(command) `#{command} 2>/dev/null`.strip end # change dirrectory to repository root Dir.chdir(run('git rev-parse --show-toplevel')) # config = '/google_checks.xml' config = run('git config --get checkstyle.config') # jarpath = '/usr/share/checkstyle/checkstyle.jar' jarpath = run('git config --get checkstyle.jarpath') # java binary in path so not need in absolute path javacmd = run('git config --get checkstyle.javacmd') # set javacmd to java when it empty javacmd = 'java' if javacmd.empty? # display error message when config variables not set if config.empty? || jarpath.empty? puts 'pre-commit: Stopping commit because of errors.' puts 'To use this script you need set following variables:' puts ' git config [--global] checkstyle.config path/to/checks.xml' puts ' git config [--global] checkstyle.jarpath path/to/checkstyle.jar' puts "\npre-commit: You can bypass this check using `git commit -n`" # exit with non zero exit code to abort commit exit 1 end # iterate over files staged for commit run('git diff --cached --name-only --diff-filter=ACM').lines.each do |f| # skip non java files next unless /^.*\.java$/ =~ f # run code style check for current file and delete constant lines from it's output # use 'bash -c' because java may be not in PATH enviroment variable used by sh message = `bash -c '#{javacmd} -jar #{jarpath} -c #{config} #{f}' 2>/dev/null` .gsub(/(?:Starting audit\.{3}|Audit done\.)/, '').strip # if no message go to next file next if message.empty? # reformat and display message puts 'pre-commit: Stopping commit because of errors.' puts "Errors in file: #{f}" message.lines.each do |l| # use regex to get needed values from line /^\[(\w+)\] .*\.java:(\d+)?:\d+? (.*)$/i.match(l) do |m| # use values found by regex to create reformated line puts " line #{m[2]} #{m[1].downcase}: #{m[3]}" end end puts "\npre-commit: You can bypass this check using `git commit -n`" # exit with non zero exit code to abort commit exit message.lines.count end Далее настраиваем параметры: git config checkstyle.config path/to/checks.xml git config checkstyle.jarpath path/to/checkstyle.jar Так-как скрипт написан на руби то интерпретатор руби должен быть установлен в системе. Теперь перед коммитом джава файлы буду проверятся с помощью checkstyle аатоматически, а при нахождении ошибок коммит будет отменён и соответствующее сообщение выведено на экран. Более подробную информацию про хуки в git можно найти тут. Вот как это выглядит: Обновлено: Добавил комментарии для тех кто не знает руби. Вопрос: Интерусует ли подобная информация кого-нибудь на этом форуме? В планах написать общий хук на руби или баше который будет запускать другие хуки к примеру 1н для валидации java исходников, 2й для валидации xml итд. Возможно интеграция с существующим гемом pre-commit, а может полностью свой велосипед . Насколько получится незнаю так-как изучать хуки стал только вчера, да и других дел много. PS: писалось и тестировалось под линуксом и будет ли работать в винде понятия не имею . Подобные хуки поддерживают и другие системы контроля версий такие как svn, mercurial итд. Описываю на примере git потому что сам только его и использую.
  8. В ядро обычно l2jserver.jar. Если что при компиляции эти файлы превоащаются в .class файлы, а те в свою очередь складываются в jar файл (jar файл является zip архивом с измененным расширением).
  9. Зачем так всё усложнять там в пакетах покупки/прожажи инты сравниваются с Integer.MAX_VALUE тоесть возможно переполнение цены. Когда цена привысит 2 в 31 степени + 1 она станет отрицательной и легко минует проверку. Я бы сделал скриншот, но у меня этот баг уже пофикшен. Единственное что надо чтобы цена 1й стопки итемов не превышала это число иначе она не минует проверку Integer.MAX_VALUE / _count < _price
  10. Зависит от сборки вот пример из ацисов: <set name="equip_condition" val="{{ec_academy;1}}" /> <cond msgId="1518"> <player pledgeClass="1" /> </cond>
  11. Ну раз я тут пробегал скажу что баг с лесом фиксится 1й строчкой в GameServer.java меняем DayNightSpawnManager.getInstance();на DayNightSpawnManager.getInstance().notifyChangeMode();Я писал об этом и тут, и на их форуме давным давно, но воз и ныне там.Начальный КВ на соски есть на их форуме только там нужна небольшая модификация для соответствия последним изменениям в сборке. А именно в Tutorial.java сразу после super(-1, "custom");Добавить строчку setOnEnterWorld(true);И добавить сам метод @[member='override'] public String onEnterWorld(L2PcInstance player) { QuestState st = player.getQuestState(qn); if (null != st) notifyEvent("UC", null, player); return super.onEnterWorld(player); }Сам пакет EnterWorld трогать не нужно.Что реально важно это то что не работают КВ на 4й и 5й лвл клана. Нету АИ фринты и зака (АИ зака есть в шаре).
  12. xuser

    Активные ЛС

    Такого механизма нет ЛС баф от простого бафа для сервера ничем не отличается. Если вы хотите чтобы можно было бафать много лс, но ограничить их кол-во вам понадобится добавить какой-то параметр по которому сервер будет отличать их от простых и реализовать его поддержку в ядре.
  13. xuser

    Активные ЛС

    Вас интересует эта строка в ДП у ЛС скилов: fect name="Buff" time="120" val="0" stackOrder="1" stackType="abnormal_item">
  14. xuser

    aCis-Olimp

    Ну да или если вас не устраивает вы можете изменить это поведение (с того же топика):
  15. xuser

    aCis-Olimp

    С топика на максчитерс (не реклама):
  16. Нет там такого))). Да и на ИЛ это не особо нужно так-как нигде кроме туториала не используется.
  17. 1462318837091 это дата и время в миллисекундах с 1го января 1070 года. То есть 3е Мая 2016 года 23:40.
  18. Вам ничего не мешает сделать свой кв который будет обрабатывать событие при получении уровня. Правда окошко с html будет другое так-как не используется showTutorialHTML. 1е создать кв с обработкой нужного события.
  19. xuser

    Ищу фиксы на aCis

    А что с ним не так? Если проблема в том что сразу после старта сервера там нету мобов (они респаются при первой смене дня/ночи) то в GameServer.java находите строчку: DayNightSpawnManager.getInstance();И меняете её на: DayNightSpawnManager.getInstance().notifyChangeMode();При старте правда будет 1но лишнее сообщение в лог: DayNightSpawnManager: Removed 0 day/night creaturesЧтобы это исправить надо открыть DayNightSpawnManager.javaи заменить: _log.info("DayNightSpawnManager: Removed " + i + " " + UnspawnLogInfo + " creatures");на: if (i > 0) _log.info("DayNightSpawnManager: Removed " + i + " " + UnspawnLogInfo + " creatures");а также: _log.info("DayNightSpawnManager: Spawned " + i + " " + SpawnLogInfo + " creatures");на: if (i > 0) _log.info("DayNightSpawnManager: Spawned " + i + " " + SpawnLogInfo + " creatures");PS: Мне одному кажется лишней эта проверка? if (!unSpawnCreatures.isEmpty())PPS: Из конструктора DayNightSpawnManager можно убрать вызов notifyChangeMode(); на момент его выполнения (перед добавлением первого спауна в _dayCreatures или _nightCreatures) он вызовет метод changeMode(int mode);, а тот в свою очередь просто завершиться так-как и _dayCreatures, и _nightCreatures ещё пустые. Кстати у силентиума эта проблема давно исправлена + добавлен метод trim(), который перед первым вызовом notifyChangeMode() выполняет функцию trimToSize() для обоих списков (_dayCreatures и _nightCreatures), но в целом наш с ним ход мыслей совпал.
  20. У меня уже давно нет этого файла. Могу написать с нуля если надо, но надо решить под какую сборку.
  21. Cами себе противоречите. PS: помоему вы изобретаете GvE.
  22. А воспользоваться поиском по форуму религия не позволяет? CryptToken = False
  23. Убрать у пользователя БД привелегию SUPER или установить кодировку utf-8 для соединения с базой.
  24. Эксросенсов нету. Что пишет?
×
×
  • Создать...