AutoRR hud => dhud

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
ANT.
Извън линия
Потребител
Потребител
Мнения: 61
Регистриран на: 23 Сеп 2017, 17:02

AutoRR hud => dhud

Мнение от ANT. » 15 Окт 2017, 13:44

Как да го направя да показва на dhud а не на hud

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

/* Plugin generated by AMXX-Studio */


#include <amxmodx>

#define PLUGIN "Auto Restart vl"
#define VERSION "1.4"
#define AUTHOR "vato loco [GE-S]"

#define TIMER_TASK        123456
#define RESTART_TASK      789123

new g_counter  

new g_autorestart
new g_autoenabled
new g_autocds
new g_autocount_color
new g_autostart_color
new g_auto_xypos

new g_SyncGameStart
new g_SyncRestartTimer

new bool:g_bRoundStart 

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_logevent("RoundStart", 2, "1=Round_Start")
	register_event("TextMsg","RestartTask","a","2&#Game_C")   
	
	register_dictionary("auto_restart_vl.txt")
	
	g_autoenabled = register_cvar("amx_autorr_enable","1")
	g_autocds = register_cvar("amx_autorr_cds","1")
	g_autorestart = register_cvar("amx_autorr_time","40")
	g_autocount_color = register_cvar("amx_autorr_count_color","0 255 0")
	g_autostart_color = register_cvar("amx_autorr_start_color","0 255 255")
	g_auto_xypos = register_cvar("amx_autorr_xypos","-1.0 0.25")
	
	g_SyncGameStart = CreateHudSyncObj()
	g_SyncRestartTimer = CreateHudSyncObj()
}

public RoundStart()
{
	if(!get_pcvar_num(g_autoenabled))
		return PLUGIN_HANDLED
	
	if(g_bRoundStart)
	{
		static r, g, b, Float:x, Float:y
		HudMsgPos(x,y)
		HudMsgColor(g_autostart_color, r, g, b)
		
		set_hudmessage( r, g, b, x, y, 1, 5.0, 8.0, 0.0, 0.0, -1)
		ShowSyncHudMsg( 0, g_SyncGameStart, "%L",LANG_PLAYER, "GAME_STARTED")
	}
	g_bRoundStart = false
	
	return PLUGIN_CONTINUE
}

public RestartTask() 
{
	if(!get_pcvar_num(g_autoenabled))
		return PLUGIN_HANDLED
	
	set_task(1.0,"TimeCounter",TIMER_TASK,_,_,"a",get_pcvar_num(g_autorestart))
	set_task(get_pcvar_float(g_autorestart),"RestartRound",RESTART_TASK)
	
	return PLUGIN_CONTINUE
}

public TimeCounter() 
{
	g_counter++
	
	new Float:iRestartTime = get_pcvar_float(g_autorestart) - g_counter
	new Float:fSec
	fSec = iRestartTime 
	
	static r, g, b, Float:x, Float:y
	HudMsgPos(x,y)
	HudMsgColor(g_autocount_color, r, g, b)
	
	set_hudmessage( r, g, b, x, y, 0, 0.0, 1.0, 0.0, 0.0, -1)
	ShowSyncHudMsg( 0, g_SyncRestartTimer, "%L",LANG_PLAYER, "AUTO_RESTART", floatround(fSec))
	
	if(get_pcvar_num(g_autocds) && get_pcvar_num(g_autorestart) - g_counter < 11 && get_pcvar_num(g_autorestart) - g_counter !=0)
	{
		static szNum[32]
		num_to_word(get_pcvar_num(g_autorestart) - g_counter, szNum, 31)
		client_cmd(0,"speak ^"vox/%s^"", szNum)
	}
	if(g_counter == get_pcvar_num(g_autorestart))
	{
		g_bRoundStart = true
		g_counter = 0
	}
}

public RestartRound() 
{
	server_cmd("sv_restartround 1")
}

public HudMsgColor(cvar, &r, &g, &b)
{
	static color[16], piece[5]
	get_pcvar_string(cvar, color, 15)
	
	strbreak( color, piece, 4, color, 15)
	r = str_to_num(piece)
	
	strbreak( color, piece, 4, color, 15)
	g = str_to_num(piece)
	b = str_to_num(color)
}

public HudMsgPos(&Float:x, &Float:y)
{
	static coords[16], piece[10]
	get_pcvar_string(g_auto_xypos , coords, 15)
	
	strbreak(coords, piece, 9, coords, 15)
	x = str_to_float(piece)
	y = str_to_float(coords)
}
Последно промяна от OciXCrom на 15 Окт 2017, 21:25, променено общо 1 път.
Причина: Редактирано заглавие!

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

AutoRR

Мнение от OciXCrom » 15 Окт 2017, 15:38

Щом питаш "как", предполагам искаш сам да го направиш, тъй че местя темата. Тук съм обяснил как става - viewtopic.php?f=26&t=1672

Аватар
ANT.
Извън линия
Потребител
Потребител
Мнения: 61
Регистриран на: 23 Сеп 2017, 17:02

AutoRR

Мнение от ANT. » 15 Окт 2017, 20:58

Дай ми пример от този код :)

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

AutoRR

Мнение от OciXCrom » 15 Окт 2017, 21:03

Какъв пример? Всички възможни варианти (цели 2 различни) са дадени в примера в темата. Ако я прочетеш внимателно и следваш стъпките, ще успееш да го направиш. Моля, опитай сам да се оправиш и ако имаш затруднения, предостави това, което си направил.

Аватар
ANT.
Извън линия
Потребител
Потребител
Мнения: 61
Регистриран на: 23 Сеп 2017, 17:02

