Редактирование скилов - Страница 2 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Aion > Серверная часть

Важная информация

Серверная часть Обсуждения вопросов по установке и настройке эмулятора Aion-Emu, для совершенно новой и необыкновенно красивой игры - Aion.

Ответ
Опции темы
Непрочитано 20.04.2011, 10:03   #11
Аватар для Leona
Пользователь

По умолчанию Re: Редактирование скилов

Все прочитала,все замечательно,но возникли вопросы..помоегите разобраться пожалуйста))

Что именно интересует,всего 3 скилла :
1)Призыв: Энергия исцеления I
2)Призыв симурга I
3)Призыв: Святая энергия II

Начнем с первого.

1)
PHP код:
<skill_template skill_id="1023" name="STR_SKILL_PR_Light_HealingServent_G1" nameId="590251" stack="SKILL_PR_LIGHT_HEALINGSERVENT" lvl="1" skilltype="MAGICAL" skillsubtype="NONE" tslot="NONE" activation="ACTIVE" cooldown="600" duration="1000" cancel_rate="60">
        <
startconditions>
            <
mp value="252" delta="2"/>
        </
startconditions>
        <
setproperties>
            <
firsttarget value="ME"/>
            <
firsttargetrange value="1"/>
            <
targetrange value="ONLYONE"/>
            <
targetrelation value="FRIEND"/>
        </
setproperties>
        <
useconditions>
            <
playermove allow="false"/>
        </
useconditions>
        <
effects>
            <
summonservant skill_id="18886" hp_ratio="66" npc_id="749185" e="1" element="FIRE"/>
        </
effects>
        <
actions>
            <
mpuse value="252" delta="2"/>
        </
actions>
    </
skill_template
Конкретно в чем проблема: не могу найти время действия самой энергии. т.е кастить она должна ровно по по откату а т,е минуту. И где прописывается кол-во восстанавливаемого хп за раз каста?

2)
PHP код:
<skill_template skill_id="628" name="STR_SKILL_RA_Light_CallCompanion_G1" nameId="588875" stack="SKILL_RA_LIGHT_CALLCOMPANION" lvl="1" skilltype="MAGICAL" skillsubtype="SUMMONHOMING" tslot="NONE" activation="ACTIVE" cooldown="1200" duration="0" cancel_rate="20">
        <
startconditions>
            <
mp value="149" delta="5"/>
        </
startconditions>
        <
setproperties>
            <
firsttarget value="TARGET"/>
            <
firsttargetrange value="25"/>
            <
targetrange value="ONLYONE"/>
            <
targetrelation value="ENEMY"/>
        </
setproperties>
        <
effects>
            <
summonservant skill_id="18953" hp_ratio="17" npc_id="749177" e="1" element="FIRE" hoptype="SKILLLV" hopb="3063"/>
        </
effects>
        <
actions>
            <
mpuse value="149" delta="5"/>
        </
actions>
    </
skill_template
Так же непонятно где править наносимый урон. И где он вообще отображается?)

3) Еще один похожий призывной атакующий скилл.
PHP код:
<skill_template skill_id="2144" name="STR_SKILL_PR_Light_EternalServent_G2" nameId="590993" stack="SKILL_PR_LIGHT_ETERNALSERVENT" lvl="2" skilltype="MAGICAL" skillsubtype="NONE" tslot="NONE" activation="ACTIVE" cooldown="300" duration="0" cancel_rate="20">
        <
startconditions>
            <
mp value="219" delta="5"/>
        </
startconditions>
        <
setproperties>
            <
firsttarget value="TARGET"/>
            <
firsttargetrange value="25"/>
            <
targetrange value="ONLYONE"/>
            <
targetrelation value="ENEMY"/>
        </
setproperties>
        <
effects>
            <
summonservant skill_id="18953" hp_ratio="17" npc_id="749198" e="1" element="FIRE" hoptype="SKILLLV" hopb="2966"/>
        </
effects>
        <
actions>
            <
mpuse value="219" delta="5"/>
        </
actions>
    </
