Ejemplo n.º 1
0
// getCheckpointPosition(checkpointid)
SQInteger CCheckpointNatives::GetPosition(SQVM * pVM)
{
	EntityId checkpointId;;
	sq_getentity(pVM, -1, &checkpointId);
	CCheckpoint * pCheckpoint = g_pCheckpointManager->Get(checkpointId);

	if(pCheckpoint)
	{
		CVector3 vecPosition;
		pCheckpoint->GetPosition(vecPosition);
		sq_newtable(pVM);
		sq_pushinteger(pVM, 0);
		sq_pushfloat(pVM, vecPosition.fX);
		sq_createslot(pVM, -3);
		sq_pushinteger(pVM, 1);
		sq_pushfloat(pVM, vecPosition.fY);
		sq_createslot(pVM, -3);
		sq_pushinteger(pVM, 2);
		sq_pushfloat(pVM, vecPosition.fZ);
		sq_createslot(pVM, -3);
		return 1;
	}

	sq_pushbool(pVM, false);
	return 1;
}
	// getCheckpointPosition(checkpointid)
	CVector3 CCheckpointModuleNatives::GetPosition(EntityId checkpointId)
	{
		CCheckpoint * pCheckpoint = g_pCheckpointManager->Get(checkpointId);

		if(pCheckpoint)
		{
			CVector3 vecPosition;
			pCheckpoint->GetPosition(vecPosition);
			return vecPosition;
		}

		return CVector3();
	}