Массовые скилы

Теги:
 
+
-
edit
 

Artful

разработчик L2J Fortress

Господа, кто может посмотреть почему массовые заклы не пашут?
И в связи с чем это связано?

к примеру Flame Strike бьет тока в одного.
Хотелось бы услышать правильные ответы....

PS.
code xml
  1. <skill id="1181" levels="3" name="Flame Strike">
  2.   <table name="#mpConsume"> 29 34 40 </table>
  3.   <table name="#power"> 13.0 16.0 19.0 </table>
  4.   <set name="mpConsume" val="#mpConsume"/>
  5.   <set name="power" val="#power"/>
  6.   <set name="target" val="TARGET_AREA"/>
  7.   <set name="skillRadius" val="205"/>
  8.   <set name="hitTime" val="4000"/>
  9.   <set name="element" val="2"/>
  10.   <set name="reuseDelay" val="15000"/>
  11.   <set name="skillTime" val="4000"/>
  12.   <set name="skillType" val="MDAM"/>
  13.   <set name="isMagic" val="true"/>
  14.   <set name="operateType" val="OP_ACTIVE"/>
  15.   <set name="castRange" val="500"/>
  16.   <set name="displayId" val="1181"/>
  17.   <for>
  18.   </for>
  19. </skill>
 

Murkt

Pythoneer

Кажется проблема в L2Character.UseMagic. Вроде там раньше цикл был, а сейчас никаких циклов не видать... Или то я не там видел? Надо смотреть, это видать с какой-то из синхронизация с SF убилось.
[team Їжачки - сумні падлюки]  
+
-
edit
 

TD_ALECS

втянувшийся
У меня та же проблема, не работают они.
Server L2j- 1=> http://lineage.cybernet.by Server L2j- 2=> http://game.iptel.by [img]http://total-disconnect.at.tut.by/logoiptel.jpg[/img]  

Murkt

Pythoneer

Не, точно не в UseMagic - в этой функции изменений не было. И вообще не в L2Character эта проблема вроде как.
[team Їжачки - сумні падлюки]  
+
-
edit
 

Balancer

администратор
★★★★★
Murkt:
Кажется проблема в L2Character.UseMagic. Вроде там раньше цикл был, а сейчас никаких циклов не видать... Или то я не там видел? Надо смотреть, это видать с какой-то из синхронизация с SF убилось.
 


Нет, с виду всё ок (L2Skill):
code java
  1.         case TARGET_AREA:
  2.         {
  3. // ... ...
  4.             for (L2Object obj : activeChar.getKnownObjects())
  5.             {
  6.                 charX = activeChar.getX();
  7.                 charY = activeChar.getY();
  8.                 charZ = activeChar.getZ();
  9.                 targetX = obj.getX();
  10.                 targetY = obj.getY();
  11.                 targetZ = obj.getZ();
  12.                
  13.                 dx = Math.abs(charX - targetX);
  14.                 dy = Math.abs(charY - targetY);
  15.                 dz = Math.abs(charZ - targetZ);
  16.                
  17.                 if (dx*dx + dy*dy + dz*dz > radius*radius)
  18.                     continue;
  19. // ... ... ...
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Murkt

Pythoneer

Ах да, зафтыкал :) смотрел не там :)
[team Їжачки - сумні падлюки]  
+
-
edit
 

Artful

разработчик L2J Fortress

И все же... бага есть, причем уже давно...
Лечить то нада....
 
+
-
edit
 

Balancer

администратор
★★★★★
Переношу в неназначенные. Кто раньше возьмётся - тому и слава :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Murkt

Pythoneer

Насколько давно не пашет-то?
[team Їжачки - сумні падлюки]  

kuta

разработчик l2j-сервера
Я в java пока новичёк, такчто не пинайте сильно.

Покопался в коде работы массовых скилов, и если правильно понял, то список
целей создаётся в момент начала каста, а потом шедулером запускается.
Предположим для теста создали массовый скил с радиусом ну пусть 600, но каст аж на 3 минуты.
Через три минуты каст будет проходить по смписку целей, а за это время многое меняется, часть старых целей мерва, и скажем с 5 новых.

Я так понял старые цели схлапочат скилом а новые нет

Вопрос прав я или нет ?

Проверить смогу не раньше понедельника.

PS: На моём серваке были жалобы на то что FlameStrake то обного бьёт то как надо. Но когда жаловались то имели дело с подвижными мобами.
 

kuta

разработчик l2j-сервера
Ну вот как и обещал, проверил
Я оказался прав, все массовые скилы создают цель на момент начала каста а не конца как должно

Сотсетсвено у мага с огненным кольцом , трабла, если на него бежит моб и он начиает кастовать
то не факт что сработает, и нааоборот он начал кастовать а моб уже далеко убежал, его вс1равно достанет

Тажа фича с групхелом, чар улетел в горол а его там лечат

Дописал свои изменения

кто может просьба посмотреть
 

kuta

разработчик l2j-сервера
В Config.java добавил параметр включения отклбючения этого алгоритма
в altsettings.properties параметр AltMagicTargets (True|False)

в L2Character.java добавил несколько изменёную копию MagicUseTask
с именем MagicUseTaskRebuildTargetsList

Все вставки начинаются с кеоментраия //mega add
заканчивыаются //mega add end

Если кому несложно проверьте на возможные глюки изменения алгоритма, на мой взгляд всё должно работатьь коректно, но возможно я сильно ошибаюсь
 

San3k

новичок
kuta:
В Config.java добавил параметр включения отклбючения этого алгоритма
в altsettings.properties параметр AltMagicTargets (True|False)

в L2Character.java добавил несколько изменёную копию MagicUseTask
с именем MagicUseTaskRebuildTargetsList

Все вставки начинаются с кеоментраия //mega add
заканчивыаются //mega add end

Если кому несложно проверьте на возможные глюки изменения алгоритма, на мой взгляд всё должно работатьь коректно, но возможно я сильно ошибаюсь
 


attach.rar в этом архиве файл L2Character.java повреждён
 

Murkt

Pythoneer

attach.rar в этом архиве файл L2Character.java повреждён
 

Я скачивал - нормально всё. Это у тебя глюкнуло на скачивании.
[team Їжачки - сумні падлюки]  
AD Реклама Google — средство выживания форумов :)

San3k

новичок
Всё скачал. Пошёл проверять.
 

в начало страницы | новое
 
1989: МиГ-23 без пилота преодолел четыре европейских страны. (30 лет).
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru