Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Создание нового класса / создание новой профессии
#1
Создание нового класса / создание новой профессии


в данном примере делается новый класс 1я профа по аналогии с Артизаном

минимальные требования:
умение скачивать исходники сервака и компелить его (мануалы имеются в изобилии, всяческие проблемы тоже рассмотрены, на новые дадут ответы)
уметь настраивать сервак под себя и обладать нужным софтом (тоже всё есть на форуме)

и так берём исходники сервака (у меня это L2jFree 4843)

I. нам понадобятся следующие *.java файлы лежащие по адресу:
1) C:\L2jFree\l2jfree-core\src\main\java\com\l2jfree\gameserver\datatables\CharTemplateTable.java
2) C:\L2jFree\l2jfree-core\src\main\java\com\l2jfree\gameserver\model\baseClassId.java
3) C:\L2jFree\l2jfree-core\src\main\java\com\l2jfree\gameserver\model\PlayerClass.java

II. а также *.sql:
1) C:\server\sql\char_templates.sql
2) C:\server\sql\lvlupgain.sql
3) C:\server\sql\class_list.sql

I. изменение исходников:
Цитата:1) CharTemplateTable.java находим строку:
Цитата:"Dwarven Artisan",
"Warsmith",
"dummyEntry1", //меняем скажем на "New Class",
"dummyEntry2",

2) baseClassId.java находим строку:

Цитата:artisan (0x38, false, Race.Dwarf, dwarvenFighter),
warsmith (0x39, false, Race.Dwarf, artisan),
dummyEntry1 (58, false, null, null), //меняем скажем на newClass (0x3a, false, Race.Dwarf, dwarvenFighter),*
dummyEntry2 (59, false, null, null),

*тут нужно пояснить думаю:
0x3a = id проффы 58 в шестнадцатеричной системе это 3a (можно переводить в калькуляторе винды)
false = физик (true, = мистик)
Race.Dwarf = ссылается на расу указанную в C:\L2jFree\l2jfree-core\src\main\java\com\l2jfree\gameserver\model\base\Race.java, чувствительно к регистру букв.
dwarvenFighter = предшествующая профа (видимо = )

3) PlayerClass.java находим строку:
DwarvenArtisan(Dwarf, Fighter, Second),
Цитата:Warsmith(Dwarf, Fighter, Third),
dummyEntry1(null, null, null), //меняем скажем на NewClass(Dwarf, Fighter, Second),**
dummyEntry2(null, null, null),
**поясню:
Dwarf = опять расса
Fighter = тип класса (есть ещё два Mystic, Priest) C:\L2jFree\l2jfree-core\src\main\java\com\l2jfree\gameserver\model\base\ClassType.java
Second = какая профа по счёту (бывает 4е вида: базовая First, первая Second, вторая Third, третья Fourth) они описанны в файле C:\L2jFree\l2jfree-core\src\main\java\com\l2jfree\gameserver\model\base\ClassLevel.java
Компелим сервак, собираем, запихиваем всё скажем в C:\server

II. добавляем строки в *.sql:
Цитата:1) char_templates.sql
Код:
(56, 'Artisan', 4, 39, 45, 29, 20, 10, 27, 4, 80, 6, 41, 300, 333, 33, 43, 33, 115, 83000, 108512, -174026, -400, 1, 1.09, 1.487196, 9.0, 18.0, 1.09, 1.487196, 5.0, 19.0),
(57, 'Warsmith', 4, 39, 45, 29, 20, 10, 27, 4, 80, 6, 41, 300, 333, 33, 43, 33, 115, 83000, 108512, -174026, -400, 1, 1.09, 1.487196, 9.0, 18.0, 1.09, 1.487196, 5.0, 19.0),
[color=Orange](58, 'New Class', 4, 39, 45, 29, 20, 10, 27, 4, 80, 6, 41, 300, 333, 33, 43, 33, 115, 83000, 108512, -174026, -400, 1, 1.09, 1.487196, 9.0, 18.0, 1.09, 1.487196, 5.0, 19.0),[/color]
(88, 'Duelist', 0, 40, 43, 30, 21, 11, 25, 4, 80, 6, 41, 300, 333, 33, 44, 33, 115, 81900, -71338, 258271, -3104, 0, 1.10, 1.188000, 9.0, 23.0, 1.10, 1.188000, 8.0, 23.5),
каждый столбец описан в шапке и в принципе там всё понятно называется

2) lvlupgain.sql
Цитата:INSERT INTO `lvlupgain` VALUES ('56', '346.0', '32.90', '0.37', '276.8', '26.30', '0.22', '144.0', '9.80', '0.14', '20');
INSERT INTO `lvlupgain` VALUES ('57', '1063.0', '54.50', '0.37', '850.4', '43.58', '0.22', '359.1', '19.40', '0.14', '40');
INSERT INTO `lvlupgain` VALUES ('58', '346.0', '32.90', '0.37', '276.8', '26.30', '0.22', '144.0', '9.80', '0.14', '20');
INSERT INTO `lvlupgain` VALUES ('88', '3061.8', '63.08', '0.37', '2755.6', '56.77', '0.22', '1155.6', '24.90', '0.14', '76');
каждый столбец описан в шапке и в принципе там всё понятно называется

