Jump to content

Learn Skill of all clases and races in 1 npc


Recommended Posts

  • 2 weeks later...
  • 1 year later...
On 12/20/2021 at 8:31 PM, coquii said:

alguien tiene ese codigo para l2Jfrozen 1.5 o rev 1132?

 

Use English please.

Link to comment
Share on other sites

  • 2 months later...

hey you can check this 

line 23 : admin_give_all_skills

 

    <td><button value="Give All Skills" action="bypass -h admin_give_all_skills" width=90 height=15 back="sek.cbui94" fore="sek.cbui92"></td>

 

line : 177 & 231 adminGiveAllSkills

 

 else if(command.equals("admin_give_all_skills"))
        {
            if(activeChar == activeChar.getTarget() || activeChar.getAccessLevel().isGm())
            {
                adminGiveAllSkills(activeChar);
            }
        }

 

 

 /**
     * This function will give all the skills that the target can learn at his/her level
     *
     * @param activeChar the gm char
     */
    private void adminGiveAllSkills(L2PcInstance activeChar)
    {
        L2Object target = activeChar.getTarget();
        L2PcInstance player = null;
        if(target instanceof L2PcInstance)
        {
            player = (L2PcInstance) target;
        }
        else
        {
            activeChar.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
            return;
        }
        boolean countUnlearnable = true;
        int unLearnable = 0;
        int skillCounter = 0;
        L2SkillLearn[] skills = SkillTreeTable.getInstance().getAvailableSkills(player, player.getClassId());
        while(skills.length > unLearnable)
        {
            for(L2SkillLearn s : skills)
            {
                L2Skill sk = SkillTable.getInstance().getInfo(s.getId(), s.getLevel());
                if(sk == null || !sk.getCanLearn(player.getClassId()))
                {
                    if(countUnlearnable)
                    {
                        unLearnable++;
                    }
                    continue;
                }
                if(player.getSkillLevel(sk.getId()) == -1)
                {
                    skillCounter++;
                }
                player.addSkill(sk, true);
                sk = null;
            }
            countUnlearnable = false;
            skills = SkillTreeTable.getInstance().getAvailableSkills(player, player.getClassId());
        }
        //Notify player and admin
        player.sendMessage("A GM gave you " + skillCounter + " skills.");
        activeChar.sendMessage("You gave " + skillCounter + " skills to " + player.getName());
        player.sendSkillList();
        skills = null;
        player = null;
        target = null;
    }

 

 

 

you can take inspiration from this example of the admin panel, create an npc, and also modify the level in the function if you want to give all the skills from level 1. It's been a very long time since I've been coding on l2, so I don't know if this source can help you...

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock