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

Новый Грейд (Interlude Acis Based)

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

Добрый день. Прошу совета опытных людей.

Есть задача добавить новый грейд. Со стороны сервера вроде нет особых проблем (Добавил crystall type, Soulshots, BSS).

Вопрос таков.

1. Как добавить expertise (grade penalty). Я вижу, что это скилл 239, но не могу найти на каком лвле он даётся.

2. Как добавить новый грейд в клиент (значёк).

 

Буду рад любой помощи, спасибо.

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


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

1. плохо смотрел - обычно скилл экспертизы прописан в базовых классах персонажей (хуман файтер, хуман маг и т.д.). разве что авторы сборки сделали очередной изврат и выдают экспертизу хардкодом в ядре.

2. новый грейд в клиент ты не добавишь никак, ну как минимум правкой dat-ников и добавлением новой иконки не обойтись - требуются изменения в клиенте на более глубоком уровне (dll-файлы, u-файлы).

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

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


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

замени иконку ng,d,c,b,a на мега пвп он ине используются, я так нделал, но народ не оценил :lol:, даже не заметили походу

  • Upvote 1

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


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

2. новый грейд в клиент ты не добавишь никак, ну как минимум правкой dat-ников и добавлением новой иконки не обойтись - требуются изменения в клиенте на более глубоком уровне (dll-файлы, u-файлы).

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

 

в общем исходник + dat правка... усе

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


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

По поводу ядра.

 

L2PcInstance содержит массив экспертиз

SkillTreeTable.getInstance().getExpertiseLevel(0), // NONE
SkillTreeTable.getInstance().getExpertiseLevel(1), // D
SkillTreeTable.getInstance().getExpertiseLevel(2), // C
SkillTreeTable.getInstance().getExpertiseLevel(3), // B
SkillTreeTable.getInstance().getExpertiseLevel(4), // A
SkillTreeTable.getInstance().getExpertiseLevel(5), // S

 

 

SkillTreeTable.getInstance().getExpertiseLevel(6) - добавляем новый.

 

Используются они

getExpertiseLevel(int grade)

в SkillTreeTable

 

Скилы берутся у палладина (? :) )

 

Map<Integer, L2SkillLearn> learnMap = _skillTrees.get(ClassId.paladin);
int skillHashCode = SkillTable.getSkillHashCode(239, grade);

 

И если скилл не найден, то получаем:

_log.error("Expertise not found for grade " + grade);

 

<skill id="239" levels="6" name="Expertise M">

 

Ошибок ГС нет, но я не могу понять по каким лвлам они даются

 

 

P.S. кроме 239 есть ещё

 

<skill id="240" levels="1" name="Expertise C Deleted">
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="PASSIVE"/>
<set name="operateType" val="OP_PASSIVE"/>
</skill>
<skill id="241" levels="1" name="Expertise B Deleted">
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="PASSIVE"/>
<set name="operateType" val="OP_PASSIVE"/>
</skill>
<skill id="242" levels="1" name="Expertise A Deleted">
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="PASSIVE"/>
<set name="operateType" val="OP_PASSIVE"/>
</skill>
<skill id="243" levels="1" name="Expertise S Deleted">
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="PASSIVE"/>
<set name="operateType" val="OP_PASSIVE"/>
</skill>

Изменено пользователем YuraAAA1

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


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

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

 

в общем исходник + dat правка... усе

а, ну флаг вам в руки.

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

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


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

а, ну флаг вам в руки.

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

 

Но ведь, по идее, должно быть какое-то соответствие между ID и grade

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


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

Но ведь, по идее, должно быть какое-то соответствие между ID и grade

это клиент посылает ид грейда, в арморгруп

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


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

а, ну флаг вам в руки.

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

Указать в бд новый грейд так тяжко? ну да....

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


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

подсказка....

класс L2Skill имеет тоже информацию о скиллах грейда, удачи =)

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


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

подсказка....

класс L2Skill имеет тоже информацию о скиллах грейда, удачи =)

 

Может на каких-нибудь сборках да, но на этой нет) и в skilltree xml я тоже не нашёл этого

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


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

Указать в бд новый грейд так тяжко? ну да....

читай внимательно - я про клиентскую сторону вобще-то говорю, а не серверную

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


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

это клиент посылает ид грейда, в арморгруп

