Szerző Téma: PYTHON EFFECT SYSTEM  (Megtekintve 1426 alkalommal)

Nem elérhető horvatadrian1

  • Trainee
  • *
  • Thank You
  • -Given: 19
  • -Receive: 4
  • Hozzászólások: 54
  • Segített: -19
PYTHON EFFECT SYSTEM
« Dátum: 2017-08-10, 04:37:02 »
Python effect system, ez annyit jelent, hogy van egy fájl, amiben vértek vnumjához tudsz effectet adni!
10116 : ["d:/ymir work/effect/character/blue.mse"],
Szükséges hozzá kliens forrás is!

Userinterface!

InstanceBase.cpp

Ezt az include-ok alá illeszd be:
#include "boost/algorithm/string.hpp"

std::map<int, char*> shiningdata;
std::map<int, char*>::iterator shiningit;

Keress rá erre:
if (12010 <= vnum && vnum <= 12049)
{
__AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL);
__AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL2);
}
Add alá ezt:
if(!shiningdata.empty())
{
for (shiningit=shiningdata.begin(); shiningit!=shiningdata.end(); shiningit++)
if (shiningit->first == vnum)
{
std::string substr(shiningit->second);
std::vector<string> chars;
boost::split(chars, substr, boost::is_any_of("#"));
for(std::vector<string>::size_type i = 0; i != chars.size(); i++)
{
__AttachEffectToArmours(chars[i]);
}
}
}


InstanceBase.h
Keress rá erre:
protected:
DWORD __AttachEffect(UINT eEftType);
DWORD __AttachEffectToArmours(string effectfilename);
void __DetachEffect(DWORD dwEID);
Cseréld le erre:
protected:
DWORD __AttachEffect(UINT eEftType);
DWORD __AttachEffectToArmours(string effectfilename);
DWORD __AttachEffect(char filename[128]);
void __DetachEffect(DWORD dwEID);


InstanceBaseEffect.cpp
Keress rá erre:
DWORD CInstanceBase::__EffectContainer_AttachEffect(DWORD dwEftKey)
{
SEffectContainer::Dict& rkDctEftID=__EffectContainer_GetDict();
SEffectContainer::Dict::iterator f=rkDctEftID.find(dwEftKey);
if (rkDctEftID.end()!=f)
return 0;

DWORD dwEftID=__AttachEffect(dwEftKey);
rkDctEftID.insert(SEffectContainer::Dict::value_type(dwEftKey, dwEftID));
return dwEftID;
}

Add alá ezt:
DWORD CInstanceBase::__AttachEffectToArmours(string effectfilename)
{
const char * effectpath = effectfilename.c_str();
CEffectManager::Instance().RegisterEffect(effectpath, false, false);
return m_GraphicThingInstance.AttachEffectByName(0, "Bip01", effectpath);
}


StdAfx.h
Keress rá erre:
void initMessenger();Add alá ezt:
void initShining();

UserInterface.cpp
Keress rá erre:
initServerStateChecker();Add alá ezt:
initShining();
Userinterface-hoz add hozzá a két új fájlt, csatolva!


Kliens/root:
game.py

Ird az importok alá:
import effecttable
Keress rá erre:
player.SetGameWindow(self)Add alá ezt:
effecttable.LoadEffectTable()
root-ba rakd bele az effecttable.py-t, csatolva!