Jump to content

Recommended Posts

Posted

Hi guys im looking for a NPC for a Multiskills server where you can learn wathever skills of race and classe in the same npc....
or any code for it?
Thanks!

  • 2 weeks later...
  • 1 year later...
  • 2 months later...
Posted

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...

 

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...