Moin,
da es mich erstaunt, dass viele noch den Kori Source nutzen und es Probleme mit dem Shiningsystem von Sanii gibt, erkläre ich hier,
wie ihr das Shiningsystem von Kori aus dem Src entfernen könnt, um
damit andere Shiningsystems zu nutzen, z.b. eben das von Sanii.
Also, was brauchen wir?
- Den Clientsource
- Die Shining.py, die aus dem Rootverzeichnis gelöscht wird.
Als erstes öffnet ihr eure InstanceBase.cpp und löscht ganz am Anfang das hier raus:
Nun sucht ihr die beiden Funktionen: (Sie sind beide direkt untereinander)
- void CInstanceBase::__ClearWeaponRefineEffect()
- {
- for (std::vector<DWORD>::iterator it = this->m_vecWeaponEffects.begin();
- it != this->m_vecWeaponEffects.end();
- ++it)
- {
- this->__DetachEffect(*it);
- }
- }
- void CInstanceBase::__ClearArmorRefineEffect()
- {
- if (m_armorRefineEffect)
- {
- __DetachEffect(m_armorRefineEffect);
- m_armorRefineEffect = 0;
- }
- }
und ersetzt die Funktion hiermit:
- void CInstanceBase::__ClearWeaponRefineEffect()
- {
- if (m_swordRefineEffectRight)
- {
- __DetachEffect(m_swordRefineEffectRight);
- m_swordRefineEffectRight = 0;
- }
- if (m_swordRefineEffectLeft)
- {
- __DetachEffect(m_swordRefineEffectLeft);
- m_swordRefineEffectLeft = 0;
- }
- }
- void CInstanceBase::__ClearArmorRefineEffect()
- {
- if (m_armorRefineEffect)
- {
- __DetachEffect(m_armorRefineEffect);
- m_armorRefineEffect = 0;
- }
- }
Als nächstes geht ihr in die Funktion
Dort löscht ihr am Anfang der Funktion das hier raus:
Scrollt nun weiter in der Funtkion, dort findet ihr einmal für Waffen das:
- if (dwRight > 0)
- this->m_vecWeaponEffects.push_back(this->__AttachEffect(dwRight));
- if (dwLeft > 0)
- this->m_vecWeaponEffects.push_back(this->__AttachEffect(dwLeft));
- }
- itShining = g_mapShiningVectorByVNum.find(pItem->GetIndex());
- if (itShining != g_mapShiningVectorByVNum.end())
- {
- for (std::vector<DWORD>::iterator it = itShining->second.begin(); it != itShining->second.end(); ++it)
- {
- const char* c_szBoneName;
- if (m_swordRefineEffectRight && this->m_GraphicThingInstance.GetAttachingBoneName(CRaceData::PART_WEAPON, &c_szBoneName))
- this->m_vecWeaponEffects.push_back(this->m_GraphicThingInstance.AttachEffectByID(0, c_szBoneName, *it));
- if (m_swordRefineEffectLeft && this->m_GraphicThingInstance.GetAttachingBoneName(CRaceData::PART_WEAPON_LEFT, &c_szBoneName))
- this->m_vecWeaponEffects.push_back(this->m_GraphicThingInstance.AttachEffectByID(0, c_szBoneName, *it));
- }
- }
- break;
Hier ersetzt das hiermit:
Scrollt nun weiter runter für die Rüstungen, dort findet ihr das
Löscht das raus.
Geht in die StdAfx.h und entfernt das hier raus:
Selbe gillt auch für die Userinterface.cpp, sucht dort eben falls nach
initShining(); und entfernt es.
Entfernt die PythonShining.cpp und PythonShining.h aus dem Projekt.
Compiled nun euer Projekt neu und es sollte alles klappen.
Entfernt zum Schluss noch die Shinings.py aus dem Clienten und es sollte entfernt sein.
Entfernt aus der Playersettingmodule oder kommentiert das aus:
import shinings
shinings.RegisterShinings()
Es grüßt:
Shinici, praise the sun!