Замораживание при попадание

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
КТ замораживались при нанесение урона Т с ножа
Два варианта:
1) Контр-террористы замораживались при нанесение урона Террористом с ножа.
2) Контр-террористы замораживались при нанесение урона Террористу с ножа.
Разницу видно? Русский язык не уважаем, либо ленью страдаем... Оффтоп
Причём, правильней тогда:
"Контр-террористы замораживались при нанесение урона Террористу ножом.".
 
Сообщения
45
Реакции
0
AlmazON, видно,еще раз прошу извинений

Добавлено через 3 минуты
AlmazON, еще раз прошу извинений...испавлюсь
 
Последнее редактирование:
Сообщения
45
Реакции
0
AlmazON, большое спасибо,работает. Можно как-нибудь добавить звук заморожки и надпись в чат You have been frozen by hit for 2.5 seconds и так же чтобы ты не мог бить,когда ты заморожен.

Добавлено через 3 часа 22 минуты
AlmazON, поможешь?

Добавлено через 21 час 48 минут
Оффтоп
 
Последнее редактирование:
Сообщения
45
Реакции
0
Акутально. Надо сделать,чтобы:
• Нельзя было ударят,когда ты заморожен
• Писалось в чат "You have been frozen by hit for 2.5 seconds" (зеленым цветом)
• И по возможности звук заморозки.

Спасибо ^.^

Добавлено через 23 часа 38 минут
Актуально.
 
Последнее редактирование:

Egor Dolgirev

Участник
Сообщения
8
Реакции
4
Не тестил, проверь, должно рабить, код брал у AlmazON
 

Вложения

  • antiknife.sp
    2.8 КБ · Просмотры: 6

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
[CS:GO/CS:S] Заморозка Контр-Террориста, если он атакует Террориста ножом

Регулируемая остановка противника (КТ), невозможность им атаки, а также звук и "анимация" заморозки с сообщением в чат:
PHP:
#include <sdktools_engine>
#include <sdktools_sound>

#define TIME_STOP		2.5
#define FREEZE_COLOR	{0, 128, 255, 255}

new g_iOffsetRender, String:g_FreezeSound[PLATFORM_MAX_PATH];  

public OnPluginStart()
{
	HookEvent("player_hurt", Event_PlayerHurt);
	decl Handle:gameConfig;
	if((gameConfig=LoadGameConfigFile("funcommands.games")))
	{
		GameConfGetKeyValue(gameConfig, "SoundFreeze", g_FreezeSound, PLATFORM_MAX_PATH);
		CloseHandle(gameConfig);
	}
	else LogError("Unable to load game config \"funcommands.games\"! The sound of freezing not available.");
	if((g_iOffsetRender=FindSendPropOffs("CCSPlayer", "m_clrRender")) == -1)
	{
		LogError("Offset 'CCSPlayer'::'m_clrRender' not found! The color of freezing not available.");
	}
}

public OnMapStart() if(g_FreezeSound[0]) PrecacheSound(g_FreezeSound, true);

public Event_PlayerHurt(Handle:event,String:name[],bool:dontBroadcast)  
{  
	decl String:weapon[9];  
	GetEventString(event, "weapon", weapon, 9);  
	if(strncmp(weapon, "knife", 5) == 0 || strcmp(weapon, "bayonet") == 0)  
	{  
		new attacker=GetClientOfUserId(GetEventInt(event, "attacker"));
		if(attacker) if(GetClientTeam(attacker) == 3)
		{  
			if(GetClientTeam(GetClientOfUserId(GetEventInt(event, "userid"))) == 2) 
			{
				SetEntPropFloat(attacker, Prop_Data, "m_flLaggedMovementValue", 0.0);  
				if(g_iOffsetRender !=-1) SetEntDataArray(attacker, g_iOffsetRender, FREEZE_COLOR, 4,1,true);
				if(g_FreezeSound[0])
				{
					decl Float:vec[3];
					GetClientEyePosition(attacker, vec);
					EmitAmbientSound(g_FreezeSound, vec, attacker, SNDLEVEL_RAIDSIREN);
				}
				SetEntPropFloat(attacker, Prop_Send, "m_flNextAttack", GetGameTime()+TIME_STOP);
				CreateTimer(TIME_STOP, UnFreeze, attacker);
				PrintToChat(attacker, " \x01\04You have been \x05frozen \x01by hit for \x03%0.1f \x01seconds!", TIME_STOP);
			}  
		}  
	} 
}  

