Jump to content
  • 0

Question

Posted (edited)

    <skill id="341" levels="1" name="Touch of Life">
        <set name="hpConsume" val="1215"/>
        <set name="power" val="50"/>
        <set name="target" val="TARGET_ONE"/>
        <set name="skillType" val="HEAL_PERCENT"/>
        <set name="magicLvl" val="78"/>
        <set name="operateType" val="OP_ACTIVE"/>
        <set name="castRange" val="40"/>
        <set name="effectRange" val="400"/>
        <set name="reuseDelay" val="1200000"/>
        <set name="hitTime" val="1800"/>
        <set name="aggroPoints" val="810"/>
        <for>
            <effect count="120" name="HealOverTime" time="1" val="50" stackOrder="1" stackType="touch_of_life">
                <mul order="0x30" stat="gainHp" val="1.3"/>
                <mul order="0x30" stat="cancelVuln" val="0.7"/>
                <mul order="0x30" stat="debuffVuln" val="0.7"/>
            </effect>
        </for>
    </skill>

 

for example what i have to add to this skill script to make it available only in olympiad? 

Edited by dramaa93

8 answers to this question

Recommended Posts

  • 0
Posted (edited)
On 2/4/2021 at 6:35 AM, dramaa93 said:

    <skill id="341" levels="1" name="Touch of Life">
        <set name="hpConsume" val="1215"/>
        <set name="power" val="50"/>
        <set name="target" val="TARGET_ONE"/>
        <set name="skillType" val="HEAL_PERCENT"/>
        <set name="magicLvl" val="78"/>
        <set name="operateType" val="OP_ACTIVE"/>
        <set name="castRange" val="40"/>
        <set name="effectRange" val="400"/>
        <set name="reuseDelay" val="1200000"/>
        <set name="hitTime" val="1800"/>
        <set name="aggroPoints" val="810"/>
        <for>
            <effect count="120" name="HealOverTime" time="1" val="50" stackOrder="1" stackType="touch_of_life">
                <mul order="0x30" stat="gainHp" val="1.3"/>
                <mul order="0x30" stat="cancelVuln" val="0.7"/>
                <mul order="0x30" stat="debuffVuln" val="0.7"/>
            </effect>
        </for>
    </skill>

 

for example what i have to add to this skill script to make it available only in olympiad? 

 

There are 2 ways to proceed. 

 

Either you create a new condition which you gonna do it your self after spend few times in some skills that has conditions such as SEX, RACE, MOUNT e.t.c, or you gonna create a new

 

<set name="olympiadRestricted" val="true" /> 

 

then go inside Skill.java where it parse the structure (you can search for ex. hpConsume to see how it's done), create a new boolean read it as

 

public boolean isOlympiadRestricted()
{
  return _olympiadRestricted;
}

 

and then you have to find the method that does casting check (in L2J  is the following in L2PcInstance.java)

 

public boolean checkDoCastConditions

 

and add your own check, for example

 

if (activeChar.isInOlympiad() && skill.isOlympiadRestricted())
{
   return false;
}

 

Edited by Kara
  • 0
Posted (edited)

@dramaa93 I am sure about that you can prohibit skill in a zone,but not for the opposite..
so you can disable the skill to all other zones like :
1.find the skill (lets say about noblesse)

2.add these lines : 

Spoiler

+<cond msgId="113" addName="1">
+<not>
+<zone name="[add here the zone type ]"/>
+</not>
+</cond>
<for>
<effect count="1" name="BlessNoblesse" stackOrder="1" stackType="BlessOfNoble" time="3600" val="0"/>


3.repeat several times until u add all zones types except olympiadstadium zone

 

i hope it helps


maybe @Zake know a better way for that.

 

Edited by scraw
  • 0
Posted
56 minutes ago, dramaa93 said:

l2jfrozen (pls dont say to use acis cus its better.. :/)

I wanted to check in documentbase if there is a condition for olympiad. Unfortunately in l2jfrozen there is not. You can add a quick one though by editing ConditionPlayerState.java. All you have to do is to add an olympiad enumeration and a simple isInOlympiad() check in testImpl (or whatever this method is called in frozen)

Guest
This topic is now closed to further replies.


  • Posts

    • I'll give you my wallet if you want, haha
    • To make up for some of the waiting time we’re hosting a 3v3 Tournament on open Beta, and this time we’re raising the stakes with a $1,300 prize pool 💰   🏆 PRIZE POOL BREAKDOWN (Over 2000$ Worth of prices total)   🥇 1st Place — $700 🥈 2nd Place —$300 🥉 3rd Place — $200 🏅 4th Place — $100  5th -6th Place - $100 in Gold Coins each    All Participating Teams: $50 in Gold!   All Prices will be Paid out instantly after the tour, no waiting time and conditions. This is not simply a marketing move, we want to give back to the community.   📅 Date: Wednesday 06.05.2026 ⏰ Time: 20:00 Central European Timezone (Berlin) 📍Format: 3v3   ⚔️Why join? Cash Prices for top 4 and rewards for all participants Payments to winners sent out straight after the tournament - No waiting time or rules that you have to play live server to obtain the reward. Clean format, smooth matches, and solid prize pool and a chance to experience our brand new files   📝How to join: Form your 3-player team Group Leader Sign up here: ⁠📍・3v3-tour-registration (Include Name of Group, Name of Group Leader)   Be ready on match day!     A separate post with rules for the tournament and class setups will follow shortly.   Tag your teammates, lock in your roster, and get ready to compete. We'll be happy to see you on the OBT!   💬 Questions? Ask in ⁠🎫・ticket or send us a message   See you on L2Dark! 😏   Discord: https://discord.gg/FAJwnFpb8M
    • You should check if that condition is supported by your current sources. You can find this in  DocumentBase#parsePlayerCondition If it isnt there and you want to follow the same pattern of the other item conditions, create a custom condition to parse the classId (or multiple class ids) (there are examples to copy the code). Alternatively, you can create your own condition handler. Your condition should look like this: <cond msgId="1518"> <or> <player classId="ADVENTURER" /> <player classId="PALADIN" /> </or> </cond> or <cond msgId="1518"> <or> <player classId="93" /> <player classId="5" /> </or> </cond>  
    • it's Interlude client forgot to mention
    • idk if acis have this option, but you can put inside item smth like that atleast on H5         <cond msgId="1518">             <player class_id_restriction="93, 101, 108, 117" /> <!-- Dagger Masters -->         </cond>
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..