215 сообщений в этой теме

FaLLeN с чего ты взял, что горят? Неприятно, да. Но я видела только в шутливой форме высказывались, не более

Поделиться сообщением


Ссылка на сообщение

Поражаюсь этим теркам в стиле дом 2

Давайте дружно скажем 

IMG_20230906_135744.jpg

Поделиться сообщением


Ссылка на сообщение

@bullet28 я вот не понимаю, зачем было подбрасывать говна в огонь, отключая игру за заразу всем, если вся эта проблема решается добавлением буквально пары-тройки строк в плагин випки.

Чтобы випа, при попытке поднасрать своим тимейтам, просто кикало нахой с сервера.
При этом челы, прыгающие хантом по крышам на чиле, никому не мешая, могли и дальше спокойно это делать.

Собснэ, уот'

public OnPluginStart()
{
	HookEvent("player_hurt", Event_player_hurt, EventHookMode_Pre); // regaem obrabot4ik sobytia
}

public Action:Event_player_hurt(Handle:event, const String:name[], bool:dontBroadcast)
{
	// polu4aem data
	new victimId = GetEventInt(event, "userid");
	new attackerId = GetEventInt(event, "attacker");
	
	// esli da
	if(victimId && attackerId)
	{	
		// a kto eto u nas tyt a
		new victim = GetClientOfUserId(victimId);
		new attacker = GetClientOfUserId(attackerId);
		
		// (esli) oba 4ela in-game
		if(IsClientInGame(victim) && IsClientInGame(attacker))
		{
			// (esli) 4elix ne bot
			if(!IsFakeClient(attacker))
			{
				// (esli) 4elix za infected (zarazu)
				if(GetClientTeam(attacker) == 3)
				{
					KickClient(attacker, "Vy byli kicknuty po prichine 'dodik'");
				}
			}
		}
	}
	return Plugin_Continue;	
}

 

Поделиться сообщением


Ссылка на сообщение
10 часов назад, Зимуля сказал:

Я вот играла в те моменты, когда начался "переломный момент"
Мы играли толпой небольшой: 1-2 випа и примерно 10 обычных игроков. Когда випы играли за заразу, обычные игроки, отличные кстати игроки, сливались. Нам, живым випам, было тяжело: того подними, этого воскреси, другого полечи и всё успей и проследи. 
И что я хочу сказать: дорогие випы - вы совсем зажрались! Вы, видимо, забыли: какого быть обычным игроком. Без тройного прыжка, без хилок и оружия. Давайте не забывать: мы нужны простым игрокам для помощи, а не для самоутверждения! Дайте поиграть обычным гражданам, вы в этой игре не одни! Благодарю)

 

9 часов назад, Редд Янковски сказал:

FaLLeN нашлось пару карт где падает и сервак на тесте)

не только на слабом пк)

есть еще обычно 3 причины 

1- вип переполняет лимиты карты 

2 - багнутые модели \ скины (ошибка буфера переполнения выскакивает  )\ либо несовместимые с картой модели ..потому что на карте могут быть одинаковые название с моделями

3 - моды игрока не совместимые с вип скинами) 

 

Я помню, что в какой-то момент игра была довольно плавной и играбельной, а затем випы, которые платили привилегии, что нормально, попросили больше зомби, больше ведьм, более сложных танков, и с этого момента обычным игрокам стало немного сложнее, так как а еще лаги и сумасшедшие пинги )).

Я знаю, что эти две игры несопоставимы по архитектуре и оптимизации, но в "7 Days to Die" создатели предупреждают, что увеличение орд зомби может привести к крашу игры даже на мощных ПК.

Поделиться сообщением


Ссылка на сообщение

CASTIEL7O4 даа, много ботов стало с тех времен. Но мне повезло: меня не крашит)

Поделиться сообщением


Ссылка на сообщение
23 часа назад, ОкснардМонтальво сказал:

@bullet28 я вот не понимаю, зачем было подбрасывать говна в огонь, отключая игру за заразу всем, если вся эта проблема решается добавлением буквально пары-тройки строк в плагин випки.

Чтобы випа, при попытке поднасрать своим тимейтам, просто кикало нахой с сервера.
При этом челы, прыгающие хантом по крышам на чиле, никому не мешая, могли и дальше спокойно это делать.

Собснэ, уот'


public OnPluginStart()
{
	HookEvent("player_hurt", Event_player_hurt, EventHookMode_Pre); // regaem obrabot4ik sobytia
}

