Перейти к содержимому


Фотография

Collisin

m_CollisionGroup CollisionGroup Collision

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Game Over - L4D2 - CS:GO

Game Over - L4D2 - CS:GO

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 574 сообщений

Отправлено 03 Март 2019 - 4:32

Создал машину, но игрок может через неё пройти и сама модель не врезается в предметы. Как сделать так, чтобы через неё нельзя было пройти и модель могла бы застревать на препятствиях?  

По умолчанию стоит

SetEntProp(car, Prop_Data, "m_CollisionGroup", 2);

|||||||||||||||||||||||||||||||||||
Поменяйте пожалуйста название темы на "Collision". Спасибо.
||||||||||||||||||||||||||||||||||


Сообщение отредактировал Game Over - L4D2 - CS:GO: 03 Март 2019 - 4:32


#2 BHaType

BHaType

    Пользователь

  • Пользователь
  • PipPipPip
  • 358 сообщений

Отправлено 03 Март 2019 - 4:34

SetEntProp(Entity, Prop_Send, "m_nSolidType", 6)

Сообщение отредактировал BHaType: 03 Март 2019 - 4:35

  • Game Over - L4D2 - CS:GO это нравится

#3 Game Over - L4D2 - CS:GO

Game Over - L4D2 - CS:GO

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 574 сообщений

Отправлено 03 Март 2019 - 4:35

SetEntProp(car, Prop_Send, "m_nSolidType", 6)

Спасибо. 



#4 Game Over - L4D2 - CS:GO

Game Over - L4D2 - CS:GO

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 574 сообщений

Отправлено 03 Март 2019 - 17:30

Может кому-нибудь пригодится m_CollisionGroup

Первый параметр начинается с 0, далее по порядку 1,2,3 и тгд

    COLLISION_GROUP_NONE  = 0,
    COLLISION_GROUP_DEBRIS,            // Collides with nothing but world and static stuff
    COLLISION_GROUP_DEBRIS_TRIGGER, // Same as debris, but hits triggers
    COLLISION_GROUP_INTERACTIVE_DEBRIS,    // Collides with everything except other interactive debris or debris
    COLLISION_GROUP_INTERACTIVE,    // Collides with everything except interactive debris or debris
    COLLISION_GROUP_PLAYER,
    COLLISION_GROUP_BREAKABLE_GLASS,
    COLLISION_GROUP_VEHICLE,
    COLLISION_GROUP_PLAYER_MOVEMENT,  // For HL2, same as Collision_Group_Player
                                        
    COLLISION_GROUP_NPC,            // Generic NPC group
    COLLISION_GROUP_IN_VEHICLE,        // for any entity inside a vehicle
    COLLISION_GROUP_WEAPON,            // for any weapons that need collision detection
    COLLISION_GROUP_VEHICLE_CLIP,    // vehicle clip brush to restrict vehicle movement
    COLLISION_GROUP_PROJECTILE,        // Projectiles!
    COLLISION_GROUP_DOOR_BLOCKER,    // Blocks entities not permitted to get near moving doors
    COLLISION_GROUP_PASSABLE_DOOR,    // Doors that the player shouldn't collide with
    COLLISION_GROUP_DISSOLVING,        // Things that are dissolving are in this group
    COLLISION_GROUP_PUSHAWAY,        // Nonsolid on client and server, pushaway in player code

    COLLISION_GROUP_NPC_ACTOR,        // Used so NPCs in scripts ignore the player.

Сообщение отредактировал Game Over - L4D2 - CS:GO: 03 Март 2019 - 17:31

  • AlexMy, dragokas и BHaType это нравится

#5 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 07 Март 2019 - 15:38

Писал такое. Попробуй:

stock void SetEntitySolid(int entity, bool doSolid)
{
	#define FSOLID_NOT_SOLID 	0x0004
	#define SOLID_NONE 			0
	#define SOLID_VPHYSICS		6
	
	int m_nSolidType	= GetEntProp(entity, Prop_Data, "m_nSolidType", 1);
	int m_usSolidFlags	= GetEntProp(entity, Prop_Data, "m_usSolidFlags", 2);
	
	if (doSolid) {
		if (m_nSolidType == 0)
			SetEntProp(entity, Prop_Send,	"m_nSolidType",		SOLID_VPHYSICS,	1);
			
		if (m_usSolidFlags & FSOLID_NOT_SOLID)
			SetEntProp(entity, Prop_Send,	"m_usSolidFlags", 	m_usSolidFlags & ~FSOLID_NOT_SOLID,	2);
	}
	else {
		if (m_nSolidType != 0)
			SetEntProp(entity, Prop_Send,	"m_nSolidType",		SOLID_NONE,	1);
			
		if (m_usSolidFlags & FSOLID_NOT_SOLID == 0)
			SetEntProp(entity, Prop_Send,	"m_usSolidFlags", 	m_usSolidFlags | FSOLID_NOT_SOLID,	2);
	}
}

  • Game Over - L4D2 - CS:GO это нравится


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных