Hey,
hab damals dasselbe Problem gehabt, ich habs so gelöst dass ich ne Python Funktion(in Source) ersetzt habe.
PythonCharacterModule.cpp
Eigentliche Funktion :
Code:
PyObject * chrIsGameMaster(PyObject* poSelf, PyObject* poArgs)
{
int iVirtualID;
if (!PyTuple_GetInteger(poArgs, 0, &iVirtualID))
return Py_BuildException();
CInstanceBase * pInstance = CPythonCharacterManager::Instance().GetInstancePtr(iVirtualID);
if (!pInstance)
return Py_BuildValue("i", 0);
return Py_BuildValue("i", pInstance->IsGameMaster());
}
Meine :
Code:
PyObject * chrIsGameMaster(PyObject* poSelf, PyObject* poArgs)
{
CInstanceBase * pInstance = CPythonPlayer::Instance().NEW_GetMainActorPtr();
if (!pInstance)
return Py_BuildValue("i", 0);
return Py_BuildValue("i", pInstance->IsGameMaster());
}
Füge noch unter den Includes das hinzu:
Code:
#include "PythonPlayer.h"
Nun kannst du mit einer if abfrage ob der main Charakter ein Gamemaster ist.
Beispiel :
Code:
import chr
import chat
if chr.IsGameMaster():
chat.AppendChat(1, "Du bist GM!")
else:
chat.AppendChat(1, "Du bist kein GM!")