Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Descriptive 'Fire in the hole!' (+colors) - HELP ME PLEASE!


  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 PEREF

    Profesjonalista

  • Zbanowany

Reputacja: 27
Życzliwy

  • Postów:201
  • GG:
Offline

Napisano 30.05.2008 00:19

Jakiś typ przerobił ten plugin, żeby działał pod czero prawidłowo, ale jest jeden problem, otóż nick gracza jest taki sam jak granatu, czyli jak rzucamy HE to nick gracza jest na czerwono, FB - nick jest szary, tylko jak rzucam SG to nick gracza ma team color. Da się coś z tym zrobić? Pozdrawiam ;)

//http://forums.alliedmods.net/showthread.php?t=47109
//mod by SylverRat
#include <amxmodx>
#include <cstrike>
#include <amxmisc>

enum grenade {
	GRENADE_HE,
	GRENADE_FLASH,
	GRENADE_SMOKE
}

new const g_grenade_description[_][] = {
	" [HE]",
	" [flash]",
	" [smoke]"
}

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

new const g_grenade_desccolor[_] = {
	COLOR_RED,
	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[_] = {
	COLORCODE_NORMAL,
	COLORCODE_TEAM,
	COLORCODE_TEAM,
	COLORCODE_TEAM,
	COLORCODE_LOCATION
}

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

#define RADIOTEXT_MSGARG_NUMBER 6

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

new const g_required_radiotype[] = "#Fire_in_the_hole"
new const g_radiotext_template[] = "Fire in the hole!"

new g_msgid_saytext
new g_msgid_teaminfo
new g_playerLocation[32][18]

public plugin_init() {
	register_plugin("Descriptive 'Fire in the hole!'", "0.1", "VEN")
	register_message(get_user_msgid("TextMsg"), "message_text")
	register_event ("Location", "setLocation", "b")
	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) {
			new name[32]
			get_msg_arg_string(RADIOTEXT_MSGARG_CALLERNAME, arg, sizeof arg - 1)

			static text[192]
			new pos = 0
			text[pos++] = g_color_code[COLOR_NORMAL]

			pos += format(text[pos], sizeof text - pos - 1, g_radiotext_template)
			copy(text[++pos], sizeof text - pos - 1, g_grenade_description[i])

			new desccolor = 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, name)
					msg_teaminfo(id, teamname)

					return PLUGIN_HANDLED
				}
			}

			msg_saytext(id, text, name)

			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[], name[]) {
	message_begin(MSG_ONE, g_msgid_saytext, _, id)
	write_byte(id) 
	if (is_running("czero")) { 
		write_string("#Game_radio_location")
		write_string(name)
		write_string(g_playerLocation[id]) 
	} else {
		write_string("#Game_radio")
		write_string(name)
	}
	write_string(text)
	message_end()
}

public setLocation() {
	new p = read_data(1)
	read_data(2,g_playerLocation[p],17)
}


[ Dodano: 01-06-2008, 18:10 ]
panowie proszę o pomoc, bardzo zależy mi na tym plugu :)




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych