Jump to content

Recommended Posts

Hy everybody ,first of all, thanks for your helping anytime. now i come with two bugs,

the first one, i can't add points to wolfman skills

3Y2QSyA.jpgIf i click on+ nothing happens, i know from where the problem comes, from type of skill in navicat if i put type 6 i can add points, but if i put type 7 i can't add, the problems is in char_skill.cpp from islearnableskill function

that's what i have 

bool CHARACTER::IsLearnableSkill(DWORD dwSkillVnum) const
{
	const CSkillProto * pkSkill = CSkillManager::instance().Get(dwSkillVnum);
	if (!pkSkill)
		return false;

	if (GetSkillLevel(dwSkillVnum) >= SKILL_MAX_LEVEL)
		return false;

	if (pkSkill->dwType == 0)
	{
		if (GetSkillLevel(dwSkillVnum) >= pkSkill->bMaxLevel)
			return false;

		return true;
	}

	if (pkSkill->dwType == 5)
	{
		if (dwSkillVnum == SKILL_HORSE_WILDATTACK_RANGE && GetJob() != JOB_ASSASSIN)
			return false; 

		return true;
	}

	if (GetSkillGroup() == 0)
		return false;

	if (pkSkill->dwType - 1 == GetJob())
		return true;

	if (pkSkill->dwType == 5)
	{
		if (SKILL_7_A_ANTI_TANHWAN <= dwSkillVnum && dwSkillVnum <= SKILL_7_D_ANTI_YONGBI)
		{
			for (int i = 0 ; i < 4 ; i++)
			{
				if (unsigned(SKILL_7_A_ANTI_TANHWAN + i) != dwSkillVnum)
				{
					if (0 != GetSkillLevel(SKILL_7_A_ANTI_TANHWAN + i))
					{
						return false;
					}
				}
			}

			return true;
		}

		if (SKILL_8_A_ANTI_GIGONGCHAM <= dwSkillVnum && dwSkillVnum <= SKILL_8_D_ANTI_BYEURAK)
		{
			for (int i = 0 ; i < 4 ; i++)
			{
				if (unsigned(SKILL_8_A_ANTI_GIGONGCHAM + i) != dwSkillVnum)
				{
					if (0 != GetSkillLevel(SKILL_8_A_ANTI_GIGONGCHAM + i))
						return false;
				}
			}
			
			return true;
		}
	}

	if (pkSkill->dwType == 6)
	{
		if (dwSkillVnum >= SKILL_CHAYEOL && dwSkillVnum <= SKILL_CHEONGRANG)
		{
			return true;
		}
	}

	return false;
}

i have tried to add that 

	if (pkSkill->dwType == 7 && GetJob() == JOB_WOLFMAN)
	{
		return true;
	}	

but problem has not fixed, i tried to change this

if (pkSkill->dwType == 6)

with this

if (pkSkill->dwType == 7)

but the same thing, does anybody know what i can fix that? can you help me,thanks in advance

.the secound problem is that i have a buff after teleport which dissapear after few secounds ,there's a picture about this https://metin2.download/picture/vNHyuOMZ3EVuXY65SVd1iqoTytyu089X/.jpg         ,i am using allwip source.thanks so much

 

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
https://metin2.dev/topic/5707-wolfman-bug-metin2/
Share on other sites

  • Replies 12
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Here is my and work's

bool CHARACTER::IsLearnableSkill(DWORD dwSkillVnum) const
{
    const CSkillProto * pkSkill = CSkillManager::instance().Get(dwSkillVnum);

    if (!pkSkill)
        return false;

    if (GetSkillLevel(dwSkillVnum) >= SKILL_MAX_LEVEL)
        return false;

    if (pkSkill->dwType == 0)
    {
        if (GetSkillLevel(dwSkillVnum) >= pkSkill->bMaxLevel)
            return false;

        return true;
    }

    if (pkSkill->dwType == 5)
    {
        if (dwSkillVnum == SKILL_HORSE_WILDATTACK_RANGE && GetJob() != JOB_ASSASSIN)
            return false;

        return true;
    }

    if (GetSkillGroup() == 0)
        return false;

    if (pkSkill->dwType - 1 == GetJob())
        return true;

    if (6 == pkSkill->dwType)
    {
        if (SKILL_7_A_ANTI_TANHWAN <= dwSkillVnum && dwSkillVnum <= SKILL_7_D_ANTI_YONGBI)
        {
            for (int i=0 ; i < 4 ; i++)
            {
                if (unsigned(SKILL_7_A_ANTI_TANHWAN + i) != dwSkillVnum)
                {
                    if (0 != GetSkillLevel(SKILL_7_A_ANTI_TANHWAN + i))
                    {
                        return false;
                    }
                }
            }

            return true;
        }

        if (SKILL_8_A_ANTI_GIGONGCHAM <= dwSkillVnum && dwSkillVnum <= SKILL_8_D_ANTI_BYEURAK)
        {
            for (int i=0 ; i < 4 ; i++)
            {
                if (unsigned(SKILL_8_A_ANTI_GIGONGCHAM + i) != dwSkillVnum)
                {
                    if (0 != GetSkillLevel(SKILL_8_A_ANTI_GIGONGCHAM + i))
                        return false;
                }
            }
            
            return true;
        }
    }

    return false;
}
Link to comment
https://metin2.dev/topic/5707-wolfman-bug-metin2/#findComment-36155
Share on other sites

 

Here is my and work's

bool CHARACTER::IsLearnableSkill(DWORD dwSkillVnum) const
{
    const CSkillProto * pkSkill = CSkillManager::instance().Get(dwSkillVnum);

    if (!pkSkill)
        return false;

    if (GetSkillLevel(dwSkillVnum) >= SKILL_MAX_LEVEL)
        return false;

    if (pkSkill->dwType == 0)
    {
        if (GetSkillLevel(dwSkillVnum) >= pkSkill->bMaxLevel)
            return false;

        return true;
    }

    if (pkSkill->dwType == 5)
    {
        if (dwSkillVnum == SKILL_HORSE_WILDATTACK_RANGE && GetJob() != JOB_ASSASSIN)
            return false;

        return true;
    }

    if (GetSkillGroup() == 0)
        return false;

    if (pkSkill->dwType - 1 == GetJob())
        return true;

    if (6 == pkSkill->dwType)
    {
        if (SKILL_7_A_ANTI_TANHWAN <= dwSkillVnum && dwSkillVnum <= SKILL_7_D_ANTI_YONGBI)
        {
            for (int i=0 ; i < 4 ; i++)
            {
                if (unsigned(SKILL_7_A_ANTI_TANHWAN + i) != dwSkillVnum)
                {
                    if (0 != GetSkillLevel(SKILL_7_A_ANTI_TANHWAN + i))
                    {
                        return false;
                    }
                }
            }

            return true;
        }

        if (SKILL_8_A_ANTI_GIGONGCHAM <= dwSkillVnum && dwSkillVnum <= SKILL_8_D_ANTI_BYEURAK)
        {
            for (int i=0 ; i < 4 ; i++)
            {
                if (unsigned(SKILL_8_A_ANTI_GIGONGCHAM + i) != dwSkillVnum)
                {
                    if (0 != GetSkillLevel(SKILL_8_A_ANTI_GIGONGCHAM + i))
                        return false;
                }
            }
            
            return true;
        }
    }

    return false;
}

it works with type7 in skill proto?

Link to comment
https://metin2.dev/topic/5707-wolfman-bug-metin2/#findComment-36157
Share on other sites

i give you my source if you need it , but i don't understed what problem you got with skills.Why you don't use 6 type

so if i put skills on type 7 i cant add points if i put on 6 i can add

ro

daca pun skillurile pe type 7 nu pot adauga puncte adica de exemplu cand apas pe plus sa le fac 1,2,3,4,5,6,7,8,9,10.... pana la m1.... acum ai inteles?

Link to comment
https://metin2.dev/topic/5707-wolfman-bug-metin2/#findComment-36165
Share on other sites

Don't use any images from : imgur, turkmmop, freakgamers, inforge, hizliresim... Or your content will be deleted without notice...
Use : https://metin2.download/media/add/

Please use https://metin2.download/ when uploading files smaller than 100MB, otherwise the approval will take longer due to manual upload.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / 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.