skill_template
Опять же,проблема как в прошлом скиле,лично мне невидно где отображается кол-во наносимого урона,где его можно исправить?

З.Ы Всем кто ответит и поможет большое спасибо)))
Leona вне форума Ответить с цитированием
Непрочитано 20.04.2011, 13:19   #12
Пользователь

По умолчанию Re: Редактирование скилов

О том как работает модель скила summonservant смотрите в ядре класс SummonServantEffect .
А то какие скилы кастуют эти самоны и так там видно:
PHP код:
<summonservant skill_id="18953" hp_ratio="17" npc_id="749198" e="1" element="FIRE" hoptype="SKILLLV" hopb="2966"/> 
тут видим такое skill_id="18953" , собсно самон юзает скил 18953 .
Skill:
Свернуть ↑Развернуть ↓
__________________
Дверь запили!
flashman вне форума Ответить с цитированием
Непрочитано 20.04.2011, 17:57   #13
Аватар для Leona
Пользователь

По умолчанию Re: Редактирование скилов

ааааааа,шикарно=)))спасибо огромное))))

Добавлено через 1 час 58 минут
Т.е без этого SummonServantEffect скиллы не настроить??

Последний раз редактировалось Leona; 20.04.2011 в 19:56. Причина: Добавлено сообщение
Leona вне форума Ответить с цитированием
Непрочитано 23.04.2011, 23:26   #14
Аватар для ale
Новичок

По умолчанию Re: Редактирование скилов

Peace!

На днях поставил AXE сервер для "своих", да и самому интересно было поковырять это чудо. Поиграв достаточное количество времени за темплара, обнаружил (а вдруг показалось? ), что такие скиллы как Punishment (стигма-скилл) и Shining Slash наносят только либо обычный урон, либо критовый, хотя в описании сказано что они должны наносить random damage.

Что это означает на практике? На просторах сети я нашёл следующее описание: такой тип скилла дополнительно имеет множитель, который выбирается от удара к удару произвольным образом. Множители: 0.5x, 1x, 2x, 2.5x.

Далее я расскажу, как я пытался это дело пофиксить. Так как с игровыми серверами я не работал вообще, претендую на медальку "нуб". Критику люблю.

Ближе к теме. Для примера я взял скилл темпла Shining Slash IV. Смотрим skill_templates.xml:

PHP код:
<skill_template skill_id="2045" name="STR_SKILL_KN_ShineSlash_G4" nameId="590777" stack="SKILL_KN_SHINESLASH" lvl="4" skilltype="PHYSICAL" skillsubtype="ATTACK" tslot="NONE" activation="ACTIVE" cooldown="180" duration="0" cancel_rate="10">
    <
initproperties>
        <
addweaponrange/>
    </
initproperties>
    <
startconditions>
        <
mp value="71" delta="0"/>
    </
startconditions>
    <
setproperties>
        <
firsttarget value="TARGET"/>
        <
firsttargetrange value="1"/>
        <
targetrange value="ONLYONE"/>
        <
targetrelation value="ENEMY"/>
    </
setproperties>
    <
effects>
        <
skillatk value="220" delta="8" e="1" hoptype="DAMAGE"/>
    </
effects>
    <
actions>
        <
mpuse value="71" delta="0"/>
    </
actions>
</
skill_template
Вроде как он самый. Только вот ничего необычного здесь нету. Ясно только что скилл юзает effect типа skillatk.
Ну ок, смотрим что за зверь такой в skills.xsd:

PHP код:
<xs:element name="skillatk" type="SkillAttackEffect" minOccurs="0" maxOccurs="1"/> 
В общем-то понятно, что ничего не понятно. Благодаря уважаемым форумчанам, сложил два и два и отправился прямиком в класс SkillAttakEffect.java:

PHP код:
/**
 * @author ATracer
 */
