Reklam
if (arrowKontrol < clock() - 2000)
{
arrowKontrol = clock();
if (Engine->uiInventoryPlug)
{
if (DWORD inv = Engine->uiInventoryPlug->m_dVTableAddr)
{
if (!spellsloaded)
{
spellsloaded = true;
archerSpells.clear();
cureSpells.clear();
stoneSpells.clear();
for (uint32 i = 102003; i <= 288566; i++)
{
if (CSpell* spell = GetSkillBase(i)) {
if (spell->dwNeedItem == 391010000)
archerSpells.push_back(spell);
}
}
std::map<uint32, CSpell>::iterator itr;
for (itr = Engine->skillmap.begin(); itr != Engine->skillmap.end(); itr++)
{
if (CSpell* spell = GetSkillBase(itr->second.dwID))
{
if (spell->dwNeedItem == 379062000
|| spell->dwNeedItem == 379059000
|| spell->dwNeedItem == 379060000
|| spell->dwNeedItem == 379061000)
stoneSpells.push_back(spell);
}
}
if (CSpell* spell = GetSkillBase(107736))
cureSpells.push_back(spell);
if (CSpell* spell = GetSkillBase(108736))
cureSpells.push_back(spell);
if (CSpell* spell = GetSkillBase(207736))
cureSpells.push_back(spell);
if (CSpell* spell = GetSkillBase(208736))
cureSpells.push_back(spell);
}
if (Engine->HasItem(479060000) && !StoneOfRogue) // Infinity Stone Of Rogue
{
for (auto& s : stoneSpells)
{
if (s->dwNeedItem == 379060000)
{
s->dwNeedItem = 479060000;
auto itcrc = Engine->skillcrc.find(s->dwID + 2031);
if (itcrc != Engine->skillcrc.end())
{
SpellCRC crc(crc32((uint8*)(DWORD)s, 0xA8, -1), crc32((uint8*)((DWORD)s + 0xB4), 0x2C, -1));
itcrc->second = crc;
}
*(DWORD*)(0x0067FEBE + 1) = 479060000;
*(DWORD*)(0x00682E97 + 1) = 479060000;
*(DWORD*)(0x00953027 + 1) = 479060000;
*(DWORD*)(0x0095306A + 1) = 479060000;
*(DWORD*)(0x009531A2 + 1) = 479060000;
*(DWORD*)(0x009551E3 + 1) = 479060000;
*(DWORD*)(0x00955221 + 1) = 479060000;
*(DWORD*)(0x00955284 + 1) = 479060000;
}
}
//StoneOfRogue = true;
}
else if (!StoneOfRogue)
{
for (auto& s : stoneSpells)
{
if (s->dwNeedItem == 479060000)
{
s->dwNeedItem = 379060000;
auto itcrc = Engine->skillcrc.find(s->dwID + 2031);
if (itcrc != Engine->skillcrc.end())
{
SpellCRC crc(crc32((uint8*)(DWORD)s, 0xA8, -1), crc32((uint8*)((DWORD)s + 0xB4), 0x2C, -1));
itcrc->second = crc;
}
*(DWORD*)(0x0067FEBE + 1) = 379060000;
*(DWORD*)(0x00682E97 + 1) = 379060000;
*(DWORD*)(0x00953027 + 1) = 379060000;
*(DWORD*)(0x0095306A + 1) = 379060000;
*(DWORD*)(0x009531A2 + 1) = 379060000;
*(DWORD*)(0x009551E3 + 1) = 379060000;
*(DWORD*)(0x00955221 + 1) = 379060000;
*(DWORD*)(0x00955284 + 1) = 379060000;
}
}
}
if (Engine->HasItem(479061000) && !StoneOfMage) // Infinity Stone Of Mage
{
for (auto& s : stoneSpells)
{
if (s->dwNeedItem == 379061000)
{
s->dwNeedItem = 479061000;
auto itcrc = Engine->skillcrc.find(s->dwID + 2031);
if (itcrc != Engine->skillcrc.end())
{
SpellCRC crc(crc32((uint8*)(DWORD)s, 0xA8, -1), crc32((uint8*)((DWORD)s + 0xB4), 0x2C, -1));
itcrc->second = crc;
}
*(DWORD*)(0x0067FEBE + 1) = 479061000;
*(DWORD*)(0x00682E97 + 1) = 479061000;
*(DWORD*)(0x00953027 + 1) = 479061000;
*(DWORD*)(0x0095306A + 1) = 479061000;
*(DWORD*)(0x009531A2 + 1) = 479061000;
*(DWORD*)(0x009551E3 + 1) = 479061000;
*(DWORD*)(0x00955221 + 1) = 479061000;
*(DWORD*)(0x00955284 + 1) = 479061000;
}
}
StoneOfMage = true;
}
else if (!StoneOfMage)
{
for (auto& s : stoneSpells)
{
if (s->dwNeedItem == 479061000)
{
s->dwNeedItem = 379061000;
auto itcrc = Engine->skillcrc.find(s->dwID + 2031);
if (itcrc != Engine->skillcrc.end())
{
SpellCRC crc(crc32((uint8*)(DWORD)s, 0xA8, -1), crc32((uint8*)((DWORD)s + 0xB4), 0x2C, -1));
itcrc->second = crc;
}
*(DWORD*)(0x0067FEBE + 1) = 379061000;
*(DWORD*)(0x00682E97 + 1) = 379061000;
*(DWORD*)(0x00953027 + 1) = 379061000;
*(DWORD*)(0x0095306A + 1) = 379061000;
*(DWORD*)(0x009531A2 + 1) = 379061000;
*(DWORD*)(0x009551E3 + 1) = 379061000;
*(DWORD*)(0x00955221 + 1) = 379061000;
*(DWORD*)(0x00955284 + 1) = 379061000;
}
}
}
if (Engine->HasItem(479062000) && !StoneOfPriest) // Infinity Stone Of Priest
{
for (auto& s : stoneSpells)
{
if (s->dwNeedItem == 379062000)
{
s->dwNeedItem = 479062000;
auto itcrc = Engine->skillcrc.find(s->dwID + 2031);
if (itcrc != Engine->skillcrc.end())
{
SpellCRC crc(crc32((uint8*)(DWORD)s, 0xA8, -1), crc32((uint8*)((DWORD)s + 0xB4), 0x2C, -1));
itcrc->second = crc;
}
*(DWORD*)(0x00673CF6 + 1) = 479062000;
*(DWORD*)(0x00676CCF + 1) = 479062000;
*(DWORD*)(0x00934B8A + 1) = 479062000;
*(DWORD*)(0x00934BC1 + 1) = 479062000;
*(DWORD*)(0x00934BE0 + 1) = 479062000;
*(DWORD*)(0x00936CED + 1) = 479062000;
*(DWORD*)(0x00936D23 + 1) = 479062000;
*(DWORD*)(0x00936D69 + 1) = 479062000;
}
}
StoneOfPriest = true;
}
else if (!StoneOfPriest)
{
for (auto& s : stoneSpells)
{
if (s->dwNeedItem == 479062000)
{
s->dwNeedItem = 379062000;
auto itcrc = Engine->skillcrc.find(s->dwID + 2031);
if (itcrc != Engine->skillcrc.end())
{
SpellCRC crc(crc32((uint8*)(DWORD)s, 0xA8, -1), crc32((uint8*)((DWORD)s + 0xB4), 0x2C, -1));
itcrc->second = crc;
}
*(DWORD*)(0x00673CF6 + 1) = 379062000;
*(DWORD*)(0x00676CCF + 1) = 379062000;
*(DWORD*)(0x00934B8A + 1) = 379062000;
*(DWORD*)(0x00934BC1 + 1) = 379062000;
*(DWORD*)(0x00934BE0 + 1) = 379062000;
*(DWORD*)(0x00936CED + 1) = 379062000;
*(DWORD*)(0x00936D23 + 1) = 379062000;
*(DWORD*)(0x00936D69 + 1) = 379062000;
}
}
}
if (Engine->HasItem(479059000) && !StoneOfWarrior) // Infinity Stone Of Warrior
{
for (auto& s : stoneSpells)
{
if (s->dwNeedItem == 379059000)
{
s->dwNeedItem = 479059000;
auto itcrc = Engine->skillcrc.find(s->dwID + 2031);
if (itcrc != Engine->skillcrc.end())
{
SpellCRC crc(crc32((uint8*)(DWORD)s, 0xA8, -1), crc32((uint8*)((DWORD)s + 0xB4), 0x2C, -1));
itcrc->second = crc;
}
*(DWORD*)(0x00673BEE + 1) = 479059000;
*(DWORD*)(0x00676BC7 + 1) = 479059000;
*(DWORD*)(0x009348F7 + 1) = 479059000;
*(DWORD*)(0x0093493A + 1) = 479059000;
*(DWORD*)(0x00934A72 + 1) = 479059000;
*(DWORD*)(0x00934AB3 + 1) = 479059000;
*(DWORD*)(0x00936AF1 + 1) = 479059000;
*(DWORD*)(0x00936B54 + 1) = 479059000;
}
}
StoneOfWarrior = true;
}
else if (!StoneOfWarrior)
{
for (auto& s : stoneSpells)
{
if (s->dwNeedItem == 479059000)
{
s->dwNeedItem = 379059000;
auto itcrc = Engine->skillcrc.find(s->dwID + 2031);
if (itcrc != Engine->skillcrc.end())
{
SpellCRC crc(crc32((uint8*)(DWORD)s, 0xA8, -1), crc32((uint8*)((DWORD)s + 0xB4), 0x2C, -1));
itcrc->second = crc;
}
*(DWORD*)(0x00673BEE + 1) = 379059000;
*(DWORD*)(0x00676BC7 + 1) = 379059000;
*(DWORD*)(0x009348F7 + 1) = 379059000;
*(DWORD*)(0x0093493A + 1) = 379059000;
*(DWORD*)(0x00934A72 + 1) = 379059000;
*(DWORD*)(0x00934AB3 + 1) = 379059000;
*(DWORD*)(0x00936AF1 + 1) = 379059000;
*(DWORD*)(0x00936B54 + 1) = 379059000;
}
}
}
if (Engine->HasItem(346391000) && !isActivedCure) // Infinity cure
{
for (auto& s : cureSpells)
{
if (s->dwNeedItem == 370005000)
{
s->dwNeedItem = 0;
auto itcrc = Engine->skillcrc.find(s->dwID + 2031);
if (itcrc != Engine->skillcrc.end())
{
SpellCRC crc(crc32((uint8*)(DWORD)s, 0xA8, -1), crc32((uint8*)((DWORD)s + 0xB4), 0x2C, -1));
itcrc->second = crc;
}
}
}
isActivedCure = true;
}
else if (!isActivedCure)
{
for (auto& s : cureSpells)
{
if (s->dwNeedItem == 0)
{
s->dwNeedItem = 370005000;
auto itcrc = Engine->skillcrc.find(s->dwID + 2031);
if (itcrc != Engine->skillcrc.end())
{
SpellCRC crc(crc32((uint8*)(DWORD)s, 0xA8, -1), crc32((uint8*)((DWORD)s + 0xB4), 0x2C, -1));
itcrc->second = crc;
}
}
}
}
if (Engine->HasItem(800606000) && !isActivedArrow) // Infinity Arrow
{
for (auto& s : archerSpells)
{
if (s->dwNeedItem == 391010000)
{
s->dwNeedItem = 0;
auto itcrc = Engine->skillcrc.find(s->dwID + 2031);
if (itcrc != Engine->skillcrc.end())
{
SpellCRC crc(crc32((uint8*)(DWORD)s, 0xA8, -1), crc32((uint8*)((DWORD)s + 0xB4), 0x2C, -1));
itcrc->second = crc;
}
}
}
isActivedArrow = true;
}
else if (!isActivedArrow)
{
for (auto& s : archerSpells)
{
if (s->dwNeedItem == 0)
{
s->dwNeedItem = 391010000;
auto itcrc = Engine->skillcrc.find(s->dwID + 2031);
if (itcrc != Engine->skillcrc.end())
{
SpellCRC crc(crc32((uint8*)(DWORD)s, 0xA8, -1), crc32((uint8*)((DWORD)s + 0xB4), 0x2C, -1));
itcrc->second = crc;
}
}
}
}
}
}
}
if (Engine->HasItem(479059000) && !StoneOfWarrior) // Infinity Stone Of WarriorYardımcı olabilir misiniz