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

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

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

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

Постоянные HUD сообщения

Статус пользователя AndreyXP
сообщение 6.12.2014, 12:02
Сообщение #1
Стаж: 11 лет

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

Добрый день!
Я в плагинах совсем ничего не понимаю и мне нужна ваша помощь!
Как мне сделать постоянное HUD сообщение, допустим, зеленым цветом?
Часто на серверах вижу HUD сообщения большими буквами (В основном около радара)
Как мне сделать такое же HUD сообщение в низу экрана по середине или чуть выше чата (желательно зелеными буквами)?
В интернете почти информации не нашел;(

Отредактировал: AndreyXP, - 6.12.2014, 12:04
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 6.12.2014, 12:11
Сообщение #2


Стаж: 12 лет

Сообщений: 343
Благодарностей: 294
Полезность: 812

Зацикленным таском


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndreyXP
сообщение 6.12.2014, 12:20
Сообщение #3
Стаж: 11 лет

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

Dukkhaz0r,
Если бы я еще понял, что это означает
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bapstop
сообщение 9.12.2014, 21:25
Сообщение #4


Стаж: 12 лет

Сообщений: 206
Благодарностей: 100
Полезность: 686

Надпись сменишь в пред последней строке.

Прикрепленное изображение

Код:
#include <amxmodx> 
#include <amxmisc>
#include <dhudmessage>
#define PLUGIN "HudMessage"
#define VERSION "1.0"
#define AUTHOR "bapstop"




public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("TeamScore", "score_round", "a");
set_task(0.5,"score_round", _, _, _, "b")

}


public score_round()
{

set_dhudmessage(0, 255, 0, -1.0, 0.70, 0, 1.0, 1.0, 0.1, 0.2, -1)

show_dhudmessage(0, "C-S.NET.UA")
}

Прикрепленный файл  hud.sma ( 495 байт ) Кол-во скачиваний: 99
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 9.12.2014, 21:28
Сообщение #5


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

Меценат Меценат

Код:

#include <amxmodx>
#include <amxmisc>

new cvar_message, cvar_color, cvar_location, cvar_effects, cvar_show, cvar_cmd, hudsync

public plugin_init() {
register_plugin("Permanent message", "1.1", "He3aBuCuM")
cvar_message = register_cvar("amx_permanent_message", "Your/nadvertisement%new%here")
cvar_color = register_cvar("amx_permanent_message_color", "255 255 255")
cvar_location = register_cvar("amx_permanent_message_location", "3")
cvar_effects = register_cvar("amx_permanent_message_effects", "0")
cvar_show = register_cvar("amx_permanent_message_show", "0")
cvar_cmd = register_cvar("amx_permanent_message_cmd", "1")
register_concmd("amx_perm_msg", "cmdChangeMsg", ADMIN_LEVEL_A)
hudsync = CreateHudSyncObj()
set_task(1.0, "show_hud", 0, "", 0, "b")
}

public show_hud() {
new message[200], location, eff, show, players[32], inum
static red, green, blue
get_pcvar_string(cvar_message, message, charsmax(message))
get_hud_color(red, green, blue)
location = get_pcvar_num(cvar_location)
eff = clamp(get_pcvar_num(cvar_effects), 0, 2)
show = get_pcvar_num(cvar_show)
get_players(players, inum)

replace_all(message, charsmax(message), "%new%", "^n")
replace_all(message, charsmax(message), "/n", "^n")

switch(location) {
case 1: set_hudmessage(red, green, blue, 0.01, 0.15, eff, 1.0, 1.0, 0.1, 0.2, -1)
case 2: set_hudmessage(red, green, blue, -1.0, 0.15, eff, 1.0, 1.0, 0.1, 0.2, -1)
case 3: set_hudmessage(red, green, blue, 0.99, 0.15, eff, 1.0, 1.0, 0.1, 0.2, -1)
case 4: set_hudmessage(red, green, blue, 0.01, -1.0, eff, 1.0, 1.0, 0.1, 0.2, -1)
case 5: set_hudmessage(red, green, blue, -1.0, -1.0, eff, 1.0, 1.0, 0.1, 0.2, -1)
case 6: set_hudmessage(red, green, blue, 0.99, -1.0, eff, 1.0, 1.0, 0.1, 0.2, -1)
case 7: set_hudmessage(red, green, blue, 0.01, 0.75, eff, 1.0, 1.0, 0.1, 0.2, -1)
case 8: set_hudmessage(red, green, blue, -1.0, 0.75, eff, 1.0, 1.0, 0.1, 0.2, -1)
case 9: set_hudmessage(red, green, blue, 0.99, 0.70, eff, 1.0, 1.0, 0.1, 0.2, -1)
}

for(new i=0; i<inum; ++i) {
switch(show) {
case 0: ShowSyncHudMsg(0, hudsync, message)
case 1: {
if(!is_user_alive(players[i]))
ShowSyncHudMsg(players[i], hudsync, message)
}
case 2: {
if(is_user_alive(players[i]))
ShowSyncHudMsg(players[i], hudsync, message)
}
case 3: {
if(is_user_admin(players[i]))
ShowSyncHudMsg(players[i], hudsync, message)
}
case 4: {
if(!is_user_admin(players[i]))
ShowSyncHudMsg(players[i], hudsync, message)
}
case 5: {
if(is_user_admin(players[i]) && is_user_alive(players[i]))
ShowSyncHudMsg(players[i], hudsync, message)
}
case 6: {
if(is_user_admin(players[i]) && !is_user_alive(players[i]))
ShowSyncHudMsg(players[i], hudsync, message)
}
case 7: {
if(!is_user_admin(players[i]) && is_user_alive(players[i]))
ShowSyncHudMsg(players[i], hudsync, message)
}
case 8: {
if(!is_user_admin(players[i]) && !is_user_alive(players[i]))
ShowSyncHudMsg(players[i], hudsync, message)
}
default: ShowSyncHudMsg(0, hudsync, message)
}
}
return PLUGIN_CONTINUE
}

