Cerere tutorial pietre +0 in sursa

Avatar utilizator
darkallience3
Nivel 6

Nivel 6
Mesaje: 952
Membru din: 17 Dec 2013, 15:03
Server: Metin2Andromeda
Regat: Jinno
Aprecieri: 294  
Mulţumiri: 183  
Medalii

Salut baieti de pe j4m , dupa cum spune titlul , as dorii si eu daca se poate acel tutorial complet cu dropul pietrelor +0 +4 la pietrele metin !
Multumesc.
Afișează semnătura
Avatar utilizator
darkallience3
Nivel 6

Nivel 6
Mesaje: 952
Membru din: 17 Dec 2013, 15:03
Server: Metin2Andromeda
Regat: Jinno
Aprecieri: 294  
Mulţumiri: 183  
Medalii

up
Afișează semnătura
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

of of, daca n-ar exista functia de search atunci nu as mai comenta..

fixuri-probleme/drop-pietre-metine-t94221.html


Cauta in char.cpp:

Cod: Selectaţi tot

void CHARACTER::SetQuestFlag(const std::string& flag, int value)
{
	quest::CQuestManager& q = quest::CQuestManager::instance();
	quest::PC* pPC = q.GetPC(GetPlayerID());
	pPC->SetFlag(flag, value);
}
adaugi asta sub:

Cod: Selectaţi tot

void CHARACTER::DetermineDropMetinStone()
{
	const int METIN_STONE_NUM = 14;
	static DWORD c_adwMetin[METIN_STONE_NUM] = 
	{
		28030,
		28031,
		28032,
		28033,
		28034,
		28035,
		28036,
		28037,
		28038,
		28039,
		28040,
		28041,
		28042,
		28043,
	};
	DWORD stone_num = GetRaceNum();
	int idx = std::lower_bound(aStoneDrop, aStoneDrop+STONE_INFO_MAX_NUM, stone_num) - aStoneDrop;
	if (idx >= STONE_INFO_MAX_NUM || aStoneDrop[idx].dwMobVnum != stone_num)
	{
		m_dwDropMetinStone = 0;
	}
	else
	{
		const SStoneDropInfo & info = aStoneDrop[idx];
		m_bDropMetinStonePct = info.iDropPct;
		{
			m_dwDropMetinStone = c_adwMetin[number(0, METIN_STONE_NUM - 1)];
			int iGradePct = number(1, 100);
			for (int iStoneLevel = 0; iStoneLevel < STONE_LEVEL_MAX_NUM; iStoneLevel ++)
			{
				int iLevelGradePortion = info.iLevelPct[iStoneLevel];
				if (iGradePct <= iLevelGradePortion)
				{
					break;
				}
				else
				{
					iGradePct -= iLevelGradePortion;
					m_dwDropMetinStone += 100; // 돌 +a -> +(a+1)이 될때마다 100씩 증가
				}
			}
		}
	}
}
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Avatar utilizator
darkallience3
Nivel 6

Nivel 6
Mesaje: 952
Membru din: 17 Dec 2013, 15:03
Server: Metin2Andromeda
Regat: Jinno
Aprecieri: 294  
Mulţumiri: 183  
Medalii

[HF]White scrie: ↑14 Sep 2020, 21:59 of of, daca n-ar exista functia de search atunci nu as mai comenta..

fixuri-probleme/drop-pietre-metine-t94221.html


Cauta in char.cpp:

Cod: Selectaţi tot

void CHARACTER::SetQuestFlag(const std::string& flag, int value)
{
	quest::CQuestManager& q = quest::CQuestManager::instance();
	quest::PC* pPC = q.GetPC(GetPlayerID());
	pPC->SetFlag(flag, value);
}
adaugi asta sub:

Cod: Selectaţi tot

void CHARACTER::DetermineDropMetinStone()
{
	const int METIN_STONE_NUM = 14;
	static DWORD c_adwMetin[METIN_STONE_NUM] = 
	{
		28030,
		28031,
		28032,
		28033,
		28034,
		28035,
		28036,
		28037,
		28038,
		28039,
		28040,
		28041,
		28042,
		28043,
	};
	DWORD stone_num = GetRaceNum();
	int idx = std::lower_bound(aStoneDrop, aStoneDrop+STONE_INFO_MAX_NUM, stone_num) - aStoneDrop;
	if (idx >= STONE_INFO_MAX_NUM || aStoneDrop[idx].dwMobVnum != stone_num)
	{
		m_dwDropMetinStone = 0;
	}
	else
	{
		const SStoneDropInfo & info = aStoneDrop[idx];
		m_bDropMetinStonePct = info.iDropPct;
		{
			m_dwDropMetinStone = c_adwMetin[number(0, METIN_STONE_NUM - 1)];
			int iGradePct = number(1, 100);
			for (int iStoneLevel = 0; iStoneLevel < STONE_LEVEL_MAX_NUM; iStoneLevel ++)
			{
				int iLevelGradePortion = info.iLevelPct[iStoneLevel];
				if (iGradePct <= iLevelGradePortion)
				{
					break;
				}
				else
				{
					iGradePct -= iLevelGradePortion;
					m_dwDropMetinStone += 100; // 돌 +a -> +(a+1)이 될때마다 100씩 증가
				}
			}
		}
	}
}
Nu merge...
char.cpp:6410: error: no 'void CHARACTER::DetermineDropMetinStone()' member func tion declared in class 'CHARACTER'
char.cpp: In member function 'void CHARACTER::DetermineDropMetinStone()':
char.cpp:6429: error: too many initializers for 'DWORD [10]'
char.cpp: In member function 'void CHARACTER::UpdateShopItems()':
char.cpp:8451: warning: comparison is always false due to limited range of data type
char.cpp: In member function 'void CHARACTER::OpenShop(DWORD, const char*, bool) ':
char.cpp:8626: warning: comparison is always false due to limited range of data type
compile empire_text_convert.cpp
compile entity.cpp
compile entity_view.cpp
compile event.cpp
compile event_queue.cpp
gmake: *** [.obj/char.o] Error 1
gmake: *** Waiting for unfinished jobs....
Afișează semnătura
Avatar utilizator
Nin0Nin0
Utilizator interzis !

