Как запретить использовать скил в определенной зоне

Deazer

Разработчик
Команда форума
#1
Для запрета использования скила в определенной зоне нам необходимо добавить condition в скил:
Делаю на примере Нобла

1. Для начала определяемся с зоной в которой мы хотим запретить - например [primeval_peace1], она находится в data/zone/peace_zone.xml

2.
Находим нужный нам скил и добавляем запрет на использование
<skill id="1323" levels="1" name="Noblesse Blessing">
<set name="magicType" val="MAGIC"/>
<set name="icon" val="icon.skill1323"/>
<set name="reuseDelay" val="6000"/>
<set name="magicLevel" val="1"/>
<set name="castRange" val="400"/>
<set name="hitTime" val="4000"/>
<set name="hitCancelTime" val="500"/>
<set name="mpConsume1" val="14"/>
<set name="mpConsume2" val="55"/>
<set name="itemConsumeId" val="3031"/>
<set name="itemConsumeCount" val="5"/>
<set name="target" val="TARGET_ONE"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_ACTIVE"/>
<cond msgId="113" addName="1">
<not>
<zone name="[primeval_peace1]"/>
</not>
</cond>

<for>
<effect count="1" name="BlessNoblesse" stackOrder="1" stackType="BlessOfNoble" time="3600" val="0"/>
</for>
</skill>

3. Если нам нужно добавить много зон для запрета в скил:

<skill id="1323" levels="1" name="Noblesse Blessing">
<set name="magicType" val="MAGIC"/>
<set name="icon" val="icon.skill1323"/>
<set name="reuseDelay" val="6000"/>
<set name="magicLevel" val="1"/>
<set name="castRange" val="400"/>
<set name="hitTime" val="4000"/>
<set name="hitCancelTime" val="500"/>
<set name="mpConsume1" val="14"/>
<set name="mpConsume2" val="55"/>
<set name="itemConsumeId" val="3031"/>
<set name="itemConsumeCount" val="5"/>
<set name="target" val="TARGET_ONE"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_ACTIVE"/>
<cond msgId="113" addName="1">
<not>
<or>
<zone name="[primeval_peace1]"/>
<zone name="[giran_town_peace2]"/>
</or>
</not>
</cond>

<for>
<effect count="1" name="BlessNoblesse" stackOrder="1" stackType="BlessOfNoble" time="3600" val="0"/>
</for>
</skill>
 
Последнее редактирование:

Jail

Новичок
#2
А можно запретить ещё и для определенной профы, что бы в определенном месте определенный скилл определенной профой не юзался
 

Deazer

Разработчик
Команда форума
#3
А какой смысл, ваша проверка не имеет ничего логичного под собой, а если сервер мултипрофа ?
 
Последнее редактирование:

Jail

Новичок
#4
А какой смысл, ваша проверка не имеет ничего логичного под собой, а если сервер мултипрофа ?
Логика в этом есть, я хочу сделать уникальные профессии баферов, каждой профе бафера я добавляю полный список бафов, но мне нужно запретить использовать добавочные бафы на олимпе для этих проф
 

Deazer

Разработчик
Команда форума
#5
Добавляй для этих классов отдельные skill_id и запрещай в них зоны. Вот тебе и выход. Так же я не уверен что у тебя получится завести новый class id который будет уникальный, его клиент просто не пропустит
 

Jail

Новичок
#6
Добавляй для этих классов отдельные skill_id и запрещай в них зоны. Вот тебе и выход. Так же я не уверен что у тебя получится завести новый class id который будет уникальный, его клиент просто не пропустит
Блин да ты реально чёртов гений ;) либо просто талантливая ленивая жопа :eek::D
 
Вверх