Hud Сообщения не только на много красивее обычного чата или сообщения по центру экрана, но и имеют ряд преимуществ.
Их можно расположить в любой части экрана, задать любой цвет или эффект появления на экране.
Инфо из amxmodx.inc:
/**
* Sets format for hudmessage.
* Note - as of AMX Mod X 1.61, setting the channel to -1
* will automatically choose the next available HUD channel for a player.
*/
native set_hudmessage(red=200, green=100, blue=0, Float:x=-1.0, Float:y=0.35, effects=0, Float:fxtime=6.0, Float:holdtime=12.0, Float:fadeintime=0.1, Float:fadeouttime=0.2,channel=4);
/* Displays HUD message to given player. */
native show_hudmessage(index,const message[],any:...);
Синтаксис:
set_hudmessage ( red=255, green=144, blue=0, Float:x=-0.44, Float:y=0.35, effects=0, Float:fxtime=6.0, Float:holdtime=12.0, Float:fadeintime=0.1, Float:fadeouttime=0.2, channel=4 )
- red=255 - от 0 до 255 интенсивность красного цвета
- green=144 - от 0 до 255 интенсивность зеленого цвета
- blue=0 - от 0 до 255 интенсивность голубого цвета
- Float:x=0.44 - Координата X, идёт слева направо, 0.0 слева, 1.0 справа, -1.0 по центру
- Float:y=0.35 - Координата Y, идёт сверху вниз, 0.0 сверху, 1.0 снизу, -1.0 по центру
- effects=0 - Эффекты сообщения:
- 0 - Без эффектов
- 1 - Мерцание
- 2 - Печатает буквы по очереди
- 0 - Без эффектов
- Float:fxtime=6.0 - Сколько времени будет сохраняться блеск во втором эффекте
- Float:holdtime=12.0 - Сколько времени сообщение будет на экране
- Float:fadeintime=0.1 - Как быстро будет печататься текст ( во втором эффекте - 1 буква в процент секунд)
- Float:fadeouttime=0.2 - За какое время сообщение уйдет с экрана ( плавное исчезновение )
- channel=4 - Канал сообщения ( всего каналов 4 ) если поставить -1 - то будет искать следующий свободный канал.
show_hudmessage ( index, message[], ... )
- index - id игрока кому показывать сообщение, если поставить 0 - будет показано всем одновременно
- message[] - само сообщение в виде массива или текст заключенный в скобках с подстановкой массивов в третьем параметре.
- ... - Для массивов.
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Hud Message"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init ( )
{
register_plugin ( PLUGIN, VERSION, AUTHOR )
register_clcmd("say /hudred","hud_message_red")
register_clcmd("say /hudgreen","hud_message_green")
register_clcmd("say /hudblue","hud_message_blue")
register_clcmd("say /hudeffzero","hud_message_eff_zero")
register_clcmd("say /hudeffone","hud_message_eff_one")
register_clcmd("say /hudefftwo","hud_message_eff_two")
}
public hud_message_red(id){
//красный hud
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 10.0)
show_hudmessage(id, "You red hudmessage")
}
public hud_message_green(id){
//зеленый hud
set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 10.0)
show_hudmessage(id, "You green hudmessage")
}
public hud_message_blue(id){
//голубой hud
set_hudmessage(0, 0, 255, -1.0, -1.0, 0, 6.0, 10.0)
show_hudmessage(id, "You blue hudmessage")
}
public hud_message_eff_zero(id){
//без эффектов hud
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 10.0)
show_hudmessage(id, "You effect 1 hudmessage")
}
public hud_message_eff_one(id){
//с эффектом 1 hud
set_hudmessage(255, 0, 0, -1.0, -1.0, 1, 6.0, 10.0)
show_hudmessage(id, "You effect 1 hudmessage")
}
public hud_message_eff_two(id){
//с эффектом 2 hud
set_hudmessage(255, 0, 0, -1.0, -1.0, 2, 6.0, 10.0)
show_hudmessage(id, "You effect 1 hudmessage")
}
Описание:
Есть шесть команд, вызывающие 6 разных HuD сообщений:
- say /hudgreen - Будет показано зеленое сообщение
- say /hudred - Красное сообщение
- say /hudblue - Голубое
- say /hudeffzero - С эффектом 0 ( без эффектов, такое же как красное)
- say /hudeffone - С эффектом мерцания(мигания)
- say /hudefftwo - С эффектом печатающегося текста
В принципе тут в обще нет ни чего что бы разбирать отдельно, тем боле в AMXX-Studio есть удобный HuD генератор.
Я всегда пользуюсь именно им.
Но он не пояснял мне что к чему, а я поясню вам:
set_hudmessage - устанавливает параметры сообщения, его цвет, эффекты и тому подобное.
show_hudmessage - Выводит само сообщение.
show_hudmessage - может иметь еще и такую запись:
show_hudmessage(id,"You NickName is :%s",name)
Тут мы в свое сообщение вставляем имя игрока из массива name
Или такую:
show_hudmessage(id,massage)
А тут мы заранее в массив massage занесли данные, и по этому у нас нет ни кавычек ли запятых, так как все сообщение уже сформировано.
set_hudmessage(id,massage)
А тут мы заранее в массив massage занесли данные, и по этому у нас нет ни кавычек ли запятых, так как все сообщение уже сформировано.
set_hudmessage заменить на show_hudmessage