Автор: Sanasol: Дата: 01.20.2009
Есть ли где нибудь Сорсы на новые скиллы, новых 3х Проф (Arch Bishop, Warlock.....) Спрайты нашел успешно поставил.... Нашел сервер (или форум) http://dvd-ro.com тАм есть и скиллы и профы (видео на Ютубе) показаны новые скиллы. Но там все на Тайландском =)) Не понятно....
Автор: MiRoTVoReZ: Дата: 01.21.2009
ну если ты удачный програмер и знаешь язык си только в путь) или мб если кто поделится кодом то конечно будет уже легче.
Автор: Cole McCormick: Дата: 01.21.2009
немагу зайти на тот форум , вообще негрузит, выложи все что есть там по части проф , тут разберемся.
Автор: Anton7: Дата: 01.21.2009
выложи спрайты
Автор: [Mark]: Дата: 01.22.2009
А куда ети спрайты пихать и какое у них название должнобыть а то у меня ппц че твариться с названиями xD
Автор: Sanasol: Дата: 01.22.2009
Originally posted by '[Mark
;5332']А куда ети спрайты пихать и какое у них название должнобыть а то у меня ппц че твариться с названиями xD
Автор: [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']тогда встречный вапрос =) а если я хачю сделать допустим отдельную профу то как сделать чтобы я мог ее выбрать?) и еше где узнать как в дате спрайт приста допустим называется =)
Автор: 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
да, а то сейчас времени нету':(
Автор: 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:
-- Replace //Update this max as necessary. 53 is the value needed for Super Baby currently
#define MAX_SKILL_TREE 53
Code:
-- Find //Update this max as necessary. 53 is the value needed for Super Baby currently
#define MAX_SKILL_TREE 600
Code:
-- Replace //Checks if the given class value corresponds to a player class. [Skotlex]
#define pcdb_checkid(class_) (class_
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:
-- Add after { "ninja", 25 },
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:
-- Add after JOB_XMAS,
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
-- Replace #define MAX_PC_CLASS 4050
(note: Its not required to go this high, I did it for space/testing reasons. Set it to the range of jobs you add.) #define MAX_PC_CLASS 4500
(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:
-- Add after [Fixed: A17kaliva] MAPID_XMAS, // [Valaris]
(*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:
-- Add after case JOB_XMAS:
class_ = MAPID_XMAS;
break;
Code:
-- Find 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;
Code:
-- Add after case MAPID_BABY_ROGUE:
return JOB_BABY_ROGUE;
Code:
-- Find 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;
Code:
-- Add before default:
return msg_txt(650);
Code:
Я надеюсь Слова английские все понятны? *crazy* 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);
Автор: Anton7: Дата: 01.27.2009
незнаю мож я чёт неправильно делаю,выложи свои пожалуйсто, а то я добавил всё как по гайду а захожу в игру ввожу и ничего
Автор: Cole McCormick: Дата: 01.27.2009
а прокомпилить?
Автор: 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 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. EAJ_NINJA 0x0A
-- Add after 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 1000: Custom Job1
1001: Custom Job2
1002: Custom Job3
1003: Custom Job4
1004: Custom Job5
// --- db/skill_tree.txt 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. 50,1:2:3:4:5:6:26:4024:4025:4026:4027:4028:4029:4046
-- Add after 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. 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\АО°ЈБ·custom_job1
custom_job2
custom_job3
custom_job4
custom_job5
// --- data\sprite\АО°ЈБ·\ёцЕл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]*ГКєёАЪ
-- Add BEFOREcustom_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.) *ГКєёАЪ\\ГКєёАЪ
-- Add BEFOREcustom_job1\\custom_job1
custom_job2\\custom_job2
custom_job3\\custom_job3
custom_job4\\custom_job4
custom_job5\\custom_job5
// --- monstrosity_tab.txt !4001
-- Add after !4053
Custom Job1
Custom Job2
Custom Job3
Custom Job4
Custom Job5
[]Автор: Anton7: Дата: 01.28.2009
пожалуйста вылжите готовое то что в сервер добавлятьнужноа то я добавил и всё равнонефига нету((
Автор: Cole McCormick: Дата: 01.28.2009
обычно после такова, надо компилить.
Автор: Sanasol: Дата: 01.28.2009
Originally posted by anton7;5606
пожалуйста вылжите готовое то что в сервер добавлятьнужноа то я добавил и всё равнонефига нету((
Автор: Anton7: Дата: 01.28.2009
как ето компилирование? вот я захожу в игру пишу команду джоб и етих проф нету с чем ето связано пишет типу @job field
Автор: Anton7: Дата: 01.28.2009
а что без етого профы не появяться?
Автор: Sanasol: Дата: 01.28.2009
Originally posted by Anton7;5614
а что без етого профы не появяться?
Автор: 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: необъявленный идентификатор
Автор: Sanasol: Дата: 04.27.2009
Я тебе писал ответ в твоей теме. Куда то забыл добавить строку.