Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Help] MUEMU Flinch

Newbie Spellweaver
Joined
Aug 13, 2017
Messages
29
Reaction score
0
Bug on MUEMU FIles. anyone have idea how to fix

Reflect effect. which is when your character gets reflect your character will bow and you cant get a nice combo on your enemie.

in MUEMU it does have flinch but only you see that in your enemie. but your character not its like a visual bug. you see your enemie bow when get reflected but your character doesnt bow down. its like having a CHEAT that you can combo modified player.bmd i tried replacing player.bmd still desame.

This is only in muemu. other files. zteam mue and others doesnt have this kind of issue. i want to continue using muemu so i want to fix this. if anyone can or have knowldge in this pls pm me :)
 
Last edited by a moderator:
Junior Spellweaver
Joined
Jul 18, 2005
Messages
124
Reaction score
74
find

Code:
gObjectManager.CharacterLifeCheck(lpObj,lpTarget,(damage-ShieldDamage),0,flag,effect,((lpSkill==0)?0:lpSkill->m_index),ShieldDamage);

in attack.cpp and add on top check for reflect skill so it looks like this:
Code:
		else if (lpTarget->Inventory[8].IsItem() == 0 || (lpTarget->Inventory[8].m_Index != GET_ITEM(13, 2) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 3) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 4) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 37)))
		{
			if ((GetLargeRand() % 100) < gServerInfo.m_DamageStuckRate[lpTarget->Class])
			{
				flag = 1;
			}

		}

		gObjectManager.CharacterLifeCheck(lpObj,lpTarget,(damage-ShieldDamage),0,flag,effect,((lpSkill==0)?0:lpSkill->m_index),ShieldDamage);
 
Upvote 0
Joined
Mar 25, 2010
Messages
527
Reaction score
43
find

Code:
gObjectManager.CharacterLifeCheck(lpObj,lpTarget,(damage-ShieldDamage),0,flag,effect,((lpSkill==0)?0:lpSkill->m_index),ShieldDamage);

in attack.cpp and add on top check for reflect skill so it looks like this:
Code:
		else if (lpTarget->Inventory[8].IsItem() == 0 || (lpTarget->Inventory[8].m_Index != GET_ITEM(13, 2) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 3) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 4) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 37)))
		{
			if ((GetLargeRand() % 100) < gServerInfo.m_DamageStuckRate[lpTarget->Class])
			{
				flag = 1;
			}

		}

		gObjectManager.CharacterLifeCheck(lpObj,lpTarget,(damage-ShieldDamage),0,flag,effect,((lpSkill==0)?0:lpSkill->m_index),ShieldDamage);
thanks
then look like this?



Thanks webmonkey
fixed
if(lpTarget->Inventory[8].IsItem() == 0 || (lpTarget->Inventory[8].m_Index != GET_ITEM(13,2) && lpTarget->Inventory[8].m_Index != GET_ITEM(13,3) && lpTarget->Inventory[8].m_Index != GET_ITEM(13,4) && lpTarget->Inventory[8].m_Index != GET_ITEM(13,37)))
{
if((GetLargeRand()%100) < gServerInfo.m_DamageStuckRate[lpTarget->Class])
{
flag = 1;
}
}
}

else if (lpTarget->Inventory[8].IsItem() == 0 || (lpTarget->Inventory[8].m_Index != GET_ITEM(13, 2) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 3) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 4) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 37)))
{
if ((GetLargeRand() % 100) < gServerInfo.m_DamageStuckRate[lpTarget->Class])
{
flag = 1;
}

}


gObjectManager.CharacterLifeCheck(lpObj,lpTarget,(damage-ShieldDamage),0,flag,effect,((lpSkill==0)?0:lpSkill->m_index),ShieldDamage);
 
Upvote 0
Newbie Spellweaver
Joined
Dec 1, 2017
Messages
26
Reaction score
0
Hi to all..

Where to put the code ? and what editor ?


Thanks in Advance...
 
Upvote 0
Newbie Spellweaver
Joined
Jun 8, 2014
Messages
84
Reaction score
1
find

Code:
gObjectManager.CharacterLifeCheck(lpObj,lpTarget,(damage-ShieldDamage),0,flag,effect,((lpSkill==0)?0:lpSkill->m_index),ShieldDamage);

in attack.cpp and add on top check for reflect skill so it looks like this:
Code:
        else if (lpTarget->Inventory[8].IsItem() == 0 || (lpTarget->Inventory[8].m_Index != GET_ITEM(13, 2) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 3) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 4) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 37)))
        {
            if ((GetLargeRand() % 100) < gServerInfo.m_DamageStuckRate[lpTarget->Class])
            {
                flag = 1;
            }

        }

        gObjectManager.CharacterLifeCheck(lpObj,lpTarget,(damage-ShieldDamage),0,flag,effect,((lpSkill==0)?0:lpSkill->m_index),ShieldDamage);

Work. And bugs in spots))) Red damage...
 
Upvote 0
Junior Spellweaver
Joined
Jul 18, 2005
Messages
124
Reaction score
74
UP. Please help me.

I think I don't have this issue, but it's been a while, I do remember changing something in damagesend packet, try to replace the damagesend function with mine and please let me know if you still have this issue

Code:
void GCDamageSend(int aIndex,int bIndex,BYTE flag,int damage,int type,int ShieldDamage) // OK
{
	PMSG_DAMAGE_SEND pMsg;

	pMsg.header.set(PROTOCOL_CODE2,sizeof(pMsg));

	pMsg.index[0] = SET_NUMBERHB(bIndex);// | (flag * 0x80);
	pMsg.index[1] = SET_NUMBERLB(bIndex);

	pMsg.damage[0] = SET_NUMBERHB(GET_MAX_WORD_VALUE(damage));
	pMsg.damage[1] = SET_NUMBERLB(GET_MAX_WORD_VALUE(damage));

	if (flag != FALSE) // Reflect Fix
	{
		pMsg.index[1] &= 0x7F;
		pMsg.index[0] |= 0x80;
	}
	#if(GAMESERVER_UPDATE>=701)

	pMsg.type[0] = SET_NUMBERHB(type);
	pMsg.type[1] = SET_NUMBERLB(type);

	#else

	pMsg.type = type;

	#endif

	pMsg.ShieldDamage[0] = SET_NUMBERHB(GET_MAX_WORD_VALUE(ShieldDamage));
	pMsg.ShieldDamage[1] = SET_NUMBERLB(GET_MAX_WORD_VALUE(ShieldDamage));

	#if(GAMESERVER_UPDATE>=701)

	pMsg.attribute = 0;

	#endif

	#if(GAMESERVER_EXTRA==1)
	pMsg.ViewCurHP = (DWORD)gObj[bIndex].Life;
	pMsg.ViewCurSD = (DWORD)gObj[bIndex].Shield;
	pMsg.ViewDamageHP = damage;
	pMsg.ViewDamageSD = ShieldDamage;
	#endif

	if(gObj[aIndex].Type == OBJECT_USER)
	{
		DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
	}

	if(gObj[bIndex].Type == OBJECT_USER)
	{
		DataSend(bIndex,(BYTE*)&pMsg,pMsg.header.size);
	}
}
 
Upvote 0
Experienced Elementalist
Joined
Sep 25, 2012
Messages
292
Reaction score
26
Why i cant get it work?

Here im add but still Character stand still, why? maby i need some edit in Player.bmd?

Code:
			if(lpTarget->Inventory[8].IsItem() == 0 || (lpTarget->Inventory[8].m_Index != GET_ITEM(13,2) && lpTarget->Inventory[8].m_Index != GET_ITEM(13,3) && lpTarget->Inventory[8].m_Index != GET_ITEM(13,4) && lpTarget->Inventory[8].m_Index != GET_ITEM(13,37)))
			{
				if((GetLargeRand()%100) < gServerInfo.m_DamageStuckRate[lpTarget->Class])
				{
					flag = 1;
				}
			}
		}
		 else if (lpTarget->Inventory[8].IsItem() == 0 || (lpTarget->Inventory[8].m_Index != GET_ITEM(13, 2) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 3) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 4) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 37)))
         {
             if ((GetLargeRand() % 100) < gServerInfo.m_DamageStuckRate[lpTarget->Class])
             {
                 flag = 1;
             }

        }

		gObjectManager.CharacterLifeCheck(lpObj,lpTarget,(damage-ShieldDamage),0,flag,effect,((lpSkill==0)?0:lpSkill->m_index),ShieldDamage);

		#if(GAMESERVER_UPDATE>=701)

 
Last edited:
Upvote 0
Back
Top