Заявки за warmup plugin

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
HALLO_KITTY
Извън линия
Потребител
Потребител
Мнения: 27
Регистриран на: 19 Авг 2018, 14:48
Се отблагодари: 9 пъти
Получена благодарност: 1 път

Заявки за warmup plugin

Мнение от HALLO_KITTY » 01 Сеп 2018, 11:28

Здравейте ще ви помоля да направите warmup plugin като този на видеото да може да се променят hud съобщенията и да излиза текста в чата благодаря много :clap: :clap:
мисля че изходния sma е този :tnx: :tnx: :tnx:

Код за потвърждение: Избери целия код

/*
	Script generated by Pawn Studio

	Warmup plugin v1.0
	
	(c) Copyright 2008 by jas0n
	
	This file is provided as is (no warranties)
*/
/*
	Cvars:
		- amx_warmup <1|0> - enable/disable plugin. (default: 1)
		- amx_warmup_immunity <1|0> - enable/disable players immunity during warmup. (defaul: 1)
		- amx_warmup_time <15..120> - warmup duration in seconds. If value isn't get in the range it sets to default. (default: 45)
 	
	* You must restart server or change map for update cvar values.

	Modules:
		- amxmodx
		- fakemeta

	Changelog:
		v1.0 - Initial release
*/

#include <amxmodx>
#include <fakemeta>

new const PLUGIN[] = "Warmup"
new const VERSION[] = "1.0"
new const AUTHOR[] = "jas0n"

new const g_SyncHudMsg1[] = "Autorestart game in %d second(s)"
new const g_SyncHudMsg2[] = "LIVE!!! LIVE!!! LIVE!!!"

new fw_PreThink = -1

new g_IsActive, p_IsActive
new g_Immunity, p_Immunity
new g_Seconds, p_Seconds

new g_SyncHudMsgObj

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)

	g_IsActive = register_cvar("amx_warmup", "1")
	g_Immunity = register_cvar("amx_warmup_immunity", "1")
	g_Seconds = register_cvar("amx_warmup_time", "45")

	g_SyncHudMsgObj = CreateHudSyncObj()
}

public plugin_cfg()
{
	p_IsActive = get_pcvar_num(g_IsActive)
	p_Immunity = get_pcvar_num(g_Immunity)
	p_Seconds = get_pcvar_num(g_Seconds)

	if (p_IsActive == 1)
	{
		if (p_Seconds < 15 || p_Seconds > 120)
			p_Seconds = 45
		
		register_event("TextMsg", "setTimerTask", "a", "2=#Game_Commencing")
	}
	else
		pause("ad")
}

public setTimerTask()
{
	if (p_Immunity == 1)
		setFwRegistered(true)
	
	set_task(35, "showTimerMsg", 54162, _, _, "b")
}

public showTimerMsg()
{
	p_Seconds--
	
	if (p_Seconds > 0)
	{
		set_hudmessage(0, 255, 0, 0.27, 0.34, 0, 6.0, 12.0 -1)
		ShowSyncHudMsg(0, g_SyncHudMsgObj, g_SyncHudMsg1, p_Seconds)
	}
	else
	{
		if(task_exists(54162))
		{
			remove_task(54162)
			
			if (p_Immunity == 1)
				setFwRegistered(false)
			set_task(1.0, "doRestartRound")
			set_task(3.0, "doRestartRound")
			set_task(5.0, "doRestartRound")
			set_task(9.0, "showStartMsg")
			
			return
		}
	}
}

public doRestartRound()
{
	set_cvar_num("sv_restart", 1)
}

public showStartMsg()
{
	set_hudmessage(0, 255, 0, -1.0, 0.35, 0, 3.0, 6.0, 0.1, 0.2, -1)
	ShowSyncHudMsg(0, g_SyncHudMsgObj, g_SyncHudMsg2)

	pause("ad")
}