public Action:UnFreeze(Handle:timer, any:attacker)  
{
	if(IsClientInGame(attacker)) if(IsPlayerAlive(attacker)) 
	{  
		SetEntPropFloat(attacker, Prop_Data, "m_flLaggedMovementValue", 1.0);  
		if(g_iOffsetRender !=-1) SetEntDataArray(attacker, g_iOffsetRender, {255, 255, 255, 255}, 4,1,true);
		if(g_FreezeSound[0])
		{
			decl Float:vec[3];
			GetClientEyePosition(attacker, vec);
			EmitAmbientSound(g_FreezeSound, vec, attacker, SNDLEVEL_RAIDSIREN);
		}
	}  
	return Plugin_Stop;  
}
Где:
#define TIME_STOP 2.5 - время заморозки;
#define FREEZE_COLOR {0, 128, 255, 255} - цвет заморозки в RGB + alfa (прозрачность).
 
Последнее редактирование:

Felton

Участник
Сообщения
799
Реакции
59
Скажите этот код от AlmazON чтобы ссзади не резали или как?А то мне нужно только что бы ссади не резали(нельзя убить в спину) а в остальных случаях можно даже если в бок хоть в голову хоть в яйцо нанёс удар ножём.Сервер Counter-Strike Source DeathMatch(старушка)
 
Последнее редактирование:

Felton

Участник
Сообщения
799
Реакции
59
AlmazON,
Не понял это что вообще ножём нельзя убить?А можно сделать то что я выше написал?Так как есть на сервере ножевые карты
 

Felton

Участник
Сообщения
799
Реакции
59
AlmazON,
Не пробывал т.к мне заморозка не нужна бообще. Мне надо что бы ссади не резали(нельзя убить в спину) а в остальных случаях можно даже если в бок хоть в голову хоть в яйцо нанёс удар ножём.Сервер Counter-Strike Source DeathMatch(старушка)
Это не предлагать там для меня много лишнего http://hlmod.ru/forum/showpost.php?p=185419&postcount=6
И это тоже http://hlmod.ru/forum/plaginy-dlya-sourcemod/27594-cs-s-cs-go-knife-dozor-v1-0-6-a.html
Мне надо защиту от удара в спину и всё !!! и ничего лишнего.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
[CS:S/CS:GO почти] Запрет ранений ножом со спины

Мне надо защиту от удара в спину
Простенький вариант ниже. Далеко не идеален, но вполне эффективен. Оффтоп
Не даёт ранить ножом противника, если им друг друга толком не видно (за спиной).
 

Вложения

  • SimpleAntiKnife.sp
    832 байт · Просмотры: 17
Последнее редактирование:

Felton

Участник
Сообщения
799
Реакции
59
AlmazON,
Вот что пишет в логах
L 01/27/2016 - 09:31:20: [SM] Native "GetClientWeapon" reported: Client index 83 is invalid
L 01/27/2016 - 09:31:20: [SM] Displaying call stack trace for plugin "SimpleAntiKnife.smx":
L 01/27/2016 - 09:31:20: [SM] [0] Line 12, SimpleAntiKnife.sp::TakeDamage()
L 01/27/2016 - 09:31:20: [SM] Native "GetClientWeapon" reported: Client index 83 is invalid
 

Felton

Участник
Сообщения
799
Реакции
59
AlmazON,
Вреде всё нормально.Проверил на домашнем на ботах.Установил в Server cfg огонь по своим mp_friendlyfire 1.Так мне легче проверить на ботах Соспины хп не отнимается а вот чуть в бок уже идёт урон.Так я и хотел.Ошибок нет.Пойду ещё потестирую.
 

Felton

Участник
Сообщения
799
Реакции
59
AlmazON,
Спасибо большое.Всё ок.Вот только мне кажеться что убивать стало посложней.Может я ошибаюсь.А так всё гуд!"Ошибок от плагина нет
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
мне кажеться что убивать стало посложней
Если только ножом сбоку. Бок зависит от того, как бьют ножом (например, непрямое попадание) и насколько противник не замечает тебя, а остальное оружие вообще игнорируется.
 

Barsminsk

Участник
Сообщения
55
Реакции
2
Если только ножом сбоку. Бок зависит от того, как бьют ножом (например, непрямое попадание) и насколько противник не замечает тебя, а остальное оружие вообще игнорируется.

Можно тож самое, плюс коэффициент 0.5 для дамага в спину ?
 
Сверху Снизу