Как сделать автобафф зону.

Deazer

Разработчик
Staff member
#1
Путь:
data/zone

Выбираем для примера любую стандартную зону - к примеру:
data/zone/peace_zone.xml

Code:
    <zone name="[primeval_peace1]" type="peace_zone" >
        <polygon> <!-- 원시의 섬 선착장(20_17) -->
            <coords loc="10408 -27395 -4290 -1290" />
            <coords loc="12065 -25334 -4290 -1290" />
            <coords loc="12223 -23159 -4290 -1290" />
            <coords loc="10424 -22340 -4290 -1290" />
            <coords loc="9566 -23131 -4290 -1290" />
            <coords loc="9290 -24261 -4290 -1290" />
        </polygon>
    </zone>
И теперь модифицируем зону для того что бы при входе в зону вам автобафало нобл или еще какой скил. В примере я укажу как баффнуть ноблеса
Вариант 1:
Code:
    <zone name="[primeval_peace1]" type="peace_zone" >
        <set name="zoneBuffs" val="1323:1" /> <!-- Ноблес бафф -->
        <polygon> <!-- 원시의 섬 선착장(20_17) -->
            <coords loc="10408 -27395 -4290 -1290" />
            <coords loc="12065 -25334 -4290 -1290" />
            <coords loc="12223 -23159 -4290 -1290" />
            <coords loc="10424 -22340 -4290 -1290" />
            <coords loc="9566 -23131 -4290 -1290" />
            <coords loc="9290 -24261 -4290 -1290" />
        </polygon>
    </zone>
смотрите - я добавил <set name="zoneBuffs" val="1323:1" />
где skill_id=1323 skill_level=1

Вариант 2:

Если мы хотим добавить много баффов при входе в зону:
Code:
   <zone name="[primeval_peace1]" type="peace_zone" >
        <set name="zoneBuffs" val="1323:1;1045:6;1047:4;1048:6" />
        <polygon> <!-- 원시의 섬 선착장(20_17) -->
            <coords loc="10408 -27395 -4290 -1290" />
            <coords loc="12065 -25334 -4290 -1290" />
            <coords loc="12223 -23159 -4290 -1290" />
            <coords loc="10424 -22340 -4290 -1290" />
            <coords loc="9566 -23131 -4290 -1290" />
            <coords loc="9290 -24261 -4290 -1290" />
        </polygon>
    </zone>
смотрите - я добавил <set name="zoneBuffs" val="1323:1;1045:6;1047:4;1048:6" />

Вариант 3:
Если мы хотим добавить много баффов или один и при этом модифицировать время баффа, а не брать стандартное:

Code:
   <zone name="[primeval_peace1]" type="peace_zone" >
        <set name="zoneBuffs" val="1323:1/6000;1045:6/6000;1047:4/6000;1048:6/6000" />
        <polygon> <!-- 원시의 섬 선착장(20_17) -->
            <coords loc="10408 -27395 -4290 -1290" />
            <coords loc="12065 -25334 -4290 -1290" />
            <coords loc="12223 -23159 -4290 -1290" />
            <coords loc="10424 -22340 -4290 -1290" />
            <coords loc="9566 -23131 -4290 -1290" />
            <coords loc="9290 -24261 -4290 -1290" />
        </polygon>
    </zone>
смотрите - я добавил <set name="zoneBuffs" val="1323:1/6000;1045:6/6000;1047:4/6000;1048:6/6000" />

где "id1323:level1/модификатор времени в секундах 6000 = 100 минут"

Условия:
Бафф не будет накладываться если зарегистрированный на олимпиаду,если вы заричь или акаманах, находитесь в дуели, мертвы, трейдите и так далее.
 
Last edited:

Владислав

Пользователь
#2
Как сделать автобаф в инстанс зоне? Например нобл баф на ТвТ, или какой нибудь набор бафа в камалоке?
 

Deazer

Разработчик
Staff member
#3
Как сделать автобаф в инстанс зоне? Например нобл баф на ТвТ, или какой нибудь набор бафа в камалоке?
<zones>
<zone name="[my_zone]" active="true" />
</zones>
Внутри файла инстанца(короче я пропустил много пунктов, перепишу гайд) и активируешь ее, если кодом хочешь активировать - то ставишь false и в процессе ивента в инстанце, врубаешь ее
 

Владислав

Пользователь
#4
<zones>
<zone name="[my_zone]" active="true" />
</zones>
Внутри файла инстанца(короче я пропустил много пунктов, перепишу гайд) и активируешь ее, если кодом хочешь активировать - то ставишь false и в процессе ивента в инстанце, врубаешь ее
Имеет значение в какую именно зону.xml вписывать свою?
gameserver\data\zone

я добавил в battle_zone.xml
<zone name="[zona_73]" type="battle_zone" >
<set name="default" val="false" />
<set name="zoneBuffs" val="1323:1/6000;1045:6/6000;1047:4/6000;1048:6/6000" />
<polygon>
<coords loc="181224 89096 7216 57343" />
<coords loc="181188 88872 7216 0" />
<coords loc="181016 88392 7216 11547" />
<coords loc="179736 88424 7216 40959" />
<coords loc="179592 88888 7216 29865" />
<coords loc="179592 89096 7216 47671" />
<coords loc="179736 89592 7216 45796" />
<coords loc="180984 89528 7216 57343" />
<coords loc="181016 89352 7216 57343" />
</polygon>
</zone>
В инстансе добавил эту зону
<zones>
<zone name="[zona_73]" active="true"/>
</zones>
при входе в зону - баф не даёт, что делаю не так?
 