3) class_list.sql
Цитата:('D_Artisan', 56, 53),
('D_Warsmith', 57, 56),
('D_NewClass', 58, 53),
('D_Maestro', 118, 57),
тут всё просто, текущая профа и предыдущая
обновляем таблици в вшей вабзе, лично я делаю это так:
взял батник C:\server\tool\database_installer.bat копирнул, изменил:
Код:
@echo off

REM ############################################
REM ## You can change here your own DB params ##
REM ############################################
REM MYSQL BIN PATH
set mysqlBinPath=C:\Program Files\MySQL\MySQL Server 6.0\bin

REM LOGINSERVER
set lsuser=
set lspass=
set lsdb=
set lshost=localhost

REM GAMESERVER
set gsuser=
set gspass=
set gsdb=
set gshost=localhost
REM ############################################

set mysqldumpPath="%mysqlBinPath%\mysqldump"
set mysqlPath="%mysqlBinPath%\mysql"

echo install..

echo lvlupgain.sql
%mysqlPath% -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% < ../sql/lvlupgain.sql
echo char_templates.sql
%mysqlPath% -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% < ../sql/char_templates.sql
echo class_list.sql
%mysqlPath% -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% < ../sql/class_list.sql


:end
echo.
echo Script complete.
pause
вот что нам вылазит:
[Изображение: shot00016ph4.th.jpg][Изображение: shot00017un3.th.jpg]
на втором скрине вместо профы написанно "Граф. курсор" это уже клиентская часть открываем sysstring-e.dat находим "Граф. курсор" его id 305
Цитата:303 a,Artisan\0
304 a,Warsmith\0
305 u,Граф. курсор\0
306 u,Очень быстро\0
можно конечно изменить "Граф. курсор" на "New Class" но это изменение будет видно скорее всего не тока в профе чара, но и в интерфейсе.. так что интересно как изменить с id 305 на id 2000 (там пустые значения)

так что хочется услышать мнения как можно изменить id

p.s.
надеюсь исправил все огрехи которые допустил пока писал.. =)
Ответ
#2
Я попробовал это зделать на L2jserver но после выбора класса оно не хочет заходить в игру после выбора персонажа вместо курсора у меня пишет "голос героя")
а в серве пишет:
Could not restore char data: java.lang.NullPointerException
could not restore in slot: 0
Ответ
#3
Сделал я новый клас, но проблема в том, что какую бы я рассу не поставил на новый клас, в клиенте отображается всегда гном. Как это исправить?
Ответ
#4
energy Написал:Сделал я новый клас, но проблема в том, что какую бы я рассу не поставил на новый клас, в клиенте отображается всегда гном. Как это исправить?

дело в том что раса привязана к классу:

char_templates.sql

58, 'New Class', 4,
id класса 58, название (не то что в клиенте) 'New Class', id рассы (в данном случае гном) 4,
Ответ
#5
Цитата:минимальные требования:
умение скачивать исходники сервака и компелить его (мануалы имеются в изобилии, всяческие проблемы тоже рассмотрены, на новые дадут ответы)

для скачки исходников и компиляции
Eclipse этого хватит?
Ответ
#6
да вполне.
Ответ
#7
Разобрался ли кто с данной проблемой? Помогите с решением задачи этой пожалуйста)
Ответ
#8
Спасибо. Ценный мануал.
Ответ
#9
в базы и ядре все прописал правильно, но все равно при получении профессии скин меняется на гнома, повторюсь, в базе стоит id 3 (раса орков), видимо где-то еще надо прописывать, так же интересно почему именно 305 id присваивается в клиенте ? этот id нужен для русификации клиента, как сменить id ? подскажите пожалуйста

сборка H5 исходники overworld.su

Добавлено через 14 часов 28 минут
Не кто не поможет ? где все добрые люди
Ответ
#10
присоиденяюсь к даному вопросу! поможет что?
Я бы изменил мир, но Бог не дает исходники...Sad
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Мануал! Создание дуалов - Java PROGRAMMATOR 13 17,051 04-01-2021, 02:07 PM
Последний пост: Demon88
  Мануал! Создание Мультиселла PROGRAMMATOR 3 10,458 05-18-2018, 12:15 AM
Последний пост: Psycho
  Создание своего конфига KID 1 3,477 09-10-2013, 10:47 PM
Последний пост: OneThunder
  мануал. Создание квестов Letov 18 25,683 02-10-2013, 08:03 PM
Последний пост: Zubastic
  Мануал! Создание магазина. PROGRAMMATOR 65 83,951 01-27-2013, 03:40 PM
Последний пост: Zubastic
  Создание своего моба на L2j сервере mazillka 0 2,915 01-18-2012, 11:23 PM
Последний пост: mazillka
  Создание щита в Autodesk 3ds Max по текстуре из WOW mazillka 0 2,380 01-18-2012, 11:08 PM
Последний пост: mazillka
  Создание UTX в UE2 mazillka 0 2,948 01-18-2012, 10:50 PM
Последний пост: mazillka
  Создание своих НОВЫХ предметов pomoshnik 0 5,891 11-26-2008, 10:52 PM
Последний пост: pomoshnik

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)