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

Создание Нового Класса / Создание Новой Профессии

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

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

 

минимальные требования:

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

уметь настраивать сервак под себя и обладать нужным софтом (тоже всё есть на форуме)

 

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

 

1) C:\L2jFree\l2jfree-core\src\main\java\com\l2jfree\gameserver\datatabl es\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

 

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\ba se\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\ba se\ClassType.java

Second = какая профа по счёту (бывает 4е вида: базовая First, первая Second, вторая Third, третья Fourth) они описанны в файле C:\L2jFree\l2jfree-core\src\main\java\com\l2jfree\gameserver\model\ba se\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),
(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),
(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

 

вот что нам вылазит:

 

на втором скрине вместо профы написанно "Граф. курсор" это уже клиентская часть открываем 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 (там пустые значения)

Автор мануала:marvellously

  • Upvote 3

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


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

почему когда я добавил новый клас в игре мне делает гномку. хоть и стоит раса человек

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


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

В любом случае создания нового класса будет меняться расса на гнома(гному).

По крайней мере я и мои знакомые много раз пробовали, но всё было безуспешно...

Мы считаем, что это из-за клиента... Но всё же удачи вам.

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


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

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

имхо мануал безполезный, интересно удалось ли автору сделать это?

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


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

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

имхо мануал безполезный, интересно удалось ли автору сделать это?

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

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


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

Такая же ошибка. как и у всех.

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

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


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

Блин кто бы написал такой мануал на ит ))

Токо нормальный :)

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


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

Хм а можна попробывать и сделать , токо если будет баг"меняться расса"

То зделать как у овера незя типа в саб , и будет радость наверно )))

Мле нехочю тестить ((

На завтра оставлю :)

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


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

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

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

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

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

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

Войти

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

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

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

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

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