Перейти к содержанию

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


ryancoolround

Рекомендуемые сообщения

  • Администратор

Таких плагинов много, но я решил переделать рандомный таймер у 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);
}

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

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

Мир изменился, он стал другим!

Ссылка на комментарий
Поделиться на другие сайты

  • Администратор

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

#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);
}

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

Мир изменился, он стал другим!

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...
  • 1 год спустя...
  • Администратор
В 27.08.2020 в 04:55, Райан сказал:

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

#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);
}

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

Версия плагина Random HP Tank скомпилированная на версии SourceMod 1.10.0.6528.

Изменения:

1. Переменная FCVAR_PLUGIN была изменена на FCVAR_NONE
2. Изменено мета описание

 

Tank Random HP.sp Tank Random HP.smx

Мир изменился, он стал другим!

Ссылка на комментарий
Поделиться на другие сайты

  • 7 месяцев спустя...
  • Администратор
  • Версия плагина Random HP Tank скомпилированная на версии SourceMod 1.11.0.6905.
  • Я плагин не проверял, поэтому буду надеятся на обратную связь.

Tank Random HP.smx Tank Random HP.sp

Мир изменился, он стал другим!

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Лучшие авторы

    На этой неделе никто репутацию не получал

  • Последние достижения

    • Blacky получил значок
      Подмастерье
    • GAMADA повысил звание
      Lvl 1
    • Darya повысил звание
      Lvl 14
    • Mad.Eagle повысил звание
      Lvl 5
    • Mad.Eagle повысил звание
      Lvl 4
×
×
  • Создать...