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 мин. до ухода на работу, потому, этот момент не учёл, т.к. торопился. Так или иначе, мы все нюансы априори не сможем учесть, но это хоть какое-то нормально и гуманное решение.

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


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас