Динамические рейты

Hotaka

Heir
Допустим мы хотим сделать у себя на сервере динамические рейты EXP такого вида
с 1 уровня по 20 = x100
с 20 уровня по 40 = x90
с 40 уровня по 52 = x80
с 61 уровня по 76 = x60
с 76 уровня по 80 = x50

Для начала необходимо отредактировать файл server.properties который находится по пути /gameserver/config/.
В нём опускаемся ~ до 115 строки и выставляем те рейты которые вы хотите установить для персонажей с 1 по 19 уровень (до изучения скила Expertise D)
Для примера это будет
# Рейты EXP
RateXp = 100
# Рейты SP
RateSp = 100
# Рейты адены
RateDropAdena = 100
# Рейт дропа вещей
RateDropItems = 100

Далее приступаем к редактированию скила 239 - Expertise D
Базово он имеет вид
XML:
 <skill id="239" levels="7" name="Expertise D">
    <table name="#magicLevel">20 40 52 61 76 76 76</table>
    <set name="icon" val="icon.skill0239"/>
    <set name="magicLevel" val="#magicLevel"/>
    <set name="target" val="TARGET_SELF"/>
    <set name="skillType" val="HARDCODED"/>
    <set name="operateType" val="OP_PASSIVE"/>
    <set name="canLearn" val=""/>
    <set name="isCommon" val="true"/>
  </skill>

У себя я отчистил его от ненужного хлама:
  • снизил уровень скила с 7 до 5 в первой строке. В хрониках Interlude используются 5 уровней этого скила - каждый из которых соответствуют грейдам D,C,B,A,S и не используются S80 и S84
  • S80 и S84 убрал в следующей строке это 2 последние записи 76 в конце второй строки
Получается
XML:
  <skill id="239" levels="5" name="Expertise D">
    <table name="#magicLevel">20 40 52 61 76</table>

Третьей строкой добавляем
XML:
<table name="#power">0.9 0.8 0.7 0.6 0.5</table>
это коэффициенты модификатора по уровням скила(грейдам) влияющий на сам модификатор
который добавляем вниз скила
XML:
<for>
      <mul order="0x30" stat="ExpMultiplier" val="#power"/>
</for>
Получается такое
XML:
  <skill id="239" levels="5" name="Expertise D">
    <table name="#magicLevel">20 40 52 61 76</table>
    <table name="#power">0.9 0.8 0.7 0.6 0.5</table>
    <set name="icon" val="icon.skill0239"/>
    <set name="magicLevel" val="#magicLevel"/>
    <set name="target" val="TARGET_SELF"/>
    <set name="skillType" val="HARDCODED"/>
    <set name="operateType" val="OP_PASSIVE"/>
    <set name="canLearn" val=""/>
    <set name="isCommon" val="true"/>
    <for>
      <mul order="0x30" stat="ExpMultiplier" val="#power"/>
    </for>
  </skill>
таким образом получаем что EXP получаемый персонажами с разными грейдами будут модифицироваться коэффициентами "#power". а ВСЕ остальные рейты берутся из server.properties , без изменений, при условии что вы НЕ добавили соответствующий модификатор.
<table name="#power">0.9(для персов с Expertise D) 0.8(для персов с Expertise C) 0.7(для персов с Expertise B) 0.6(для персов с Expertise A) 0.5(для персов с Expertise S)</table>

Для добавления множителя SP стат- SpMultiplier
Для добавления множителя EXP стат - ExpMultiplier
Для добавления множителя EXP стат при фарме рейда - RaidExpMultiplier
Для добавления множителя SP стат при фарме рейда - RaidSpMultiplier
Для добавления множителя дропа предметов стат - ItemDropMultiplier
Для добавления множителя дропа адены стат - AdenaDropMultiplier
Для добавления множителя спойла стат - SpoilDropMultiplier
Для Бонуса к заточке предметов - EnchantBonusMultiplier
 
Last edited:
а не проще в таблице порезать exp?
формулой за 2 минуты порежешь в excel'e, а тут что то много букв
 
Last edited:
experience.csv по аналогии с твоим мануалом только проще
363
1168
2884
6038
11287
19423
31378
48229
71201
101676
141192
191452
254327
331864
426284
539995
675590
928727
1137528
1380596
1661701
1984850
2354289
2774510
3250254
3786526
4388586
5061962
5812459
6646154
7569413
8588888
9711524
10944568
12295569
13772388
15383199
19278564
21421253
23744466
26258879
28975553
31905939
35061886
38455649
42099884
46007666
50192494
56906081
64077755
95639470
106512642
118087903
134500565
151936885
170442210
190063347
210848383
243845352
278738818
315606313
354527902
395585688
453289220
514068958
578042058
645329215
716054003
790342918
887820092
1010531823
1160628112
1340366620
1862551656
2302551668
3022551668
4198551668
8400000000
12600000000
 
