Изменение скорости в полете

MiCRoSoFt989

Участник
Сообщения
9
Реакции
0
Во время толчка через TeleportEntity игрок может менять силу и направление полета через клавиши передвижения, как запретить ему это делать?
 
Последнее редактирование:

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
как запретить ему это делать?
Проблему на практике не видел, так что, просто блокировать кнопки:
PHP:
new bool:g_bBlockButtons[MAXPLAYERS + 1];

...
{
	g_bBlockButtons[client] = true;
	TeleportEntity(client, ...);
	CreateTimer(0.1, ResetBlock, client);
}

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
	if (g_bBlockButtons[client])
	{
		buttons &= ~buttons;
		return Plugin_Changed;
	}
	return Plugin_Continue;
}

public Action:ResetBlock(Handle:timer, any:client)
{
	g_bBlockButtons[client] = false;
	return Plugin_Stop;
}
 

MiCRoSoFt989

Участник
Сообщения
9
Реакции
0
@AlmazON, код работает, только не запрещает использовать кнопки передвижения.
 

MiCRoSoFt989

Участник
Сообщения
9
Реакции
0
Попробуй просто:return Plugin_Handled; Оффтоп
Если использовать return Plugin_Handled, то игрок замораживается на время таймера. Простая заморозка отменяет толчок.

Есть еще заморозка,которая встречается в конце карты.
Она запрещает нажимать кнопки и поворачивать мышкой,но игроком манипулировать все еще можно. Если игрока воскресить во время этой заморозки,то он сможет двигать мышкой,но ходить не может.

Как использовать такую заморозку?
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • #11
@AlmazON, может использовать такой способ?
Последний параметр в TeleportEntity (Velocity) установить значение вектора на 0.0
Сначала сделать:
PHP:
SetEntityMoveType(client, MOVETYPE_NONE);
SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", 0.0);
И поставить в таймер на 0.2 секунды в callback которого написать:
PHP:
SetEntityMoveType(client, MOVETYPE_WALK);
SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", 1.0);
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
Как вариант, только кто нибудь переделайте на SP.


ent_fire player addoutput "health -1" // Игроки "замерзнут" :D
 

SAZONISCHE

Участник
Сообщения
405
Реакции
232
держи
 

Вложения

  • landmarkangles.sp
    539 байт · Просмотры: 15
Сверху Снизу