public setFwRegistered(bool:condition)
{
	if (condition && fw_PreThink == -1)
	{
		fw_PreThink = register_forward(FM_PlayerPreThink, "fwPlayerPreThink")
	}
	
	if (!condition && fw_PreThink != -1)
	{
		unregister_forward(FM_PlayerPreThink, fw_PreThink)
				
		fw_PreThink = -1
	}
	return PLUGIN_HANDLED
}

public fwPlayerPreThink(id)
{
	set_pev(id, pev_takedamage, 0.0)
}

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Заявки за warmup plugin

Мнение от OciXCrom » 01 Сеп 2018, 15:22

Я направо кажи какво всичко искаш да има в плъгина и да се пренапише изцяло, тъй като този който си дал е максимално зле направен.

Аватар
HALLO_KITTY
Извън линия
Потребител
Потребител
Мнения: 27
Регистриран на: 19 Авг 2018, 14:48
Се отблагодари: 9 пъти
Получена благодарност: 1 път

Заявки за warmup plugin

Мнение от HALLO_KITTY » 01 Сеп 2018, 15:57

ми да има таймер като този на клипа, да може да се сменят hud съобщенията които, в случеят са три и да излиза в чата също съобщения подобни на тези в клипа ако може и те да се променят благодаря ви много

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Заявки за warmup plugin

Мнение от OciXCrom » 01 Сеп 2018, 16:17

Можеш да намериш всички настройки в #define редовете.

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cromchat>
#include <hamsandwich>

#define WARMUP_DURATION 45
#define RESET_DELAY 3

#define HUD_MESSAGE "Warmup: %i sekundi"
#define CHAT_MESSAGE "^3[Warmup] ^1Ostavat oshte ^4%i ^1sekundi."

#define HUD_MESSAGE_END "Warmup zavurshi!^nIgrata zapochva sled %i sekundi!"
#define CHAT_MESSAGE_END "^3[Warmup] ^1Igrata zapochva sled ^4%i ^1sekundi!"
#define CHAT_MESSAGE_REPEAT 3

#define HUD_COLOR 0, 255, 0
#define HUD_POSITION -1.0, 0.2

#define HUD_FREQ 1.0
#define TASK_WARMUP 332912

new bool:g_bWarmupEnded, g_iObject, g_iCountdown;

public plugin_init()
{
	register_plugin("Warmup with Countdown", "1.0", "OciXCrom");
	register_logevent("OnFirstRound", 2, "0=World triggered", "1&Restart_Round_");
	register_logevent("OnFirstRound", 2, "0=World triggered", "1=Game_Commencing");
	g_iObject = CreateHudSyncObj();
	OnFirstRound();
}

public OnFirstRound()
{
	if(g_bWarmupEnded)
		return;

	remove_task(TASK_WARMUP);
	g_iCountdown = WARMUP_DURATION;
	set_task(HUD_FREQ, "DisplayMessage", TASK_WARMUP, .flags = "b");
}

public DisplayMessage()
{
	set_hudmessage(HUD_COLOR, HUD_POSITION, 0, 0.1, 5.0, 0.1, 0.1);

	if(--g_iCountdown == 0)
	{
		server_cmd("sv_restartround %i", RESET_DELAY);
		ShowSyncHudMsg(0, g_iObject, HUD_MESSAGE_END, RESET_DELAY);

		for(new i; i < CHAT_MESSAGE_REPEAT; i++)
			CC_SendMessage(0, CHAT_MESSAGE_END, RESET_DELAY);

		remove_task(TASK_WARMUP);
		g_bWarmupEnded = true;
		return;
	}
	
	ShowSyncHudMsg(0, g_iObject, HUD_MESSAGE, g_iCountdown);
	CC_SendMessage(0, CHAT_MESSAGE, g_iCountdown);
}

Аватар
HALLO_KITTY
Извън линия
Потребител
Потребител
Мнения: 27
Регистриран на: 19 Авг 2018, 14:48
Се отблагодари: 9 пъти
Получена благодарност: 1 път