Deazer

Разработчик
Staff member
#5
Имеет значение в какую именно зону.xml вписывать свою?
gameserver\data\zone

я добавил в battle_zone.xml


В инстансе добавил эту зону


при входе в зону - баф не даёт, что делаю не так?
а сама зона то есть, зайди в нее и сделай //zone_check Может саму зону криво разметил
 

Владислав

Пользователь
#8
а сама зона то есть, зайди в нее и сделай //zone_check Может саму зону криво разметил
да, зона была криво размечена. теперь определяется правильно, осталось разобраться почему баф не накладывает.

и сразу вопрос, как сделать автобаф по таймеру? (например каждые 10 минут)
 

Deazer

Разработчик
Staff member
#9
да, зона была криво размечена. теперь определяется правильно, осталось разобраться почему баф не накладывает.

и сразу вопрос, как сделать автобаф по таймеру? (например каждые 10 минут)
<zone name="[spa_102]" type="instant_skill" >
<set name="enabled" val="true" />
<set name="target" val="pc" />
<set name="skill_name" val="4557;1" />
<set name="skill_prob" val="70" />
<set name="unit_tick" val="9" />
<set name="initial_delay" val="1" />
<polygon>
<coords loc="147182 -113255 -2152 -1952" />
<coords loc="147194 -113430 -2152 -1952" />
<coords loc="147312 -113584 -2152 -1952" />
<coords loc="147467 -113630 -2152 -1952" />
<coords loc="147748 -113523 -2152 -1952" />
<coords loc="147816 -113273 -2152 -1952" />
<coords loc="147723 -113074 -2152 -1952" />
<coords loc="147512 -112956 -2152 -1952" />
<coords loc="147258 -113048 -2152 -1952" />
</polygon>
</zone>

Делай не автобафф зону, а инстанц скил и вешай по таймеру
 

Владислав

Пользователь
#10
<zone name="[spa_102]" type="instant_skill" >
<set name="enabled" val="true" />
<set name="target" val="pc" />
<set name="skill_name" val="4557;1" />
<set name="skill_prob" val="70" />
<set name="unit_tick" val="9" />
<set name="initial_delay" val="1" />
<polygon>
<coords loc="147182 -113255 -2152 -1952" />
<coords loc="147194 -113430 -2152 -1952" />
<coords loc="147312 -113584 -2152 -1952" />
<coords loc="147467 -113630 -2152 -1952" />
<coords loc="147748 -113523 -2152 -1952" />
<coords loc="147816 -113273 -2152 -1952" />
<coords loc="147723 -113074 -2152 -1952" />
<coords loc="147512 -112956 -2152 -1952" />
<coords loc="147258 -113048 -2152 -1952" />
</polygon>
</zone>

Делай не автобафф зону, а инстанц скил и вешай по таймеру
а при добавлении нескольких 20 скиллов, 20 зон добавлять?
 

Владислав

Пользователь
#12
а тут получается да, тогда только бафф зона.
протестил. работает!

кому надо несколько бафов, вот пример:

В инстанс добавляем

<zones>
<zone name="[Zone_73]" active="true"/>
<zone name="[Zone_74]" active="true"/>
</zones>
в instans_skill.xml добавляем
<zone name="[Zone_73]" type="instant_skill" >
<set name="enabled" val="true" />
<set name="target" val="pc" />
<set name="skill_name" val="1040;1" />
<set name="skill_prob" val="70" />
<set name="unit_tick" val="9" />
<set name="initial_delay" val="1" />
<polygon>
<coords loc="147182 -113255 -2152 -1952" />
<coords loc="147194 -113430 -2152 -1952" />
<coords loc="147312 -113584 -2152 -1952" />
<coords loc="147467 -113630 -2152 -1952" />
<coords loc="147748 -113523 -2152 -1952" />
<coords loc="147816 -113273 -2152 -1952" />
<coords loc="147723 -113074 -2152 -1952" />
<coords loc="147512 -112956 -2152 -1952" />
<coords loc="147258 -113048 -2152 -1952" />
</polygon>
</zone>
<zone name="[Zone_74]" type="instant_skill" >
<set name="enabled" val="true" />
<set name="target" val="pc" />
<set name="skill_name" val="1068;1" />
<set name="skill_prob" val="70" />
<set name="unit_tick" val="9" />
<set name="initial_delay" val="1" />
<polygon>
<coords loc="147182 -113255 -2152 -1952" />
<coords loc="147194 -113430 -2152 -1952" />
<coords loc="147312 -113584 -2152 -1952" />
<coords loc="147467 -113630 -2152 -1952" />
<coords loc="147748 -113523 -2152 -1952" />
<coords loc="147816 -113273 -2152 -1952" />
<coords loc="147723 -113074 -2152 -1952" />
<coords loc="147512 -112956 -2152 -1952" />
<coords loc="147258 -113048 -2152 -1952" />
</polygon>
</zone>
В данном примере при входе в зону, персонаж получит майт и шилд, 3го уровня.
При выходе из зоны - баф сразу снимается
 
Top