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

La2Bash

Заблокирован
  • Публикаций

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

  • Посещение

  • Отзывы

    0%

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

  1. Мне кажется это из за того что я AI отключил. Т.к. гранд боссы мне нужны без квестов... будем тестить значит
  2. Может это потому что я загрузку AI отключил?
  3. Бесполезно, шанс в конфигах стоит 70%. Прилетаю в ХС, бью аркой (или скиллами без разницы) волков, пауков, флав - эффекта никакого даже ревматизма не дает.... А что именно в датапаке там не так?
  4. Щас ещё раз проверю пойду, бегаю за обычного перса ибо тест)
  5. Здравствуйте еще раз. Тестим сервер, пытаемся взять маляру - ничего не получается. Сталкивался ли кто нибудь с этой проблемой? Шанс поставил 70%. Код вроде нормальный. Вот HotSprings.java package com.l2jfrozen.gameserver.ai.special; import com.l2jfrozen.Config; import com.l2jfrozen.gameserver.datatables.SkillTable; import com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.model.quest.Quest; import com.l2jfrozen.util.random.Rnd; /** * Hot Spring Disease AI */ public class HotSprings extends Quest implements Runnable { //NPCs Implementation static final int[] malaria_mobs = { 21314, 21316, 21317, 21319, 21321, 21322 }; // Monsters which cast Hot Spring Malaria (4554) static final int[] flu_mobs = { 21317, 21322 }; // Monsters which cast Hot Springs Flu (4553) static final int[] cholera_mobs = { 21316, 21319 }; // Monsters which cast Hot Springs Cholera (4552) static final int[] rheumatism_mobs = { 21314, 21321 }; // Monsters which cast Hot Springs Rheumatism (4551) //Skills Implementation private static final int MALARIA_CHANCE = Config.MALARIA_CHANCE; private static final int FLU_CHANCE = Config.FLU_CHANCE; private static final int CHOLERA_CHANCE = Config.CHOLERA_CHANCE; private static final int RHEUMATISM_CHANCE = Config.RHEUMATISM_CHANCE; // Skills id private static final int MALARIA = 4554; private static final int FLU = 4553; private static final int CHOLERA = 4552; private static final int RHEUMATISM = 4551; public HotSprings(int questId, String name, String descr) { super(questId, name, descr); registerMobs(malaria_mobs); registerMobs(flu_mobs); registerMobs(cholera_mobs); registerMobs(rheumatism_mobs); } public String onAttack(L2NpcInstance npc, L2PcInstance attacker, int damage, boolean isPet) { if (contains(malaria_mobs, npc.getNpcId())) { if (attacker.getFirstEffect(MALARIA) != null) { int malaria_level = attacker.getFirstEffect(MALARIA).getLevel(); if (malaria_level == 1 && Rnd.get(100) < (MALARIA_CHANCE - malaria_level)) { SkillTable.getInstance().getInfo(MALARIA,malaria_level + 1).getEffects(attacker,attacker); } if (malaria_level == 2 && Rnd.get(100) < (MALARIA_CHANCE - malaria_level)) { SkillTable.getInstance().getInfo(MALARIA,malaria_level + 1).getEffects(attacker,attacker); } if (malaria_level == 3 && Rnd.get(100) < (MALARIA_CHANCE - malaria_level)) { SkillTable.getInstance().getInfo(MALARIA,malaria_level + 1).getEffects(attacker,attacker); } if (malaria_level == 4 && Rnd.get(100) < (MALARIA_CHANCE - malaria_level)) { SkillTable.getInstance().getInfo(MALARIA,malaria_level + 1).getEffects(attacker,attacker); } if (malaria_level == 5 && Rnd.get(100) < (MALARIA_CHANCE - malaria_level)) { SkillTable.getInstance().getInfo(MALARIA,malaria_level + 1).getEffects(attacker,attacker); } if (malaria_level == 6 && Rnd.get(100) < (MALARIA_CHANCE - malaria_level)) { SkillTable.getInstance().getInfo(MALARIA,malaria_level + 1).getEffects(attacker,attacker); } if (malaria_level == 7 && Rnd.get(100) < (MALARIA_CHANCE - malaria_level)) { SkillTable.getInstance().getInfo(MALARIA,malaria_level + 1).getEffects(attacker,attacker); } if (malaria_level == 8 && Rnd.get(100) < (MALARIA_CHANCE - malaria_level)) { SkillTable.getInstance().getInfo(MALARIA,malaria_level + 1).getEffects(attacker,attacker); } if (malaria_level == 9 && Rnd.get(100) < (MALARIA_CHANCE - malaria_level)) { SkillTable.getInstance().getInfo(MALARIA,malaria_level + 1).getEffects(attacker,attacker); } if (malaria_level == 10) { SkillTable.getInstance().getInfo(MALARIA,1).getEffects(attacker,attacker); } } else { if (Rnd.get(100) < MALARIA_CHANCE) { SkillTable.getInstance().getInfo(MALARIA,1).getEffects(attacker,attacker); } } } if (contains(flu_mobs, npc.getNpcId())) { if (attacker.getFirstEffect(FLU) != null) { int flu_level = attacker.getFirstEffect(FLU).getLevel(); if (flu_level == 1 && Rnd.get(100) < (FLU_CHANCE - flu_level)) { SkillTable.getInstance().getInfo(FLU,2).getEffects(attacker,attacker); } if (flu_level == 2 && Rnd.get(100) < (FLU_CHANCE - flu_level)) { SkillTable.getInstance().getInfo(FLU,3).getEffects(attacker,attacker); } if (flu_level == 3 && Rnd.get(100) < (FLU_CHANCE - flu_level)) { SkillTable.getInstance().getInfo(FLU,flu_level + 1).getEffects(attacker,attacker); } if (flu_level == 4 && Rnd.get(100) < (FLU_CHANCE - flu_level)) { SkillTable.getInstance().getInfo(FLU,flu_level + 1).getEffects(attacker,attacker); } if (flu_level == 5 && Rnd.get(100) < (FLU_CHANCE - flu_level)) { SkillTable.getInstance().getInfo(FLU,flu_level + 1).getEffects(attacker,attacker); } if (flu_level == 6 && Rnd.get(100) < (FLU_CHANCE - flu_level)) { SkillTable.getInstance().getInfo(FLU,flu_level + 1).getEffects(attacker,attacker); } if (flu_level == 7 && Rnd.get(100) < (FLU_CHANCE - flu_level)) { SkillTable.getInstance().getInfo(FLU,flu_level + 1).getEffects(attacker,attacker); } if (flu_level == 8 && Rnd.get(100) < (FLU_CHANCE - flu_level)) { SkillTable.getInstance().getInfo(FLU,flu_level + 1).getEffects(attacker,attacker); } if (flu_level == 9 && Rnd.get(100) < (FLU_CHANCE - flu_level)) { SkillTable.getInstance().getInfo(FLU,flu_level + 1).getEffects(attacker,attacker); } if (flu_level == 10) { SkillTable.getInstance().getInfo(FLU,1).getEffects(attacker,attacker); } } else { if (Rnd.get(100) < FLU_CHANCE) { SkillTable.getInstance().getInfo(FLU,1).getEffects(attacker,attacker); } } } if (contains(cholera_mobs, npc.getNpcId())) { if (attacker.getFirstEffect(CHOLERA) != null) { int cholera_level = attacker.getFirstEffect(CHOLERA).getLevel(); if (cholera_level == 1 && Rnd.get(100) < (CHOLERA_CHANCE - cholera_level)) { SkillTable.getInstance().getInfo(CHOLERA,2).getEffects(attacker,attacker); } if (cholera_level == 2 && Rnd.get(100) < (CHOLERA_CHANCE - cholera_level)) { SkillTable.getInstance().getInfo(CHOLERA,3).getEffects(attacker,attacker); } if (cholera_level == 3 && Rnd.get(100) < (CHOLERA_CHANCE - cholera_level)) { SkillTable.getInstance().getInfo(CHOLERA,cholera_level + 1).getEffects(attacker,attacker); } if (cholera_level == 4 && Rnd.get(100) < (CHOLERA_CHANCE - cholera_level)) { SkillTable.getInstance().getInfo(CHOLERA,cholera_level + 1).getEffects(attacker,attacker); } if (cholera_level == 5 && Rnd.get(100) < (CHOLERA_CHANCE - cholera_level)) { SkillTable.getInstance().getInfo(CHOLERA,cholera_level + 1).getEffects(attacker,attacker); } if (cholera_level == 6 && Rnd.get(100) < (CHOLERA_CHANCE - cholera_level)) { SkillTable.getInstance().getInfo(CHOLERA,cholera_level + 1).getEffects(attacker,attacker); } if (cholera_level == 7 && Rnd.get(100) < (CHOLERA_CHANCE - cholera_level)) { SkillTable.getInstance().getInfo(CHOLERA,cholera_level + 1).getEffects(attacker,attacker); } if (cholera_level == 8 && Rnd.get(100) < (CHOLERA_CHANCE - cholera_level)) { SkillTable.getInstance().getInfo(CHOLERA,cholera_level + 1).getEffects(attacker,attacker); } if (cholera_level == 9 && Rnd.get(100) < (CHOLERA_CHANCE - cholera_level)) { SkillTable.getInstance().getInfo(CHOLERA,cholera_level + 1).getEffects(attacker,attacker); } if (cholera_level == 10) { SkillTable.getInstance().getInfo(CHOLERA,1).getEffects(attacker,attacker); } } else { if (Rnd.get(100) < CHOLERA_CHANCE) { SkillTable.getInstance().getInfo(CHOLERA,1).getEffects(attacker,attacker); } } } if (contains(rheumatism_mobs, npc.getNpcId())) { if (attacker.getFirstEffect(RHEUMATISM) != null) { int rheumatism_level = attacker.getFirstEffect(RHEUMATISM).getLevel(); if (rheumatism_level == 1 && Rnd.get(100) < (RHEUMATISM_CHANCE - rheumatism_level)) { SkillTable.getInstance().getInfo(RHEUMATISM,2).getEffects(attacker,attacker); } if (rheumatism_level == 2 && Rnd.get(100) < (RHEUMATISM_CHANCE - rheumatism_level)) { SkillTable.getInstance().getInfo(RHEUMATISM,3).getEffects(attacker,attacker); } if (rheumatism_level == 3 && Rnd.get(100) < (RHEUMATISM_CHANCE - rheumatism_level)) { SkillTable.getInstance().getInfo(RHEUMATISM,rheumatism_level + 1).getEffects(attacker,attacker); } if (rheumatism_level == 4 && Rnd.get(100) < (RHEUMATISM_CHANCE - rheumatism_level)) { SkillTable.getInstance().getInfo(RHEUMATISM,rheumatism_level + 1).getEffects(attacker,attacker); } if (rheumatism_level == 5 && Rnd.get(100) < (RHEUMATISM_CHANCE - rheumatism_level)) { SkillTable.getInstance().getInfo(RHEUMATISM,rheumatism_level + 1).getEffects(attacker,attacker); } if (rheumatism_level == 6 && Rnd.get(100) < (RHEUMATISM_CHANCE - rheumatism_level)) { SkillTable.getInstance().getInfo(RHEUMATISM,rheumatism_level + 1).getEffects(attacker,attacker); } if (rheumatism_level == 7 && Rnd.get(100) < (RHEUMATISM_CHANCE - rheumatism_level)) { SkillTable.getInstance().getInfo(RHEUMATISM,rheumatism_level + 1).getEffects(attacker,attacker); } if (rheumatism_level == 8 && Rnd.get(100) < (RHEUMATISM_CHANCE - rheumatism_level)) { SkillTable.getInstance().getInfo(RHEUMATISM,rheumatism_level + 1).getEffects(attacker,attacker); } if (rheumatism_level == 9 && Rnd.get(100) < (RHEUMATISM_CHANCE - rheumatism_level)) { SkillTable.getInstance().getInfo(RHEUMATISM,rheumatism_level + 1).getEffects(attacker,attacker); } if (rheumatism_level == 10) { SkillTable.getInstance().getInfo(RHEUMATISM,1).getEffects(attacker,attacker); } } else { if (Rnd.get(100) < RHEUMATISM_CHANCE) { SkillTable.getInstance().getInfo(RHEUMATISM,1).getEffects(attacker,attacker); } } } return super.onAttack(npc, attacker, damage, isPet); } public static <T> boolean contains(T[] array, T obj) { for (int i = 0; i < array.length; i++) { if (array[i] == obj) { return true; } } return false; } public static boolean contains(int[] array, int obj) { for (int i = 0; i < array.length; i++) { if (array[i] == obj) { return true; } } return false; } @Override public void run() {} }
  6. Свистопляска продолжается? Мне кажется или я в линках столько проблем не увидел сколько вы на вашей мегашаре люцеры?
  7. Могу предложить доменное имя - l2bit.ru , проект давно сфейлился. отдам за 150 рублей Так же могу предложить обвязку для сайта inshell, если интересно - пм.
  8. а тестовый сайт есть?
  9. Да, проверка работает нормально, предметы выдаются. Я не правильно понял конфиг. Он работает не так как я думал. Я думал что только 1 из персонажей на аккаунте будет newbie, а оказывается это относится ко всем... if(Config.ALT_GAME_NEW_CHAR_ALWAYS_IS_NEWBIE) { player.setNewbie(true); } Так что, как можно реализовать такое? Чтобы только первый созданный персонаж получал начальные итемы, а остальные нет?
  10. Ага, проверка похоже работает нормально. Все персонажи появляются 76 уровня, по этому похоже newbie = 0 у всех как я понимаю.
  11. Уважаемые знатоки, помогите решить проблему. В общем в сборке есть следующий конфиг - # Если человек создал на том же акк чара, будет ли он newbie(для бафа ну и т д). AltNewCharAlwaysIsNewbie = False Мне необходимо сделать так, чтобы итемы которые выдаются при старте персонажа (CharacterCreate.java) if (Config.CUSTOM_STARTER_ITEMS_ENABLED) { if (newChar.isMageClass()) { for (int[] reward : Config.STARTING_CUSTOM_ITEMS_M) { if (ItemTable.getInstance().createDummyItem(reward[0]).isStackable()) newChar.getInventory().addItem("Starter Items Mage", reward[0], reward[1], newChar, null); else for (int i = 0; i < reward[1]; ++i) newChar.getInventory().addItem("Starter Items Mage", reward[0], 1, newChar, null); } } else { for (int[] reward : Config.STARTING_CUSTOM_ITEMS_F) { if(ItemTable.getInstance().createDummyItem(reward[0]).isStackable()) newChar.getInventory().addItem("Starter Items Fighter", reward[0], reward[1], newChar, null); else for (int i = 0; i < reward[1]; ++i) newChar.getInventory().addItem("Starter Items Fighter", reward[0], 1, newChar, null); } } } выдавались только первому персонажу на аккаунте. Я пытался реализовать это добавив простую проверку в данное условие - if (Config.CUSTOM_STARTER_ITEMS_ENABLED) { if(newChar.isNewbie()) { if (newChar.isMageClass()) { for (int[] reward : Config.STARTING_CUSTOM_ITEMS_M) { if (ItemTable.getInstance().createDummyItem(reward[0]).isStackable()) newChar.getInventory().addItem("Starter Items Mage", reward[0], reward[1], newChar, null); else for (int i = 0; i < reward[1]; ++i) newChar.getInventory().addItem("Starter Items Mage", reward[0], 1, newChar, null); } } else { for (int[] reward : Config.STARTING_CUSTOM_ITEMS_F) { if(ItemTable.getInstance().createDummyItem(reward[0]).isStackable()) newChar.getInventory().addItem("Starter Items Fighter", reward[0], reward[1], newChar, null); else for (int i = 0; i < reward[1]; ++i) newChar.getInventory().addItem("Starter Items Fighter", reward[0], 1, newChar, null); } } } } Компиляция проходит нормально. Регистрирую новый аккаунт, создаю первого персонажа - итемов нет. Второго - итемов нет. Удалил проверку - создаю персонажей - итемы есть на свех. Как можно реализовать это?
  12. La2Bash

    Ищу Тру Бафера

    Смелое предложение, мне кажется будет проще доработать фрозена чем разбираться в руинах люцеры + адаптировать его)))
  13. La2Bash

    Ищу Тру Бафера

    Ищу тру бафера (тот что стоит на многих известных проектах, где можно создать неогр. кол-во профилей). Ещё вопрос такой - у фрозенов в powerpak идет что то похожее на этот баффер (создание профилей самому и пр.) Но там есть один минус - не такой кнопки как "Сохранить баффы", зато есть редактор профиля где игрок сам выбирает какие ему баффы нужны в профиле. Так же я обнаружил в сборке ещё одного баффера (правда работоспособность его оставляет желать лучшего, но за то там есть кнопка запомнить бафф, и она работает но правда до рестарта). Так вот вопрос - можно ли вытянуть каким либо образом функцию сохранить баффы из одного баффера и вставить в другой? Похоже что оба баффера прописаны в ядре. С чего начать перенос функции? Если есть люди у которых есть желание поковыряться над созданием полноценного баффера для фрозенов - пишите в ЛС, будем вместе ковырять Яву знаю так себе, но помню когда была необходимость создал систему First Blood, Double Kill и т.п. на l2jcore (с озвучкой + текст на экране, правда баг был - когда игрока убиваешь кол-во килл поинтов переходит следующему, но это ерунда. не было необходимости исправлять его, сервер загнули). В общем жду)
  14. Отправка одного приглашения - 3 рубля. Минимальная сумма заказа - 300 рублей. (100 сообщений, меньше брать бессмысленно т.к. лишь 40-50 зайдут оценят, проверяли уже) Другими словами это рассылка подписчикам (вся аудитория - строго Lineage 2, кол-во подписчиков - ~16 000 реальных игроков (заходили которые буквально вчера)). Кто заинтересован что и как прошу в мой профиль, там увидимся.
  15. А можно алгоритм работы узнать?? DDoS Deflate по моему будет половчее.
  16. La2Bash

    L2Jlink - Тру Дп :d :d :d

    За перса с accllvl = 0? Ладно, будем смотреть) Благо исходы есть.Кстати, а что за баффер такой я на многих топ серваках видел - можно создавать свои профили, редактировать их и т.п.? Где такого можно взять?
  17. La2Bash

    L2Jlink - Тру Дп :d :d :d

    Такие пироги Ещё заметил проблему с профилями баффера. Бегал играл, сохранил бафф в профиле 1, наигрался, вырубил серв, утром встал - бафа нет (может кончился) - жму профиль 1 - пишет что такой не найден. В чём может быть проблема?
  18. La2Bash

    L2Jlink - Тру Дп :d :d :d

    Есть ДП нормальный?
  19. La2Bash

    L2Jlink - Тру Дп :d :d :d

    Уважаемые юзвери L2JLink, представляю вашему вниманию скилл Cheer (ЛС). <skill id="5153" levels="10" name="Cheer"> <table name="#power"> 24 48 72 96 120 144 168 192 216 240 </table> <table name="#magicLvl">46 49 52 55 58 61 64 67 70 76</table> <set name="magicLvl" val="#magicLvl"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_ACTIVE"/> <set name="isMagic" val="true"/> <set name="bestowed" val="true"/> <set name="hitTime" val="4000"/> <for> <effect count="1" name="Buff" time="15" val="0"> <mul order="0x40" stat="maxCp" val="#power"/> </effect> </for> </skill> Разве так должно быть? А не "add" случаем ли? О_О Это чё получается, что весь ДП надо пересматривать?
  20. La2Bash

    Rebirth

    Поищи в sql/custom там запросы должны быть с нпсами для rebrith, dm, tvt и т.п.
  21. Проще купить свой циско и просто в дц его поставить и всё, чем ежемесячно платить за аренду и за какую то хню.
  22. Боже вот я лох. Короче вспомнил что создавал копию ядра и название не стал менять (l2jfrozen-core - копия.jar называлась либка). Хочу удалить пока серв запущен - невозможно мол уже юзается, серв вырубил, удалил, перезагрузил - vse 4ekto, ya loh sorry temu del
×
×
  • Создать...