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

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

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

		if(pCheckpoint)
		{
			CVector3 vecTargetPosition;
			pCheckpoint->GetTargetPosition(vecTargetPosition);
			return vecTargetPosition;
		}

		return CVector3();
	}