AutoRR

Мнение от ANT. » 15 Окт 2017, 21:06

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

#include <amxmodx>
#if AMXX_VERSION_NUM < 183
    #include <dhudmessage>
#endif

#define PLUGIN "Auto Restart vl"
#define VERSION "1.4"
#define AUTHOR "vato loco [GE-S]"

#define TIMER_TASK        123456
#define RESTART_TASK      789123

new g_counter  

new g_autorestart
new g_autoenabled
new g_autocds
new g_autocount_color
new g_autostart_color
new g_auto_xypos

new g_SyncGameStart
new g_SyncRestartTimer

new bool:g_bRoundStart 

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_logevent("RoundStart", 2, "1=Round_Start")
	register_event("TextMsg","RestartTask","a","2&#Game_C")   
	
	register_dictionary("auto_restart_vl.txt")
	
	g_autoenabled = register_cvar("amx_autorr_enable","1")
	g_autocds = register_cvar("amx_autorr_cds","1")
	g_autorestart = register_cvar("amx_autorr_time","40")
	g_autocount_color = register_cvar("amx_autorr_count_color","0 255 0")
	g_autostart_color = register_cvar("amx_autorr_start_color","0 255 255")
	g_auto_xypos = register_cvar("amx_autorr_xypos","-1.0 0.25")
	
	g_SyncGameStart = CreateHudSyncObj()
	g_SyncRestartTimer = CreateHudSyncObj()
}

public RoundStart()
{
	if(!get_pcvar_num(g_autoenabled))
		return PLUGIN_HANDLED
	
	if(g_bRoundStart)
	{
		static r, g, b, Float:x, Float:y
		HudMsgPos(x,y)
		HudMsgColor(g_autostart_color, r, g, b)
		
		set_dhudmessage( r, g, b, x, y, 1, 5.0, 8.0, 0.0, 0.0)
		show_dhudmessage( 0, "%L",LANG_PLAYER, "GAME_STARTED")
	}
	g_bRoundStart = false
	
	return PLUGIN_CONTINUE
}

public RestartTask() 
{
	if(!get_pcvar_num(g_autoenabled))
		return PLUGIN_HANDLED
	
	set_task(1.0,"TimeCounter",TIMER_TASK,_,_,"a",get_pcvar_num(g_autorestart))
	set_task(get_pcvar_float(g_autorestart),"RestartRound",RESTART_TASK)
	
	return PLUGIN_CONTINUE
}

public TimeCounter() 
{
	g_counter++
	
	new Float:iRestartTime = get_pcvar_float(g_autorestart) - g_counter
	new Float:fSec
	fSec = iRestartTime 
	
	static r, g, b, Float:x, Float:y
	HudMsgPos(x,y)
	HudMsgColor(g_autocount_color, r, g, b)
	
	set_dhudmessage( r, g, b, x, y, 0, 0.0, 1.0, 0.0, 0.0,)
	show_dhudmessage( 0, "%L",LANG_PLAYER, "AUTO_RESTART", floatround(fSec))
	
	if(get_pcvar_num(g_autocds) && get_pcvar_num(g_autorestart) - g_counter < 11 && get_pcvar_num(g_autorestart) - g_counter !=0)
	{
		static szNum[32]
		num_to_word(get_pcvar_num(g_autorestart) - g_counter, szNum, 31)
		client_cmd(0,"speak ^"vox/%s^"", szNum)
	}
	if(g_counter == get_pcvar_num(g_autorestart))
	{
		g_bRoundStart = true
		g_counter = 0
	}
}

public RestartRound() 
{
	server_cmd("sv_restartround 1")
}

public HudMsgColor(cvar, &r, &g, &b)
{
	static color[16], piece[5]
	get_pcvar_string(cvar, color, 15)
	
	strbreak( color, piece, 4, color, 15)
	r = str_to_num(piece)
	
	strbreak( color, piece, 4, color, 15)
	g = str_to_num(piece)
	b = str_to_num(color)
}

public HudMsgPos(&Float:x, &Float:y)
{
	static coords[16], piece[10]
	get_pcvar_string(g_auto_xypos , coords, 15)
	
	strbreak(coords, piece, 9, coords, 15)
	x = str_to_float(piece)
	y = str_to_float(coords)
}

Аватар
ANT.
Извън линия
Потребител
Потребител
Мнения: 61
Регистриран на: 23 Сеп 2017, 17:02

AutoRR hud => dhud

Мнение от ANT. » 15 Окт 2017, 22:03

Всичко точно обаче искам да сменя позицията да е над кръвта в ляво, как?

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

AutoRR hud => dhud

Мнение от OciXCrom » 15 Окт 2017, 22:11

Според обяснението за числата от тази тема - тук позицията се контролира чрез квара "amx_autorr_xypos". Промени го на "0.05 0.8". Ако не е точна позицията, експериментирай с числата, тъй като ги казах наизуст.

Аватар
ANT.
Извън линия
Потребител
Потребител
Мнения: 61
Регистриран на: 23 Сеп 2017, 17:02

AutoRR hud => dhud

Мнение от ANT. » 15 Окт 2017, 22:54

пак седи в средата

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

AutoRR hud => dhud

Мнение от OciXCrom » 15 Окт 2017, 23:23

Квар не се променя от .sma файла.

Аватар
ANT.
Извън линия
Потребител
Потребител
Мнения: 61
Регистриран на: 23 Сеп 2017, 17:02

AutoRR hud => dhud

Мнение от ANT. » 15 Окт 2017, 23:47

Lock :) !

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

Обратно към “Помощ в скриптирането”

Кой е на линия

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