public Action:Event_player_hurt(Handle:event, const String:name[], bool:dontBroadcast)
{
	// polu4aem data
	new victimId = GetEventInt(event, "userid");
	new attackerId = GetEventInt(event, "attacker");
	
	// esli da
	if(victimId && attackerId)
	{	
		// a kto eto u nas tyt a
		new victim = GetClientOfUserId(victimId);
		new attacker = GetClientOfUserId(attackerId);
		
		// (esli) oba 4ela in-game
		if(IsClientInGame(victim) && IsClientInGame(attacker))
		{
			// (esli) 4elix ne bot
			if(!IsFakeClient(attacker))
			{
				// (esli) 4elix za infected (zarazu)
				if(GetClientTeam(attacker) == 3)
				{
					KickClient(attacker, "Vy byli kicknuty po prichine 'dodik'");
				}
			}
		}
	}
	return Plugin_Continue;	
}

 

Тогда уж лучше так:

Скрытый текст

#pragma semicolon 1
#pragma newdecls required
#include <sourcemod>

#define VERSION "1.0"

ConVar RD_On, RD_RDTV;
bool bRD_RDTV;

public Plugin myinfo = 
{
    name        = "Return damage",
    author      = "BS/IW",
    version     = VERSION,
    description = "Return the damage done to the attacker"
}

public void OnPluginStart()
{
    CreateConVar("return_damage_version", VERSION, "Version of the Plugin", FCVAR_NOTIFY|FCVAR_DONTRECORD); 
    RD_On = CreateConVar("rd_on", "1", "Plugin On/Off", FCVAR_NOTIFY, true, 0.0, true, 1.0);
    RD_RDTV = CreateConVar("rd_rdtv", "1", "Return lost health to the victim?", FCVAR_NOTIFY, true, 0.0, true, 1.0);

    RD_On.AddChangeHook(CvarPluginOnChanged);
    RD_RDTV.AddChangeHook(CvarReturnLostHealthChanged);

    AutoExecConfig(true, "return_damage");
}

public void OnConfigsExecuted()
{
    IsAllowed();
}

void CvarPluginOnChanged(ConVar hCvar, const char[] sOldVal, const char[] sNewVal)
{
    IsAllowed();
}

void CvarReturnLostHealthChanged(ConVar hCvar, const char[] sOldVal, const char[] sNewVal)
{
    GetCvars();
}

void IsAllowed()
{
    bool PluginOn = RD_On.BoolValue;
    if(PluginOn)
    {
        GetCvars();
    	HookEvent("player_hurt", Event_PlayerHurt, EventHookMode_Pre);
    }
    else
    {
        UnhookEvent("player_hurt", Event_PlayerHurt, EventHookMode_Pre);
    }
}

void GetCvars()
{
    bRD_RDTV = RD_RDTV.BoolValue;
}

Action Event_PlayerHurt(Event event, const char[] name, bool dontBroadcast)
{
	//Получаем id жертвы и атакующего
	int victim = GetClientOfUserId(event.GetInt("userid"));
	int attacker = GetClientOfUserId(event.GetInt("attacker"));

	if(victim && attacker)
    {
		//Если атакующий и жертва в игре
		if(IsClientInGame(victim) && IsClientInGame(attacker))
		{
		    if(GetClientTeam(victim) == 2)
		    {
		        //Запрашиваем урон, полученный выжившим
		        int VictimHurt = event.GetInt("dmg_health");
    			// Атакующий не бот
    			if(!IsFakeClient(attacker) && GetClientTeam(attacker) == 3)
				{
				    if(bRD_RDTV)
				    {
				        //Жертва жива
    				    if(IsPlayerAlive(victim))
    				    {
                            //Запрашиваем текущее здоровье выжившего после урона
                            int TotalVictimHP = GetClientHealth(victim);
                            //Возвращаем здоровье выжившему
                            SetEntityHealth(victim, TotalVictimHP + VictimHurt);
    				    }
				    }

				    if(IsPlayerAlive(attacker))
				    {
    				    //Наносим урон заражённому
    				    SetEntityHealth(attacker, VictimHurt);
				    }
				}
		    }
		}
	}
	return Plugin_Continue;	
}

 

 

Поделиться сообщением


Ссылка на сообщение
19 часов назад, ОкснардМонтальво сказал:

@bullet28 я вот не понимаю, зачем было подбрасывать говна в огонь, отключая игру за заразу всем, если вся эта проблема решается добавлением буквально пары-тройки строк в плагин випки.

