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

Deazer

Head Developer
Staff member
Для запрета использования скила в определенной зоне нам необходимо добавить 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>
 
Last edited:
А можно запретить ещё и для определенной профы, что бы в определенном месте определенный скилл определенной профой не юзался
 
А какой смысл, ваша проверка не имеет ничего логичного под собой, а если сервер мултипрофа ?
 
Last edited:
А какой смысл, ваша проверка не имеет ничего логичного под собой, а если сервер мултипрофа ?
Логика в этом есть, я хочу сделать уникальные профессии баферов, каждой профе бафера я добавляю полный список бафов, но мне нужно запретить использовать добавочные бафы на олимпе для этих проф
 
Добавляй для этих классов отдельные skill_id и запрещай в них зоны. Вот тебе и выход. Так же я не уверен что у тебя получится завести новый class id который будет уникальный, его клиент просто не пропустит
 
Добавляй для этих классов отдельные skill_id и запрещай в них зоны. Вот тебе и выход. Так же я не уверен что у тебя получится завести новый class id который будет уникальный, его клиент просто не пропустит
Блин да ты реально чёртов гений ;) либо просто талантливая ленивая жопа :eek::D
 
А есть ли возможность запретить использовать зелья исцеления находясь в стане или анчере? Проблема в том что зелье уходит в кд, при его использование в стане, эффекта естественно нет. Далее когда стан заканчивается зелье находится на кд. Возможно это косяк клиента, но есть ли возможность прописать в самом скиле, чтобы банка не юзалась при наложении на тебя определенных эффектов. Заранее спасибо.
 
Я посмотрю как это на ПТСке работает и сделаю так же
 
<cond msgId="113" addName="1">
что это означает? и если мне нужно запрет сделать в Elven Village то как написать?

если я полностью делаю вот так< с заменой зоны, то он у меня вообще нигде не работает.
<cond msgId="113" addName="1">
<not>
<zone name="[Elven_Village]"/>
</not>
</cond>
<for>
 
Last edited:
<cond msgId="113" addName="1">
что это означает? и если мне нужно запрет сделать в Elven Village то как написать?

если я полностью делаю вот так< с заменой зоны, то он у меня вообще нигде не работает.
<cond msgId="113" addName="1">
<not>
<zone name="[Elven_Village]"/>
</not>
</cond>
<for>
В зонах найди верное название деревни эльфов, возможно ты неверно прописал название зоны, поэтому не работает
 
<cond msgId="1508">
<not>
<player on_pvp_event="true"/>
</not>
</cond>
Будет ли работать для канселла? Что бы нельзя было на ТвТ использовать
 
<cond msgId="1508">
<not>
<player on_pvp_event="true"/>
</not>
</cond>
Будет ли работать для канселла? Что бы нельзя было на ТвТ использовать
Code:
# Запрет пассивных или тогл скилов на ПвП ивентах, для всяких кастомных Рун и т.д.
# Клан скилы автоматически выключаются без учатия данного конфига
# Сепаратор скилов ; Пример: 5000;5001;50002
PvPEventsRestrictedSkillIds =
# Запрет клан скилов
PvPEventsRestrictClanSkills = False
Попробуй массовый поиск по всем конфигам делать. Ибо это уже всё есть в конфигах.
 
<cond msgId="1508">
<not>
<player on_pvp_event="true"/>
</not>
</cond>
Будет ли работать для канселла? Что бы нельзя было на ТвТ использовать
да можно конечно
 
Code:
# Запрет пассивных или тогл скилов на ПвП ивентах, для всяких кастомных Рун и т.д.
# Клан скилы автоматически выключаются без учатия данного конфига
# Сепаратор скилов ; Пример: 5000;5001;50002
PvPEventsRestrictedSkillIds =
# Запрет клан скилов
PvPEventsRestrictClanSkills = False
Попробуй массовый поиск по всем конфигам делать. Ибо это уже всё есть в конфигах.
У меня кастомный эвент
 
Тогда не пойдет, добавляй в скил зону. Что с тобой не так
 
Простите все кого достал тупыми вопросами, с 8 утра уже делаю что то, голова не варит
 
Подскажите пж, как запретить сам эффект от бафа?А то можно заранее бафнутся и залететь в зону.
 
Back
Top