//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


Dodatki SourceMod



Temat jest zamknięty