public cmdChangeMsg(id, level, cid) {
if(!get_pcvar_num(cvar_cmd) || !cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED

new args[200], name[32]
read_args(args, charsmax(args))
remove_quotes(args)
get_user_name(id, name, charsmax(name))

set_pcvar_string(cvar_message, args)
log_amx("The admin ^"%s^" change the permanent message to ^"%s^"", name, args)

return PLUGIN_CONTINUE
}

get_hud_color(&r, &g, &b) {
new color[20]
static red[5], green[5], blue[5]
get_pcvar_string(cvar_color, color, charsmax(color))
parse(color, red, charsmax(red), green, charsmax(green), blue, charsmax(blue))

r = str_to_num(red)
g = str_to_num(green)
b = str_to_num(blue)
}


Скрытый текст
Цитата
Описание:
Плагин служит для постоянного показа HUD сообщения группе игроков или каждому.

Серверские настройки (server.cfg):
amx_permanent_message "Ваше/nсообщение%new%здесь" (Если текст ru, то сохраняйте в UTF-8)
Сообщение, которое будет отображаться. Вы можете использовать в тексте %new% или /n для перехода на новую строку.

amx_permanent_message_color "255 255 255"
Цвет сообщения (RGB). Вы можете использовать данную таблицу цветов.

amx_permanent_message_location "3"
Место, где будет отображаться сообщение.
1 - сверху слева
2 - сверху по середине
3 - сверху справа
4 - слева по центру
5 - по центру
6 - справа по центру
7 - снизу слева
8 - снизу по центру
9 - снизу справа

amx_permanent_message_effects "0"
Эффект сообщения.
0 - появление/затухание
1 - сверкание
2 - печатать по символу

amx_permanent_message_show "0"
Кому показывать сообщение.
0 - каждому
1 - мертвым
2 - живым
3 - администраторам
4 - игрокам
5 - живым администраторам
6 - мертвым администраторам
7 - живым игрокам
8 - мертвым игрокам

amx_permanent_message_cmd "1"
Разрешить использовать команду "amx_perm_msg".

Серверские команды:
amx_perm_msg "Ваше новое сообщение"
Устанавливает новое постоянное сообщение. Для работы данной команды необходимо, что значение команды "amx_permanent_message_cmd" было "1". Для доступа к данной команде необходим флаг "m" (ADMIN_LEVEL_A).

Установка:
1. Поместить permanent_message.amxx в директорию plugins.
2. permanent_message.sma в директорию scripting.
3. В plugins.ini прописать permanent_message.amxx


Отредактировал: ex3m777, - 9.12.2014, 21:30


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 9.12.2014, 21:29
Сообщение #6


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

#include <amxmisc>
нафига?

register_event("TeamScore", "score_round", "a");
нафига?

set_task(0.5,"score_round", _, _, _, "b")
нафига 0.5 ??
если
set_dhudmessage(0, 255, 0, -1.0, 0.70, 0, 1.0, 1.0, 0.1, 0.2, -1)
1.0 holdtime

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя maleficenta
сообщение 14.7.2019, 17:17
Сообщение #7
Стаж: 7 лет

Сообщений: 22
Благодарностей: 1
Полезность: 33

ex3m777, Здравствуй, а как сделать чтобы писать несколько сообщений в разных локациях, просто пробую копировать код:
cvar_message = register_cvar("amx_permanent_message", "Your/nadvertisement%new%here")
cvar_color = register_cvar("amx_permanent_message_color", "255 255 255")
cvar_location = register_cvar("amx_permanent_message_location", "3")
cvar_effects = register_cvar("amx_permanent_message_effects", "0")
cvar_show = register_cvar("amx_permanent_message_show", "0")
cvar_cmd = register_cvar("amx_permanent_message_cmd", "1")
register_concmd("amx_perm_msg", "cmdChangeMsg", ADMIN_LEVEL_A)
hudsync = CreateHudSyncObj()
set_task(1.0, "show_hud", 0, "", 0, "b")

меняю то что мне нужно, но работает только верхнее, а то что ниже не работает...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя dehost
сообщение 15.7.2019, 8:44
Сообщение #8


Стаж: 13 лет

Сообщений: 3147
Благодарностей: 1431
Полезность: 486

maleficenta, поставь несколько плагинов с разными локациями.


Золотое правило нравственности:
"Относись к людям так, как хочешь, чтобы относились к тебе."
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя mOdest
сообщение 15.7.2019, 14:07
Сообщение #9


Стаж: 9 лет 9 месяцев

Сообщений: 1255
Благодарностей: 255
Полезность: 79

Цитата(dehost @ 15.7.2019, 9:44) *
maleficenta, поставь несколько плагинов с разными локациями.

убейся
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Sinom
сообщение 17.7.2019, 3:35
Сообщение #10
Стаж: 7 лет 11 месяцев

Сообщений: 32
Благодарностей: 4
Полезность: 87

mOdest, Интересно послушать твой вариант?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: