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

Relvl

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

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

  • Посещение

  • Отзывы

    0%

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

  1. Relvl

    Квест

    из третьего диалога ссылку в студию, откуда мы знаем, чем вы пытаетесь его запустить.
  2. Можно уточнить, что за раздел, и что туда попадает?
  3. Relvl

    Компиляция

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

    Компиляция

    DJ считается лучшим декомпилером, как бы коряво он не декомпилил... Эклипс не может.
  5. Relvl

    Rush Impact

    ну для массивного запроса лучше уж тогда конкретный left outer join использовать.
  6. Опыта ты так не наберешься, только мазоли на жопе натрешь... Копание почти в слепую и опыт - вещи разные. Это как если бы ты тексты огромные писал не в Ворде, а в блокноте... Или проекты дельфи бы писал в блокноте а потом компилил консольным ядром... так же глупо, когда есть хорошая среда разработки. PS: Это в армии так любят - "похер, что глупо, зато как старики научили"
  7. Как я и думал... А код редактируешь в чем? В блокноте? Если уж пытаетесь начать программировать - выбирайте среду программирования, так будет проще начать, и так не будет дурацких вопросов "почему ошибка при компиляции?". Любая среда программирования прямо во время написания кода покажет, где ошибка, подчеркнет её. А Эклипс ещё и предложит варианты решения.
  8. Не, ну это я понимаю... Не дурак... Только вот зачем?
  9. Один вопрос... А нафига проверка на (_appearance.getTitleColor() == 0xFFFF77) ?..
  10. Думаю, в том, что писал в блокноте... PS: Многие, кто пользуется эклипсом, даже не подозревают о наличии в нем поддержки рантайм-редактирования кода... код ядра можно менять во время его работы (за исключением изменения деклараций). Я вообще компилирую ядро раз в 3-4 дня, для проверки "на всякий случай", и если требуется быстродействие или много памяти.
  11. Relvl

    Rush Impact

    Я, конечно, не спец в SQL, но такое делается не с помощью джойнов, а с помощью подзапросов... На память нечто вроде: UPDATE items i SET i.enchant_level = 16 WHERE i.enchant_level > 16 AND i.item_id IN {SELECT item_id FROM weapons w} И это только в случае, если в базе присутствует таблица, содержащая список всего оружия (что уже смешно). Я бы допилил ядро с целью правильного указания значений custom_type1 и custom_type2 в таблице items (в голой лыже туда нули пишутся)... А про вопрос для регистрации - дело правильное, многих "одминчегов" отпугнет... PS: а джойны нужны только для запроса, содержащего по несколько полей из нескольких таблиц... И по уму, если такие запросы частые, нужно использовать даже не джойны, а форейн кеи... оптимизировать нужно базу, и лагов меньше станет...
  12. Relvl

    Rush Impact

    На некоторых серверах с помощью этих поинтеров показываются некоторые аспекты геодаты, например пафноуды, найденные пути и т.д. Только вот почему у тебя они отображаются где-то надо головой - не понятно... PS: Мне всегда становится страшно, когда вижу баловство таких вот админов... Ведь многие из них даже пытаются открыть сервер, и там играет немножко человек... какое-то время... бедняги...
  13. Relvl

    Твт Эвент

    Я немного не понимаю, в чем суть проблемы... Если есть исходники, то в чем запарка? Грузите их в Eclipse, ставите курсор на нужную переменную, правый тык, "Сылки" - "Рабочая область..." В панели поиска вылезут все упомянания этого метода/переменной/класса... Либо контрл+клик откроет объявление метода/переменной. Эклипс вообще очень мощная среда, если не бояться экспериментировать с управлением...
  14. Нужно было немного внимательнее читать. Поля я заполняю только для опций, которые вызываются очень часто. А вот опции, которые читаются редко (максимум раз в секунду) я читаю напрямую из фастмапа, через геттеры getBoolVar, getVar Если частоиспользуемые опции вызывать из фастмапа - немного проседает производительность сервера. А автолуты используются ОЧЕНЬ часто на средненаселенных серверах, ведь они вызываются по 3+ раз после каждого убийства моба... Отсюда и следуюет логика для второй цитаты, большинство переменных я читаю геттером сразу (а точнее все, кроме экономии траффика и автолутов). А запихнуть сюда можно что угодно: автолут адены/итемов/хербов, опыт вкл/выкл, цвет ника/титула, экономия траффика, альтернативное построение дерева скиллов для изучения (обычное, или учить сразу максимально доступный лвл скилла у учителя), опция и время для получения геройства на фиксированный срок... Да что угодно, это примерно треть опций, которые я использую. Кстати, все эти настройки (кроме донаторских) я позволяю переключить из комьюнити. Обработчик комманд таким образом получается крайне маленький... Сейчас я перепиливаю комьюнити полностью, возможно позже выложу (если, конечно, другие участники форума будут награздать меня за все шары и баг-фиксы Спасибками )... На данный момент это уже одна из самых продвинутых Комьюнити, которые я видел на серверах (на правах хвастовства )...
  15. В последнем билде L2JServer HF не правильно работает автолут хербов при магической атаке. Вместо того, чтоб кастовать скил с аттриботом Simultaneous, ядро добавляло планировку использования после завершения основого каста персонажа. Это приводит к тому, что если быстро убивать много мобов без паузы - планировка хербов накапливается, и они применяются не сразу, а только после остановки каста минимум на 200мс. Вместо того, чтоб найти причину проблемы, разработчики просто прикрыли ошибку такой вот затычкой. Решение проблемы: В классе L2PcInstance метод addItem() должен выглядеть так: В классе ItemSkillsTemplate метод useItem() должен выглядеть так: В классах L2Item и L2ItemInstance добавить недостающие методы соответственно:
  16. Динамические переменные. Без доработок работает только с исходниками L2JServer. Если у Вас другие исходники - допиливайте сами, фактически, я просто предлагаю Вам идею и пример реализации. Позволяют для каждого персонажа хранить индивидуальный набор переменных. Стоит оговориться, что "переменными" я называю это чисто условно, для удобства. Формально же это - просто механизм чтения/записи строк и работы с листом. Данный механизм позволяет без дальнейшего исправления класса L2PcInstance и без добавления настоящих переменных в этот или другой класс сделать гибкую настройку персонажа. К примеру, у меня в сервере так реализовано сохранение настроек индивидуального автолута, экономии траффика, показа цен на телепорты и многое другое. Оратор из меня плохой, так что кто не понял - извиняйте Внешне этот код ни каких изменений не принесет, но будет часто встречаться в моих следующих мануалах. Так же сразу хочу заметить, что в случаях очень частого доступа лучше сделать внешнюю переменную, в которую и будут записываться данные из динамической. Дальше в коде покажу это на примере конфига автолута. Делать это стоит для повышения производительности, ведь чтение непосредственно переменной, или её геттера гораздо быстрее, чем чтение из фастлиста. Итак, поехали. Для начала необходимо создать таблицу в базе данных. Для этого можно сделать SQL-запрос, а можно сделать импорт из файла. Как именно добавлять - решать Вам, я опишу второй способ и приведу код запроса. У большинства стоит программа Navicat, для неё и пример:
  17. ну тогда уж *.ini - inicializator расширение придумать какое угодно можно. а в линуксе вообще можно указать только расширение, и не указывать имя файла.
  18. Я и не имел в виду, что буду писать в любой попавшейся теме. Я имею в виду, что уже опасаюсь местный троллей, думаю, что они зальют дерьмом любой код.
  19. Разумеется, что мало кто пишет, ведь если приходит толковый новичек вроде меня, которому бы пообщаться с хорошими программистами, или просто послушать чужое мнение, то его обязательно надо затроллить. Я уже заметил, это тут правило такое. Хотел вот пару примеров кода выложить, но уже сомневаюсь, стоит ли.
  20. Хм... На даты особо и не смотрел... Привык, что на форумах обычно первая страница актуальная. Значит, форум помирающий, и ни кто оживлять больше не хочет? Ладно, поищу более живой...
  21. "Установить" его не получится. Его нужно "вшивать" в ядро сервера... Скажу так: такие исходники выкладывают не для "установки", а для того, чтоб начинающие программисты могли посмотреть, как он работает, и сделать самим, ведь большинство таких вот "модов" не подойдут на большинство сборок сервера (разные классы, объекты, методы, логика). К примеру, практически ни один мод для L2JServer не подойдет, скажем, к феникс-подобным.
  22. Я бы сказал даже так сказал: Файлы - они и есть файлы. Расширения файлов нужны только системе (виндовс), для того, чтоб заранее знать, какой программой его открывать. Можно обозвать расширения конфигов хоть "sdjfhsdjhhjf", хоть оставить вообще без расширения, главное указать это в ядре. А вот реализация структуры файла - это уже другое дело. Но... Если автор не понимает, зачем нужны расширения, лучше бы не трогать алгоритмы чтения... PS: Я вообще подумываю почти все конфиги в базу перенести, взвешиваю вот все "за" и "против"...
  23. Я, конечно, не про-игрок, но опыт игры большой... Пруф-линк на эту информацию можно? Я лично первый раз такое слышу. PS: "Нельзя вешать" и "не будет эффекта, если повесишь" - вещи разные, но ни про то, ни про другое не слышал.
  24. Я в свое время тоже делал его, практически идентично, только попроще и без возможности фейка количества онлайн, и без конфигов:
×
×
  • Создать...