Перейти к содержанию
Авторизация  
nasgool

Нужен совет начинающему

Рекомендуемые сообщения

И снова я.

Много времени прошло.

По командировкам мотался, некогда было.

Сборку покупать отказался.

Взял шару от сюда S-Quality.

Написал Веб-обвязку.

Тестирую.

Вопрос к гуру:

Обнаружил такой баг:

Скил "Испугать нежить" (бп и ее).

Точеный на атаку.

Нежить складывает нормально, главное чтоб лвл моба был не сильно выше чара.

Восновном работает исправно.

НО! Замечено что в Стальной Цитадели на некоторых мобах скил проходит с леталом, А ХП не снимается.

Т.К. такое наболюдается только не некоторых мобах (не на всех) думаю копать именно мобов.

Пока не нашел в чем дело.

Если кто сталкивался, напишите сюда решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выяснил вот что:

Такой баг только с мобами у которых <set name="baseHpMax" value="50000 или больше" />

Пока написал скрипт и порезал ХП всей нежити до 49999.999.

Но это не дело... Есть мобы с изначальным значением 120000+

Где править скилы не нашел.

Прошу подсказать в каких файлах копать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В каких файлах копать скилы я нашел.

Вот только что править не понял, подскажите плиз.

Вот XML нужного скила:

<skill id="1400" levels="10" name="Turn Undead">
<!--
Last modify: 22.06.2009
 
Description:
Strikes fear into undead for 20 seconds, causing them to flee. Consumes 3-5 Runestones. Lethal Strike is possible.
-->
<table name="#Consume">3 3 4 4 4 4 5 5 5 5</table>
<table name="#lethal2">30</table>
<table name="#time">20</table>
<table name="#power">0</table>
<table name="#buffCount">0</table>
<table name="#elementPower">0</table>
<table name="#mpConsume2">41 43 44 46 48 49 51 52 53 55</table>
<table name="#mpConsume1">11 11 11 12 12 13 13 13 14 14</table>
<table name="#magicLevel">56 58 60 62 64 66 68 70 72 74</table>
<set name="magicType" val="MAGIC" />
<set name="power" val="#power" />
<set name="icon" val="icon.skill1400" />
<set name="reuseDelay" val="4000" />
<set name="magicLevel" val="#magicLevel" />
<set name="castRange" val="900" />
<set name="hitTime" val="4000" />
<set name="hitCancelTime" val="500" />
<set name="mpConsume1" val="#mpConsume1" />
<set name="mpConsume2" val="#mpConsume2" />
<set name="target" val="TARGET_ONE" />
<set name="skillType" val="MDAM" />
<set name="activateRate" val="50" />
<set name="operateType" val="OP_ACTIVE" />
<set name="itemConsumeId" val="3031" />
<set name="itemConsumeCount" val="#Consume" />
<set name="lethal2" val="#lethal2" />
<set name="undeadOnly" val="true" />
<enchant1 levels="30" name="Power">
<table name="#lethal2">31 31 31 32 32 32 33 33 33 34 34 34 35 35 35 36 36 36 37 37 37 38 38 38 39 39 39 40 40 40</table>
<table name="#magicLevel">76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85</table>
</enchant1>
<enchant2 levels="30" name="Cost">
<table name="#time">21 22 24 25 26 28 29 30 32 33 34 36 37 38 40 41 42 44 45 46 48 49 50 52 53 54 56 57 58 60</table>
<table name="#magicLevel">76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85</table>
<table name="#mpConsume1">13 13 12 12 12 12 12 11 11 11 11 10 10 10 10 9 9 9 9 9 8 8 8 8 7 7 7 7 7 6</table>
<table name="#mpConsume2">53 52 51 50 49 48 48 47 46 45 44 43 42 41 40 39 38 38 37 36 35 34 33 32 31 30 29 29 28 27</table>
</enchant2>
<enchant3 name="Attack">
<table name="#power">21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50</table>
<table name="#magicLevel">76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85</table>
</enchant3>
<enchant4 name="Holy Attack">
<table name="#buffCount">1</table>
<table name="#elementPower">21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50</table>
<table name="#magicLevel">76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85</table>
</enchant4>
<for>
<effect count="3" name="Fear" stackOrder="-1" stackType="Fear" time="#time" val="0" />
<effect count="#buffCount" name="Buff" time="60" applyOnCaster="true" isOffensive="false">
<add order="0x40" stat="attackHoly" val="#elementPower" />
</effect>
</for>
</skill>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

копать надо тебе Creature.java или L2Character.java, хз как там базовый класс для всех нпс и т.д. зовется в этой сборке.

 

причина твоей проблемы в этом

	public boolean isLethalImmune()
	{
		return getMaxHp() >= 50000;
	}
такой вот тупой способ указания иммунитета к леталам сделан почти во всех сборках.

если есть исходники, то поправь данное дело - к примеру давай иммунитет при большем количестве хп или только если моб рб или эпик.

если исходников нет, то можешь сделать в датапаке наследный от MonsterInstance класс, переопределить в нем данный метод так как тебе надо и задать данный класс всем проблемным мобам-нежити вместо стандартного Monster.

Изменено пользователем Gaikotsu
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Примите благодарность.

Исходников к сожалению нет.

И в Java я меньше чем новичек.

Буду читать и учиться...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Автор, отпиши мне по контактам, есть (бесплатное) решение твоих проблем. Юзать сборки ансиента так себе идея, скажу тебе честно, а скуалити это ансиент)0))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...