Заявки за warmup plugin

Мнение от HALLO_KITTY » 01 Сеп 2018, 17:59

супер е само ако може HUD_MESSAGE_END да бъде слет рестарт и ако мойе да бъдат две и да траят повече от 1 секунда много ти благодаря брутален си в скриптирането

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Заявки за warmup plugin

Мнение от OciXCrom » 01 Сеп 2018, 20:16

Можеш да добавиш повече редове в HUD_MESSAGE_END като ползваш ^n в съобщението.

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cromchat>
#include <hamsandwich>

#define WARMUP_DURATION 45
#define RESET_DELAY 3

#define HUD_MESSAGE "Warmup: %i sekundi"
#define CHAT_MESSAGE "^3[Warmup] ^1Ostavat oshte ^4%i ^1sekundi."

#define HUD_MESSAGE_END_DURATION 5.0
#define HUD_MESSAGE_END "Warmup zavurshi!^nIgrata zapochva sega!"
#define CHAT_MESSAGE_END "^3[Warmup] ^1Igrata zapochna!!!"
#define CHAT_MESSAGE_REPEAT 3

#define HUD_COLOR 0, 255, 0
#define HUD_POSITION -1.0, 0.2

#define HUD_FREQ 1.0
#define TASK_WARMUP 332912

new bool:g_bWarmupEnded, bool:g_bDisplayEndMessage, g_iObject, g_iCountdown;

public plugin_init()
{
	register_plugin("Warmup with Countdown", "1.0", "OciXCrom");
	register_logevent("OnFirstRound", 2, "0=World triggered", "1&Restart_Round_");
	register_logevent("OnFirstRound", 2, "0=World triggered", "1=Game_Commencing");
	register_logevent("OnRoundStart", 2, "0=World triggered", "1=Round_Start")
	g_iObject = CreateHudSyncObj();
	OnFirstRound();
}

public OnFirstRound()
{
	if(g_bWarmupEnded)
		return;

	remove_task(TASK_WARMUP);
	g_iCountdown = WARMUP_DURATION;
	set_task(HUD_FREQ, "DisplayMessage", TASK_WARMUP, .flags = "b");
}

public OnRoundStart()
{
	if(g_bDisplayEndMessage)
	{
		set_hudmessage(HUD_COLOR, HUD_POSITION, 0, 0.1, HUD_MESSAGE_END_DURATION, 0.1, 0.1);
		ShowSyncHudMsg(0, g_iObject, HUD_MESSAGE_END);

		for(new i; i < CHAT_MESSAGE_REPEAT; i++)
			CC_SendMessage(0, CHAT_MESSAGE_END);

		g_bDisplayEndMessage = false;
	}
}

public DisplayMessage()
{
	if(--g_iCountdown == 0)
	{
		server_cmd("sv_restartround %i", RESET_DELAY);
		remove_task(TASK_WARMUP);
		g_bWarmupEnded = true;
		g_bDisplayEndMessage = true;
		return;
	}

	set_hudmessage(HUD_COLOR, HUD_POSITION, 0, 0.1, 5.0, 0.1, 0.1);
	ShowSyncHudMsg(0, g_iObject, HUD_MESSAGE, g_iCountdown);
	CC_SendMessage(0, CHAT_MESSAGE, g_iCountdown);
}
ПС: ако моЙе малко по-грамотно, благодаря.

Аватар
HALLO_KITTY
Извън линия
Потребител
Потребител
Мнения: 27
Регистриран на: 19 Авг 2018, 14:48
Се отблагодари: 9 пъти
Получена благодарност: 1 път

Заявки за warmup plugin

Мнение от HALLO_KITTY » 01 Сеп 2018, 20:31

благодаря ти!! много добре се е получило :)
извинявай за грешката в правописът отдавна не съм писал на български :)

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: Bing [Bot] и 45 госта