Problemă stun pe server

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
Jawwad
Modelator 3D

Modelator 3D
Mesaje: 1073
Membru din: 06 Mai 2014, 06:25
Aprecieri: 338  
Mulţumiri: 4019  
Discord: Copiază ID
Medalii

Bună seara,
Am o problemă cu stun-ul pe server, am serverfiles cartof v2, am modificat în sursă, dar încă tot se dă stun.
O rezolvare?
Avatar utilizator
Chriss™
Utilizator interzis !

Utilizator interzis !
Mesaje: 201
Membru din: 11 Sep 2016, 18:51
Server: Work Metin2THL
Regat: Shinsoo
Aprecieri: 22  
Mulţumiri: 27  
 Contact:
Medalii

Cartof e plin de buguri, după urli că nu-ţi merg questurile :ymapplause:
tutorial stun: pe care-l aplic mereu pe cartof V1 şi nu am nici o problemă(doar acest tutorial, nu mai multe că-s destule):
intri în Item.cpp din game, sursă server
cauţi:
DWORD dwImmuneFlag = 0;

    for (int i = 0; i < WEAR_MAX_NUM; ++i)
        if (m_pOwner->GetWear(i))
            SET_BIT(dwImmuneFlag, m_pOwner->GetWear(i)->m_pProto->dwImmuneFlag);

    m_pOwner->SetImmuneFlag(dwImmuneFlag);
modifici în:
DWORD dwImmuneFlag = 0;
    LPITEM item = NULL;

    for (int i = 0; i < WEAR_MAX_NUM; ++i)
    {
        if (item=m_pOwner->GetWear(i))
        {
            if (item->GetImmuneFlag() != 0)
                SET_BIT(dwImmuneFlag, item->GetImmuneFlag());
            if (item->GetAttributeCount() > 0)
            {
                if (item->HasAttr(APPLY_IMMUNE_STUN))
                    SET_BIT(dwImmuneFlag, IMMUNE_STUN);
                if (item->HasAttr(APPLY_IMMUNE_SLOW))
                    SET_BIT(dwImmuneFlag, IMMUNE_SLOW);
                if (item->HasAttr(APPLY_IMMUNE_FALL))
                    SET_BIT(dwImmuneFlag, IMMUNE_FALL);
            }
        }
    }

    m_pOwner->SetImmuneFlag(dwImmuneFlag);
x2( de 2 ori faci lucrul ăsta, ai 2 funcţii la fel )
Dacă nici ăsta nu ţi-e bun te rog eu nu mai folosi toate shiturile de sf-uri, de la v1 la v2 este o diferenţă enormă mai ales în buguri ;) .
Skype: monster_cristi
Imagine
Imagine
Afișează semnătura
Avatar utilizator
stilledanger
Mister Just4Metin

Mister Just4Metin
Mesaje: 993
Membru din: 31 Ian 2014, 22:30
Server: somthegame.com
Aprecieri: 5  
Mulţumiri: 100  
 Contact:
Medalii

Nu e buna rezolvarea aia , nu rezolva nimic :))

Cauta in char.h

Cod: Selectaţi tot

IsImmune(DWORD dwImmuneFlag);
si adauga sub

Cod: Selectaţi tot

void				UpdateImmuneFlags();
Intra in char_resist.cpp cauta

Cod: Selectaţi tot

#include "locale_service.h"
si adauga sub

Cod: Selectaţi tot

#include "item.h"
acum cauta

Cod: Selectaţi tot

bool CHARACTER::IsImmune(DWORD dwImmuneFlag)
si aduaga in prima liinie

Cod: Selectaţi tot

if (!IS_SET(m_pointsInstant.dwImmuneFlag, dwImmuneFlag))
		UpdateImmuneFlags(); 
Acum adauga asta inainte de ultima functie cautata

Cod: Selectaţi tot

