1.
Kod:
/* AMX Mod X
* Descriptive 'Fire in the hole!'
*
* (c) Copyright 2006 by VEN
*
* This file is provided as is (no warranties)
*
* DESCRIPTION
* Plugin provides additional colored text for "Fire in the hole!" radio chat message.
* The color and the text is different for each grenade type and can be altered.
* This will help teammates to get the throwed grenade type and act accordingly.
* Search for "EDITABLE" mark in the plugin's source code to configure text and color.
*
* CREDITS
* Damaged Soul - colored chat text method
* p3tsin - team color override method
*/
#include <amxmodx>
#define PLUGIN_NAME "Descriptive 'Fire in the hole!'"
#define PLUGIN_VERSION "0.1"
#define PLUGIN_AUTHOR "VEN"
enum grenade {
GRENADE_HE,
GRENADE_FLASH,
GRENADE_SMOKE
}
// pobrano z cs-puchatek.pl
// EDITABLE: grenade description
new const g_grenade_description[_:grenade][] = {
" [Granat wybuchowy]",
" [Granat oslepiajacy]",
" [Granat dymny]"
}
enum color {
COLOR_NORMAL,
COLOR_RED,
COLOR_BLUE,
COLOR_GRAY,
COLOR_GREEN
}
// EDITABLE: grenade description text color
new const g_grenade_desccolor[_:grenade] = {
COLOR_RED,
COLOR_GRAY,
COLOR_GREEN
}
new const g_grenade_weaponid[_:grenade] = {
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): Fire in the hole!"
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, 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)
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()
}
2.
Kod:
#define PLUGINNAME "Lekko Polski CS"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"
#include <amxmodx>
#include <engine>
public message_TextMsg() {
//pobrano z cs-puchatek.pl
if (get_msg_args() != 2 || get_msg_argtype(1) != ARG_BYTE || get_msg_argtype(2) != ARG_STRING)
return PLUGIN_CONTINUE
new buffer[39]
get_msg_arg_string(2, buffer, 38)
if (equal(buffer, "#Target_Bombed"))
set_msg_arg_string(2, "!!! Bomba Wybuchla !!!")
else if (equal(buffer, "#Target_Saved"))
set_msg_arg_string(2, "!!! Terro nie podlozylo bomby !!!")
else if (equal(buffer, "#Bomb_Defused"))
set_msg_arg_string(2, "!!! Bomba rozbrojona !!!")
else if (equal(buffer, "#CTs_Win"))
set_msg_arg_string(2, "!!! CT wygralo !!!")
//pobrano z cs-puchatek.pl
else if (equal(buffer, "#Terrorists_Win"))
set_msg_arg_string(2, "!!! Terro wygralo !!!")
else if (equal(buffer, "#All_Hostages_Rescued"))
set_msg_arg_string(2, "!!! Zakladnicy uratowani !!!")
else if (equal(buffer, "#Hostages_Not_Rescued"))
set_msg_arg_string(2, "!!! CT nie uratowalo zakladnikow !!!")
else if (equal(buffer, "#Cannot_Buy_This"))
set_msg_arg_string(2, "Nie mozesz tego kupic!")
else if (equal(buffer, "#Not_Enough_Money"))
set_msg_arg_string(2, "Masz za malo pieniedzy!")
else if (equal(buffer, "#Weapon_Not_Available"))
set_msg_arg_string(2, "Bron niedostepna!")
else if (equal(buffer, "#Already_Have_Kevlar"))
set_msg_arg_string(2, "Juz posiadasz kamizelke!")
else if (equal(buffer, "#Already_Have_Kevlar_Helme"))
set_msg_arg_string(2, "Juz masz helm i kamizelke!")
//pobrano z cs-puchatek.pl
else if (equal(buffer, "#Cannot_Carry_Anymore"))
set_msg_arg_string(2, "Nie mozesz kupic wiecej!")
else if (equal(buffer, "#Already_Have_One"))
set_msg_arg_string(2, "Juz masz jeden!")
else if (equal(buffer, "#All_Teams_Full"))
set_msg_arg_string(2, "Druzyny pelne!")
else if (equal(buffer, "#Terrorists_Full"))
set_msg_arg_string(2, "Druzyna terrorystow pelna!")
else if (equal(buffer, "#CTs_Full"))
set_msg_arg_string(2, "Druzyna CT pelna!")
else if (equal(buffer, "#Too_Many_Terrorists"))
set_msg_arg_string(2, "Za duzo terrorystow!")
else if (equal(buffer, "#Too_Many_CTs"))
set_msg_arg_string(2, "Za duzo CT!")
else if (equal(buffer, "#Only_1_Team_Change"))
set_msg_arg_string(2, "Mozesz zmienic tylko raz druzyne!")
else if (equal(buffer, "#Defusing_Bomb_With_Defuse_Kit"))
set_msg_arg_string(2, "Rozbrajanie bomby z defuserem...")
else if (equal(buffer, "#Defusing_Bomb_Without_Defuse_Kit"))
set_msg_arg_string(2, "Rozbrajanie bomby BEZ defusera...")
else if (equal(buffer, "#Auto_Team_Balance_Next_Round"))
set_msg_arg_string(2, "Automatyczne wyrownanie druzyn w nastepnej rundzie")
else if (equal(buffer, "#Weapon_Cannot_Be_Dropped"))
set_msg_arg_string(2, "Nie mozesz upuscic tej broni!")
else if (equal(buffer, "#C4_Plant_At_Bomb_Spot"))
set_msg_arg_string(2, "Podlozyc bombe mozna tylko na BombSite!")
//pobrano z cs-puchatek.pl
else if (equal(buffer, "#C4_Plant_Must_Be_On_Ground"))
set_msg_arg_string(2, "Bomba musi byc na ziemii!")
else if (equal(buffer, "#C4_Arming_Cancelled"))
set_msg_arg_string(2, "Podkladanie bomby przerwane!")
else if (equal(buffer, "#Bomb_Planted"))
set_msg_arg_string(2, "!!! Terro podlozylo bombe !!!")
else if (equal(buffer, "#C4_Activated_At_Bomb_Spot"))
set_msg_arg_string(2, "Bomba podlozona na BombSite!")
else if (equal(buffer, "#Switch_To_BurstFire"))
set_msg_arg_string(2, "Tryb BurstFire")
else if (equal(buffer, "#Switch_To_SemiAuto"))
set_msg_arg_string(2, "Tryb SemiAuto")
else if (equal(buffer, "#Switch_To_FullAuto"))
set_msg_arg_string(2, "Tryb automatyczny")
else if (equal(buffer, "#Game_bomb_drop"))
set_msg_arg_string(2, "!!! %s upuscil bombe !!!")
else if (equal(buffer, "#Game_bomb_pickup"))
set_msg_arg_string(2, "!!! %s podniosl bombe !!!")
else if (equal(buffer, "#Game_will_restart_in"))
set_msg_arg_string(2, "Restart rundy za %s1 %s2")
else if (equal(buffer, "#Game_will_restart_in_console"))
set_msg_arg_string(2, "Restart rundy za %s1 %s2")
else if (equal(buffer, "#Cstrike_Already_Own_Weapon"))
set_msg_arg_string(2, "Masz juz ta bron!")
return PLUGIN_CONTINUE
}
public plugin_modules() {
require_module("engine")
}
//pobrano z cs-puchatek.pl
public plugin_init() {
register_plugin(PLUGINNAME, VERSION, AUTHOR)
register_message(get_user_msgid("TextMsg"), "message_TextMsg")
}