Как да направя цветно това съобщение в чата ?

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
User12
Извън линия
Потребител
Потребител
Мнения: 321
Регистриран на: 25 Яну 2018, 22:39
Местоположение: Сливен
Се отблагодари: 40 пъти
Получена благодарност: 17 пъти
Обратна връзка:

Как да направя цветно това съобщение в чата ?

Мнение от User12 » 08 Фев 2018, 21:59

Здравейте , може ли да ми помогнете да оцветя съобщението :
"[%s] [RADIO] Throw :"
което се намира на ред :

Код за потвърждение: Избери целия код

new const g_radiotext_template[] = "[%s] [RADIO] Throw :"
ето целия код на плъгина :

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <zombieplague>

#define PLUGIN_NAME "Descriptive 'Fire in the hole!'"
#define PLUGIN_VERSION "0.1"
#define PLUGIN_AUTHOR "VEN"

// EDITABLE: grenade description
new const g_grenade_description[][] = {
	"",
	" [Frost Nade]",
	" [Light BOMB]"
}

enum color {
	COLOR_NORMAL,
	COLOR_RED,
	COLOR_BLUE,
	COLOR_GRAY,
	COLOR_GREEN
}

// EDITABLE: grenade description text color
new const g_grenade_desccolor[] = {
	COLOR_RED,
	COLOR_BLUE,
	COLOR_GRAY,
	COLOR_GREEN
}

new const g_grenade_weaponid[] = {
	CSW_HEGRENADE,
	CSW_FLASHBANG,
	CSW_SMOKEGRENADE
}

#define COLORCODE_NORMAL 0x01
#define COLORCODE_TEAM 0x03
#define COLORCODE_LOCATION 0x04

new const g_color_code[_:color] = {
	COLORCODE_NORMAL,
	COLORCODE_TEAM,
	COLORCODE_TEAM,
	COLORCODE_TEAM,
	COLORCODE_LOCATION
}

new const g_color_teamname[_:color][] = {
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR",
	""
}

#define RADIOTEXT_MSGARG_NUMBER 5

enum radiotext_msgarg {
	RADIOTEXT_MSGARG_PRINTDEST = 1,
	RADIOTEXT_MSGARG_CALLERID,
	RADIOTEXT_MSGARG_TEXTTYPE,
	RADIOTEXT_MSGARG_CALLERNAME,
	RADIOTEXT_MSGARG_RADIOTYPE,
}

new const g_required_radiotype[] = "#Fire_in_the_hole"
new const g_radiotext_template[] = "[%s] [RADIO] Throw :"

new g_msgid_saytext
new g_msgid_teaminfo
public plugin_init() {
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)

	register_message(get_user_msgid("TextMsg"), "message_text")

	g_msgid_saytext = get_user_msgid("SayText")
	g_msgid_teaminfo = get_user_msgid("TeamInfo")
}

public message_text(msgid, dest, id) {
	if (get_msg_args() != RADIOTEXT_MSGARG_NUMBER || get_msg_argtype(RADIOTEXT_MSGARG_RADIOTYPE) != ARG_STRING)
		return PLUGIN_CONTINUE

	static arg[32]
	get_msg_arg_string(RADIOTEXT_MSGARG_RADIOTYPE, arg, sizeof arg - 1)
	if (!equal(arg, g_required_radiotype))
		return PLUGIN_CONTINUE

	get_msg_arg_string(RADIOTEXT_MSGARG_CALLERID, arg, sizeof arg - 1)
	new caller = str_to_num(arg)
	if (!is_user_alive(caller))
		return PLUGIN_CONTINUE

	new clip, ammo, weapon
	weapon = get_user_weapon(caller, clip, ammo)
	for (new i; i < sizeof g_grenade_weaponid; ++i) {
		if (g_grenade_weaponid[i] == weapon) {
			static text[192]
			new pos = 0
			text[pos++] = g_color_code[COLOR_NORMAL]
			get_msg_arg_string(RADIOTEXT_MSGARG_CALLERNAME, arg, sizeof arg - 1)
			pos += formatex(text[pos], sizeof text - pos - 1, g_radiotext_template, arg)
			copy(text[++pos], sizeof text - pos - 1, i == 0 ? (zp_get_user_zombie(id) ? " [Infection Bomb]" : " [Napalm Bomb]") : g_grenade_description[i])

			new desccolor = (i == 0 ? (zp_get_user_zombie(id) ? g_grenade_desccolor[3] : g_grenade_desccolor[0]) : g_grenade_desccolor[i])
			if ((text[--pos] = g_color_code[desccolor]) == COLORCODE_TEAM) {
				static teamname[12]
				get_user_team(id, teamname, sizeof teamname - 1)

				if (!equal(teamname, g_color_teamname[desccolor])) {
					msg_teaminfo(id, g_color_teamname[desccolor])
					msg_saytext(id, text)
					msg_teaminfo(id, teamname)

					return PLUGIN_HANDLED
				}
			}

			msg_saytext(id, text)

			return PLUGIN_HANDLED
		}
	}

	return PLUGIN_CONTINUE
}

msg_teaminfo(id, teamname[]) {
	message_begin(MSG_ONE, g_msgid_teaminfo, _, id)
	write_byte(id)
	write_string(teamname)
	message_end()
}

msg_saytext(id, text[]) {
	message_begin(MSG_ONE, g_msgid_saytext, _, id)
	write_byte(id)
	write_string(text)
	message_end()
}
ЕДИТ

Трябвало е да погледна тези редове в кода :

Код за потвърждение: Избери целия код

#define COLORCODE_NORMAL 0x01
#define COLORCODE_TEAM 0x03
#define COLORCODE_LOCATION 0x04
Съобщението сега стана така :

Код за потвърждение: Избери целия код

new const g_required_radiotype[] = "#Fire_in_the_hole"
new const g_radiotext_template[] = "^x3[^x4%s^x3] ^x3[^x4RADIO^x3] ^x1Throw ^x4:"
Резултата в чата при ХОРА
zp bombi gotovi.png
zp bombi gotovi.png (116.84 KiB) Преглеждано 1384 пъти
zp bombi gotovi.png
zp bombi gotovi.png (116.84 KiB) Преглеждано 1384 пъти
Също и при ЗОМБИТА
zp bombi gotovi2.png
zp bombi gotovi2.png (56.44 KiB) Преглеждано 1384 пъти
zp bombi gotovi2.png
zp bombi gotovi2.png (56.44 KiB) Преглеждано 1384 пъти
Може да локвате :lock: :lock:
Каналът ми в YouTube : Георги Пламенов

Изображение

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Помощ в скриптирането”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 7 госта