Binary source, userinterface, PythonCharacterModule.cpp -->
Code
- Add this function wherever you want:
- PyObject * chrSelectInstance(PyObject* poSelf, PyObject* poArgs)
- {
- int iVirtualID;
- if (!PyTuple_GetInteger(poArgs, 0, &iVirtualID))
- return Py_BuildException();
- CPythonCharacterManager::Instance().SelectInstance(iVirtualID);
- return Py_BuildNone();
- }
- After that function, search for:
- static PyMethodDef s_methods[] =
- and add this:
- { "SelectInstance", chrSelectInstance, METH_VARARGS },
After that, open PythonCharacterManager.cpp
Code
- search for:
- CInstanceBase * CPythonCharacterManager::CreateInstance(const CInstanceBase::SCreateData& c_rkCreateData)
- and add inside:
- if (c_rkCreateData.m_isMain)
- SelectInstance(c_rkCreateData.m_dwVID);
- search :
- CInstanceBase * CPythonCharacterManager::GetInstancePtr(DWORD VirtualID)
- add before:
- void CPythonCharacterManager::SelectInstance(DWORD VirtualID)
- {
- TCharacterInstanceMap::iterator itor = m_kAliveInstMap.find(VirtualID);
- if (m_kAliveInstMap.end() == itor)
- {
- Tracef("SelectCharacterInstance: no vid by %d\n", VirtualID);
- return;
- }
- m_pkInstBind = itor->second;
- }
Open PythonCharacterManager.h