コード例 #1
0
ファイル: CEntityNatives.cpp プロジェクト: killserver/GTA-IV
int CEntityNatives::Create(SQVM* pVM)
{
	CResource* pResource = g_pResourceManager->Get(pVM);
	assert( pResource );

	const char* szName;
	sq_getstring(pVM,2,&szName);

	if(CEntity::GetType(szName) == ENTITY_TYPE_CUSTOM)
	{
		CEntity* pEntity = new CEntity(ENTITY_TYPE_CUSTOM, pResource, szName);
		if(pEntity->GetID() != INVALID_ENTITY_ID_LONG)
		{
			sq_pushentity(pVM,pEntity);
		}
		else
		{
			delete pEntity;
			sq_pushnull(pVM);
		}
	}
	else
		sq_pushnull(pVM);

	return 1;
}
コード例 #2
0
// createActor(modelhash, x, y, z, r)
SQInteger CActorNatives::Create(SQVM * pVM)
{
	SQInteger iModelId;
	CVector3 vecPosition;
	float fHeading;
	sq_getinteger(pVM, -5, &iModelId);
	sq_getvector3(pVM, -4, &vecPosition);
	sq_getfloat(pVM, -1, &fHeading);
	sq_pushentity(pVM, g_pActorManager->Create(iModelId, vecPosition, fHeading));
	return 1;
}
コード例 #3
0
int CPlayerNatives::GetVehicle(SQVM * pVM)
{
	CPlayer * pPlayer = sq_toplayer(pVM, 2);

	if(pPlayer)
		sq_pushentity(pVM, pPlayer->GetVehicle());
	else
		sq_pushnull(pVM);

	return 1;
}
コード例 #4
0
// createCheckpoint(type, x, y, z, targetx, targety, targetz, radius)
SQInteger CCheckpointNatives::Create(SQVM * pVM)
{
	SQInteger iType;
	CVector3 vecPosition;
	CVector3 vecTargetPosition;
	float fRadius;
	sq_getinteger(pVM, -8, &iType);
	sq_getvector3(pVM, -7, &vecPosition);
	sq_getvector3(pVM, -4, &vecTargetPosition);
	sq_getfloat(pVM, -1, &fRadius);
	sq_pushentity(pVM, g_pCheckpointManager->Add(iType, vecPosition, vecTargetPosition, fRadius));
	return 1;
}
コード例 #5
0
ファイル: CEntityNatives.cpp プロジェクト: killserver/GTA-IV
int CEntityNatives::GetParent(SQVM* pVM)
{
	CEntity* pEntity = sq_toentity(pVM, 2);
	if(pEntity)
	{
		CEntity* pParent = pEntity->GetParent();
		if(pParent)
			sq_pushentity(pVM,pParent);
		else
			sq_pushnull(pVM);
	}
	else
		sq_pushnull(pVM);
	return 1;
}
コード例 #6
0
ファイル: CVehicleNatives.cpp プロジェクト: killserver/GTA-IV
int CVehicleNatives::Create(SQVM * pVM)
{
	int iVehicleId;
	CVector3 vecPos, vecRot;
	sq_getinteger(pVM, -7, &iVehicleId);
	sq_getvector3(pVM, -6, &vecPos);
	sq_getvector3(pVM, -3, &vecRot);
	CVehicle * pVehicle = g_pServer->GetVehicleManager()->Add(iVehicleId);
	if(pVehicle)
	{
		pVehicle->SetPosition(vecPos);
		pVehicle->SetRotation(vecPos);
		pVehicle->SpawnForWorld();
		sq_pushentity(pVM, pVehicle);
	}
	sq_pushnull(pVM);
	return 1;
}
コード例 #7
0
ファイル: CEntityNatives.cpp プロジェクト: killserver/GTA-IV
int CEntityNatives::GetRoot(SQVM* pVM)
{
	sq_pushentity(pVM, g_pRootEntity);
	return 1;
}