Utilizator interzis !
Mesaje: 133
Membru din: 15 Iul 2020, 06:49
Aprecieri: 130  
Mulţumiri: 8  
Medalii

Daca te uiti putin in constants.cpp o sa vezi ca ai la metine de exemplu 8005 sau 8009 sansa la pietre +0 - 4 unele metine nu sunt adaugate acolo , deoarece cei de la ymir au facut pietrele de nivel mare sa dropeze toate itemele din mob_drop.txt .

Cauta dupa cod de piatra metin in constants.cpp si o sa vezi despre ce zic.
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

Cauta:

Cod: Selectaţi tot

	////////////////////
	m_pointsInstant.dwAIFlag = t->dwAIFlag;
	SetImmuneFlag(t->dwImmuneFlag);

	AssignTriggers(t);

	ApplyMobAttribute(t);
Adaugi sub:

Cod: Selectaţi tot

	if (IsStone())
	{
		DetermineDropMetinStone();
	}
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Avatar utilizator
darkallience3
Nivel 6

Nivel 6
Mesaje: 952
Membru din: 17 Dec 2013, 15:03
Server: Metin2Andromeda
Regat: Jinno
Aprecieri: 294  
Mulţumiri: 183  
Medalii

[HF]White scrie: ↑15 Sep 2020, 19:09 Cauta:

Cod: Selectaţi tot

	////////////////////
	m_pointsInstant.dwAIFlag = t->dwAIFlag;
	SetImmuneFlag(t->dwImmuneFlag);

	AssignTriggers(t);

	ApplyMobAttribute(t);
Adaugi sub:

Cod: Selectaţi tot

	if (IsStone())
	{
		DetermineDropMetinStone();
	}
Tot nu vrea , accepta-mi cererea pe discort la seether92
char.cpp: In member function 'void CHARACTER::SetProto(const CMob*)':
char.cpp:2179: error: 'DetermineDropMetinStone' was not declared in this scope
char.cpp: At global scope:
char.cpp:6415: error: no 'void CHARACTER::DetermineDropMetinStone()' member function declared in class 'CHARACTER'
char.cpp: In member function 'void CHARACTER::DetermineDropMetinStone()':
char.cpp:6434: error: too many initializers for 'DWORD [10]'
char.cpp: In member function 'void CHARACTER::UpdateShopItems()':
char.cpp:8456: warning: comparison is always false due to limited range of data type
char.cpp: In member function 'void CHARACTER::OpenShop(DWORD, const char*, bool)':
char.cpp:8631: warning: comparison is always false due to limited range of data type
Afișează semnătura
Avatar utilizator
darkallience3
Nivel 6

Nivel 6
Mesaje: 952
Membru din: 17 Dec 2013, 15:03
Server: Metin2Andromeda
Regat: Jinno
Aprecieri: 294  
Mulţumiri: 183  
Medalii

Up

[ Postat de pe Android ] Imagine
Afișează semnătura
Avatar utilizator
darkallience3
Nivel 6

Nivel 6
Mesaje: 952
Membru din: 17 Dec 2013, 15:03
Server: Metin2Andromeda
Regat: Jinno
Aprecieri: 294  
Mulţumiri: 183  
Medalii

Up

[ Postat de pe Android ] Imagine
Afișează semnătura
Avatar utilizator
darkallience3
Nivel 6

Nivel 6
Mesaje: 952
Membru din: 17 Dec 2013, 15:03
Server: Metin2Andromeda
Regat: Jinno
Aprecieri: 294  
Mulţumiri: 183  
Medalii

Up,nimeni?

[ Postat de pe Android ] Imagine
Afișează semnătura
Închis
Răspunsuri
2
Vizualizări
311
Răspunsuri
5
Vizualizări
638
Răspunsuri
7
Vizualizări
2563
Răspunsuri
3
Vizualizări
536

Înapoi la “Arhivă”

  • Informaţie
  • Cine este conectat

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