@XmlAccessorType(XmlAccessType.FIELD)
@
XmlType(name "SkillAttackEffect")
public class 
SkillAttackEffect extends DamageEffect {

    @
Override
    
public void calculate(Effect effect) {
        
super.calculate(effectDamageType.PHYSICAL);
    }

Ничего интересного и тут нет. Вызывается метод суперкласса и всё. Ну что-ж, смотрим DamageEffect.java. Приведу ниже только нужную функцию:

PHP код:
public void calculate(Effect effectDamageType damageType) {
        
int skillLvl effect.getSkillLevel();
        
int valueWithDelta value delta skillLvl;
        
valueWithDelta applyActionModifiers(effectvalueWithDelta);

        
// apply pvp damage ratio
        
if (effect.getEffected() instanceof Player && effect.getPvpDamage() != 0)
            
valueWithDelta Math.round(valueWithDelta * (effect.getPvpDamage() / 100f));

        switch (
damageType) {
            case 
PHYSICAL:
                
AttackUtil.calculatePhysicalSkillAttackResult(effectvalueWithDelta);
                break;
            case 
MAGICAL:
                
AttackUtil.calculateMagicalSkillAttackResult(effectvalueWithDeltagetElement());
                break;
            default:
                
AttackUtil.calculatePhysicalSkillAttackResult(effect0);
        }

        if (
effect.getAttackStatus() != AttackStatus.RESIST && effect.getAttackStatus() != AttackStatus.DODGE || this instanceof MoveBehindEffect)
            
effect.addSucessEffect(this);

Вроде как оно. Тут даже PvP урон считается, проверка на ресист и эвэйд... Недолго думая, решено было править исходник.
Переменная типа Effect через доступный метод может вернуть йдишник скилла. За неимением других вариантов, я изменял valueWithDelta. Осталось добавить какой-нибудь свитч и рандом:

PHP код:
switch (effect.getSkillId()) {
            case 
2045// Shining Slash IV (Templar)
                
double rnd Math.random();
                
float x .0f// rate (x0.5, x1, x2, x2.5)
                
if(rnd >= 0.0 && rnd <= 0.25)
                    
0.5f;
                else if(
rnd 0.25 && rnd <= 0.5)
                    
1.0f;
                else if(
rnd 0.5 && rnd <= 0.75)
                    
2.0f;
                else if(
rnd 0.75 && rnd 1.0)
                    
2.5f;
                
valueWithDelta Math.round(valueWithDelta x);
                break;
            default:
                break;

После компиляции, скилл реально стал давать произвольный дамаг. Конечно, здесь ещё нужно скорректировать шансы выбора того или иного рейта (думаю, что x0.5 и x2.5 должны выпадать реже, чем x1), ну и кейсов набросать для остальных скиллов (уже в порядке очереди).

Ну а теперь любимая рубрика нуба "Вопросы - Гуру":

1. Я - адекватный?
2. valueWithDelta - то ли я изменяю или нет?
4. Куда вставлять свитч (если, конечно, вставлять) - до или после apply pvp damage ratio?

Спасибо за внимание
ale вне форума Ответить с цитированием
Непрочитано 24.04.2011, 15:56   #15
Пользователь

По умолчанию Re: Редактирование скилов

Цитата:
Куда вставлять свитч (если, конечно, вставлять) - до или после apply pvp damage ratio?
до ясен перец .

Цитата:
Т.е без этого SummonServantEffect скиллы не настроить??
Смотря что вы хотите настроить.
__________________
Дверь запили!
flashman вне форума Ответить с цитированием
Непрочитано 02.05.2011, 09:31   #16
Аватар для Sardonika
Пользователь

По умолчанию Re: Редактирование скилов

Всем Доброго время суто. У меня вопрос про написание скилов в арты Ведь есть бафы и те что атакуют . Так вот где в какой из строк это показанно .. И как настроить скил арта чтоб они активировались, Вот Дары все работают а на атакующие ни один подскажите ))) к примеру меня интерисует этот скил skill 12046 по всем дарам все работает а вот обычные арты не пашут к примеру у меня имеется рабочий скил на дар Крепости Ра ми рен

