Назад

Source

Автор: Sanasol: Дата: 01.20.2009

Есть ли где нибудь Сорсы на новые скиллы, новых 3х Проф (Arch Bishop, Warlock.....) Спрайты нашел успешно поставил.... Нашел сервер (или форум) http://dvd-ro.com тАм есть и скиллы и профы (видео на Ютубе) показаны новые скиллы. Но там все на Тайландском =)) Не понятно....

Автор: MiRoTVoReZ: Дата: 01.21.2009

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

Автор: Cole McCormick: Дата: 01.21.2009

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

Автор: Sanasol: Дата: 01.21.2009

Там просто форум и там игроки обсуждают профы и т.д. Стандартный форум какогото сервера а по профам там нечего нет. и Куча видео с новыми скиллами....





и т.д.

А где они взяли Сорсы непонятно.

Автор: Anton7: Дата: 01.21.2009

выложи спрайты

Автор: Sanasol: Дата: 01.21.2009

А где пожалуйсто ? :)


Там спрайты из 13.x Эпизода В общем Архи Бишопа и Рун Найта. Женские и мужские и плюс Рун Найта на Пеко(т.е. на Грин Ферусе)

Жду Спасибо =))

Автор: [Mark]: Дата: 01.22.2009

А куда ети спрайты пихать и какое у них название должнобыть а то у меня ппц че твариться с названиями xD

Автор: Sanasol: Дата: 01.22.2009

Originally posted by '[Mark
;5332']А куда ети спрайты пихать и какое у них название должнобыть а то у меня ппц че твариться с названиями xD

вообще если на твой кастом класс название сам выбирай а если на там приста старого надо искать как прист называется ..... попробуй easpritenamegen.htm чтото такое ии там выбери сделать шмотку на прист только приста и смотри какие там папки название

RO\Data\Sprite\АО°ЈБ·\ЗБё®ЅєЖ®

вот такой путь на приста.....

Админы или кто там если что непрально написал поправьте.

Автор: [Mark]: Дата: 01.23.2009

хмм ну я сделал приста отдельного в папку куда ты написал а как шас сделать чтобы можна была выбрать ево ? =)

Автор: Sanasol: Дата: 01.23.2009

Originally posted by '[mark
;5353']хмм ну я сделал приста отдельного в папку куда ты написал а как шас сделать чтобы можна была выбрать ево ? =)

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

Автор: [Mark]: Дата: 01.23.2009

Originally posted by sanasol;5354
в ету папку нужно ложить спрайты и переназывать так как называется спрайт например обычного приста. и в игру простой прист будет выглядеть как архи бишоп


тогда встречный вапрос =) а если я хачю сделать допустим отдельную профу то как сделать чтобы я мог ее выбрать?) и еше где узнать как в дате спрайт приста допустим называется =)

Автор: Sanasol: Дата: 01.23.2009

Originally posted by '[Mark
;5355']тогда встречный вапрос =) а если я хачю сделать допустим отдельную профу то как сделать чтобы я мог ее выбрать?) и еше где узнать как в дате спрайт приста допустим называется =)

Узнать название методом тыка =))) т.е. SprTool Смотришь что как выглядит и находишь приста.... в data.grf
Или
тотже easpritenamegen.htm

RO\Data\Sprite\АО°ЈБ·\ЗБё®ЅєЖ®
Вот папка приста..... тогда название Скорее всего спрайта пристовского ЗБё®ЅєЖ® Только получится ЗБё®ЅєЖ®_ї©.spr (женский спрайт) ..... ЗБё®ЅєЖ®_іІ.spr (мужской) И должно получится
[color=Red]RODataSpriteАО°ЈБ·ЗБё®ЅєЖ®ї©ЗБё®ЅєЖ®_ї©.spr
RODataSpriteАО°ЈБ·ЗБё®ЅєЖ®ї©ЗБё®ЅєЖ®_ї©.act[/color]
[color=Red]
RODataSpriteАО°ЈБ·ЗБё®ЅєЖ®іІЗБё®ЅєЖ®_іІ.spr
RODataSpriteАО°ЈБ·ЗБё®ЅєЖ®іІЗБё®ЅєЖ®_іІ.act[/color]
И не забудь IMF
RODataIMF[color=Red]ЗБё®ЅєЖ®_іІ.imf
[/color]RODataIMFЗБё®ЅєЖ®_ї©.imf
[color=Black]
imf файлы я вытащил на рандом из даты грф и просто название поменял (я незнаю зачем они но без них не работает)
[/color][color=Red] Вот и все у тебя новый спрайт приста. :) Удачи. Надеюсь помогёт =)
[/color]
Отдельную профу ет надо в сорсах и т.д. всезде ставить.
Если с Английским дружишь Вот гайд по добавлению новой профы (я так 5 проф добавил все работает.)