Чтобы випа, при попытке поднасрать своим тимейтам, просто кикало нахой с сервера.
При этом челы, прыгающие хантом по крышам на чиле, никому не мешая, могли и дальше спокойно это делать.

Собснэ, уот'


public OnPluginStart()
{
	HookEvent("player_hurt", Event_player_hurt, EventHookMode_Pre); // regaem obrabot4ik sobytia
}

public Action:Event_player_hurt(Handle:event, const String:name[], bool:dontBroadcast)
{
	// polu4aem data
	new victimId = GetEventInt(event, "userid");
	new attackerId = GetEventInt(event, "attacker");
	
	// esli da
	if(victimId && attackerId)
	{	
		// a kto eto u nas tyt a
		new victim = GetClientOfUserId(victimId);
		new attacker = GetClientOfUserId(attackerId);
		
		// (esli) oba 4ela in-game
		if(IsClientInGame(victim) && IsClientInGame(attacker))
		{
			// (esli) 4elix ne bot
			if(!IsFakeClient(attacker))
			{
				// (esli) 4elix za infected (zarazu)
				if(GetClientTeam(attacker) == 3)
				{
					KickClient(attacker, "Vy byli kicknuty po prichine 'dodik'");
				}
			}
		}
	}
	return Plugin_Continue;	
}

 

Молодец просто, предложить не рабочий плагин для випки. который угробит всю вип)) Гениально просто

Поделиться сообщением


Ссылка на сообщение

BLOODY BLADE запас здоровья выживших и зараженных несоизмерим. Взять для сравнения уже покоцанного сурва с 40-60 хп и здорового грома с 600 поинтами.

Не говоря уже про танка, который может одной машинкой капнуть всю тиму выживших, и даже если при этом он получит на себя такой же урон – все равно останется жив.

Я лишь вывел пример детекта подобного неподобства. Что делать после него – уже выбор администрации (можно, например, просто убивать зараженного, но ведь за заразу можно играть за раунд далеко не один раз).

Sweet Devil что-то я не помню, чтобы писал о том, что это "плагин". Это код для вставки в випку, с необходимыми проверками. Аж стало интересно, что конкретно в нем нерабочего?)0

Поделиться сообщением


Ссылка на сообщение
9 часов назад, ОкснардМонтальво сказал:

BLOODY BLADE запас здоровья выживших и зараженных несоизмерим. Взять для сравнения уже покоцанного сурва с 40-60 хп и здорового грома с 600 поинтами.

Не говоря уже про танка, который может одной машинкой капнуть всю тиму выживших, и даже если при этом он получит на себя такой же урон – все равно останется жив.

Я лишь вывел пример детекта подобного неподобства. Что делать после него – уже выбор администрации (можно, например, просто убивать зараженного, но ведь за заразу можно играть за раунд далеко не один раз).
 

Я скинул более гуманный способ, нежели автокик за малейший урон. 46-60 хп, и? Выжившему то полученный им урон возвращается обратно в его здоровье, а это значит, что тот же гром например, не сможет его инкапнуть, ибо гром весь урон будет получать сам. А касательно танка, ты не забывай, что вип танк, в отличие от танка бота не имеет зависимость здоровья от количества выживших, а имеет лимит в 5000 хп, так что, его слить кучке выживших не составит труда по сравнению с ботом.

Поделиться сообщением


Ссылка на сообщение

BLOODY BLADE 

Пропустил этот момент, но да, если так, то это может быть решением.

9 часов назад, BLOODY BLADE сказал:

Выжившему то полученный им урон возвращается обратно в его здоровье


Но. Это вызывает целый ряд дополнительных вопросов.
Что делать, например, с уроном от захвата, а не от ударов когтями.
Жокей наносит, вроде, 4 урона за пол секунды. Значит, если выживший остался один, жокей будет катать его более 40 секунд, прежде чем у него самого закончится хп. Громила будет вбивать выжившего тоже где-то в районе целой минуты.

И это мы еще не учитываем то, что обездвиженного игрока могут забить простые бомжи (урон то отключен только от випов).
Не говоря уже про инста-киллы: вынос громом сурва в окно и так далее.

Когда вип, играющий жиром, заблюет выжившего, урон ему будут наносить тоже бомжи, а не сам толстич.

И подобных моментов не мало. Тут смысл в том, чтобы донести до випа, что так делать нельзя, а не пытаться какими-то либо путями защитить челиков от того, что ему просто стало скучно и он решил слить им раунд.

Поделиться сообщением


Ссылка на сообщение
9 часов назад, ОкснардМонтальво сказал:

BLOODY BLADE 

Пропустил этот момент, но да, если так, то это может быть решением.


Но. Это вызывает целый ряд дополнительных вопросов.
Что делать, например, с уроном от захвата, а не от ударов когтями.
Жокей наносит, вроде, 4 урона за пол секунды. Значит, если выживший остался один, жокей будет катать его более 40 секунд, прежде чем у него самого закончится хп. Громила будет вбивать выжившего тоже где-то в районе целой минуты.

И это мы еще не учитываем то, что обездвиженного игрока могут забить простые бомжи (урон то отключен только от випов).
Не говоря уже про инста-киллы: вынос громом сурва в окно и так далее.

Когда вип, играющий жиром, заблюет выжившего, урон ему будут наносить тоже бомжи, а не сам толстич.

И подобных моментов не мало. Тут смысл в том, чтобы донести до випа, что так делать нельзя, а не пытаться какими-то либо путями защитить челиков от того, что ему просто стало скучно и он решил слить им раунд.

Игра за заразу уже изначально подразумевает участие в игровом процессе, так что, твой кардинальный вариант решения если посудить, всё-равно равен тому, как если функция отключена. Именно потому я предложил более гуманный и разумный вариант.

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

Поделиться сообщением


Ссылка на сообщение

BLOODY BLADE я лишь хочу сказать, что есть множество менее заметных аспектов.

Возврат здоровья не спасёт выжившего от падения в окно/воду/пропасть. Точно как и от обычного падения (если ты забыл, на этих серверах от атаки грома можно улететь в космос). То есть, из-за действий зараженного-випа, все равно может произойти массовое воспламенение пуканов простых работяг.

Или вот тебе такая ситуация: игрок танк швыряет машину в выжившего и тот получает 200 или 500 очков урона. Этот урон возвращается ему в качестве ХП. В итоге имеем сурва на ногах с 500 хп : D

В любом случае придётся добавлять дополнительные проверки в код, чтобы вся эта система работала корректно.

Поделиться сообщением


Ссылка на сообщение
2 часа назад, ОкснардМонтальво сказал:

BLOODY BLADE я лишь хочу сказать, что есть множество менее заметных аспектов.

Возврат здоровья не спасёт выжившего от падения в окно/воду/пропасть. Точно как и от обычного падения (если ты забыл, на этих серверах от атаки грома можно улететь в космос). То есть, из-за действий зараженного-випа, все равно может произойти массовое воспламенение пуканов простых работяг.

Или вот тебе такая ситуация: игрок танк швыряет машину в выжившего и тот получает 200 или 500 очков урона. Этот урон возвращается ему в качестве ХП. В итоге имеем сурва на ногах с 500 хп : D

В любом случае придётся добавлять дополнительные проверки в код, чтобы вся эта система работала корректно.

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

Поделиться сообщением


Ссылка на сообщение

BLOODY BLADE Так жертва жива. Игрок получает урон больше 100 и инкапается. Система возвращает ему этот урон и он "поднимается" уже с новым хп. У тебя было 70хп, танк толкнул тебя машинкой на 250хп (я не знаю точно сколько идет урона от машины). Ты получаешь 70 + 250 = 320хп. Тут нужно добавлять дополнительную проверку, чтобы восстановленное здоровье игрока не превышало 100хп.

Поделиться сообщением


Ссылка на сообщение
2 часа назад, ОкснардМонтальво сказал:

BLOODY BLADE Так жертва жива. Игрок получает урон больше 100 и инкапается. Система возвращает ему этот урон и он "поднимается" уже с новым хп. У тебя было 70хп, танк толкнул тебя машинкой на 250хп (я не знаю точно сколько идет урона от машины). Ты получаешь 70 + 250 = 320хп. Тут нужно добавлять дополнительную проверку, чтобы восстановленное здоровье игрока не превышало 100хп.

Естественно, что лимит хп можно и нужно добавить, и это пара строк, но ты прямо всё так пишешь, будто у выживших совсем нет шансов увернуться. Я вообще весь код сформировал за 5 мин. до ухода на работу, потому, этот момент не учёл, т.к. торопился. Так или иначе, мы все нюансы априори не сможем учесть, но это хоть какое-то нормально и гуманное решение.

Поделиться сообщением


Ссылка на сообщение

Пожалуйста, войдите для комментирования

Вы сможете оставить комментарий после входа



Войти сейчас