<skill_template skill_id="12077" name="STR_SKILL_Abyss_Reward_LaMiren_G1" nameId="585469" stack="SKILL_ABYSS_REWARD_LAMIREN" lvl="1" skilltype="MAGICAL" skillsubtype="BUFF" tslot="BUFF" activation="ACTIVE" cooldown="0" duration="0">
<startconditions>
<target value="PC"/>
</startconditions>
<setproperties>
<firsttarget value="TARGET"/>
<firsttargetrange value="2"/>
<targetrange value="ONLYONE"/>
<targetrelation value="FRIEND"/>
</setproperties>
<useconditions>
<playermove allow="false"/>
</useconditions>
<effects>
<statup duration="1800000" effectid="198071" e="1">
<change stat="REGEN_FP" func="PERCENT" delta="0" value="25"/>
</statup>
</effects>
</skill_template>


но вот с атакующими не получается чтото Те что идут во время осады и действуют отрицательно или положительно для той или иной рассы.

Последний раз редактировалось Sardonika; 02.05.2011 в 18:02.
Sardonika вне форума Отправить сообщение для Sardonika с помощью ICQ Ответить с цитированием
Непрочитано 02.05.2011, 09:56   #17
Аватар для ALeKsIuS

По умолчанию Re: Редактирование скилов

В контролере нужно реализовать что если артом владеют асмы он бьет элов и наоборот. А также связать с zone так как они бьют по острову.
__________________
Мы всё сделаем металлом! Чернее чернейшей черноты бесконечности! (c) Nathan Explotion
Работаю с Aion Java-emu, любой версии. skype: alexsiuss1
ALeKsIuS вне форума Ответить с цитированием
Непрочитано 02.05.2011, 18:05   #18
Аватар для Sardonika
Пользователь

По умолчанию Re: Редактирование скилов

ну а ято это за строка тогда подробней обьясни//
Помимо того что он не активируется почему то как де баф на рассы или баф так еще скила нет нет отображения того что активируешь в игре ну просто не показывает это ну как как настроить дайте пример любой любой который идет на отаку к примеру skill 12047 1-----дыхание небес или skill 12046 1-----шторм бездны
Sardonika вне форума Отправить сообщение для Sardonika с помощью ICQ Ответить с цитированием
Непрочитано 02.05.2011, 20:31   #19
Пользователь

По умолчанию Re: Редактирование скилов

Анимация активации артефакта и применение эфекта от скила это разные вещи, я пока не решал проблему с анимацией артефактов , но тут какбы ясно что нужны нужные пакеты .
А на счёт активации скилов, то в ядре уже есть задаток для этого дела в классе ArtifactController .
__________________
Дверь запили!
flashman вне форума Ответить с цитированием
Непрочитано 10.06.2011, 11:32   #20
Пользователь

По умолчанию Re: Редактирование скилов

Цитата:
Сообщение от Horizon Посмотреть сообщение
А тут что в эффекте написано? не понял=(

Код:
	<skill_template skill_id="1794" name="STR_SKILL_EL_Order_Sacrifice_G1" nameId="584623" stack="SKILL_EL_ORDER_SACRIFICE" lvl="1" skilltype="MAGICAL" skillsubtype="NONE" tslot="NONE" activation="ACTIVE" cooldown="6000" duration="0">
		<setproperties>
			<firsttarget value="ME"/>
			<firsttargetrange value="25"/>
			<targetrange value="ONLYONE"/>
			<targetrelation value="FRIEND"/>
		</setproperties>
		<effects>
			<petorderuseultraskill ultra_skill="11" e="1" hoptype="SKILLLV" hopb="2199"/>
		</effects>
	</skill_template>
а что означает hopb="2199"? и что такое hopa?
MrSchatteN вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактирование скилов! ALeKsIuS Серверная часть 1 20.04.2010 06:45
Откат скилов. HORSE Lineage II 4 04.02.2010 20:06
% Скилов DevilMayCry Работа со скриптами 1 08.04.2009 15:11
Забывание скилов DarkLoki Работа со скриптами 0 11.03.2009 18:55
Нпц скилов Vitya Работа со скриптами 0 17.08.2008 07:53


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 13:07. Часовой пояс GMT +3.

Вверх