Jump to content
  • 0

[Help] Check players for non-allowed skills


Question

Posted

Hi!!

 

I need check player for non allowed skill but only skill in this list.

 

227,231,232,233,234,235,236,251,252,253,258 (Heavy, Light and Robe)

 

Example:

if characters class id=55(Bounty Hunter) get the skillid=227(LightArmor) is correct, but character change class to 36(Abyss Walker) get the skillid=233(LightArmor) and check this skill and delete non allowed skill in this case 227(LightArmor) is remove. how to do this?

 

 

sorry for my english.

 

i have this for learn normal skill

 

public boolean isSkillPossible(Player player, Skill skill, AcquireType type)
    {
        Clan clan = null;
        List<SkillLearn> skills;
        switch(type)
        {
            case NORMAL:
                skills = _normalSkillTree.get(player.getActiveClassId());
                break;
            case COLLECTION:
                skills = _collectionSkillTree;
                break;
            case TRANSFORMATION:
                skills = _transformationSkillTree.get(player.getRace().ordinal());
                break;
            case FISHING:
                skills = _fishingSkillTree.get(player.getRace().ordinal());
                break;
            case TRANSFER_CARDINAL:
            case TRANSFER_EVA_SAINTS:
            case TRANSFER_SHILLIEN_SAINTS:
                int transferId = type.transferClassId();
                if(player.getActiveClassId() != transferId)
                    return false;

                skills = _transferSkillTree.get(transferId);
                break;
            case CLAN:
                clan = player.getClan();
                if(clan == null)
                    return false;
                skills = _pledgeSkillTree;
                break;
            case SUB_UNIT:
                clan = player.getClan();
                if(clan == null)
                    return false;

                skills = _subUnitSkillTree;
                break;
            case CERTIFICATION:
                skills = _certificationSkillTree;
                break;
            default:
                return false;
        }

        return isSkillPossible(skills, skill);
    }

    private boolean isSkillPossible(Collection<SkillLearn> skills, Skill skill)
    {
        for(SkillLearn learn : skills)
            if(learn.getId() == skill.getId() && learn.getLevel() <= skill.getLevel())
                return true;
        return false;
    }

    public boolean isSkillPossible(Player player, Skill skill)
    {
        for(AcquireType aq : AcquireType.VALUES)
            if(isSkillPossible(player, skill, aq))
                return true;

        return false;
    }

1 answer to this question

Recommended Posts

  • 0
Posted

I dont think that this is a simple request or that some1 could forward you to a similar code that its shared.

 

I think it needs a bit effort for that and probly you wont get any help for this soon.

 

Btw why i class should have or get a skilled that they arent allowed to?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • 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