void CHARACTER::UpdateImmuneFlags()
{
	m_pointsInstant.dwImmuneFlag = 0; 

	for (int i = 0; i < WEAR_MAX_NUM; i++) 
	{
		if(GetWear(i))
		{
			for (int i2 = 0; i2 < ITEM_APPLY_MAX_NUM; ++i2) 
			{
				if (GetWear(i)->GetProto()->aApplies[i2].bType == APPLY_NONE)
					continue;
				else if(GetWear(i)->GetProto()->aApplies[i2].bType == APPLY_IMMUNE_STUN) 
					SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_STUN);
				else if(GetWear(i)->GetProto()->aApplies[i2].bType == APPLY_IMMUNE_SLOW)
					SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_SLOW); 
				else if(GetWear(i)->GetProto()->aApplies[i2].bType == APPLY_IMMUNE_FALL)
					SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_FALL); 
			}

			for (int i3 = 0; i3 < ITEM_ATTRIBUTE_MAX_NUM; ++i3)
			{
				if (GetWear(i)->GetAttributeType(i3))
				{
					const TPlayerItemAttribute& ia = GetWear(i)->GetAttribute(i3);

					if(ia.bType == APPLY_IMMUNE_STUN)
						SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_STUN); 
					else if(ia.bType == APPLY_IMMUNE_SLOW) 
						SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_SLOW); 
					else if(ia.bType == APPLY_IMMUNE_FALL) 
						SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_FALL); 
				}
			}
		}
	}
}
Player Unknown tot eu sunt
Fost Super Moderator / Moderator / Trial-Moderator la Just4Metin
Fost dezvoltator la Zearth2 & ThunderWorld2
Afișează semnătura
Avatar utilizator
Chriss™
Utilizator interzis !

Utilizator interzis !
Mesaje: 201
Membru din: 11 Sep 2016, 18:51
Server: Work Metin2THL
Regat: Shinsoo
Aprecieri: 22  
Mulţumiri: 27  
 Contact:
Medalii

stilledanger scrie:Nu e buna rezolvarea aia , nu rezolva nimic :))

Cauta in char.h

Cod: Selectaţi tot

IsImmune(DWORD dwImmuneFlag);
si adauga sub

Cod: Selectaţi tot

void				UpdateImmuneFlags();
Intra in char_resist.cpp cauta

Cod: Selectaţi tot

#include "locale_service.h"
si adauga sub

Cod: Selectaţi tot

#include "item.h"
acum cauta

Cod: Selectaţi tot

bool CHARACTER::IsImmune(DWORD dwImmuneFlag)
si aduaga in prima liinie

Cod: Selectaţi tot

if (!IS_SET(m_pointsInstant.dwImmuneFlag, dwImmuneFlag))
		UpdateImmuneFlags(); 
Acum adauga asta inainte de ultima functie cautata

Cod: Selectaţi tot

void CHARACTER::UpdateImmuneFlags()
{
	m_pointsInstant.dwImmuneFlag = 0; 

	for (int i = 0; i < WEAR_MAX_NUM; i++) 
	{
		if(GetWear(i))
		{
			for (int i2 = 0; i2 < ITEM_APPLY_MAX_NUM; ++i2) 
			{
				if (GetWear(i)->GetProto()->aApplies[i2].bType == APPLY_NONE)
					continue;
				else if(GetWear(i)->GetProto()->aApplies[i2].bType == APPLY_IMMUNE_STUN) 
					SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_STUN);
				else if(GetWear(i)->GetProto()->aApplies[i2].bType == APPLY_IMMUNE_SLOW)
					SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_SLOW); 
				else if(GetWear(i)->GetProto()->aApplies[i2].bType == APPLY_IMMUNE_FALL)
					SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_FALL); 
			}

			for (int i3 = 0; i3 < ITEM_ATTRIBUTE_MAX_NUM; ++i3)
			{
				if (GetWear(i)->GetAttributeType(i3))
				{
					const TPlayerItemAttribute& ia = GetWear(i)->GetAttribute(i3);

					if(ia.bType == APPLY_IMMUNE_STUN)
						SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_STUN); 
					else if(ia.bType == APPLY_IMMUNE_SLOW) 
						SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_SLOW); 
					else if(ia.bType == APPLY_IMMUNE_FALL) 
						SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_FALL); 
				}
			}
		}
	}
}
defapt vorbeşti fără tine :-? dacă eu doar acel tutorial îl folosesc şi n-am nici o problemă cu stunu :)) cum poţi să-mi spui tu mie că nu rezolvă nimic ?:))) serios?:)))
Skype: monster_cristi
Imagine
Imagine
Afișează semnătura
Avatar utilizator
Jawwad
Modelator 3D

Modelator 3D
Mesaje: 1073
Membru din: 06 Mai 2014, 06:25
Aprecieri: 338  
Mulţumiri: 4019  
Discord: Copiază ID
Medalii

Chriss™ scrie:
stilledanger scrie:Nu e buna rezolvarea aia , nu rezolva nimic :))

Cauta in char.h

Cod: Selectaţi tot

IsImmune(DWORD dwImmuneFlag);
si adauga sub

Cod: Selectaţi tot

void				UpdateImmuneFlags();
Intra in char_resist.cpp cauta

Cod: Selectaţi tot

#include "locale_service.h"
si adauga sub

Cod: Selectaţi tot

#include "item.h"
acum cauta

Cod: Selectaţi tot

bool CHARACTER::IsImmune(DWORD dwImmuneFlag)
si aduaga in prima liinie

Cod: Selectaţi tot

if (!IS_SET(m_pointsInstant.dwImmuneFlag, dwImmuneFlag))
		UpdateImmuneFlags(); 
Acum adauga asta inainte de ultima functie cautata

Cod: Selectaţi tot

void CHARACTER::UpdateImmuneFlags()
{
	m_pointsInstant.dwImmuneFlag = 0; 

	for (int i = 0; i < WEAR_MAX_NUM; i++) 
	{
		if(GetWear(i))
		{
			for (int i2 = 0; i2 < ITEM_APPLY_MAX_NUM; ++i2) 
			{
				if (GetWear(i)->GetProto()->aApplies[i2].bType == APPLY_NONE)
					continue;
				else if(GetWear(i)->GetProto()->aApplies[i2].bType == APPLY_IMMUNE_STUN) 
					SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_STUN);
				else if(GetWear(i)->GetProto()->aApplies[i2].bType == APPLY_IMMUNE_SLOW)
					SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_SLOW); 
				else if(GetWear(i)->GetProto()->aApplies[i2].bType == APPLY_IMMUNE_FALL)
					SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_FALL); 
			}

			for (int i3 = 0; i3 < ITEM_ATTRIBUTE_MAX_NUM; ++i3)
			{
				if (GetWear(i)->GetAttributeType(i3))
				{
					const TPlayerItemAttribute& ia = GetWear(i)->GetAttribute(i3);

					if(ia.bType == APPLY_IMMUNE_STUN)
						SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_STUN); 
					else if(ia.bType == APPLY_IMMUNE_SLOW) 
						SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_SLOW); 
					else if(ia.bType == APPLY_IMMUNE_FALL) 
						SET_BIT(m_pointsInstant.dwImmuneFlag, IMMUNE_FALL); 
				}
			}
		}
	}
}
defapt vorbeşti fără tine :-? dacă eu doar acel tutorial îl folosesc şi n-am nici o problemă cu stunu :)) cum poţi să-mi spui tu mie că nu rezolvă nimic ?:))) serios?:)))
Am încercat ambele tutoriale, ăstea sunt postate de M.Seby şi stunul tot se ia pe server.
Închis
Răspunsuri
3
Vizualizări
387
Răspunsuri
5
Vizualizări
294
Răspunsuri
9
Vizualizări
957

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 20 vizitatori