Разликата между HUD и DHUD [ ПОКАЖИ ]
Заместването на HUD съобщение с DHUD (Director HUD) става много лесно и ще го обясня в няколко прости стъпки. За пример ще ползваме следния код:
Код за потвърждение: Избери целия код
#include <amxmodx>
#define VIP_FLAG ADMIN_RESERVATION
#define TASK_HEALTH 666666
new g_iObject
public plugin_init()
{
register_plugin("VIP Join Message + HUD Health", "1.0", "OciXCrom @ amxx-bg.info/forum")
g_iObject = CreateHudSyncObj()
}
public client_putinserver(id)
{
if(get_user_flags(id) & VIP_FLAG)
{
new szName[32]
get_user_name(id, szName, charsmax(szName))
set_hudmessage(0, 255, 25, -1.0, 0.35, 0, 6.0, 12.0, 0.1, 0.2, -1)
show_hudmessage(0, "VIP user %s has joined the game", szName)
}
set_task(1.0, "ShowHealth", id + TASK_HEALTH, .flags = "b")
}
public ShowHealth(id)
{
id -= TASK_HEALTH
if(is_user_alive(id))
{
set_hudmessage(120, 66, 33, -1.0, 0.8, 0, 1.0, 1.0, 0.1, 0.2)
ShowSyncHudMsg(id, g_iObject, "Your health: %i", get_user_health(id))
}
}
#1.1 Теглите файла dhudmessage.inc и го добавяте в addons/amxmodx/scripting/include.
#2.1 В началото на кода добавяте библиотеката "dhudmessage" по следния начин:
Код за потвърждение: Избери целия код
#if AMXX_VERSION_NUM < 183
#include <dhudmessage>
#endif
#3.1 Намирате съобщението, което искате да замените. HUD съобщенията се задават с функцията set_hudmessage, а се изпращат с show_hudmessage или ShowSyncHudMsg, съответно търсете тези редове. В нашия пример има две различни съобщения, съответно трябва да заменим 4 функции.
#3.2 Това е първото съобщение:
Код за потвърждение: Избери целия код
set_hudmessage(0, 255, 25, -1.0, 0.35, 0, 6.0, 12.0, 0.1, 0.2, -1)
show_hudmessage(0, "VIP user %s has joined the game", szName)
Във втория ред заменяте show_hudmessage със show_dhudmessage.
Двата реда трябва да изглеждат така:
Код за потвърждение: Избери целия код
set_dhudmessage(0, 255, 25, -1.0, 0.35, 0, 6.0, 12.0, 0.1, 0.2)
show_dhudmessage(0, "VIP user %s has joined the game", szName)
Код за потвърждение: Избери целия код
set_hudmessage(120, 66, 33, -1.0, 0.8, 0, 1.0, 1.0, 0.1, 0.2)
ShowSyncHudMsg(id, g_iObject, "Your health: %i", get_user_health(id))
Двата реда трябва да изглеждат така:
Код за потвърждение: Избери целия код
set_dhudmessage(120, 66, 33, -1.0, 0.8, 0, 1.0, 1.0, 0.1, 0.2)
show_dhudmessage(id, "Your health: %i", get_user_health(id))
Код за потвърждение: Избери целия код
#include <amxmodx>
#if AMXX_VERSION_NUM < 183
#include <dhudmessage>
#endif
#define VIP_FLAG ADMIN_RESERVATION
#define TASK_HEALTH 666666
//new g_iObject -- можете да махнете това, тъй като вече не е нужно
public plugin_init()
{
register_plugin("VIP Join Message + HUD Health", "1.0", "OciXCrom @ amxx-bg.info/forum")
//g_iObject = CreateHudSyncObj() -- можете да махнете това, тъй като вече не е нужно
}
public client_putinserver(id)
{
if(get_user_flags(id) & VIP_FLAG)
{
new szName[32]
get_user_name(id, szName, charsmax(szName))
set_dhudmessage(0, 255, 25, -1.0, 0.35, 0, 6.0, 12.0, 0.1, 0.2)
show_dhudmessage(0, "VIP user %s has joined the game", szName)
}
set_task(1.0, "ShowHealth", id + TASK_HEALTH, .flags = "b")
}
public ShowHealth(id)
{
id -= TASK_HEALTH
if(is_user_alive(id))
{
set_dhudmessage(120, 66, 33, -1.0, 0.8, 0, 1.0, 1.0, 0.1, 0.2)
show_dhudmessage(id, "Your health: %i", get_user_health(id))
}
}