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