Как изменить скилл?

  • Автор темы Автор темы Maiden7
  • Дата начала Дата начала

Maiden7

Величайший
Местный
Сообщения
668
Розыгрыши
0
Решения
3
Репутация
169
Реакции
540
Баллы
1 563
Хроники
  1. Chaotic Throne: High Five
Исходники
Присутствуют
Сборка
L2J Mobius
Всем доброго времени суток!
Хочу сделать скилл, что бы восстанавливал МП или ХП в процентах.
Как правильно задать параметр?

Это в кол-ве едениц восстанавливает
XML:
    <skill id="10001" levels="1" name="Mana Potion">
        <set name="displayId" val="2288" />
        <set name="isMagic" val="2" /> <!-- Static Skill -->
        <set name="magicLevel" val="1" />
        <set name="operateType" val="A1" />
        <set name="reuseDelay" val="500" />
        <set name="targetType" val="SELF" />
        <for>
            <effect name="ManaHeal">
                <param power="1000" />
            </effect>
        </for>
    </skill>
А как сделать в процентах?
 
XML:
<effect name="HealPercent">
    <power>100</power>
</effect>
<effect name="ManaHealPercent">
    <power>100</power>
</effect>
 
Решение
Всем доброго времени суток!
Хочу сделать скилл, что бы восстанавливал МП или ХП в процентах.
Как правильно задать параметр?

Это в кол-ве едениц восстанавливает
XML:
    <skill id="10001" levels="1" name="Mana Potion">
        <set name="displayId" val="2288" />
        <set name="isMagic" val="2" /> <!-- Static Skill -->
        <set name="magicLevel" val="1" />
        <set name="operateType" val="A1" />
        <set name="reuseDelay" val="500" />
        <set name="targetType" val="SELF" />
        <for>
            <effect name="ManaHeal">
                <param power="1000" />
            </effect>
        </for>
    </skill>
А как сделать в процентах?
1741370820604.webp

set mana 100 думаю так

ща посмотрю поточнее как уставноить 100%

<set name="skillType" val="MANAHEAL_PERCENT"/>
 
Последнее редактирование:
Посмотреть вложение 85160

set mana 100 думаю так

ща посмотрю поточнее как уставноить 100%
1741371130498.webp
а ещё можно так
 
Сюда надо засумонить MrKirill1232 лучшего фаната мобиуса в жизни не видел.
 
Я хз что у тебя там за мобиус, но попробуй вот так на пример:
XML:
<effect name="ManaHeal">
    <power>10</power>
    <mode>PER</mode>
</effect>
 
Если честно, я хз что там у тса не работает.
Есть подозрение, что этот гений юзает бутылку под invul'ом админа.

XML:
    <item id="49854" name="Maliss' MP Replenishing Potion" type="EtcItem">
        <!-- Instantly recovers MP. -->
        <set name="icon" val="icon.freya_potion" />
        <set name="default_action" val="SKILL_REDUCE" />
        <set name="etcitem_type" val="POTION" />
        <set name="commissionItemType" val="POTION" />
        <set name="immediate_effect" val="true" />
        <set name="material" val="LIQUID" />
        <set name="is_dropable" val="false" />
        <set name="is_sellable" val="false" />
        <set name="is_stackable" val="true" />
        <set name="is_freightable" val="true" />
        <set name="handler" val="ItemSkills" />
        <skills>
            <skill id="39198" level="1" /> <!-- Maliss' MP Recovery Potion -->
        </skills>
    </item>
XML:
    <skill id="39198" toLevel="1" name="Maliss' MP Recovery Potion">
        <icon>icon.etc_bm_hero_red_potion</icon>
        <operateType>A1</operateType>
        <targetType>SELF</targetType>
        <affectScope>SINGLE</affectScope>
        <hitCancelTime>0</hitCancelTime>
        <isMagic>2</isMagic> <!-- Static Skill -->
        <itemConsumeCount>1</itemConsumeCount>
        <itemConsumeId>49854</itemConsumeId> <!-- Maliss' MP Replenishing Potion (Exchangeable) -->
        <magicCriticalRate>5</magicCriticalRate>
        <magicLevel>1</magicLevel>
        <effects>
            <effect name="ManaHealPercent">
                <power>5</power>
            </effect>
        </effects>
    </skill>
Посмотреть вложение 01.mp4
 
  • Мне нравится
Реакции: raz

    Maiden7

    Баллов: 19
    За помощь
самое простое это скопировать с хербов
например:
Код:
<skill id="2279" levels="3" name="Herb of Mana">
  <table name="#power"> 12 18 100 </table>
  <set name="power" val="#power"/>
  <set name="hitTime" val="100"/>
  <set name="target" val="TARGET_SELF"/>
  <set name="skillType" val="MANAHEAL_PERCENT"/>
  <set name="operateType" val="OP_ACTIVE"/>
  <set name="castRange" val="-1"/>
  <set name="isPotion" val="true"/>
  <for>
  </for>
</skill>

на иле работает норм

может быть у тебя в исходниках нету такой функции?
 
самое простое это скопировать с хербов
например:
Код:
<skill id="2279" levels="3" name="Herb of Mana">
  <table name="#power"> 12 18 100 </table>
  <set name="power" val="#power"/>
  <set name="hitTime" val="100"/>
  <set name="target" val="TARGET_SELF"/>
  <set name="skillType" val="MANAHEAL_PERCENT"/>
  <set name="operateType" val="OP_ACTIVE"/>
  <set name="castRange" val="-1"/>
  <set name="isPotion" val="true"/>
  <for>
  </for>
</skill>

на иле работает норм

может быть у тебя в исходниках нету такой функции?
Я до мобиусов еще не добрался, если так не получится, то попилю их.
 
//del
 
Последнее редактирование:
Psycho, AlhimN1, kick, всем спасибо, работает вот так:


XML:
    <skill id="10002" levels="1" name="Mana Potion">
        <set name="displayId" val="2288" />
        <set name="isMagic" val="2" /> <!-- Static Skill -->
        <set name="magicLevel" val="1" />
        <set name="operateType" val="T" />
        <set name="reuseDelay" val="5" />
        <set name="targetType" val="SELF" />
        <for>
            <effect name="ManaHealPercent">
                <param power="99" />
            </effect>
        </for>
    </skill>
 
Psycho, AlhimN1, kick, всем спасибо, работает вот так:


XML:
    <skill id="10002" levels="1" name="Mana Potion">
        <set name="displayId" val="2288" />
        <set name="isMagic" val="2" /> <!-- Static Skill -->
        <set name="magicLevel" val="1" />
        <set name="operateType" val="T" />
        <set name="reuseDelay" val="5" />
        <set name="targetType" val="SELF" />
        <for>
            <effect name="ManaHealPercent">
                <param power="99" />
            </effect>
        </for>
    </skill>
а почему operateType T ? почему не A1?


