Неуязвимость при получении урона [2]

ThreshHNS

Участник
Сообщения
248
Реакции
87
Добрый день,
Прошу помочь сделать плагин.
Суть: давать неуязвимость игрокам от получения урона от врагов (не от падения),получившим урон от ножа (cs:go), и окрашивать в желтый цвет на 3.5 сек тем,кто получил урон.
Спасибо!

P.s. создал второй раз,потому-что неправильно описал суть плагина. Извиняюсь
 
Последнее редактирование:

trueattack

Участник
Сообщения
134
Реакции
26
Добрый день,
Прошу помочь сделать плагин.
Суть: давать неуязвимость игрокам от ударов(не от падения) и окрашивать в желтый цвет на 2.5 сек тем,кто получил урон от врагов (не от падения также).
Спасибо!

P.s. создал второй раз,потому-что неправильно описал суть плагина. Извиняюсь

Оффтоп
 

trueattack

Участник
Сообщения
134
Реакции
26

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
PHP:
#pragma semicolon 1

#include <sourcemod>

new Handle:g_hTimers[MAXPLAYERS+1] = {INVALID_HANDLE, ...};

public OnPluginStart()
{
	HookEvent("player_hurt", Event_PlayerHurt);
}

public Event_PlayerHurt(Handle:event, const String:name[], bool:dontBroadcast)
{
	decl String:szWeapon[32];
	GetEventString(event, "weapon", szWeapon, sizeof(szWeapon));
	if(!StrEqual(szWeapon, "knife"))
		return;
	
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	if(!IsPlayerAlive(client) || g_hTimers[client] != INVALID_HANDLE)
		return;
	
	SetEntityRenderMode(client, RENDER_TRANSCOLOR);
	SetEntityRenderColor(client, 253, 141, 28, 255);
	
	SetEntProp(client, Prop_Data, "m_takedamage", 0, 1);
	
	g_hTimers[client] = CreateTimer(2.5, Timer_PostHurt, client);
}

public Action:Timer_PostHurt(Handle:timer, any:client)
{
	g_hTimers[client] = INVALID_HANDLE;
	
	if(!IsClientInGame(client) || !IsPlayerAlive(client))
		return Plugin_Stop;
	
	SetEntityRenderMode(client, RENDER_TRANSCOLOR);
	SetEntityRenderColor(client, 255, 255, 255, 255);
	
	SetEntProp(client, Prop_Data, "m_takedamage", 2, 1);
	
	return Plugin_Stop;
}

Оффтоп
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #9
gibs, можно обойтись массивом bool [MAXPLAYERS+1] и локальными таймерами.
 

ThreshHNS

Участник
Сообщения
248
Реакции
87
gibs,
Суть: давать неуязвимость игрокам от получения урона от врагов (не от падения)
P.s. сильно туплю,извиняюсь

Добавлено через 1 минуту
Подправил опять описание. Извиняйте меня такого...
 
Последнее редактирование:

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
ThreshHNS, Оффтоп
 

DarklSide

Участник
Сообщения
931
Реакции
468
PHP:
#pragma semicolon 1
#include <sourcemod>
#include <sdkhooks>
public OnClientPutInServer(client)
{
	SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}
public Action:OnTakeDamage(client, &attacker, &inflictor, &Float:damage, &damagetype)
{
	if (damagetype & !DMG_FALL)
	{
		decl String:szWeapon[64];
		GetClientWeapon(attacker, szWeapon, sizeof(szWeapon));
		if (StrContains(szWeapon, "knife", false) != -1)
		{
			damage = 0.0;
			SetEntityRenderMode(client, RENDER_TRANSCOLOR);
			SetEntityRenderColor(client, 253, 141, 28, 255);
			CreateTimer(3.5, Colorines, client);
			return Plugin_Changed;
		}
	}
	return Plugin_Continue;
}
public Action:Colorines(Handle:timer, client)
{
	if (IsClientInGame(client) && IsPlayerAlive(client))
	{
		SetEntityRenderMode(client, RENDER_TRANSCOLOR);
		SetEntityRenderColor(client, 255, 255, 255, 255);
	}
	return Plugin_Stop;
}
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
DarklSide, один ножик забыл. Ну и новый не учтён. Да и оружие зря отдельно получаешь, если есть, например:
PHP:
Action:public(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon, Float:damageForce[3], Float:damagePosition[3])
Кстати, так кучу таймеров можно насоздавать и сервер "положить". Да и окраска раньше нужного пропадёт. Оффтоп
Primo, Оффтоп
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
была дана - почва для размышлений
Да там делать, в принципе, нечего) Только с окраской на CS:GO есть проблемы - нет прозрачности, вот и всё отличие.
Просто у ТС постоянно меняется задача, а тут и без одного корректного описания есть дела.
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
Primo, Оффтоп
а ТС пишет всё хуже и хуже - не скажи. Порой, одно описание хуже предыдущего.
Оффтоп
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
Оффтоп

ТС менял описание несколько раз. И для меня лично является загадкой что может дать количество постов конкретно на этом форуме.
 
Сверху Снизу