Jump to content

Рандомное ХП у Танка - Скрипт


Recommended Posts

  • Administrator

Таких плагинов много, но я решил переделать рандомный таймер у C4 из Counter-Strike: Source. И у меня почти получилось, плагин реально устанавливает рандомное здоровье Танку.

#include <sourcemod>
#pragma semicolon 1

#define Version	"0.0.2"

new Handle:CvarMode;
new Handle:CvarMin;
new Handle:CvarMax;
new Handle:z_tank_health;
new Random;
new bool:IsHooked;

public Plugin:myinfo = 
{
	name = "Random HP Tank",
	author = "L4D2Noob.RU",
	description = "Этот плагин устанавливает случайное количество здоровья Танку",
	version = Version,
	url = "http://L4D2Noob.RU"
};

public OnPluginStart()
{
	CvarMode = CreateConVar("sm_random_hpt_mode", "1", "1 - Per Round / 0 - Per Map", FCVAR_PLUGIN, true, 0.0, true, 1.0);
	CvarMin = CreateConVar("sm_random_hpt_mintime", "1000", "Минимальное количество ХП Танка", FCVAR_PLUGIN, true, 0.0);
	CvarMax = CreateConVar("sm_random_hpt_maxtime", "9999999", "Максимальное количество ХП Танка", FCVAR_PLUGIN, true, 1.0);
	AutoExecConfig(true, "Random_HP_Tank");
	
	z_tank_health = FindConVar("z_tank_health");
	
	if(GetConVarInt(CvarMode) == 0)
	{
		Functions();
		
		PrintToServer("[RHT] Берегись, Здоровье Танка: %i ХП", Random, (Random > 1) ? "s." : ".");
		
		return;
	}
	
	HookEvent("round_start", Event_RoundStart);
	
	IsHooked = true;
}

public OnPluginEnd()
{
	if(IsHooked == true) UnhookEvent("round_start", Event_RoundStart);
}

public Action:Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
	Functions();
	
	PrintToChatAll("[РХТ] Берегись, Здоровье Танка: %i ХП", Random, (Random > 1) ? "s." : ".");
}

Functions()
{
	Random = GetRandomInt(GetConVarInt(CvarMin), GetConVarInt(CvarMax));
	SetConVarInt(z_tank_health, Random);
}

Но вот беда, я здесь что то неправильно сделал, ведь Танка с этим плагином убить невозможно. Как только ситуация подводит к смерти Танка, его здоровье перезагружается. Кто то может помочь?

Сделал новую версию, пойду протестирую

Я не ищу ничего логичного, например денег. Меня нельзя купить, запугать, аргументировать или договориться со мной. Я просто хочу смотреть, как горит мир.

Link to post
  • Administrator

Починил, работает. Вырезал все лишнее.

#include <sourcemod>
#pragma semicolon 1

#define Version	"0.0.4"

new Handle:CvarMin;
new Handle:CvarMax;
new Handle:z_tank_health;
new Random;

public Plugin:myinfo = 
{
	name = "Random HP Tank", 
	author = "L4D2Noob.RU", 
	description = "Этот плагин устанавливает случайное количество здоровья Танку", 
	version = Version, 
	url = "http://L4D2Noob.RU"
};

public OnPluginStart()
{
	CvarMin = CreateConVar("sm_random_hpt_mintime", "6000", "Минимальное количество ХП Танка", FCVAR_PLUGIN, true, 0.0);
	CvarMax = CreateConVar("sm_random_hpt_maxtime", "30000", "Максимальное количество ХП Танка", FCVAR_PLUGIN, true, 1.0);
	AutoExecConfig(true, "Random_HP_Tank");
	
	z_tank_health = FindConVar("z_tank_health");
	Random = GetRandomInt(GetConVarInt(CvarMin), GetConVarInt(CvarMax));
	SetConVarInt(z_tank_health, Random);
}

Кстати, @Емир Садыков хотел помочь протестировать, но не успел, он позвонил под конец теста.

Я не ищу ничего логичного, например денег. Меня нельзя купить, запугать, аргументировать или договориться со мной. Я просто хочу смотреть, как горит мир.

Link to post
  • 4 weeks later...
  • Ry@N locked this topic
Guest
This topic is now closed to further replies.
  • Similar Content

    • By Ry@N
      Наша игра закончилась, и мне снова можно курить.
    • By Ry@N
      приветствую тебя, милый друг! ты спросишь, шо цэ таке и с чем ето кушают.. 
      Лучший Танк сообщества - настоящий феномен и первое мероприятие на просторах IP-Gamers!
      чтобы в нем поучаствовать не нужно никаких заявок и предлагающихся к ним условий; не нужно, сломя голову, заполнять свой профиль на сто процентов; тебе нужно всего лишь кинуть скриншот с табом, играя за Танка в режиме сражение (Желательно на наших серверах), в игре Left 4 Dead 2.
      Не призов ради, только из за вклада в комьюнити. Поэтому призы все же есть, но они специфические.
      Правила мероприятия:
      Твоя задача кинуть скриншот с табом, играя за Танка в режиме сражение (Желательно на наших серверах), в игре Left 4 Dead 2 Количество скриншотов неограниченно Нельзя скинуть два скриншота подряд (Ты закинул скриншот, если в твоем скриншоте максимальный счет, то можешь уже считать что победил. Вдруг я кидаю скриншот, со счетом больше чем на твоем скриншоте, тут то ты и можешь загрузить следующий скриншот, что бы побить мой рекорд). Мероприятие продлиться до 2 апреля 2021 года, 18:00 по МСК Призы:
      136 Репутации на форуме Эксклюзивное звание на форуме Досрочный перевод на группу выше Снятие всех предупреждений, если они имеются Удаление из базы трекера банов, если там есть данные. Как я и говорил, призы специфичные. А что ты ожидал за скриншот получить? Айфон?
      Вы принимаете участие, благодаря этому мы сближаемся.
    • By Ry@N
      С помощью данного плагина на сервере спавнится больше Ведьм.
      При первом запуске плагина генерируется l4d_multiwitches.cfg файл:
      // This file was auto-generated by SourceMod (v1.10.0.6497) // ConVars for plugin "l4d_multiwitches.smx" // Включен ли плагин? // - // Default: "1" l4d_multiwitches_enable "1" // Поддерживаемые режимы // - // Default: "coop,realism,versus,teamversus" l4d_multiwitches_modes "coop,realism,versus,teamversus" // Сколько дополнительных Ведьм нужно создать? // - // Default: "1" l4d_multiwitches_witches "1" Установка:
      Скомпилируйте .sp файл и поместите получившийся .smx в /left4dead2/addons/sourcemod/plugins Или поместите наш .smx файл в /left4dead2/addons/sourcemod/plugins Сделайте рестарт сервера Плагин компилировался на версии SM 1.10.0.6497
      l4d_multiwitches.smx l4d_multiwitches.sp
    • By Ry@N
      О плагине:
      Потрепанный Зараженный сможет восстановить свое здоровье, если атакует обычных Зомби или Выживших. Плагин тестировался и компилировался на версии SourceMod (1.10.0.6497).
      Установка:
      Извлеките содержимое из архива Положите файл .smx в /left4dead2/addons/sourcemod/plugins Перезапустите сервер При первом запуске плагина генерируется следующий CFG файл:
      // This file was auto-generated by SourceMod (v1.10.0.6497) // ConVars for plugin "L4D2 Vampiric Infected.smx" // Позволяет Особо зараженным атаковать обычных зараженных для восстановления здоровья. // - // Default: "1" // Minimum: "0.000000" l4d_vim_vampiriccommon "1" // Количество HP, которое особый зараженный получает каждый раз, когда атакует обычного зараженного. // - // Default: "5" // Minimum: "0.000000" l4d_vim_vampiriccommonamount "5" // Период восстановления между действием Вампиризма // - // Default: "0.5" // Minimum: "0.000000" l4d_vim_vampiriccommoncooldown "0.5" // Процент для уменьшения ущерба, наносимого обычным инфицированным во время лечения // - // Default: "0.3" // Minimum: "0.000000" l4d_vim_vampiriccommonreduction "0.3" // Версия Плагина // - // Default: "1.1" l4d_vim_version "1.1"  
      L4D2 Vampiric Infected.smx L4D2 Vampiric Infected.sp
    • By Ry@N
      С помощью данного плагина вместе с Танком всегда будет спавнится Ведьма. Я например, на тестовом сервере этим плагином заменил рандомное ХП Танка. Установка:
      Скомпилируйте .sp файл и поместите получившийся .smx в /left4dead2/addons/sourcemod/plugins Или поместите наш .smx файл в /left4dead2/addons/sourcemod/plugins Сделайте рестарт сервера Плагин компилировался на версии SM 1.10.0.6492
      l4d_witchandtank.smx l4d_witchandtank.sp
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Почему трава пахнет только тогда; когда ее скашиваешь?

×
×
  • Create New...