Конечно проще.
В той же таблице пореж и сделай динамические рейты по нижеследующим параметрам:
Sp , Exp , RaidExp , RaidSp , ItemDrop , AdenaDrop , SpoilDrop , EnchantBonus
 
Конечно проще.
В той же таблице пореж и сделай динамические рейты по нижеследующим параметрам:
Sp , Exp , RaidExp , RaidSp , ItemDrop , AdenaDrop , SpoilDrop , EnchantBonus
хах изначально стояла задача порезать EXP
 
хах изначально стояла задача порезать EXP
изначально это был просто пример. Или тебе в мануале по каждому параметру пример нужно расписывать?
 
а не проще в таблице порезать exp?
формулой за 2 минуты порежешь в excel'e, а тут что то много букв
Не проще т.к слишком много цифр в файле.
А так добавляешь параметр в скилл который отнимает процент от exp/sp и делов то :)
Просто тут расписано до мелочей и как говорится для "недалёких":D
 
Не проще т.к слишком много цифр в файле.
А так добавляешь параметр в скилл который отнимает процент от exp/sp и делов то :)
Просто тут расписано до мелочей и как говорится для "недалёких":D
исходные данные тоже имеют много цифр) а так ты не привязан к грейдам)
 
исходные данные тоже имеют много цифр) а так ты не привязан к грейдам)
Так тебе не обязательно привязаться к грейдам. Ты хоть каждый уровень себе раздели на любой множитель. Скилл с грейдом только для примера.
 
Добрый день. Что тут не так?
я хотел с 1 лвла добавить скил. И хотел помимо экспы, добавить рейты адены:

<skill id="239" levels="5" name="Expertise D">
<table name="#magicLevel">0 20 40 52 61 76</table>
<table name="#power">1 0.9 0.8 0.7 0.6 0.5</table>
<table name="#power1">2 0.9 0.8 0.7 0.6 0.5</table>
<set name="icon" val="icon.skill0239"/>
<set name="magicLevel" val="#magicLevel"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="HARDCODED"/>
<set name="operateType" val="OP_PASSIVE"/>
<set name="canLearn" val=""/>
<set name="isCommon" val="true"/>
<for>
<mul order="0x30" stat="ExpMultiplier" val="#power"/>
</for>
<for>
<mul order="0x30" stat="AdenaDropMultiplier" val="#power1"/>
</for>
</skill>
 
Добрый день. Что тут не так?
я хотел с 1 лвла добавить скил. И хотел помимо экспы, добавить рейты адены:
<table name="#magicLevel">0 20 40 52 61 76</table> в игре есть НУЛЕВОЙ левел?)
 
Добрый день. Что тут не так?
я хотел с 1 лвла добавить скил. И хотел помимо экспы, добавить рейты адены:
<for>
<mul order="0x30" stat="ExpMultiplier" val="#power"/>
</for>
<for>
<mul order="0x30" stat="AdenaDropMultiplier" val="#power1"/>
</for>

Выше - Это не правильно.
Вот так должно быть:

<for>
<mul order="0x30" stat="ExpMultiplier" val="#power"/>
<mul order="0x30" stat="AdenaDropMultiplier" val="#power1"/>
</for>
 
<table name="#magicLevel">0 20 40 52 61 76</table> в игре есть НУЛЕВОЙ левел?)
Сорян, что-то не углядел :)
<for>
<mul order="0x30" stat="ExpMultiplier" val="#power"/>
</for>
<for>
<mul order="0x30" stat="AdenaDropMultiplier" val="#power1"/>
</for>

Выше - Это не правильно.
Вот так должно быть:

<for>
<mul order="0x30" stat="ExpMultiplier" val="#power"/>
<mul order="0x30" stat="AdenaDropMultiplier" val="#power1"/>
</for>
хоть с чем-то я немного угадал :)


з.ы. Огромное Вам спасибо! Работает!

очень удобная штука на средних рейтах с низкой аденой и дропом. Я от 1 до 52 повысил дроп адены и вещей, что бы люди хотя-бы во что-то оделись:)
а повышать адену нельзя, потом начинается переизбыток и тратить её некуда
 
Сорян, что-то не углядел :)

хоть с чем-то я немного угадал :)


з.ы. Огромное Вам спасибо! Работает!

очень удобная штука на средних рейтах с низкой аденой и дропом. Я от 1 до 52 повысил дроп адены и вещей, что бы люди хотя-бы во что-то оделись:)
а повышать адену нельзя, потом начинается переизбыток и тратить её некуда
Значит у тебя на сервере грейды не по лвлу
Если с 1-го лвла делать, то лучше к коммон крафту привязаться и мэджик лвл никакого отношения к уровню персонажа не имеет
 
Back
Top