Java:
public enum SkillOperateType
{
/**
     * Active Skill with "Instant Effect" (for example damage skills heal/pdam/mdam/cpdam skills).
     */
    A1,
  
/**
     * Active Skill with "Continuous effect + Instant effect" (for example buff/debuff or damage/heal over time skills).
     */
    A2,
  
/**
     * Active Skill with "Instant effect for target + Continuous effect + Continuous effect for self"
     */
    A3,
  
/**
     * Active Skill with "Instant effect + ?" used for special event herb.
     */
    A4,
  
/**
     * Aura Active Skill
     */
    A5,
  
/**
     * Synergy Active Skill
     */
    A6,
  
/**
     * Continuous Active Skill with "instant effect" (instant effect casted by ticks).
     */
    CA1,
  
/**
     * ?
     */
    CA2,
  
/**
     * Continuous Active Skill with "continuous effect" (continuous effect casted by ticks).
     */
    CA5,
  
/**
     * Directional Active Skill with "Charge/Rush instant effect".
     */
    DA1,
  
/**
     * Directional Active Skill with "Charge/Rush Continuous effect".
     */
    DA2,
  
/**
     * Directional Active Skill with Blink effect
     */
    DA3,
  
/**
     * Directional Active Skill with "Left Continuous effect".
     */
    DA4,
  
/**
     * Directional Active Skill with "Right Continuous effect".
     */
    DA5,
  
/**
     * Passive Skill.
     */
    P,
  
/**
     * Toggle Skill.
     */
    T,
  
/**
     * Toggle Skill with Group.
     */
    TG,
  
/**
     * Aura Skill.
     */
    AU;
  
/**
     * Verifies if the operative type correspond to an active skill.
     * @return {@code true} if the operative skill type is active, {@code false} otherwise
     */
    public boolean isActive()
    {
switch (this)
       {
case A1:
case A2:
case A3:
case A4:
case A5:
case A6:
case CA1:
case CA5:
case DA1:
case DA2:
case DA4:
case DA5:
          {
return true;
          }
default:
          {
return false;
          }
       }
    }
  
/**
     * Verifies if the operative type correspond to a continuous skill.
     * @return {@code true} if the operative skill type is continuous, {@code false} otherwise
     */
    public boolean isContinuous()
    {
switch (this)
       {
case A2:
case A3:
case A4:
case A5:
case A6:
case DA2:
case DA4:
case DA5:
          {
return true;
          }
default:
          {
return false;
          }
       }
    }
  
/**
     * Verifies if the operative type correspond to a continuous skill.
     * @return {@code true} if the operative skill type is continuous, {@code false} otherwise
     */
    public boolean isSelfContinuous()
    {
return (this == A3);
    }
  
/**
     * Verifies if the operative type correspond to a passive skill.
     * @return {@code true} if the operative skill type is passive, {@code false} otherwise
     */
    public boolean isPassive()
    {
return (this == P);
    }
  
/**
     * Verifies if the operative type correspond to a toggle skill.
     * @return {@code true} if the operative skill type is toggle, {@code false} otherwise
     */
    public boolean isToggle()
    {
return (this == T) || (this == TG) || (this == AU);
    }
  
/**
     * Verifies if the operative type correspond to a active aura skill.
     * @return {@code true} if the operative skill type is active aura, {@code false} otherwise
     */
    public boolean isAura()
    {
return (this == A5) || (this == A6) || (this == AU);
    }
  
/**
     * @return {@code true} if the operate type skill type should not send messages for start/finish, {@code false} otherwise
     */
    public boolean isHidingMessages()
    {
return (this == P) || (this == A5) || (this == A6) || (this == TG);
    }
  
/**
     * @return {@code true} if the operate type skill type should not be broadcasted as MagicSkillUse, MagicSkillLaunched, {@code false} otherwise
     */
    public boolean isNotBroadcastable()
    {
return (this == AU) || (this == A5) || (this == A6) || (this == TG) || (this == T);
    }
  
/**
     * Verifies if the operative type correspond to a channeling skill.
     * @return {@code true} if the operative skill type is channeling, {@code false} otherwise
     */
    public boolean isChanneling()
    {
switch (this)
       {
case CA1:
case CA2:
case CA5:
          {
return true;
          }
default:
          {
return false;
          }
       }
    }
  
/**
     * Verifies if the operative type correspond to a synergy skill.
     * @return {@code true} if the operative skill type is synergy, {@code false} otherwise
     */
    public boolean isSynergy()
    {
return (this == A6);
    }
  
public boolean isFlyType()
    {
switch (this)
       {
case DA1:
case DA2:
case DA3:
case DA4:
case DA5:
          {
return true;
          }
default:
          {
return false;
          }
       }
    }
}
 
Последнее редактирование:
а почему operateType T ? почему не A1?


Java:
public enum SkillOperateType
{
/**
     * Active Skill with "Instant Effect" (for example damage skills heal/pdam/mdam/cpdam skills).
     */
    A1,
 
/**
     * Active Skill with "Continuous effect + Instant effect" (for example buff/debuff or damage/heal over time skills).
     */
    A2,
 
/**
     * Active Skill with "Instant effect for target + Continuous effect + Continuous effect for self"
     */
    A3,
 
/**
     * Active Skill with "Instant effect + ?" used for special event herb.
     */
    A4,
 
/**
     * Aura Active Skill
     */
    A5,
 
/**
     * Synergy Active Skill
     */
    A6,
 
/**
     * Continuous Active Skill with "instant effect" (instant effect casted by ticks).
     */
    CA1,
 
/**
     * ?
     */
    CA2,
 
/**
     * Continuous Active Skill with "continuous effect" (continuous effect casted by ticks).
     */
    CA5,
 
/**
     * Directional Active Skill with "Charge/Rush instant effect".
     */
    DA1,
 
/**
     * Directional Active Skill with "Charge/Rush Continuous effect".
     */
    DA2,
 
/**
     * Directional Active Skill with Blink effect
     */
    DA3,
 
/**
     * Directional Active Skill with "Left Continuous effect".
     */
    DA4,
 
/**
     * Directional Active Skill with "Right Continuous effect".
     */
    DA5,
 
/**
     * Passive Skill.
     */
    P,
 
/**
     * Toggle Skill.
     */
    T,
 
/**
     * Toggle Skill with Group.
     */
    TG,
 
/**
     * Aura Skill.
     */
    AU;
 
/**
     * Verifies if the operative type correspond to an active skill.
     * @return {@code true} if the operative skill type is active, {@code false} otherwise
     */
    public boolean isActive()
    {
switch (this)
       {
case A1:
case A2:
case A3:
case A4:
case A5:
case A6:
case CA1:
case CA5:
case DA1:
case DA2:
case DA4:
case DA5:
          {
return true;
          }
default:
          {
return false;
          }
       }
    }
 
/**
     * Verifies if the operative type correspond to a continuous skill.
     * @return {@code true} if the operative skill type is continuous, {@code false} otherwise
     */
    public boolean isContinuous()
    {
switch (this)
       {
case A2:
case A3:
case A4:
case A5:
case A6:
case DA2:
case DA4:
case DA5:
          {
return true;
          }
default:
          {
return false;
          }
       }
    }
 
/**
     * Verifies if the operative type correspond to a continuous skill.
     * @return {@code true} if the operative skill type is continuous, {@code false} otherwise
     */
    public boolean isSelfContinuous()
    {
return (this == A3);
    }
 
/**
     * Verifies if the operative type correspond to a passive skill.
     * @return {@code true} if the operative skill type is passive, {@code false} otherwise
     */
    public boolean isPassive()
    {
return (this == P);
    }
 
/**
     * Verifies if the operative type correspond to a toggle skill.
     * @return {@code true} if the operative skill type is toggle, {@code false} otherwise
     */
    public boolean isToggle()
    {
return (this == T) || (this == TG) || (this == AU);
    }
 
/**
     * Verifies if the operative type correspond to a active aura skill.
     * @return {@code true} if the operative skill type is active aura, {@code false} otherwise
     */
    public boolean isAura()
    {
return (this == A5) || (this == A6) || (this == AU);
    }
 
/**
     * @return {@code true} if the operate type skill type should not send messages for start/finish, {@code false} otherwise
     */
    public boolean isHidingMessages()
    {
return (this == P) || (this == A5) || (this == A6) || (this == TG);
    }
 
/**
     * @return {@code true} if the operate type skill type should not be broadcasted as MagicSkillUse, MagicSkillLaunched, {@code false} otherwise
     */
    public boolean isNotBroadcastable()
    {
return (this == AU) || (this == A5) || (this == A6) || (this == TG) || (this == T);
    }
 
/**
     * Verifies if the operative type correspond to a channeling skill.
     * @return {@code true} if the operative skill type is channeling, {@code false} otherwise
     */
    public boolean isChanneling()
    {
switch (this)
       {
case CA1:
case CA2:
case CA5:
          {
return true;
          }
default:
          {
return false;
          }
       }
    }
 
/**
     * Verifies if the operative type correspond to a synergy skill.
     * @return {@code true} if the operative skill type is synergy, {@code false} otherwise
     */
    public boolean isSynergy()
    {
return (this == A6);
    }
 
public boolean isFlyType()
    {
switch (this)
       {
case DA1:
case DA2:
case DA3:
case DA4:
case DA5:
          {
return true;
          }
default:
          {
return false;
          }
       }
    }
}
Да, спасибо, забыл поменять.
 
Psycho, AlhimN1, kick, всем спасибо, работает вот так:


XML:
    <skill id="10002" levels="1" name="Mana Potion">
        <set name="displayId" val="2288" />
        <set name="isMagic" val="2" /> <!-- Static Skill -->
        <set name="magicLevel" val="1" />
        <set name="operateType" val="T" />
        <set name="reuseDelay" val="5" />
        <set name="targetType" val="SELF" />
        <for>
            <effect name="ManaHealPercent">
                <param power="99" />
            </effect>
        </for>
    </skill>
Вот я 100% согласен с Psycho что ты гений нового уровня, тебе в начале написали правильный вариант, ты решил что он не работает, потом написали второй вариант, он оказался не рабочим. А в конце ты проверил, работает первый вариант но ты решил сделать правильным ответом для этой темы второй. С тобой там все нормально? Людям как потом это читать, если ты влепил под пост не правильное решение!
 
  • Ха-ха-ха
Реакции: Dara
Назад
Сверху