Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Помогите добавить переливающийся текст к HUD сообщениям.

, hud_message
Статус пользователя Art of fighters
сообщение 24.4.2018, 5:56
Сообщение #1


Стаж: 15 лет
Город: Санкт-Петербург


Сообщений: 242
Благодарностей: 28
Полезность: 8

Хочу сделать так что бы сообщения переливали цветами ,короче добавить эфект (переливание, мерцание), благодарю заранее)

hud_message
#include <amxmodx>
#include <hamsandwich>

#define Y -1.00 // Координата игрик у живого игрока
#define X 0.02 // Координата икс у живого игрока
#define Y_DEAD 0.02 // Координата игрик у мертвого игрока
#define X_DEAD 0.2 // Координата икс у мертвого игрока
#define TIMESHOW 30.0 // Время отображения HUD сообщения

new const g_szText_alive[][] =
{
"Сообщение живого 1",
"Сообщение живого 2",
"Сообщение живого 3",
"Сообщение живого 4",
"Сообщение живого 5"
};

new const g_szText_dead[] ={ "Сообщение мертвого [строка 1]^nСообщение мертвого [строка 2]^nСообщение мертвого [строка 3]" }; // ^n - перенос на новую строку

new g_Alive[33];

public plugin_init()
{
register_plugin("HUD Message", "1.5", "neygomon");
RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1);
RegisterHam(Ham_Killed, "player", "Ham_PlayerKilled_Post", 1);
set_task(TIMESHOW, "hud_message", .flags="b")
}

public Ham_PlayerSpawnPost(id)
g_Alive[id] = is_user_alive(id);

public Ham_PlayerKilled_Post(id)
g_Alive[id] = 0;

public hud_message()
{
static i, g_iNumberMessage, g_syncHudMessage, g_MaxPlayers;
if(!g_syncHudMessage) g_syncHudMessage = CreateHudSyncObj();
if(!g_MaxPlayers) g_MaxPlayers = get_maxplayers();
for(i = 1; i <= g_MaxPlayers; i++)
{
ClearSyncHud(i, g_syncHudMessage);
switch(g_Alive[i])
{
case 1:
{
set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), Y, X, 0, 10.0, TIMESHOW, 0.0, 0.0, -1);
ShowSyncHudMsg(i, g_syncHudMessage, "%s", g_szText_alive[g_iNumberMessage == charsmax(g_szText_alive) ? (g_iNumberMessage = 0) : ++g_iNumberMessage]);
}
case 0:
{
set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), Y_DEAD, X_DEAD, 0, 10.0, TIMESHOW, 0.0, 0.0, -1);
ShowSyncHudMsg(i, g_syncHudMessage, "%s", g_szText_dead);
}
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя c0o_PeR
сообщение 24.4.2018, 6:37
Сообщение #2
Стаж: 15 лет

Сообщений: 358
Благодарности: выкл.

Art of fighters,
Синтаксис:
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 - Печатает буквы по очереди

Float:fxtime=6.0 - Сколько времени будет сохраняться блеск во втором эффекте
Float:holdtime=12.0 - Сколько времени сообщение будет на экране
Float:fadeintime=0.1 - Как быстро будет печататься текст ( во втором эффекте - 1 буква в процент секунд)
Float:fadeouttime=0.2 - За какое время сообщение уйдет с экрана ( плавное исчезновение )
channel=4 - Канал сообщения ( всего каналов 4 ) если поставить -1 - то будет искать следующий свободный канал.

Как видите эффект мерцания это 6 нумерация.

hud_message
Код:
#include <amxmodx>
#include <hamsandwich>

#define Y -1.00 // Координата игрик у живого игрока
#define X 0.02 // Координата икс у живого игрока
#define Y_DEAD 0.02 // Координата игрик у мертвого игрока
#define X_DEAD 0.2 // Координата икс у мертвого игрока
#define TIMESHOW 30.0 // Время отображения HUD сообщения

new const g_szText_alive[][] =
{
"Сообщение живого 1",
"Сообщение живого 2",
"Сообщение живого 3",
"Сообщение живого 4",
"Сообщение живого 5"
};

new const g_szText_dead[] ={ "Сообщение мертвого [строка 1]^nСообщение мертвого [строка 2]^nСообщение мертвого [строка 3]" }; // ^n - перенос на новую строку

new g_Alive[33];

public plugin_init()
{
register_plugin("HUD Message", "1.5", "neygomon");
RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1);
RegisterHam(Ham_Killed, "player", "Ham_PlayerKilled_Post", 1);
set_task(TIMESHOW, "hud_message", .flags="b")
}

public Ham_PlayerSpawnPost(id)
g_Alive[id] = is_user_alive(id);

public Ham_PlayerKilled_Post(id)
g_Alive[id] = 0;

public hud_message()
{
static i, g_iNumberMessage, g_syncHudMessage, g_MaxPlayers;
if(!g_syncHudMessage) g_syncHudMessage = CreateHudSyncObj();
if(!g_MaxPlayers) g_MaxPlayers = get_maxplayers();
for(i = 1; i <= g_MaxPlayers; i++)
{
ClearSyncHud(i, g_syncHudMessage);
switch(g_Alive[i])
{
case 1:
{
set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), Y, X, 1, 10.0, TIMESHOW, 0.0, 0.0, -1);
ShowSyncHudMsg(i, g_syncHudMessage, "%s", g_szText_alive[g_iNumberMessage == charsmax(g_szText_alive) ? (g_iNumberMessage = 0) : ++g_iNumberMessage]);
}
case 0:
{
set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), Y_DEAD, X_DEAD, 1, 10.0, TIMESHOW, 0.0, 0.0, -1);
ShowSyncHudMsg(i, g_syncHudMessage, "%s", g_szText_dead);
}
}
}
}


Отредактировал: c0o_PeR, - 24.4.2018, 6:40
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
csuser
сообщение 24.4.2018, 16:15
Сообщение #3
Стаж: 9 лет 10 месяцев

Сообщений: 1155
Благодарностей: 309
Полезность: 130

c0o_PeR,

Досадно, когда форумчане дающие полный/аргументированный ответ с примером имеют статус "Благодарности: выкл."... А уральские коммерсанты набивают друг-другу спасибки, за какие-то огрызки нечленораздельных фраз.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Art of fighters
сообщение 25.4.2018, 13:01
Сообщение #4


Стаж: 15 лет
Город: Санкт-Петербург


Сообщений: 242
Благодарностей: 28
Полезность: 8

c0o_PeR,
Спасибо)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя biffick
сообщение 18.12.2018, 21:14
Сообщение #5
Стаж: 15 лет

Сообщений: 270
Благодарностей: 28
Полезность: < 0

Цитата(csuser @ 24.4.2018, 17:15) *
c0o_PeR,

Досадно, когда форумчане дающие полный/аргументированный ответ с примером имеют статус "Благодарности: выкл."... А уральские коммерсанты набивают друг-другу спасибки, за какие-то огрызки нечленораздельных фраз.

Так всегда...
А вообще я по делу хотел написать - лучше не грузить сервер худами :) К тому же нужно обязательно расставить правильно каналы худов на всех плагинах, чтобы они не конфликтовали между собой.

Отредактировал: biffick, - 18.12.2018, 21:14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: