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

ThreshHNS

Участник
Сообщения
248
Реакции
87
AlmazON, плагин который написал gibs,он не проверяет на нож и неуязвимость от всего урона. Это один плагин был написан около того "как надо".
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
Временная неуязвимость от ножевых ранений + окраска этого игрока

Новая неуязвимость только после смерти (новый раунд не учитывается):
PHP:
#include <sdkhooks>

new Float:fTime, Handle:TimerColor[MAXPLAYERS+1];

public OnPluginStart()
{
	HookEvent("player_death", Event_PlayerDeath);
	HookConVarChange(TimerColor[0] = CreateConVar("protect_knife_time",		"3.5",		"Время защиты при первом уроне ножом.", _, true, 0.0), ChangeTime);
	fTime = GetConVarFloat(TimerColor[0]);
	CloseHandle(TimerColor[0]);
}

public ChangeTime(Handle:convar, String:oldValue[], String:newValue[]) fTime = GetConVarFloat(convar);

public Event_PlayerDeath(Handle:event, String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	if(TimerColor[client])
	{
		CloseHandle(TimerColor[client]);
		TimerColor[client] = INVALID_HANDLE;
	}
}

public OnClientPostAdminCheck(client) SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
public OnClientDisconnect(client)
{
	SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
	if(TimerColor[client])
	{
		CloseHandle(TimerColor[client]);
		TimerColor[client] = INVALID_HANDLE;
	}
}
public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
{
	if(TimerColor[victim] != TimerColor[0]) if(0 < attacker <= MaxClients) if(attacker != victim)
	{
		decl String:NameWeapon[16];
		GetClientWeapon(attacker, NameWeapon, sizeof(NameWeapon));
		if(StrContains(NameWeapon, "knife") != -1 || strcmp(NameWeapon, "weapon_bayonet") == 0)
		{
			damage = 0.0;
			if(TimerColor[victim] == INVALID_HANDLE)
			{
				SetEntityRenderMode(victim, RENDER_TRANSCOLOR);
				SetEntityRenderColor(victim, 253, 141, 28, 255);
				TimerColor[victim] = CreateTimer(fTime, StandartColor, victim);
			}
			return Plugin_Changed;
		}
	}
	return Plugin_Continue;
}
public Action:StandartColor(Handle:timer, any:client)
{
	TimerColor[client] = TimerColor[0];
	SetEntityRenderMode(client, RENDER_TRANSCOLOR);
	SetEntityRenderColor(client, 255, 255, 255, 255);
	return Plugin_Stop;
}
 

ThreshHNS

Участник
Сообщения
248
Реакции
87
AlmazON, сейчас вообще какой-то бред. Когда один человек уже неуязвим и окрашен,то для другого человека неуязвимости нет. Короче вот объясню:
Игрок наносит урон другому игроку => он становится неуязвим и окрашен. Пока он неуязвим и окрашен,другой игрок наносит урон другому игроку => он не становится неуязвимым,но окрашивается. Иногда плагин просто перестает работать. mp_friendlyfire стоит 0,то когда ты все равно бьешь по союзнику он становится неуязвим и окрашивается.
Походу реализовать это очень трудно,думал намного легче...спасибо за старания
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
другой игрок наносит урон другому игроку => он не становится неуязвимым,но окрашивается.
Такое как-то малореально, ибо сначала ставится нулевой урон и сразу после него - окраска.
Лог ошибок посмотри, может не доходит код до return Plugin_Changed;.
Иногда плагин просто перестает работать
Это всё бага с оружием ещё.
mp_friendlyfire стоит 0,то когда ты все равно бьешь по союзнику он становится неуязвим и окрашивается
Этот прикол замечал)
 

ThreshHNS

Участник
Сообщения
248
Реакции
87
AlmazON, error_log:
Оффтоп
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
Native "GetClientWeapon" reported: Client index 129 is invalid
L 05/30/2015 - 20:26:37: [SM] Displaying call stack trace for plugin "1.smx":
L 05/30/2015 - 20:26:37: [SM] [0] Line 32, E:\Steamcmd\server\csgo\addons\sourcemod\scripting \1.sp::OnTakeDamage()
Код не совпадает с моим. Либо ты использовал старый плагин (может даже с новым - два одновременно), либо сам там ковырял.
 

ThreshHNS

Участник
Сообщения
248
Реакции
87
AlmazON, да и в правду лог был от другого плагина. От твоего кода ерроров нет.
 

ThreshHNS

Участник
Сообщения
248
Реакции
87
AlmazON, я и использовал один,просто лог сохранился от старого плагина,а от твоего нет логов.
 

AleksandrM3

Участник
Сообщения
137
Реакции
2
Не буду создавать лишнюю тему напишу тут. У меня css v34 есть карта футбол, возможно ли на ней убрать урон от попадания мяча в игрока.
Идеально был бы плагин который добавляет скорость игрокам, убирает урон от попадания мяча и урон от ударов ножом противоположной команды (сейчас урон от ударов ножом убран посредством плагина head shot only, а скорость добавляется через супер админку серого,но ее приходится ставить ручками каждый раунд, плагин knife speed, почему то отказывается работать на карте футбол)
Но хотя бы просто убрать урон от мяча,
 
Последнее редактирование:
Сверху Снизу