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

xuser

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

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

  • Посещение

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

    1
  • Отзывы

    0%

xuser стал победителем дня 24 ноября 2012

xuser имел наиболее популярный контент!

Репутация

122

5 Подписчиков

Информация о xuser

  • Звание
    Построил домик

Информация

  • Пол
    Не определился
  • Город
    Volgograd city

Контакты

Посетители профиля

6253 просмотра профиля
  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

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