Автор: MiRoTVoReZ: Дата: 01.23.2009

ё маё, вы когда поставите потдержку корейского?)

Автор: Sanasol: Дата: 01.23.2009

Originally posted by ~chlad~;5373
ё маё, вы когда поставите потдержку корейского?)

скажи где скачать =))) я искал нашел но там все время чего то не хватает.

Автор: Anton7: Дата: 01.23.2009

а кто то зделал их отдельно? всмысле не сенял спрайты а новуюпрофу зделал?

Автор: Sanasol: Дата: 01.23.2009

Originally posted by anton7;5392
а кто то зделал их отдельно? всмысле не сенял спрайты а новуюпрофу зделал?

я сделал..... ток новых магий сцук неть =(((

Автор: Anton7: Дата: 01.24.2009

а мож выложить спрайты и все текстовики на сервак и клиент?

Автор: Sanasol: Дата: 01.24.2009

Originally posted by Anton7;5419
а мож выложить спрайты и все текстовики на сервак и клиент?

для новых проф?

Автор: [Mark]: Дата: 01.25.2009

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

Автор: Anton7: Дата: 01.25.2009

да, а то сейчас времени нету':(

Автор: Sanasol: Дата: 01.25.2009

Originally posted by '[Mark
;5423']слушай сансол можеш грф вылажить где ты сделал новые профы) а в сорсах я уж сам давбавлю по товей ссылке =))

Вот вроде все что надо..... Там спрайты на 3 профы! кастом_джоб 1,2,5

Автор: Anton7: Дата: 01.26.2009

мож ешё сорсы выложить?

Автор: Sanasol: Дата: 01.26.2009

Originally posted by anton7;5455
мож ешё сорсы выложить?

у мну сорсы как в гайде по новым профам так что проще там посмотреть :)

Автор: Anton7: Дата: 01.26.2009

ну выложи пожалуйсто

Автор: Sanasol: Дата: 01.26.2009

== Part 1: Source Edits ==

map/pc.h (Skill limits and jobclass id ranges.)
map/atcommand.c (Settings for use of the @command @job .)
map/itemdb.c (Deals with bitmasks for setting equipable items)
map/map.h (Deals with the way the sprite is viewed by the client. -mapid)
common/mmo.h (Settings for the jobclass # for jobid to mapid convert.)
[]
map/pc.h

[Shizuka]
//PLEASE NOTE: This step is only necessary if you're going to have a class that has more than 53 skills. I increased this number because my GM class has all skills.
-- Find
Code:

//Update this max as necessary. 53 is the value needed for Super Baby currently 
#define MAX_SKILL_TREE 53
-- Replace
Code:
//Update this max as necessary. 53 is the value needed for Super Baby currently 
#define MAX_SKILL_TREE 600
-- Find
Code:
//Checks if the given class value corresponds to a player class. [Skotlex] 
#define pcdb_checkid(class_) (class_ = JOB_NOVICE_HIGH && class_ <= JOB_SOUL_LINKER))
-- Replace
Code:
//Checks if the given class value corresponds to a player class. [Skotlex] Revamped- [A17kaliva]
#define pcdb_checkid(class_) (class_ <= JOB_XMAS || (class_ >= JOB_CUSTOM_JOB1 && class_ <= JOB_CUSTOM_JOB5) || (class_ >= JOB_NOVICE_HIGH && class_ <= JOB_SOUL_LINKER))

*-note: on the above replacement I purposely set it so that the custom classes are a group of their own. You can extend JOB_CUSTOM_JOB5 to whatever # of jobs you want as long as you don't skip job id #'s. In the case of skipping id #'s you will have to document the last job before the jump followed by:
|| (class_ >= THE JOB YOU JUMPED TO && class_ <= LAST JOB YOU END WITH)
[]
map/atcommand.c

[Fixed: A17kaliva]
-- Find
Code:
         { "ninja",   25 },
-- Add after
Code:
         { "custom job1",   4053}, 
         { "custom job2",   4054 },
         { "custom job3",   4055 },
         { "custom job4",   4056 },
         { "custom job5",   4057 },


[]
common/mmo.h

[Fixed: A17kaliva]

[list][*](note: Seems you can use anything over 4053 safely... however these are tested and work.)
[/list]
-- Find
Code:
    JOB_XMAS,
-- Add after
Code:
   JOB_CUSTOM_JOB1 = 4053, 
   JOB_CUSTOM_JOB2,
   JOB_CUSTOM_JOB3,
   JOB_CUSTOM_JOB4,
   JOB_CUSTOM_JOB5,
[]
map/map.h

The check that caps the ID at 4050:[Mith*~~]
-- Find
#define MAX_PC_CLASS 4050
-- Replace
#define MAX_PC_CLASS 4500
(note: Its not required to go this high, I did it for space/testing reasons. Set it to the range of jobs you add.)
(It appears that this no longer needs to be edited; there's new code that seems to automatically calculate the number of IDs needed, and there's no 'cap' anymore. At least, I can't find it in my revision. [Reborn])
-- Find
Code:
   MAPID_XMAS, // [Valaris]
-- Add after [Fixed: A17kaliva]
(*SEE NOTES IN BITMASKING SECTION HERE: )
Code:
   MAPID_CUSTOM_JOB1 = JOBL_2|0x01, 
   MAPID_CUSTOM_JOB2,
   MAPID_CUSTOM_JOB3,
   MAPID_CUSTOM_JOB4,
   MAPID_CUSTOM_JOB5,
[]
map/pc.c

[Shizuka]
-- Find
Code:
      case JOB_XMAS: 
         class_ = MAPID_XMAS;
         break;
-- Add after
Code:
      case JOB_CUSTOM_JOB1: 
         class_ = MAPID_CUSTOM_JOB1;
         break;
      case JOB_CUSTOM_JOB2:
         class_ = MAPID_CUSTOM_JOB2;
         break;
      case JOB_CUSTOM_JOB3:
         class_ = MAPID_CUSTOM_JOB3;
         break;
      case JOB_CUSTOM_JOB4:
         class_ = MAPID_CUSTOM_JOB4;
         break;
      case JOB_CUSTOM_JOB5:
         class_ = MAPID_CUSTOM_JOB5;
         break;
-- Find
Code:
      case MAPID_BABY_ROGUE: 
         return JOB_BABY_ROGUE;
-- Add after
Code:
      case MAPID_CUSTOM_JOB1: 
         return JOB_CUSTOM_JOB1;
      case MAPID_CUSTOM_JOB2:
         return JOB_CUSTOM_JOB2;
      case MAPID_CUSTOM_JOB3:
         return JOB_CUSTOM_JOB3;
      case MAPID_CUSTOM_JOB4:
         return JOB_CUSTOM_JOB4;
      case MAPID_CUSTOM_JOB5:
         return JOB_CUSTOM_JOB5;
-- Find
Code:
   default: 
      return msg_txt(650);
-- Add before
Code:
   case JOB_CUSTOM_JOB1: 
      return msg_txt(1000);
   case JOB_CUSTOM_JOB2:
      return msg_txt(1001);
   case JOB_CUSTOM_JOB3:
      return msg_txt(1002);
   case JOB_CUSTOM_JOB4:
      return msg_txt(1003);
   case JOB_CUSTOM_JOB5:
      return msg_txt(1004);
Я надеюсь Слова английские все понятны? *crazy*

Автор: Anton7: Дата: 01.27.2009

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

Автор: Cole McCormick: Дата: 01.27.2009

а прокомпилить?

Автор: MiRoTVoReZ: Дата: 01.27.2009

, это обычный кастом или это уже наброски eA разработчиков на новые профы?

Автор: Cole McCormick: Дата: 01.27.2009

это от еа, оригинальные новые профы, как на картинках.

Автор: [Mark]: Дата: 01.27.2009

Originally posted by sergeidead;5559
это от еа, оригинальные новые профы, как на картинках.


только нада еше сорсы скилов найти =)

Автор: Anton7: Дата: 01.27.2009

а прокомпилить?

ет как прокомпилить?

Автор: Sanasol: Дата: 01.27.2009

Да спрайты оригинал из sdata.grf......

ет как прокомпилить?

ухахахахах Пост убил хДД
Компилить - Компилирование *Перестроение* т.е. пересборка эмулятора хДДД

Автор: Anton7: Дата: 01.27.2009

ну пожалуйста скиньте то что в сервер добавить!

Автор: Sanasol: Дата: 01.27.2009

Part 2: eA Database Edits

conf/import/msg_conf.txt (Deals with how messages are delivered to the jobclasses)
db/const.txt (Deals with source to script settings for bitmasks and id #'s.)
db/skill_tree.txt (Deals with how skills are governed to new classes)
db/exp.txt & db/exp2.txt (Experence tables - base and job)
db/job_db1.txt (Sets defines on jobclass -Weight,HPFactor,SPFactor.)
db/job_db2.txt (Sets defines on Job-specific Stat Bonuses.)
// --- db/const.txt [Fixed: A17kaliva]
-- Find
Code:

Job_Xmas   26
-- Add after
Code:
Job_Custom_Job1   4053 
Job_Custom_Job2   4054
Job_Custom_Job3   4055
Job_Custom_Job4   4056
Job_Custom_Job5   4057
I've left room here for the possibility of the 3 rumored new jobs here. If you don't know what's going on here, google hex numbers.
In short, (Hexing--- 01-09=1-9, A=10, B=11, C=12, D=13, E=14, F=15, 10=16, 11=17)
(*SEE NOTES IN BITMASKING SECTION HERE: )
-- Find
Code:
EAJ_NINJA   0x0A
-- Add after
Code:
EAJ_CUSTOM_JOB1    JOBL_2|0x1    
EAJ_CUSTOM_JOB2    JOBL_2|0x2    
EAJ_CUSTOM_JOB3    JOBL_2|0x3    
EAJ_CUSTOM_JOB4    JOBL_2|0x4    
EAJ_CUSTOM_JOB5    JOBL_2|0x5
// --- conf/import/msg_conf.txt
-- Add
Code:
1000: Custom Job1 
1001: Custom Job2
1002: Custom Job3
1003: Custom Job4
1004: Custom Job5
// --- db/skill_tree.txt
Here you have to add one line to each skill of the custom class.
The structure is simple, put the class ID,SkillID,MaxLv, and after put the PrerequisiteID,PrerequisiteLV for each prerequisite skill.
-- Add
Code:
4053,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
This adds the Novice's Basic Skill (MaxLv 9) in the Custom_Job1 Skill Tree.
Make sure to insert the Novice's Basic Skills and Call Baby.
// --- db/exp.txt & db/exp2.txt
Inside this file there are many Base and Job Exp tables.
Each table starts with the MaxLv and the IDs of the classes that will use it, seperated by ":".
Just insert the ID of your custom there.
-- Find
Code:
50,1:2:3:4:5:6:26:4024:4025:4026:4027:4028:4029:4046
-- Add after
Code:
50,1:2:3:4:5:6:26:4024:4025:4026:4027:4028:4029:4046:4053
Now Custom_Job1 uses the Job Exp Table of 1st Classes.
// --- db/job_db1.txt
This file defines the values of each class, Weight, HP multiplicator and bonus with weapons.
Copy someone's values and modify them.
// --- db/job_db2.txt
Here you define the Stat Bonus.
First put your custom ID, and after add one field for each JobLvUp that your class has.
Novice has MaxJobLv 10 so it has 9 fields (Lv2,Lv3,Lv4...).
In each field put the number of the stat that you want to be increased by 1.
-- Legend
Code:
0 = No stat bonus at this job level 
1 = STR increased by 1 at this job level
2 = AGI increased by 1 at this job level
3 = VIT increased by 1 at this job level
4 = INT increased by 1 at this job level
5 = DEX increased by 1 at this job level
6 = LUK increased by 1 at this job level
Now that the hard part is over... Let's work on the client stuff!

Автор: Sanasol: Дата: 01.27.2009

Part 3: Client Files И сразу 3я Часть для Клиента


class_tab.txt (Deals with how the classes are loaded.)
imf_tab.txt (? Deals with the default hair & act location it seems)
monstrosity_tab.txt (The visable name of the sprite. -Jobname)
reality_dir_tab.txt (tells client which folder to look for the job's weapon sprite/act files)
reality_tab.txt (? I'm guessing class to equip relation.)
You'll have to add class sprites & weapon sprites for each class (easy if you're using class sprites based on original sprites or just copy and pasting the original sprites), and, of course, edit the _tab files.

Before we edit the tabs, we need to add some files to the data folder.
Create the following folders if you don't have them in your data folder already:
Code:

data\sprite\АО°ЈБ·          // Item Sprite folder
data\sprite\АО°ЈБ·\ёцЕл     // Jobsprite folder
data\imf                    // .Imf folder
// --- data\sprite\АО°ЈБ·
Create a NEW folder for each class named the same as the class.
Inside these folders will be the weapon sprites for each respective class.

For this example, the following folders would be created:
Code:
custom_job1 
custom_job2
custom_job3
custom_job4
custom_job5
// --- data\sprite\АО°ЈБ·\ёцЕл
Inside this folder create two folders, іІ for male sprites and ї© for female sprites.
Add .spr and .act files for each of your new classes, inside these folders, with prefix іІ for male and ї© for female.
Code:
-Inside іІ folder:
custom_job1_іІ.spr and custom_job1_іІ.act 
custom_job2_іІ.spr and custom_job2_іІ.act
custom_job3_іІ.spr and custom_job3_іІ.act
custom_job4_іІ.spr and custom_job4_іІ.act
custom_job5_іІ.spr and custom_job5_іІ.act
-Inside ї© folder:
custom_job1_ї©.spr and custom_job1_ї©.act 
custom_job2_ї©.spr and custom_job2_ї©.act
custom_job3_ї©.spr and custom_job3_ї©.act
custom_job4_ї©.spr and custom_job4_ї©.act
custom_job5_ї©.spr and custom_job5_ї©.act
// --- data\imf [Thank Omega for the .imf clarification]
.imf -- It's still unclear what this file does, but the client requires it for all classes.

It's noted that it has something to do with the default head/hairstyle for each class and may effect the starting placement of the act file.

You can find the english names for each sprite name here , thanks goes out to the guys at Rate My Server.

If you're using sprites made from any of the default classes, I suggest you use the same .imf file.
For example, if you have sprite made from the original Dancer sprite, use the .imf for dancer.

You have to use sex prefix for the .imf files, _іІ for male, and _ї© for female.

// --- class_tab.txt
Ok A heads up CLASS_TAB, REALITY_TAB, and REALITY_DIR_TAB all run differently than the monstrosity tab.
Actually I dare you to go in there and actually find where its even once mentions a 2-1 2-2 or trans class sprite.

IT doesn't... Instead it refers to them differently.
Now you don't have to add !### here.

At the end of the file
-- Find
*ГКєёАЪ
-- Add BEFORE
Code:
custom_job1 
custom_job2
custom_job3
custom_job4
custom_job5
*Do the same for reality_tab.txt and imf_tab.txt. (<--BOLDED! your sure to miss this step if I don't.)
// --- reality_dir_tab.txt
-- Find
*ГКєёАЪ\\ГКєёАЪ
-- Add BEFORE
Code:
custom_job1\\custom_job1 
custom_job2\\custom_job2
custom_job3\\custom_job3
custom_job4\\custom_job4
custom_job5\\custom_job5
// --- monstrosity_tab.txt
Add your class ids in order.
For my ID 4053, I'll add my classes after the !4053 line.

Remember that the monstrosity_tab uses proper caps and spaces for class names (how they will appear in the client. This is where you will name your class according to what it will be AKA. Bard, Etc.)
-- Find
Code:
!4001
-- Add after
Code:
!4053 
Custom Job1
Custom Job2
Custom Job3
Custom Job4
Custom Job5
[]
Bitmasking

[A17kaliva & Rikter]
This Section deals with equipped items and how they are displayed and equipable on your custom classes.

[]
Bitmasking

See this post about bitmasking for using items. [hondacrx]

Ok, Now we get dirty...
First thing you should know is that the bitmasks are limited to 32 for the jobclass equipments. You also need to understand that 0 is also counted so the max is 31.[Brainstorm]

That being said, we shall start.
Earlier we set up the job ids to run on specific map ids, your map ids are set by bitmasks in map.h and also in itemdb.c which we haven't refered to yet for a reason.

When you set up your bit masks you will notice this:
MAPID_NOVICE = 0x0,
This is followed by the other base 1-1 classes starting with swordsman at 0x1 through thief at 0x6.
These are the prelimenary base hex that defines all equipable items.

[Mith*~~]
If my job's "bitmask number" is 24, then I do 2^24, which results in "16777216".

I then take that big number over there and convert it to hexadecimal, using any converter, like this one , and the result is "1000000"...
I then add a prefix "0x" like eA does for all bitmasks, and there you go, my job's bitmask is "0x1000000".

When you set up an item in your item DB you will need to add this item to the place marked job.
Example this is a monk weapon:
1522,Stunner,Stunner,4,60000,,2000,140,,1,0,0x00008110,7,2,2,3,27,1,8,{ bonus2 bAddEff,Eff_Stun,1000; },{},{}
[A17kaliva]
However, what Mith didnt know is that while he was right about the itemdb.c defining the bitmask for a job, the main define wasn't held there.

The itemdb.c as refered to by brainstorm at the time I was trying to crack my system to allow new jobclasses without a hex edit "The itemdb.c defines how the upperclass characters recieve the ability to equip items from thier lower class counterparts."

In other words, this (below) refers to which items the upper class will be able to equip.
if (jobmask & 1< bclass[2] |= 1< This bit of code here is calling for the hex (0x______ ) that you placed in the map.h, it refers to monk as bclass 2 and that it inherits the abilitys from it's base job.

Why is that needed? Well, it's NOT needed unless you are going to make trans classes.

Remember how Brainstorm said the hex was limited to 32? If you havent noticed, gravity has more than 32 classes.

Now, if the limit is 32 how is it that we are able to use around 36?
Well the key is in the base classes and the itemdb.c ... The base hex is the same thing your using atm, and will be your key to how things get equipped to your new classes.

I noticed a few extra bits of coding in the src that, well for all intents and purposes did basically nothing. It was a # define that defined a variable that wasn't being used.

Pay attention to what I'm showing you this will be the key to showing your items.

In your map.h:

//These marks the "level" of the job.
#define JOBL_2_1 0x100 //256
#define JOBL_2_2 0x200 //512
#define JOBL_2 0x300
#define JOBL_UPPER 0x1000 //4096
#define JOBL_BABY 0x2000 //8192
Now search your ENTIRE map.h for JOBL_2 ...
It doesnt exist! This entire define was pointless and I had a feeling it was set up in the past for possible new classes.

If you scroll down further in your map.h you will locate this:
//2_1 classes
MAPID_SUPER_NOVICE = JOBL_2_1|0x0,
MAPID_KNIGHT,
now remember the define we had above?
JOBL_2_1 = 0x100
So supernovies equipment id is 0x0 + 0x100 or 0x100.
Simple huh?
Well lets check it, to do that we take the id 2^0 = 0 then 0 in hex is 0 + define 100= 100.

Now try it for knight. . . Knight is 0x1 + 0x100 = 0x101 (1^1= 1 + define 100 = 101.)
(some of you are going WTF. . . Were dealing with hex not normal numbers. 0x01 is the same as 0x001 = 0x00000000000000000001 ... )

Now look at the LK. Note his bitmask:
MAPID_LORD_KNIGHT = JOBL_UPPER|JOBL_2_1|0x1,
so for the LK his #s are [(upper=1000)+ (job2_1=100)+(0x1=1)]=1101...

Now if you wanted all the swordie classes to use this item, you would have to add all the #'s of each jobclass that uses it.

What I did to make yours run, is set the define to run as 300.
So, what your system is going to do, is add both 100 and 200 together. This means your bitmask for your new job will be found by what I had you set in the map.h ...

So your new class
MAPID_CUSTOM_JOB1 = JOBL_2|0x1, // Uses same weapons as swordman classes --
MAPID_CUSTOM_JOB2 = JOBL_2|0x2, //uses same as mage-
MAPID_CUSTOM_JOB3 = JOBL_2|0x3, //archer-
MAPID_CUSTOM_JOB4 = JOBL_2|0x4, //acolyte-
MAPID_CUSTOM_JOB5 = JOBL_2|0x5, //merchant-
(understand now? simple no?)
WAIT! It's not over...
The way it runs now, this new class can equip any swordsman based items, in other words to get it to run it has to be identical to having the bitmask set as job1-1 job2-1 and job2-2's bitmasks, meaning you have to add all 3 up.

You cannot make it not able to equip the other classes items since those run on it. This also means that it's other classes will be able in theory to use these new items also.
If you were to add the upper as in the instance of the LK it would be = to all of the swordsmans classes ids.

To fix this, we can add a new define in the src like this:
#define JOBL_3 0x400
This should make it only able to use the prequil classes weapons, meaning if you used JOBL_3|0x4, It would only be able to use the acolyte or the 1-1 classes equipable weapons. You would also have to figure out what the new id would be as it would be higher.

I haven't tested what happens if you add the upper to JOBL_3|0x4, (making it JOBL_UPPER|JOBL_3|0x4,) but I have a feeling it would allow you to only equip the 1-1class, 2-1, and 2-2 classes weapons and not the trans classes.
(big thanks to Rikter for testing it out and giving me feedback on how it ran.)

(NOTE: Without adding a new define of 400, or the upper you are only able to add 1 custom class per original bitmask. In other words you can only make one swordsman type unless you add the upper.
If you do add the upper then it will allow for 2.
By adding a new define of 400 you can add 3 and with upper, and 400, 4.)

Enjoy.

Автор: Anton7: Дата: 01.28.2009

пожалуйста вылжите готовое то что в сервер добавлятьнужноа то я добавил и всё равнонефига нету((

Автор: Cole McCormick: Дата: 01.28.2009

обычно после такова, надо компилить.

Автор: Sanasol: Дата: 01.28.2009

Originally posted by anton7;5606
пожалуйста вылжите готовое то что в сервер добавлятьнужноа то я добавил и всё равнонефига нету((

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

Автор: Anton7: Дата: 01.28.2009

как ето компилирование? вот я захожу в игру пишу команду джоб и етих проф нету с чем ето связано пишет типу @job field

Автор: Sanasol: Дата: 01.28.2009


У нас не нашел етот топик наверно в архиве вот ссылка на еа точка вс

Автор: Anton7: Дата: 01.28.2009

а что без етого профы не появяться?

Автор: Sanasol: Дата: 01.28.2009

Originally posted by Anton7;5614
а что без етого профы не появяться?

Не появятся *al*

Автор: Anton7: Дата: 01.28.2009

ну тогда щас приступим

Автор: Anton7: Дата: 01.28.2009

а вообщедля чего ето компилирование сервера?

Автор: Sanasol: Дата: 01.28.2009

Originally posted by anton7;5625
а вообщедля чего ето компилирование сервера?


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

Автор: Anton7: Дата: 01.28.2009

ты когда зделал компилирование только тогда они у тебя заработали?

Автор: worms0950: Дата: 01.30.2009

как я понял это просто кастом профы без скилов?

Автор: Sanasol: Дата: 01.30.2009

Originally posted by worms0950;5682
как я понял это просто кастом профы без скилов?


да скиллы сам писать будешь ))

Автор: San: Дата: 04.27.2009

Тут либо с гайдом чтото не так, либо у меня чтото не так)
Добавлял по гайду.
Вот такие ошибки

status.c
..\src\map\status.c(4289) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
..\src\map\status.c(4350) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
..\src\map\status.c(6088) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
..\src\map\status.c(6649) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
..\src\map\status.c(7443) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
..\src\map\status.c(7474) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
script.c
..\src\map\script.c(4551) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
mob.c
..\src\map\mob.c(1411) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
..\src\map\mob.c(2335) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
..\src\map\mob.c(3287) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
..\src\map\mob.c(3669) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
clif.c
..\src\map\clif.c(706) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
..\src\map\clif.c(905) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
..\src\map\clif.c(7347) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор
charcommand.c
..\src\map\charcommand.c(103) : error C2065: JOB_CUSTOM_JOB1: необъявленный идентификатор


В гайде я не находил что нужно чтото добавлять в charcommand.c, clif.c, mob.c, и status.c:confused:

Автор: Sanasol: Дата: 04.27.2009

Я тебе писал ответ в твоей теме. Куда то забыл добавить строку.