1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

[Гайд] Создание нового класса / профессии

Тема в разделе 'LineAge 2', создана пользователем Supreme, 24 янв 2011.

  1. TopicStarter Overlay

    Supreme Supreme

    Сообщения:
    62
    Лайки:
    35
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    Захват Всея Вселенной
    Создание нового класса / создание новой профессии


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


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

    I. нам понадобятся следующие *.java файлы лежащие по адресу:
    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

    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\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
    от что нам вылазит:

    [​IMG] [​IMG]


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

    Автор неизвестен
Черновик сохранён Черновик удалён

Поделиться этой страницей