2
3
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-13 18:17:49 -04:00

Merge pull request #298 from ChristopherS/npcClothing

NPC improvements
This commit is contained in:
2013-02-13 12:15:01 -08:00
3 changed files with 50 additions and 0 deletions

View File

@ -960,7 +960,28 @@ PyObject* cyMisc::GetLocalPlayer()
0.0 );
}
/////////////////////////////////////////////////////////////////////////////
//
// Function : GetNPC
// PARAMETERS : npcID - is the ID of an NPC
//
// PURPOSE : Returns a pySceneobject of an NPC
//
PyObject* cyMisc::GetNPC(int npcID)
{
plSceneObject *so = plSceneObject::ConvertNoRef(plNetClientMgr::GetInstance()->GetNPC(npcID));
if ( so )
return pySceneObject::New(so->GetKey());
char* errmsg = "NPC not found";
PyErr_SetString(PyExc_NameError, errmsg);
PYTHON_RETURN_ERROR;
}
PyObject* cyMisc::GetNPCCount()
{
return PyInt_FromLong(plNetClientMgr::GetInstance()->NPCKeys().size());
}
#if 1
#include "plStatusLog/plStatusLog.h"

View File

@ -439,6 +439,16 @@ public:
static uint32_t GetMaxListenListSize();
static float GetMaxListenDistSq();
/////////////////////////////////////////////////////////////////////////////
//
// Function : GetNPC
// PARAMETERS : npcID - is the ID of a NPC
//
// PURPOSE : Returns a pySceneobject of a NPC
//
static PyObject* GetNPC(int npcID);
static PyObject* GetNPCCount();
/////////////////////////////////////////////////////////////////////////////
//
// Function : SendRTChat

View File

@ -188,6 +188,23 @@ PYTHON_GLOBAL_METHOD_DEFINITION(PtGetClientIDFromAvatarKey, args, "Params: avata
return PyInt_FromLong(cyMisc::GetClientIDFromAvatarKey(*key));
}
PYTHON_GLOBAL_METHOD_DEFINITION(PtGetNPCByID, args, "This will return the NPC with a specific ID")
{
int npcID;
if (!PyArg_ParseTuple(args, "i", &npcID))
{
PyErr_SetString(PyExc_TypeError, "PtGetNPCByID expects an integer");
PYTHON_RETURN_ERROR;
}
return cyMisc::GetNPC(npcID);
}
PYTHON_GLOBAL_METHOD_DEFINITION_NOARGS(PtGetNPCCount, "Returns the number of NPCs in the current age")
{
return cyMisc::GetNPCCount();
}
PYTHON_GLOBAL_METHOD_DEFINITION_NOARGS(PtGetNumRemotePlayers, "Returns the number of remote players in this Age with you.")
{
return PyInt_FromLong(cyMisc::GetNumRemotePlayers());
@ -507,6 +524,8 @@ void cyMisc::AddPlasmaMethods(std::vector<PyMethodDef> &methods)
PYTHON_GLOBAL_METHOD_NOARGS(methods, PtMaxListenDistSq);
PYTHON_GLOBAL_METHOD(methods, PtGetAvatarKeyFromClientID);
PYTHON_GLOBAL_METHOD(methods, PtGetClientIDFromAvatarKey);
PYTHON_GLOBAL_METHOD(methods, PtGetNPCByID);
PYTHON_GLOBAL_METHOD_NOARGS(methods, PtGetNPCCount);
PYTHON_GLOBAL_METHOD_NOARGS(methods, PtGetNumRemotePlayers);
PYTHON_GLOBAL_METHOD(methods, PtValidateKey);