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.
Cerere tutorial pietre +0 in sursa
up
- [HF]White
-

- Mesaje: 2684
- Membru din: 03 Iul 2018, 13:40
- Regat: Jinno
- Aprecieri: 338
- Mulţumiri: 5331
- Rezolvări prob.: 13
- Discord: Copiază ID
- Contact:
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:
adaugi asta sub:
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);
}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...[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:
adaugi asta sub: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); }
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씩 증가 } } } } }
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.
Cauta dupa cod de piatra metin in constants.cpp si o sa vezi despre ce zic.
- [HF]White
-

- Mesaje: 2684
- Membru din: 03 Iul 2018, 13:40
- Regat: Jinno
- Aprecieri: 338
- Mulţumiri: 5331
- Rezolvări prob.: 13
- Discord: Copiază ID
- Contact:
Cauta:
Adaugi sub:
Cod: Selectaţi tot
////////////////////
m_pointsInstant.dwAIFlag = t->dwAIFlag;
SetImmuneFlag(t->dwImmuneFlag);
AssignTriggers(t);
ApplyMobAttribute(t);Cod: Selectaţi tot
if (IsStone())
{
DetermineDropMetinStone();
}Tot nu vrea , accepta-mi cererea pe discort la seether92[HF]White scrie: ↑15 Sep 2020, 19:09 Cauta:Adaugi sub:Cod: Selectaţi tot
//////////////////// m_pointsInstant.dwAIFlag = t->dwAIFlag; SetImmuneFlag(t->dwImmuneFlag); AssignTriggers(t); ApplyMobAttribute(t);
Cod: Selectaţi tot
if (IsStone()) { DetermineDropMetinStone(); }
Up
[ Postat de pe Android ]
[ Postat de pe Android ]

Up
[ Postat de pe Android ]
[ Postat de pe Android ]

Up,nimeni?
[ Postat de pe Android ]
[ Postat de pe Android ]

-
- Informaţie
-
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 22 vizitatori



