Ми несъм въвел щото гледах че има default такива, примерно fxtime беше 6 секунди.
Открих проблем в последния ми код и той се оказа и проблема за ефектите: не съм видял да махна това get_timeleft() от holdtime
Сега го направих да бъде == на refresh rate-a.
Ето новия ми код като съм махнал функциите дето ми каза за amx_cvar и добавих и cvar за X + cvar за fxtime:
Като имам време ще го направя и с ResetHUD и ще сравня двата метода с профайлера който показва времена и брой извиквания на функциите в плъгините.
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
/*
This is static_hud by mount4
*/
new const sMsg[] = "<IP: XXX.XXX.XXX.XXX:XXXXX>"
// OciXCrom's check
// Винаги ползвайте тази проверка, тъй като в AMXX 1.8.3, dhudmessage е вграден в самия AMX.
#if AMXX_VERSION_NUM < 183
#include <dhudmessage>
#endif
new g_X, g_Y, g_E, g_F, g_R
new Float: xx, Float: yy, Float: rr, Float: ft
new ef
public plugin_init()
{
register_plugin("myhud", "0.1", "mount4")
g_X = register_cvar("mh_x", "-1.0")
g_Y = register_cvar("mh_y", "0.033")
g_E = register_cvar("mh_ef", "0")
g_F = register_cvar("mh_fxtime", "0.15")
g_R = register_cvar("mh_rr", "0.3")
}
public plugin_cfg()
{
xx = get_pcvar_float(g_X)
yy = get_pcvar_float(g_Y)
ef = get_pcvar_num(g_E)
ft = get_pcvar_float(g_F)
rr = get_pcvar_float(g_R)
set_task(rr, "displayMsg", _, _, _, "b")
}
public displayMsg()
{
set_dhudmessage(random(256), random(256), random(256), xx, yy, ef, ft, rr)
show_dhudmessage(0, sMsg)
}
-настройка на кординати:
mh_x (D: -1.0)
mh_y (D: 0.033)
-настойка на ефект:
mh_ef (D: 0) този cvar може да бъде 0, 1 или 2 като това е вида на ефекта. 0 е без такъв а 1 и 2 са ефекти.
mh_fxtime (D: 0.15)
mh_rr (D: 0.3) този cvar настройва колко бързо да се сменя цвета на съобщението както и неговото обновяване едновременно.
Пробвах го и работи ама нещо или неработи като хората или аз немога да настроя cvars-ите.
Искам да направя HUD като на Fatal-Error-a дето пише горе централно "wWw.Fatall-Error.iNfo" Тяхния ефект е много брутален.
То няма какво да му е грешно на кода ми явно аз не настройвам времената точно. Дане да трябва да направя fade-овете на 0 защото стандартно са 0.1 и 0.2 а аз не съм ги пипал тях ?
Защо да е само за начинаещи темата ? аз например не съм начинаещ и влязох в тази тема да се науча как става защото я бях мярнал преди време. Да, мога да видя в google, alliedmods но реших да видя от тука защото дизайна на форума ми харесва доста повече. Освен това начинаещите също разбират (аз съм се научил много бързо и без да чета нито 1 книга за програмиране или уроци -> само видях примерна програма на C) и точно че тези неща са много важни за тях. Аз не се усетих навреме че другите плъгини могат да изчистват HUD-а пък какво остава за 1 начинаещ.. Те най-малките детайли всъщност са най-големите (тоест -> трябва да прескочим само средните детайли).
Относно auto command executor-а : ще пиша в темата му като имам време и се сетя, сега са ми 1000 неща на главата.
Знам го това за PLUGIN_HANDLED но незнаех дали не се използва и за други неща щото ми звучи като спиране на плъгина. То няма как да спреш плъгина с един return ама всъшност има ако register-a който извиква callback-a е написан така, примерно if(retval == PLUGIN_HANDLED) pause("d")
"Надали ще срещнеш плъгин, който ползва стойност различна от -1"
Ами аз гледах че default-a не е -1 ами 4 и освен това незнаех че са само 4 канала. Мислех си че е като при тасковете, примерно 54637-ти канал.
То ако е така само 4 канала дет викаш значи доста кофти са го измислили стиъмарите.. То затова ли се говори в интернет че HUD съобщенията товарят и намаляват fps-то.. Тия от rehlds да вземат да пренапишат всичко че доста боза ми се струва. Те и руснаците са малко хамави ама по ми се нравят от онези пъзлъовци дето ги е страх valve да не фалира заради но-стеама И ко става ся rehlds ще излезе по-добър продукт от тяхното пък не им харесва темата за него във форума им.
Трябваше да го направят или с много канали, или -> да стои докато не се премахне с (функция или holdtime), или най-доброто -> и ТРИТЕ варианта!