Simple Demo Recorder [Colored Messages]

Одобрените от нас плъгини. Моля, докладвайте ако забележите бъг с някой от плъгините в този раздел.
Аватар
SmirnoffBG
Извън линия
Потребител
Потребител
Мнения: 267
Регистриран на: 27 Ное 2016, 19:43
Местоположение: nz
Се отблагодари: 77 пъти
Получена благодарност: 38 пъти
Обратна връзка:

Simple Demo Recorder [Colored Messages]

Мнение от SmirnoffBG » 12 Фев 2018, 14:58

Warning: Tag mismatch on line 56
Warning: Tag mismatch on line 57

new g_eCvars[Cvars], g_eCvarValues[CvarValues]
56: g_eCvarValues[cv_dem_delay] = get_pcvar_float(g_eCvars[dem_delay])
57: g_eCvarValues[cv_dem_msg_delay] = get_pcvar_float(g_eCvars[dem_msg_delay])

Fix:
g_eCvarValues[cv_dem_delay] = floatround(get_pcvar_float(g_eCvars[dem_delay])*10.0)
g_eCvarValues[cv_dem_msg_delay] = floatround(get_pcvar_float(g_eCvars[dem_msg_delay])*10.0)
set_task(float(g_eCvarValues[cv_dem_delay])/10.0, "StartRecording", id)
El-Super Respawn = 87.121.54.85:27016
BG Trewa Respawn = 91.92.137.205:27015

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

Simple Demo Recorder [Colored Messages]

Мнение от OciXCrom » 12 Фев 2018, 16:51

Това никак не е fix. Стойностите са плаващи числа и такива трябва да останат. Въпросният warning е бъг от стария компилатор - на 1.8.3 няма да го изпише. Може да се "оправи" като добавиш _: преди функциите:

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

g_eCvarValues[cv_dem_delay] = _:get_pcvar_float(g_eCvars[dem_delay])
g_eCvarValues[cv_dem_msg_delay] = _:get_pcvar_float(g_eCvars[dem_msg_delay])

Аватар
ElitePower
Извън линия
Потребител
Потребител
Мнения: 547
Регистриран на: 13 Окт 2016, 14:20
Се отблагодари: 7 пъти
Получена благодарност: 13 пъти

Simple Demo Recorder [Colored Messages]

Мнение от ElitePower » 16 Юли 2018, 13:30

Как да направя да спре да се показва второто съобщение? Сложих // пред втория текст, за да спре, но за сметка на това излиза празен ред.
g_eCvars[dem_message2] = register_cvar("dem_message2", "!g[!tDemo RecordeR!g] !nDemo recording has been started at: !t<time>")

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

Simple Demo Recorder [Colored Messages]

Мнение от OciXCrom » 16 Юли 2018, 15:41

Махни този ред:

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

copy(szMessage[1], charsmax(szMessage[]), g_eCvarValues[cv_dem_message2])

Аватар
ElitePower
Извън линия
Потребител
Потребител
Мнения: 547
Регистриран на: 13 Окт 2016, 14:20
Се отблагодари: 7 пъти
Получена благодарност: 13 пъти

Simple Demo Recorder [Colored Messages]

Мнение от ElitePower » 16 Юли 2018, 19:52

Същата работа, позволих си да премахна и други неща свързани с второто съобщение, но без желания ефект. Ето кода, тествай, за да се увериш .

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

#include <amxmodx>

#define CC_COLORS_TYPE CC_COLORS_SHORT
#include <cromchat>

#define PLUGIN_VERSION "2.0"
#define MAX_MESSAGE_LENGTH 192
#define MAX_DEMO_NAME_LENGTH 64
#define MAX_TIME_LENGTH 32
#define DEMO_MESSAGES 2
#define REPLACER_SYMBOL "_"

#define ARG_NAME "<name>"
#define ARG_NAME_FULL "<name>.dem"
#define ARG_TIME "<time>"

