What's new

[7.6]Nowa profesja

kupaguwno

User
Joined
Jun 10, 2008
Messages
11
Reaction score
0
Witam!​
Prawdopodopnie nie pisze w tym dziale co trzeba ale trudno :D
Bardzo bym prosi? kogo? aby mi dok?adnie najlepiej ze zdj?ciami wyt?umaczy? jak sie robi nowe profesje pod silnik youroza 7.6 (mam folder source)
prosze o kontakt
gg
5083585
 

felek06

Advanced User
Joined
Aug 9, 2008
Messages
464
Reaction score
41
masz tu nowa profke ale wiec ze potem musisz wejsc w xxx/spells/spells.xml
i w te czaru kture ma miec ta nowa profka dopisac jej id tu akurat 9
wklejasz ja do pliku vocations.xml
a oto i ona
Code:
</vocation>
<vocation id="9" name="Naruto" description="an naruto" gaincap="30" gainhp="30" gainmana="30" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" gainsoulticks="15" gainsoulamount="1" manamultiplier="3.0" attackspeed="10" prevoc="4" basespeed="220">
	<diepercent experience="7" magic="7" skill="7" equipment="7" container="100"/>
	<formula damage="2.2" defense="2.1" armor="2.1"/>
	<skill id="0" multiplier="2.1"/>
	<skill id="1" multiplier="2.1"/>
	<skill id="2" multiplier="2.1"/>
	<skill id="3" multiplier="2.1"/>
	<skill id="4" multiplier="2.1"/>
	<skill id="5" multiplier="2.1"/>
	<skill id="6" multiplier="2.1"/>
</vocation>
mozesz sobie jeszcze pozmienic np: jak szybko maja isc skile,magic lvl,hp,mana itp
reput mile widziany
 

Poiu19

Advanced User
Joined
Apr 17, 2008
Messages
200
Reaction score
14
masz tu nowa profke ale wiec ze potem musisz wejsc w xxx/spells/spells.xml
i w te czaru kture ma miec ta nowa profka dopisac jej id tu akurat 9
wklejasz ja do pliku vocations.xml
a oto i ona
Code:
</vocation>
<vocation id="9" name="Naruto" description="an naruto" gaincap="30" gainhp="30" gainmana="30" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" gainsoulticks="15" gainsoulamount="1" manamultiplier="3.0" attackspeed="10" prevoc="4" basespeed="220">
	<diepercent experience="7" magic="7" skill="7" equipment="7" container="100"/>
	<formula damage="2.2" defense="2.1" armor="2.1"/>
	<skill id="0" multiplier="2.1"/>
	<skill id="1" multiplier="2.1"/>
	<skill id="2" multiplier="2.1"/>
	<skill id="3" multiplier="2.1"/>
	<skill id="4" multiplier="2.1"/>
	<skill id="5" multiplier="2.1"/>
	<skill id="6" multiplier="2.1"/>
</vocation>
mozesz sobie jeszcze pozmienic np: jak szybko maja isc skile,magic lvl,hp,mana itp
reput mile widziany

A zauwa?y?e? ?e mu chodzi o silnik 7.6?
Ty mu da?e? z 7.8-8.21
I jeszcze reputa chcesz?
Next razem wejd? w silnik 7.6 i sprawd?.
 

parada

User
Joined
Apr 15, 2008
Messages
40
Reaction score
3
co do felek~ jak juz dajesz skrypt to sie zastanow czy jest dobry a jak juz jest to opisz go dokladnie-.-
@topic do stworzenia nowej profesji trzeba kompilowac w silniku a juz trochej bardzie zaawansowanym trzeba byc do tego :p jak bym mogl dodac linka to bym ci zucil jakis poradnik. ale opcja szukaj dost?pna a to forum jest bogate w takie rzeczy :p
 

kupaguwno

User
Joined
Jun 10, 2008
Messages
11
Reaction score
0
Odp: [7.6]Nowa profesja

Od?wie?am!

No w?a?nie, to nie jest pod 7.6
Prosze o pomoc!
 

olgierd555

Senior User
Joined
May 28, 2008
Messages
650
Reaction score
21
Odp: [7.6]Nowa profesja

Wiesz co, nie chce byc okrutny czy cos,
ale prawdopodobnie nie otrzymasz poprawnej odpowiedzi na swoje pytanie...
 

Astrel1

User
Joined
Aug 10, 2008
Messages
30
Reaction score
0
Odp: [7.6]Nowa profesja

A wi?c:
Code:
Siemaaa ... Widzze ze nie bylo tutaj zadnego takiego poradnika ...

Odrazu zaznaczam ze poradnik nie moj !


W tym temacie przedstawi? krok po kroku jak doda? now? klas? postaci (profesj?).
Jako nazw? dla swojej profesji wybra?em Barbarzy?c?, wy mo?ecie nazwa? j? jak sobie chcecie.

Zaczniemy od modyfikowania player.cpp:

Ju? na pocz?tku pliku znajdujemy:

const int Player::gainManaVector[5][2] = {{6,1},{3,1},{3,1},{4,1},{6,1}};
const int Player::gainHealthVector[5][2] = {{6,1},{6,1},{6,1},{4,1},{3,1}};


zmieniamy to na:


Kod:

const int Player::gainManaVector[6][2] = {{6,1},{3,1},{3,1},{4,1},{6,1},{12,1}};
const int Player::gainHealthVector[6][2] = {{6,1},{6,1},{6,1},{4,1},{3,1},{1,1}};


Jak zauwa?yli?cie lub
nie, zamiast [5] mamy teraz [6], m?wi to serwerowi, ?e teraz jest 6 profesji,a nie 5. na ko?cu ka?dego wiersza zosta?y te? dodane pewne liczby. {12,1} m?wi serwerowi, ?e co 12 sekund mana tej profesji ma rosn?? o 1 punkt. {1,1} m?wi za?, ?e co 1 sekunde ?ycie tej profesji ma rosn?? o 1 punkt.
Czemu takie liczby, a nie inne? Ot?? z g?ry sobie ustalilem, ?e m?j barbarzy?ca b?dzie posiada? najszybsz? regeneracj? ?ycia i najwolniejsz? regeneracj? many ze wszystkich innych klas. Wy wklepcie sobie liczby jakie wolicie. :P

Troche ni?ej w player.cpp widzimy:


const int Player::CapGain[5] = {10, 10, 10, 20, 25};
const int Player::ManaGain[5] = {5, 30, 30, 15, 5};
const int Player::HPGain[5] = {5, 5, 5, 10, 15};


zmieniamy to na:


const int Player::CapGain[6] = {10, 10, 10, 20, 25, 35};
const int Player::ManaGain[6] = {5, 30, 30, 15, 5, 5};
const int Player::HPGain[6] = {5, 5, 5, 10, 15, 20};


Liczby nowo dodane, czyli 35, 5 i 20 m?wi? o ile b?dzie wzarsta? ud?wig, mana i ?ycie podczas levelowania. Wszystko jasne? Idziemy dalej.

W player.cpp odnajdujemy funkcj? Player::getReqSkillTries i zmieniamy:


float SkillMultipliers[7][5] = {
{1.5f, 1.5f, 1.5f, 1.2f, 1.1f}, // Fist
{2.0f, 2.0f, 1.8f, 1.2f, 1.1f}, // Club
{2.0f, 2.0f, 1.8f, 1.2f, 1.1f}, // Sword
{2.0f, 2.0f, 1.8f, 1.2f, 1.1f}, // Axe
{2.0f, 2.0f, 1.8f, 1.1f, 1.4f}, // Distance
{1.5f, 1.5f, 1.5f, 1.1f, 1.1f}, // Shielding
{1.1f, 1.1f, 1.1f, 1.1f, 1.1f} // Fishing
};

na:


float SkillMultipliers[7][6] = {
{1.5f, 1.5f, 1.5f, 1.2f, 1.1f, 1.1f}, // Fist
{2.0f, 2.0f, 1.8f, 1.2f, 1.1f, 1.0f}, // Club
{2.0f, 2.0f, 1.8f, 1.2f, 1.1f, 1.8f}, // Sword
{2.0f, 2.0f, 1.8f, 1.2f, 1.1f, 1.0f}, // Axe
{2.0f, 2.0f, 1.8f, 1.1f, 1.4f, 1.8f}, // Distance
{1.5f, 1.5f, 1.5f, 1.1f, 1.1f, 1.5f}, // Shielding
{1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f} // Fishing
};

Warto?ci przedstawione powy?ej informuj? nas jak d?ugo trzeba trenowa?, aby awansowa? w danym skillu. Im wi?ksza liczba, tym d?u?ej trzeba trenowa?.
M?j barbarzy?ca najlepiej zna sie na obs?udze topor?w i broni obuchowych, a najs?abiej na shieldingu i mieczach.

Przechodzimy teraz do funkcji Player::getReqMana i odnajdujemy w niej wiersz:


float ManaMultiplier[5] = { 1.0f, 1.1f, 1.1f, 1.4f, 3};

i zmieniamy go na:


float ManaMultiplier[6] = { 1.0f, 1.1f, 1.1f, 1.4f, 3, 6};

Tutaj liczby m?wi? nam jak d?ugo trzeba rzuca? czary, aby awansowa? w mlvl. Im wi?ksza liczba, tym wi?cej czar?w trzeba rzuci?.
M?j barbarzy?ca b?dzie musia? si? sporo natrudzi? by wskoczy? na 1 mlvl. ;-)

Preskakujemy teraz do funkcji Player::gainManaTick() i zmieniamy w niej:


if(vocation >= 0 && vocation < 5)

na:


if(vocation >= 0 && vocation < 6)

To samo robimy w funkcji Player::gainHealthTick()

Teraz przenosimy sie do player.h gdzie zmieniamy:


static const int CapGain[5]; //for level advances
static const int ManaGain[5];
static const int HPGain[5];
static const int gainManaVector[5][2];
static const int gainHealthVector[5][2];

na:


static const int CapGain[6]; //for level advances
static const int ManaGain[6];
static const int HPGain[6];
static const int gainManaVector[6][2];
static const int gainHealthVector[6][2];

Odszukujemy r?wnie?:


enum playervoc_t {
VOCATION_NONE = 0,
VOCATION_SORCERER = 1,
VOCATION_DRUID = 2,
VOCATION_PALADIN = 3,
VOCATION_KNIGHT = 4,
};

i zmieniamy na:


enum playervoc_t {
VOCATION_NONE = 0,
VOCATION_SORCERER = 1,
VOCATION_DRUID = 2,
VOCATION_PALADIN = 3,
VOCATION_KNIGHT = 4,
VOCATION_BARBARIAN = 5
};

To tyle je?li chodzi o zmiany w player.cpp i player.h

Teraz musz? podzieli? poradnik na dwie cz??ci, dla os?b posiadaj?cych najnowszy CVS pod 7.72 i dla ludzi korzystaj?cych ze starych OTS'?w typu YurOts 0.9.4.

Zaczne od nowszego CVS gdy? mam ju? to zrobione. :mrgreen:

W configmanager.cpp znajdujemy:


for(int i=0; i<4; ++i)
m_confVocationString[i] = getGlobalStringField(L, "vocations", i+1, "unknown");

i zmieniamy na:


for(int i=0; i<5; ++i)
m_confVocationString[i] = getGlobalStringField(L, "vocations", i+1, "unknown");


W configmanager.h odszukujemy:


std::string m_confVocationString[4];

i zmieniamy na:


std::string m_confVocationString[5];


A teraz cz??? dla os?b korzystaj?cych z YurOtsa lub innych serwer?w pod 7.6.

W luascript.cpp odnajdujemy:


VOCATIONS[VOCATION_DRUID] = getGlobalStringField("vocations",VOCATION_DRUID);

i pod tym dodajemy:


VOCATIONS[VOCATION_BARBARIAN] = getGlobalStringField("vocations",VOCATION_BARBARIAN);


W luascript.h znajdujemy:


std::string VOCATIONS[5];

i zmieniamy na:


std::string VOCATIONS[6];


UWAGA! Je?li korzystasz z systemu premium i promocji zrobionego przez Yureza musisz:
W luascript.cpp odszuka?:


PROMOTED_VOCATIONS[VOCATION_DRUID] = getGlobalStringField("promoted_vocations",VOCATION_DRUID);

i doda? pod tym:


PROMOTED_VOCATIONS[VOCATION_BARBARIAN] = getGlobalStringField("promoted_vocations",VOCATION_BARBARIAN);


W luascript.h znale??:


std::string PROMOTED_VOCATIONS[5];
i zmieni? na:


std::string PROMOTED_VOCATIONS[6];


W player.cpp zmieni?:


const int Player::promotedGainManaVector[5][2] = {{5,1},{1,1},{1,1},{3,1},{3,1}};
const int Player::promotedGainHealthVector[5][2] = {{5,1},{5,1},{5,1},{3,1},{1,1}};

na:


const int Player::promotedGainManaVector[6][2] = {{5,1},{1,1},{1,1},{3,1},{3,1},{10,1}};
const int Player::promotedGainHealthVector[6][2] = {{5,1},{5,1},{5,1},{3,1},{1,1},{1,1}};

Liczby {10,1} i {1,1} zostaly ustalone przeze mnie. Wy ustawcie sobie tak, jak wam odpowiada.


Ostatni? rzecz? kt?r? musicie zrobi? to w config.lua doda? nazw? nowej profesji:


vocations = {"a sorcerer", "a druid", "a paladin", "a knight", "a paladin", "a barbarian"}


oraz je?li u?ywacie systemu premium i promocji Yureza:


promoted_vocations = {"a master sorcerer", "an elder druid", "a royal paladin", "an elite knight", "a berserker"}


To chyba wszystko. W obu przypadkach, 7.72 i 7.6 trzeba u?y? opcji Rebuild All w Dev-Cpp, aby zminimalizowa? ilo?? crash?w serwera.

Je?li co? wam nie wychodzi, to podawajcie tu swoje b??dy kompilacji, a ja postaram sie zaradzi? waszym problemom. :-)


Teraz przeskakujemy do speels.xml

<spells maxVoc="4">

na:


<spells maxVoc="5">

oraz dodawac w czarze, ktory moze byc uzywany przez nowa prof:


<vocation id="5" />
Poradnik nie jest m?j, nie pami?tam z k?d go mam ale mam go zapisanego :p
Nie sprawdza?em, ale raczej po tym widze ?e dzia?a.
 
Top