нифига, клиент с сервером никакой информацией о грейде вещи не обмениваются - клиент ее сам смотрит из *grp.dat, руководствуясь только ид предмета, который и прислал сервер.

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


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

нифига, клиент с сервером никакой информацией о грейде вещи не обмениваются - клиент ее сам смотрит из *grp.dat, руководствуясь только ид предмета, который и прислал сервер.

ну я это и написал :)

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


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

читай внимательно - я про клиентскую сторону вобще-то говорю, а не серверную

так забавно смотреть на человека упертого в стену

если бы я этого не реализовывал уже ( года 2 назад еще аж но )

то не писал бы ничего..... а так ты забавно смотришься со своими "медальками форума"... и пишешь подобное )

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


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

подсказка....

класс L2Skill имеет тоже информацию о скиллах грейда, удачи =)

 

Большое спасибо, с сервером разобрался, почему-то проглядел skilltree.

 

Подскажите, где находятся сами текстуры иконок грейда? Не могу найти. Спасибо

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


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

 

В свое время все перерыл так и не нашел.

Тоже интересно, где же собака зарыта.

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


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

В свое время все перерыл так и не нашел.

Тоже интересно, где же собака зарыта.

а какая разница где, если вы новую иконку добавляете, но ладно

symbolname-e.dat

101 a,grades\0 a,symbol.grade_s\0 1

102 a,gradea\0 a,symbol.grade_a\0 1

103 a,gradeb\0 a,symbol.grade_b\0 1

104 a,gradec\0 a,symbol.grade_c\0 1

105 a,graded\0 a,symbol.grade_d\0 1

если сделаете новый грейд не изменяя старый прошу скрины в тему :)

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


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

Не совсем ясно как клиент выбирает ID для грейда.

ведь грейды идут по нарастанию

0-NG

5-S

 

а тут наоборот.

а по идее должно быть 105 a,grades\0 a,symbol.grade_s\0 1

или я добавляю к примеру 106 a,grades\0 a,sdfgsd.grade_L\0 1

и клиент обрабатывает crystal_type="L" ?

Изменено пользователем vokforever

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


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

106 grades80 zicons.grade_s80 1

107 gradeg zicons.grade_g 1

 

такая ситуация не сработала, иконки не добавились

у ы80 "" , у g '/' вместо иконки

 

106 grades80 symbol.grade_s 1

Тоже не показывает стандартный икон.

 

Куда направляются данные 101-106 ?

ведь в *grp.dat приходят "5" - s а тут "101"

Изменено пользователем vokforever

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


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

так забавно смотреть на человека упертого в стену

если бы я этого не реализовывал уже ( года 2 назад еще аж но )

то не писал бы ничего..... а так ты забавно смотришься со своими "медальками форума"... и пишешь подобное )

ну на словах тут многие "это делали уже N лет назад без всяких проблем", но только на словах - как-то при просьбе показать "сделанное", внезапно с этим начинаются разные проблемы.

 

продемонстрируй как ты ограничиваясь только правкой датников клиента (ну еще может добавлением новой иконки грейда) добавляешь в него этот самый новый грейд, а не просто меняешь название и иконку существующего. и добавляешь так чтобы ничего в клиенте в итоге не глючило.

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


Ссылка на сообщение
Поделиться на другие сайты
продемонстрируй как ты ограничиваясь только правкой датников клиента (ну еще может добавлением новой иконки грейда) добавляешь в него этот самый новый грейд, а не просто меняешь название и иконку существующего. и добавляешь так чтобы ничего в клиенте в итоге не глючило.

 

Если вопрос ко мне, то я не ограничиваюсь только правкой датников клиента ,со стороны сервера все есть и в ядре и в классах, скиллах (239).

Осталось только разобраться с клиентом.

Кто-то может подсказать по выше заданным вопросам ?

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


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

 

 

Если вопрос ко мне, то я не ограничиваюсь только правкой датников клиента ,со стороны сервера все есть и в ядре и в классах, скиллах (239).

Осталось только разобраться с клиентом.

Кто-то может подсказать по выше заданным вопросам ?

ну дак вон VREDNbIi утверждает что он это "делал еще 2 года назад" - так что видимо он тебе и может помочь. Изменено пользователем Gaikotsu

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


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

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

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

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

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

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

Войти

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

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

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

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

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