new const g_szSymbols[][] = { " ", ":", ".", "*", "/", "|", "\", "?", ">", "<" }

enum _:Cvars
{
	dem_delay,
	dem_msg_delay,
	dem_name,
	dem_message,
	dem_time_format
}

enum _:CvarValues
{
	Float:cv_dem_delay,
	Float:cv_dem_msg_delay,
	cv_dem_name[MAX_DEMO_NAME_LENGTH],
	cv_dem_message[MAX_MESSAGE_LENGTH],
	cv_dem_time_format[MAX_TIME_LENGTH]
}

new g_eCvars[Cvars], g_eCvarValues[CvarValues]

public plugin_init()
{
	register_plugin("Simple Demo Recorder", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXDemoRecorder", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	
	g_eCvars[dem_delay] = register_cvar("dem_delay", "15.0")
	g_eCvars[dem_msg_delay] = register_cvar("dem_msg_delay", "0.1")
	g_eCvars[dem_name] = register_cvar("dem_name", "CRX Auto Demo")
	g_eCvars[dem_message] = register_cvar("dem_message", "!g[!tDemo RecordeR!g] !nDemo Name -> !t<name> | start na zapisvaneto -> !t<time>")
	g_eCvars[dem_time_format] = register_cvar("dem_time_format", "%X")
}

public plugin_cfg()
{
	g_eCvarValues[cv_dem_delay] = _:get_pcvar_float(g_eCvars[dem_delay])
	g_eCvarValues[cv_dem_msg_delay] = _:get_pcvar_float(g_eCvars[dem_msg_delay])
	get_pcvar_string(g_eCvars[dem_name], g_eCvarValues[cv_dem_name], charsmax(g_eCvarValues[cv_dem_name]))
	get_pcvar_string(g_eCvars[dem_message], g_eCvarValues[cv_dem_message], charsmax(g_eCvarValues[cv_dem_message]))
	get_pcvar_string(g_eCvars[dem_time_format], g_eCvarValues[cv_dem_time_format], charsmax(g_eCvarValues[cv_dem_time_format]))
	
	for(new i; i < sizeof(g_szSymbols); i++)
		replace_all(g_eCvarValues[cv_dem_name], charsmax(g_eCvarValues[cv_dem_name]), g_szSymbols[i], REPLACER_SYMBOL)
		
	add(g_eCvarValues[cv_dem_name], charsmax(g_eCvarValues[cv_dem_name]), ".dem")
}

public client_putinserver(id)
	set_task(g_eCvarValues[cv_dem_delay], "StartRecording", id)

public StartRecording(id)
{
	if(!is_user_connected(id))
		return
	
	client_cmd(id, "stop; record ^"%s^"", g_eCvarValues[cv_dem_name])
	set_task(g_eCvarValues[cv_dem_msg_delay], "SendMessages", id)
}

public SendMessages(id)
{
	if(!is_user_connected(id))
		return
		
	new szMessage[DEMO_MESSAGES][MAX_MESSAGE_LENGTH]
	copy(szMessage[0], charsmax(szMessage[]), g_eCvarValues[cv_dem_message])
	
	for(new i; i < DEMO_MESSAGES; i++)
	{
		apply_replacements(szMessage[i], charsmax(szMessage[]))
		CC_SendMessage(id, szMessage[i])
	}
}

apply_replacements(szMessage[], const iLen)
{
	replace_all(szMessage, iLen, ARG_NAME, g_eCvarValues[cv_dem_name])
	
	if(contain(szMessage, ARG_TIME) != -1)
	{
		new szTime[MAX_TIME_LENGTH]
		get_time(g_eCvarValues[cv_dem_time_format], szTime, charsmax(szTime))
		replace_all(szMessage, iLen, ARG_TIME, szTime)
	}
}

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

Simple Demo Recorder [Colored Messages]

Мнение от OciXCrom » 16 Юли 2018, 19:53

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

#define DEMO_MESSAGES 2
Това е колко съобщения ще бъдат изпратени. Намали го на 1.

Аватар
viewsonic
Извън линия
Потребител
Потребител
Мнения: 135
Регистриран на: 09 Юни 2018, 17:46
Се отблагодари: 22 пъти
Обратна връзка:

Simple Demo Recorder [Colored Messages]

Мнение от viewsonic » 30 Яну 2019, 00:59

а възможно ли е да се направят тези съобщения за demo recoder да не се показват ?

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

93.123.18.76:27016

Аватар
thoughtz
Извън линия
Модератор
Модератор
Мнения: 585
Регистриран на: 13 Окт 2016, 00:32
Местоположение: гр. София
Се отблагодари: 112 пъти
Получена благодарност: 79 пъти
Обратна връзка:

Simple Demo Recorder [Colored Messages]

Мнение от thoughtz » 30 Яну 2019, 01:02

Кои съобщения искаш да не се показват?

Аватар
Niiicu
Извън линия
Потребител
Потребител
Мнения: 88
Регистриран на: 24 Апр 2020, 10:01
Се отблагодари: 1 път
Получена благодарност: 1 път

Simple Demo Recorder [Colored Messages]

Мнение от Niiicu » 25 Юли 2020, 20:03

Hi, how can i remove the messages from the chat?
and how can i make the demo to stop after 15 minutes of recording?

Thanks
CS.AVENGERSCS.RO - Classic

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

Simple Demo Recorder [Colored Messages]

Мнение от OciXCrom » 25 Юли 2020, 20:48

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

#include <amxmodx>

#define CC_COLORS_TYPE CC_COLORS_SHORT
#include <cromchat>

#define PLUGIN_VERSION "2.0a"
#define MAX_MESSAGE_LENGTH 192
#define MAX_DEMO_NAME_LENGTH 64
#define MAX_TIME_LENGTH 32
#define DEMO_MESSAGES 2
#define REPLACER_SYMBOL "_"

#define ARG_NAME "<name>"
#define ARG_NAME_FULL "<name>.dem"
#define ARG_TIME "<time>"

#define STOP_AFTER 15

new const g_szSymbols[][] = { " ", ":", ".", "*", "/", "|", "\", "?", ">", "<" }

enum _:Cvars
{
	dem_delay,
	//dem_msg_delay,
	dem_name,
	/*dem_message,
	dem_message2,*/
	dem_time_format
}

enum _:CvarValues
{
	Float:cv_dem_delay,
	//Float:cv_dem_msg_delay,
	cv_dem_name[MAX_DEMO_NAME_LENGTH],
	/*cv_dem_message[MAX_MESSAGE_LENGTH],
	cv_dem_message2[MAX_MESSAGE_LENGTH],*/
	cv_dem_time_format[MAX_TIME_LENGTH]
}

new g_eCvars[Cvars], g_eCvarValues[CvarValues]

public plugin_init()
{
	register_plugin("Simple Demo Recorder", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXDemoRecorder", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)

	g_eCvars[dem_delay] = register_cvar("dem_delay", "15.0")
	//g_eCvars[dem_msg_delay] = register_cvar("dem_msg_delay", "0.1")
	g_eCvars[dem_name] = register_cvar("dem_name", "CRX Auto Demo")
	/*g_eCvars[dem_message] = register_cvar("dem_message", "!g[!tDemo RecordeR!g] !nWe are now recording in your !gcstrike !nfolder: !t<name>")
	g_eCvars[dem_message2] = register_cvar("dem_message2", "!g[!tDemo RecordeR!g] !nDemo recording has been started at: !t<time>")*/
	g_eCvars[dem_time_format] = register_cvar("dem_time_format", "%X")
}

public plugin_cfg()
{
	g_eCvarValues[cv_dem_delay] = _:get_pcvar_float(g_eCvars[dem_delay])
	//g_eCvarValues[cv_dem_msg_delay] = _:get_pcvar_float(g_eCvars[dem_msg_delay])
	get_pcvar_string(g_eCvars[dem_name], g_eCvarValues[cv_dem_name], charsmax(g_eCvarValues[cv_dem_name]))
	/*get_pcvar_string(g_eCvars[dem_message], g_eCvarValues[cv_dem_message], charsmax(g_eCvarValues[cv_dem_message]))
	get_pcvar_string(g_eCvars[dem_message2], g_eCvarValues[cv_dem_message2], charsmax(g_eCvarValues[cv_dem_message2]))*/
	get_pcvar_string(g_eCvars[dem_time_format], g_eCvarValues[cv_dem_time_format], charsmax(g_eCvarValues[cv_dem_time_format]))

	for(new i; i < sizeof(g_szSymbols); i++)
		replace_all(g_eCvarValues[cv_dem_name], charsmax(g_eCvarValues[cv_dem_name]), g_szSymbols[i], REPLACER_SYMBOL)

	add(g_eCvarValues[cv_dem_name], charsmax(g_eCvarValues[cv_dem_name]), ".dem")
}

public client_putinserver(id)
	set_task(g_eCvarValues[cv_dem_delay], "StartRecording", id)

public StartRecording(id)
{
	if(!is_user_connected(id))
		return

	client_cmd(id, "stop; record ^"%s^"", g_eCvarValues[cv_dem_name])
	set_task(STOP_AFTER * 60.0, "StopRecording", id)
	//set_task(g_eCvarValues[cv_dem_msg_delay], "SendMessages", id)
}

public StopRecording(id)
{
	if(is_user_connected(id))
		client_cmd(id, "stop")
}

/*public SendMessages(id)
{
	if(!is_user_connected(id))
		return

	new szMessage[DEMO_MESSAGES][MAX_MESSAGE_LENGTH]
	copy(szMessage[0], charsmax(szMessage[]), g_eCvarValues[cv_dem_message])
	copy(szMessage[1], charsmax(szMessage[]), g_eCvarValues[cv_dem_message2])

	for(new i; i < DEMO_MESSAGES; i++)
	{
		apply_replacements(szMessage[i], charsmax(szMessage[]))
		CC_SendMessage(id, szMessage[i])
	}
}

apply_replacements(szMessage[], const iLen)
{
	replace_all(szMessage, iLen, ARG_NAME, g_eCvarValues[cv_dem_name])

	if(contain(szMessage, ARG_TIME) != -1)
	{
		new szTime[MAX_TIME_LENGTH]
		get_time(g_eCvarValues[cv_dem_time_format], szTime, charsmax(szTime))
		replace_all(szMessage, iLen, ARG_TIME, szTime)
	}
}*/

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

Обратно към “Одобрени плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 22 госта