Init
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
"colors"
|
||||
{
|
||||
"color_tag" "{green}"
|
||||
"color_name" "{default}"
|
||||
"color_steamid" "{grey}"
|
||||
"color_use" "{lightblue}"
|
||||
"color_pickup" "{lime}"
|
||||
"color_drop" "{pink}"
|
||||
"color_disconnect" "{orange}"
|
||||
"color_death" "{orange}"
|
||||
"color_warning" "{orange}"
|
||||
"color_hud_red" "255"
|
||||
"color_hud_green" "255"
|
||||
"color_hud_blue" "255"
|
||||
"color_hud_posx" "0.0"
|
||||
"color_hud_posy" "0.4"
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
"colors"
|
||||
{
|
||||
"color_tag" "E01B5D"
|
||||
"color_name" "1A8599"
|
||||
"color_steamid" "5FBDCE"
|
||||
"color_use" "FF7C00"
|
||||
"color_pickup" "FFDF00"
|
||||
"color_drop" "CB0077"
|
||||
"color_disconnect" "04859D"
|
||||
"color_death" "4F10AD"
|
||||
"color_warning" "4F10AD"
|
||||
"color_hud_red" "255"
|
||||
"color_hud_green" "255"
|
||||
"color_hud_blue" "255"
|
||||
"color_hud_posx" "0.0"
|
||||
"color_hud_posy" "0.4"
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
"colors"
|
||||
{
|
||||
"color_tag" "32FF32"
|
||||
"color_name" "9AFF9A"
|
||||
"color_steamid" "D2C898"
|
||||
"color_use" "9EC34F"
|
||||
"color_pickup" "9EC34F"
|
||||
"color_drop" "9EC34F"
|
||||
"color_disconnect" "9EC34F"
|
||||
"color_death" "9EC34F"
|
||||
"color_warning" "9EC34F"
|
||||
"color_hud_red" "255"
|
||||
"color_hud_green" "255"
|
||||
"color_hud_blue" "255"
|
||||
"color_hud_posx" "0.0"
|
||||
"color_hud_posy" "0.4"
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
"colors"
|
||||
{
|
||||
"color_tag" "E01B5D"
|
||||
"color_name" "EDEDED"
|
||||
"color_steamid" "B2B2B2"
|
||||
"color_use" "67ADDF"
|
||||
"color_pickup" "C9EF66"
|
||||
"color_drop" "E562BA"
|
||||
"color_disconnect" "F1B567"
|
||||
"color_death" "F1B567"
|
||||
"color_warning" "F16767"
|
||||
"color_hud_red" "255"
|
||||
"color_hud_green" "255"
|
||||
"color_hud_blue" "255"
|
||||
"color_hud_posx" "0.0"
|
||||
"color_hud_posy" "0.4"
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
"colors"
|
||||
{
|
||||
"color_tag" "8A0808"
|
||||
"color_name" "BDBDBD"
|
||||
"color_steamid" "4E4E4E"
|
||||
"color_use" "BDBDBD"
|
||||
"color_pickup" "BDBDBD"
|
||||
"color_drop" "BDBDBD"
|
||||
"color_disconnect" "BDBDBD"
|
||||
"color_death" "BDBDBD"
|
||||
"color_warning" "BDBDBD"
|
||||
"color_hud_red" "255"
|
||||
"color_hud_green" "255"
|
||||
"color_hud_blue" "255"
|
||||
"color_hud_posx" "0.0"
|
||||
"color_hud_posy" "0.4"
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
"colors"
|
||||
{
|
||||
"color_tag" "{green}"
|
||||
"color_name" "\x01"
|
||||
"color_steamid" "{olive}"
|
||||
"color_use" "{purple}"
|
||||
"color_pickup" "{purple}"
|
||||
"color_drop" "{red}"
|
||||
"color_disconnect" "{red}"
|
||||
"color_death" "{red}"
|
||||
"color_warning" "{lightgreen}"
|
||||
"color_hud_red" "255"
|
||||
"color_hud_green" "255"
|
||||
"color_hud_blue" "255"
|
||||
"color_hud_posx" "0.0"
|
||||
"color_hud_posy" "0.4"
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
"colors"
|
||||
{
|
||||
"color_tag" "E01B5D"
|
||||
"color_name" "E7EB75"
|
||||
"color_steamid" "8A714A"
|
||||
"color_use" "4C46EB"
|
||||
"color_pickup" "46EB54"
|
||||
"color_drop" "BF3939"
|
||||
"color_disconnect" "7B4F9E"
|
||||
"color_death" "732C34"
|
||||
"color_warning" "732C34"
|
||||
"color_hud_red" "255"
|
||||
"color_hud_green" "255"
|
||||
"color_hud_blue" "255"
|
||||
"color_hud_posx" "0.0"
|
||||
"color_hud_posy" "0.4"
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
"colors"
|
||||
{
|
||||
"color_tag" "800000"
|
||||
"color_name" "807E7E"
|
||||
"color_steamid" "4A4A4A"
|
||||
"color_use" "807E7E"
|
||||
"color_pickup" "807E7E"
|
||||
"color_drop" "AB0000"
|
||||
"color_disconnect" "AB0000"
|
||||
"color_death" "AB0000"
|
||||
"color_warning" "807E7E"
|
||||
"color_hud_red" "255"
|
||||
"color_hud_green" "255"
|
||||
"color_hud_blue" "255"
|
||||
"color_hud_posx" "0.0"
|
||||
"color_hud_posy" "0.4"
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
"colors"
|
||||
{
|
||||
"color_tag" ""
|
||||
"color_name" ""
|
||||
"color_steamid" ""
|
||||
"color_use" ""
|
||||
"color_pickup" ""
|
||||
"color_drop" ""
|
||||
"color_disconnect" ""
|
||||
"color_death" ""
|
||||
"color_warning" ""
|
||||
"color_hud_red" ""
|
||||
"color_hud_green" ""
|
||||
"color_hud_blue" ""
|
||||
"color_hud_posx" ""
|
||||
"color_hud_posy" ""
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
"entities"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"name" ""
|
||||
"shortname" ""
|
||||
"color" ""
|
||||
"buttonclass" ""
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "false"
|
||||
"chat" "false"
|
||||
"hud" "false"
|
||||
"hammerid" "0"
|
||||
"mode" "0"
|
||||
"maxuses" "0"
|
||||
"cooldown" "0"
|
||||
"maxamount" "0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
"entities"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"name" "Dark Repulser(Wind)"
|
||||
"shortname" "Wind"
|
||||
"color" "{lightblue}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_m_wind_human"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "39002"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "20"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"name" "Dark Repulser(ZWind)"
|
||||
"shortname" "ZWind"
|
||||
"color" "{blue}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_m_wind_zombie"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "39885"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "20"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Katana(Speed)"
|
||||
"shortname" "Speed"
|
||||
"color" "{olive}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_m_speed_human"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "40110"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "20"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Katana(ZSpeed)"
|
||||
"shortname" "ZSpeed"
|
||||
"color" "{green}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_m_speed_zombie"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "40141"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "20"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Elucidator(Gravity)"
|
||||
"shortname" "Gravity"
|
||||
"color" "{pink}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_m_gravity_human"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "41391"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "20"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Elucidator(ZGravity)"
|
||||
"shortname" "ZGravity"
|
||||
"color" "{purple}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_m_gravity_zombie"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "42566"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "20"
|
||||
"maxamount" "1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,420 @@
|
||||
"entities"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"name" "Incendio (fire)"
|
||||
"shortname" "Incendio"
|
||||
"color" "{red}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "8974097"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "55"
|
||||
"maxamount" "1"
|
||||
"trigger" "59863086"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"name" "Impedimenta (ice)"
|
||||
"shortname" "Impedimenta"
|
||||
"color" "{lightblue}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "8975848"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "70"
|
||||
"maxamount" "1"
|
||||
"trigger" "59863090"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Flipendo (wind)"
|
||||
"shortname" "Flipendo"
|
||||
"color" "{default}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "8977321"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "60"
|
||||
"maxamount" "1"
|
||||
"trigger" "59863094"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Avada kedavra"
|
||||
"shortname" "Avada kedavra"
|
||||
"color" "{purple}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "8977961"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "140"
|
||||
"maxamount" "1"
|
||||
"trigger" "59863102"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Reparo (heal)"
|
||||
"shortname" "Reparo"
|
||||
"color" "{green}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "8978959"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "50"
|
||||
"maxamount" "1"
|
||||
"trigger" "59863110"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Protego (wall)"
|
||||
"shortname" "Protego"
|
||||
"color" "{darkorange}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "8979602"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "60"
|
||||
"maxamount" "1"
|
||||
"trigger" "59863098"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"name" "Accio (ammo)"
|
||||
"shortname" "Accio"
|
||||
"color" "{grey}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "17845448"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "50"
|
||||
"maxamount" "1"
|
||||
"trigger" "59863114"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"name" "Crucio (poison)"
|
||||
"shortname" "Crucio"
|
||||
"color" "{orange}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "17845738"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "60"
|
||||
"maxamount" "1"
|
||||
"trigger" "59863106"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"name" "Aguamenti (slowmo)"
|
||||
"shortname" "Aguamenti"
|
||||
"color" "{lightblue}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "17845811"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "60"
|
||||
"maxamount" "1"
|
||||
"trigger" "59863118"
|
||||
}
|
||||
"9"
|
||||
{
|
||||
"name" "Incendio (zfire)"
|
||||
"shortname" "ZIncendio"
|
||||
"color" "{darkred}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "9125676"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "60"
|
||||
"maxamount" "1"
|
||||
"trigger" "9005859"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"name" "Emendo (zheal)"
|
||||
"shortname" "Emendo"
|
||||
"color" "{purple}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "9127617"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "50"
|
||||
"maxamount" "1"
|
||||
"trigger" "9007824"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"name" "Confundus (zconfusing)"
|
||||
"shortname" "Confundus"
|
||||
"color" "{lime}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "9128126"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "40"
|
||||
"maxamount" "1"
|
||||
"trigger" "9007828"
|
||||
}
|
||||
"12"
|
||||
{
|
||||
"name" "Deprimo (zslowmo)"
|
||||
"shortname" "Deprimo"
|
||||
"color" "{blue}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "9128865"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "60"
|
||||
"maxamount" "1"
|
||||
"trigger" "9007832"
|
||||
}
|
||||
"13"
|
||||
{
|
||||
"name" "Expulso (znuker)"
|
||||
"shortname" "Expulso"
|
||||
"color" "{green}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "9129450"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "80"
|
||||
"maxamount" "1"
|
||||
"trigger" "9007836"
|
||||
}
|
||||
"14"
|
||||
{
|
||||
"name" "Disillusionment (zinvisible)"
|
||||
"shortname" "Disillusionment"
|
||||
"color" "{grey}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "17845958"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "50"
|
||||
"maxamount" "1"
|
||||
"trigger" "17955655"
|
||||
}
|
||||
"15"
|
||||
{
|
||||
"name" "Conjunctivitus (zpoison)"
|
||||
"shortname" "Conjunctivitus"
|
||||
"color" "{orange}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "17846183"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "40"
|
||||
"maxamount" "1"
|
||||
"trigger" "17955634"
|
||||
}
|
||||
"16"
|
||||
{
|
||||
"name" "Deletrius (zwand breaker)"
|
||||
"shortname" "Deletrius"
|
||||
"color" "{lightblue}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "17846257"
|
||||
"mode" "1"
|
||||
"maxuses" "0"
|
||||
"cooldown" "0"
|
||||
"maxamount" "1"
|
||||
"trigger" "17955652"
|
||||
}
|
||||
"17"
|
||||
{
|
||||
"name" "Reducio (zminimizer)"
|
||||
"shortname" "Reducio"
|
||||
"color" "{pink}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "false"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "20869434"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "105"
|
||||
"maxamount" "1"
|
||||
"trigger" "20840257"
|
||||
}
|
||||
"18"
|
||||
{
|
||||
"name" "Builder"
|
||||
"shortname" "Builder"
|
||||
"color" "{olive}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "37642786"
|
||||
"mode" "4"
|
||||
"maxuses" "8"
|
||||
"cooldown" "1"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"19"
|
||||
{
|
||||
"name" "Hat"
|
||||
"shortname" "Hat"
|
||||
"color" "{blue}"
|
||||
"buttonclass" ""
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "false"
|
||||
"hammerid" "41919111"
|
||||
"mode" "1"
|
||||
"maxuses" "0"
|
||||
"cooldown" "0"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"20"
|
||||
{
|
||||
"name" "Owl"
|
||||
"shortname" "Owl"
|
||||
"color" "{blue}"
|
||||
"buttonclass" ""
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "false"
|
||||
"hammerid" "20485274"
|
||||
"mode" "1"
|
||||
"maxuses" "0"
|
||||
"cooldown" "0"
|
||||
"maxamount" "1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,250 @@
|
||||
"entities"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"name" "Collector Shield"
|
||||
"shortname" "Shield"
|
||||
"color" "{darkorange}"
|
||||
"buttonclass" ""
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "false"
|
||||
"hammerid" "985181"
|
||||
"mode" "0"
|
||||
"maxuses" "0"
|
||||
"cooldown" "0"
|
||||
"maxamount" "20"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"name" "Collector Sword"
|
||||
"shortname" "Sword"
|
||||
"color" "{lightblue}"
|
||||
"buttonclass" ""
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "false"
|
||||
"hammerid" "987821"
|
||||
"mode" "0"
|
||||
"maxuses" "0"
|
||||
"cooldown" "0"
|
||||
"maxamount" "20"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Collector Spear"
|
||||
"shortname" "Spear"
|
||||
"color" "{red}"
|
||||
"buttonclass" ""
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "false"
|
||||
"hammerid" "987871"
|
||||
"mode" "0"
|
||||
"maxuses" "0"
|
||||
"cooldown" "0"
|
||||
"maxamount" "20"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Collector Bow"
|
||||
"shortname" "Bow"
|
||||
"color" "{green}"
|
||||
"buttonclass" ""
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "false"
|
||||
"hammerid" "987911"
|
||||
"mode" "0"
|
||||
"maxuses" "0"
|
||||
"cooldown" "0"
|
||||
"maxamount" "20"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Seal"
|
||||
"shortname" "Seal"
|
||||
"color" "{pink}"
|
||||
"buttonclass" ""
|
||||
"filtername" ""
|
||||
"hasfiltername" "false"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "false"
|
||||
"hammerid" "1296712"
|
||||
"mode" "0"
|
||||
"maxuses" "0"
|
||||
"cooldown" "0"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Wind"
|
||||
"shortname" "Wind"
|
||||
"color" "{default}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_wind_human"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "1451331"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "60"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"name" "Gravity"
|
||||
"shortname" "Gravity"
|
||||
"color" "{purple}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_gravity_human"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "1451409"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "60"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"name" "Electro"
|
||||
"shortname" "Electro"
|
||||
"color" "{olive}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_electro_human"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "1451632"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "60"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"name" "Heal"
|
||||
"shortname" "Heal"
|
||||
"color" "{green}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_heal_human"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "true"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "1451852"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "60"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"9"
|
||||
{
|
||||
"name" "ZHeal"
|
||||
"shortname" "ZHeal"
|
||||
"color" "{red}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_heal_zombie"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "1452000"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "30"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"name" "ZDroper"
|
||||
"shortname" "ZDroper"
|
||||
"color" "{blue}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_droper_zombie"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "1452075"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "60"
|
||||
"maxamount" "1"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"name" "ZFire"
|
||||
"shortname" "ZFire"
|
||||
"color" "{orange}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_fire_zombie"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "1452310"
|
||||
"mode" "2"
|
||||
"maxuses" "0"
|
||||
"cooldown" "30"
|
||||
"maxamount" "2"
|
||||
}
|
||||
"12"
|
||||
{
|
||||
"name" "Shia Trophy"
|
||||
"shortname" "Shia Trophy"
|
||||
"color" "{lightblue}"
|
||||
"buttonclass" "func_button"
|
||||
"filtername" "f_trophy_shea"
|
||||
"hasfiltername" "true"
|
||||
"blockpickup" "false"
|
||||
"allowtransfer" "false"
|
||||
"forcedrop" "true"
|
||||
"chat" "true"
|
||||
"hud" "true"
|
||||
"hammerid" "1452391"
|
||||
"mode" "3"
|
||||
"maxuses" "1"
|
||||
"cooldown" "0"
|
||||
"maxamount" "1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
// This file was auto-generated by SourceMod (v1.9.0.6281)
|
||||
// ConVars for plugin "entWatch.smx"
|
||||
|
||||
|
||||
// The name of the color config.
|
||||
// -
|
||||
// Default: "color_classic"
|
||||
entwatch_config_color "color_classic"
|
||||
|
||||
// Show/Hide the cooldowns on the display.
|
||||
// -
|
||||
// Default: "1"
|
||||
// Minimum: "0.000000"
|
||||
// Maximum: "1.000000"
|
||||
entwatch_display_cooldowns "1"
|
||||
|
||||
// Enable/Disable the display.
|
||||
// -
|
||||
// Default: "1"
|
||||
// Minimum: "0.000000"
|
||||
// Maximum: "1.000000"
|
||||
entwatch_display_enable "1"
|
||||
|
||||
// Enable/Disable team only mode.
|
||||
// -
|
||||
// Default: "1"
|
||||
// Minimum: "0.000000"
|
||||
// Maximum: "1.000000"
|
||||
entwatch_mode_teamonly "1"
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,874 @@
|
||||
/*****************************************************************************
|
||||
* *
|
||||
* Colored Chat Functions for CS:GO *
|
||||
* Author: exvel, Editor: Popoklopsi, Powerlord, Zipcore, Bara, DarkerZ[RUS] *
|
||||
* Version: 2.0.1fix *
|
||||
* *
|
||||
*****************************************************************************/
|
||||
|
||||
#if defined _csgocolors_included
|
||||
#endinput
|
||||
#endif
|
||||
|
||||
#define _csgocolors_included
|
||||
|
||||
#define MAX_MESSAGE_LENGTH 250
|
||||
|
||||
#define SERVER_INDEX 0
|
||||
#define NO_INDEX -1
|
||||
#define NO_PLAYER -2
|
||||
#define MAX_COLORS 24
|
||||
|
||||
enum CColors
|
||||
{
|
||||
Color_Default = 0,
|
||||
Color_Darkred,
|
||||
Color_Purple,
|
||||
Color_Green,
|
||||
Color_Lightgreen,
|
||||
Color_Lime,
|
||||
Color_Red,
|
||||
Color_Grey,
|
||||
Color_Olive,
|
||||
Color_A,
|
||||
Color_Lightblue,
|
||||
Color_Blue,
|
||||
Color_D,
|
||||
Color_Pink,
|
||||
Color_Darkrange,
|
||||
Color_Orange,
|
||||
Color_White,
|
||||
Color_Yellow,
|
||||
Color_Magenta,
|
||||
Color_Silver,
|
||||
Color_Bluegrey,
|
||||
Color_Lightred,
|
||||
Color_Cyan,
|
||||
Color_Gray
|
||||
}
|
||||
|
||||
/* CColors' properties */
|
||||
char CTag[][] = {
|
||||
"{default}",
|
||||
"{darkred}",
|
||||
"{purple}",
|
||||
"{green}",
|
||||
"{lightgreen}",
|
||||
"{lime}",
|
||||
"{red}",
|
||||
"{grey}",
|
||||
"{olive}",
|
||||
"{a}",
|
||||
"{lightblue}",
|
||||
"{blue}",
|
||||
"{d}",
|
||||
"{pink}",
|
||||
"{darkorange}",
|
||||
"{orange}",
|
||||
"{white}",
|
||||
"{yellow}",
|
||||
"{magenta}",
|
||||
"{silver}",
|
||||
"{bluegrey}",
|
||||
"{lightred}",
|
||||
"{cyan}",
|
||||
"{gray}"
|
||||
};
|
||||
char CTagCode[][] = {
|
||||
"\x01",
|
||||
"\x02",
|
||||
"\x03",
|
||||
"\x04",
|
||||
"\x05",
|
||||
"\x06",
|
||||
"\x07",
|
||||
"\x08",
|
||||
"\x09",
|
||||
"\x0A",
|
||||
"\x0B",
|
||||
"\x0C",
|
||||
"\x0D",
|
||||
"\x0E",
|
||||
"\x0F",
|
||||
"\x10",
|
||||
"\x01",
|
||||
"\x09",
|
||||
"\x0E",
|
||||
"\x0A",
|
||||
"\x0D",
|
||||
"\x0F",
|
||||
"\x03",
|
||||
"\x08"
|
||||
};
|
||||
bool CTagReqSayText2[] = {
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
false
|
||||
};
|
||||
|
||||
bool CEventIsHooked = false;
|
||||
bool CSkipList[MAXPLAYERS+1] = {false,...};
|
||||
|
||||
int CProfile_TeamIndex[MAX_COLORS] = {
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
NO_INDEX,
|
||||
3,
|
||||
NO_INDEX
|
||||
};
|
||||
bool CProfile_SayText2 = true;
|
||||
|
||||
static Handle sm_show_activity = null;
|
||||
|
||||
/**
|
||||
* Prints a message to a specific client in the chat area.
|
||||
* Supports color tags.
|
||||
*
|
||||
* @param client Client index.
|
||||
* @param szMessage Message (formatting rules).
|
||||
* @return No return
|
||||
*
|
||||
* On error/Errors: If the client is not connected an error will be thrown.
|
||||
*/
|
||||
|
||||
stock void CPrintToChat(int client, const char[] szMessage, any ...)
|
||||
{
|
||||
if (client <= 0 || client > MaxClients)
|
||||
ThrowError("Invalid client index %d", client);
|
||||
|
||||
if (!IsClientInGame(client))
|
||||
ThrowError("Client %d is not in game", client);
|
||||
|
||||
char szBuffer[MAX_MESSAGE_LENGTH];
|
||||
char szCMessage[MAX_MESSAGE_LENGTH];
|
||||
|
||||
SetGlobalTransTarget(client);
|
||||
|
||||
Format(szBuffer, sizeof(szBuffer), "\x01%s", szMessage);
|
||||
VFormat(szCMessage, sizeof(szCMessage), szBuffer, 3);
|
||||
|
||||
int index = CFormat(szCMessage, sizeof(szCMessage));
|
||||
|
||||
if (index == NO_INDEX)
|
||||
PrintToChat(client, "%s", szCMessage);
|
||||
else CSayText2(client, index, szCMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reples to a message in a command. A client index of 0 will use PrintToServer().
|
||||
* If the command was from the console, PrintToConsole() is used. If the command was from chat, CPrintToChat() is used.
|
||||
* Supports color tags.
|
||||
*
|
||||
* @param client Client index, or 0 for server.
|
||||
* @param szMessage Formatting rules.
|
||||
* @param ... Variable number of format parameters.
|
||||
* @return No return
|
||||
*
|
||||
* On error/Errors: If the client is not connected or invalid.
|
||||
*/
|
||||
stock void CReplyToCommand(int client, const char[] szMessage, any ...)
|
||||
{
|
||||
char szCMessage[MAX_MESSAGE_LENGTH];
|
||||
SetGlobalTransTarget(client);
|
||||
VFormat(szCMessage, sizeof(szCMessage), szMessage, 3);
|
||||
|
||||
if (client == 0 || GetCmdReplySource() == SM_REPLY_TO_CONSOLE)
|
||||
CRemoveTags(szCMessage, sizeof(szCMessage));
|
||||
|
||||
if (client == 0)
|
||||
PrintToServer("%s", szCMessage);
|
||||
else if (GetCmdReplySource() == SM_REPLY_TO_CONSOLE)
|
||||
PrintToConsole(client, "%s", szCMessage);
|
||||
else CPrintToChat(client, "%s", szCMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reples to a message in a command. A client index of 0 will use PrintToServer().
|
||||
* If the command was from the console, PrintToConsole() is used. If the command was from chat, CPrintToChat() is used.
|
||||
* Supports color tags.
|
||||
*
|
||||
* @param client Client index, or 0 for server.
|
||||
* @param author Author index whose color will be used for teamcolor tag.
|
||||
* @param szMessage Formatting rules.
|
||||
* @param ... Variable number of format parameters.
|
||||
* @return No return
|
||||
*
|
||||
* On error/Errors: If the client is not connected or invalid.
|
||||
*/
|
||||
stock void CReplyToCommandEx(int client, int author, const char[] szMessage, any ...)
|
||||
{
|
||||
char szCMessage[MAX_MESSAGE_LENGTH];
|
||||
SetGlobalTransTarget(client);
|
||||
VFormat(szCMessage, sizeof(szCMessage), szMessage, 4);
|
||||
|
||||
if (client == 0 || GetCmdReplySource() == SM_REPLY_TO_CONSOLE)
|
||||
CRemoveTags(szCMessage, sizeof(szCMessage));
|
||||
|
||||
if (client == 0)
|
||||
PrintToServer("%s", szCMessage);
|
||||
else if (GetCmdReplySource() == SM_REPLY_TO_CONSOLE)
|
||||
PrintToConsole(client, "%s", szCMessage);
|
||||
else CPrintToChatEx(client, author, "%s", szCMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints a message to all clients in the chat area.
|
||||
* Supports color tags.
|
||||
*
|
||||
* @param client Client index.
|
||||
* @param szMessage Message (formatting rules)
|
||||
* @return No return
|
||||
*/
|
||||
stock void CPrintToChatAll(const char[] szMessage, any ...)
|
||||
{
|
||||
char szBuffer[MAX_MESSAGE_LENGTH];
|
||||
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if (i > 0 && IsClientInGame(i) && !IsFakeClient(i) && !CSkipList[i])
|
||||
{
|
||||
SetGlobalTransTarget(i);
|
||||
VFormat(szBuffer, sizeof(szBuffer), szMessage, 2);
|
||||
|
||||
CPrintToChat(i, "%s", szBuffer);
|
||||
}
|
||||
|
||||
CSkipList[i] = false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints a message to a specific client in the chat area.
|
||||
* Supports color tags and teamcolor tag.
|
||||
*
|
||||
* @param client Client index.
|
||||
* @param author Author index whose color will be used for teamcolor tag.
|
||||
* @param szMessage Message (formatting rules).
|
||||
* @return No return
|
||||
*
|
||||
* On error/Errors: If the client or author are not connected an error will be thrown.
|
||||
*/
|
||||
stock void CPrintToChatEx(int client, int author, const char[] szMessage, any ...)
|
||||
{
|
||||
if (client <= 0 || client > MaxClients)
|
||||
ThrowError("Invalid client index %d", client);
|
||||
|
||||
if (author < 0 || author > MaxClients)
|
||||
ThrowError("Invalid author index %d", author);
|
||||
|
||||
if (!IsClientInGame(client))
|
||||
ThrowError("Client %d is not in game", client);
|
||||
|
||||
char szBuffer[MAX_MESSAGE_LENGTH];
|
||||
char szCMessage[MAX_MESSAGE_LENGTH];
|
||||
|
||||
SetGlobalTransTarget(client);
|
||||
|
||||
Format(szBuffer, sizeof(szBuffer), "\x01%s", szMessage);
|
||||
VFormat(szCMessage, sizeof(szCMessage), szBuffer, 4);
|
||||
|
||||
int index = CFormat(szCMessage, sizeof(szCMessage), author);
|
||||
|
||||
if (index == NO_INDEX)
|
||||
PrintToChat(client, "%s", szCMessage);
|
||||
else CSayText2(client, author, szCMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints a message to all clients in the chat area.
|
||||
* Supports color tags and teamcolor tag.
|
||||
*
|
||||
* @param author Author index whos color will be used for teamcolor tag.
|
||||
* @param szMessage Message (formatting rules).
|
||||
* @return No return
|
||||
*
|
||||
* On error/Errors: If the author is not connected an error will be thrown.
|
||||
*/
|
||||
|
||||
stock void CPrintToChatAllEx(int author, const char[] szMessage, any ...)
|
||||
{
|
||||
if (author < 0 || author > MaxClients)
|
||||
ThrowError("Invalid author index %d", author);
|
||||
|
||||
if (!IsClientInGame(author))
|
||||
ThrowError("Client %d is not in game", author);
|
||||
|
||||
char szBuffer[MAX_MESSAGE_LENGTH];
|
||||
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if (i > 0 && IsClientInGame(i) && !IsFakeClient(i) && !CSkipList[i])
|
||||
{
|
||||
SetGlobalTransTarget(i);
|
||||
VFormat(szBuffer, sizeof(szBuffer), szMessage, 3);
|
||||
|
||||
CPrintToChatEx(i, author, "%s", szBuffer);
|
||||
}
|
||||
|
||||
CSkipList[i] = false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes color tags from the string.
|
||||
*
|
||||
* @param szMessage String.
|
||||
* @return No return
|
||||
*/
|
||||
|
||||
stock void CRemoveTags(char[] szMessage, int maxlength)
|
||||
{
|
||||
for (int i = 0; i < MAX_COLORS; i++)
|
||||
ReplaceString(szMessage, maxlength, CTag[i], "", false);
|
||||
|
||||
ReplaceString(szMessage, maxlength, "{teamcolor}", "", false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace the color with another color
|
||||
* Handle with care!
|
||||
*
|
||||
* @param color color to replace.
|
||||
* @param newColor color to replace with.
|
||||
* @noreturn
|
||||
*/
|
||||
|
||||
stock void CReplaceColor(CColors color, CColors newColor)
|
||||
{
|
||||
if (!CEventIsHooked)
|
||||
{
|
||||
//CSetupProfile();
|
||||
|
||||
CEventIsHooked = true;
|
||||
}
|
||||
|
||||
CProfile_TeamIndex[color] = CProfile_TeamIndex[newColor];
|
||||
|
||||
CTagReqSayText2[color] = CTagReqSayText2[newColor];
|
||||
Format(CTagCode[color], sizeof(CTagCode[]), CTagCode[newColor]);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function should only be used right in front of
|
||||
* CPrintToChatAll or CPrintToChatAllEx and it tells
|
||||
* to those funcions to skip specified client when printing
|
||||
* message to all clients. After message is printed client will
|
||||
* no more be skipped.
|
||||
*
|
||||
* @param client Client index
|
||||
* @return No return
|
||||
*/
|
||||
|
||||
stock void CSkipNextClient(int client)
|
||||
{
|
||||
if (client <= 0 || client > MaxClients)
|
||||
ThrowError("Invalid client index %d", client);
|
||||
|
||||
CSkipList[client] = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Replaces color tags in a string with color codes
|
||||
*
|
||||
* @param szMessage String.
|
||||
* @param maxlength Maximum length of the string buffer.
|
||||
* @return Client index that can be used for SayText2 author index
|
||||
*
|
||||
* On error/Errors: If there is more then one team color is used an error will be thrown.
|
||||
*/
|
||||
|
||||
stock int CFormat(char[] szMessage, int maxlength, int author = NO_INDEX)
|
||||
{
|
||||
/* Hook event for auto profile setup on map start */
|
||||
if (!CEventIsHooked)
|
||||
{
|
||||
HookEvent("server_spawn", CEvent_MapStart, EventHookMode_PostNoCopy);
|
||||
|
||||
CEventIsHooked = true;
|
||||
}
|
||||
|
||||
int iRandomPlayer = NO_INDEX;
|
||||
|
||||
// On CS:GO set invisible precolor
|
||||
Format(szMessage, maxlength, " %s", szMessage);
|
||||
|
||||
/* If author was specified replace {teamcolor} tag */
|
||||
if (author != NO_INDEX)
|
||||
{
|
||||
if (CProfile_SayText2)
|
||||
{
|
||||
ReplaceString(szMessage, maxlength, "{teamcolor}", "\x03", false);
|
||||
|
||||
iRandomPlayer = author;
|
||||
}
|
||||
/* If saytext2 is not supported by game replace {teamcolor} with green tag */
|
||||
else ReplaceString(szMessage, maxlength, "{teamcolor}", CTagCode[Color_Green], false);
|
||||
}
|
||||
else ReplaceString(szMessage, maxlength, "{teamcolor}", "", false);
|
||||
|
||||
/* For other color tags we need a loop */
|
||||
for (int i = 0; i < MAX_COLORS; i++)
|
||||
{
|
||||
/* If tag not found - skip */
|
||||
if (StrContains(szMessage, CTag[i], false) == -1)
|
||||
continue;
|
||||
|
||||
/* If tag doesn't need saytext2 simply replace */
|
||||
else if (!CTagReqSayText2[i])
|
||||
ReplaceString(szMessage, maxlength, CTag[i], CTagCode[i], false);
|
||||
|
||||
/* Tag needs saytext2 */
|
||||
else
|
||||
{
|
||||
/* If saytext2 is not supported by game replace tag with green tag */
|
||||
if (!CProfile_SayText2)
|
||||
ReplaceString(szMessage, maxlength, CTag[i], CTagCode[Color_Green], false);
|
||||
|
||||
/* Game supports saytext2 */
|
||||
else
|
||||
{
|
||||
/* If random player for tag wasn't specified replace tag and find player */
|
||||
if (iRandomPlayer == NO_INDEX)
|
||||
{
|
||||
/* Searching for valid client for tag */
|
||||
iRandomPlayer = CFindRandomPlayerByTeam(CProfile_TeamIndex[i]);
|
||||
|
||||
/* If player not found replace tag with green color tag */
|
||||
if (iRandomPlayer == NO_PLAYER)
|
||||
ReplaceString(szMessage, maxlength, CTag[i], CTagCode[Color_Green], false);
|
||||
|
||||
/* If player was found simply replace */
|
||||
else ReplaceString(szMessage, maxlength, CTag[i], CTagCode[i], false);
|
||||
|
||||
}
|
||||
/* If found another team color tag throw error */
|
||||
else
|
||||
{
|
||||
//ReplaceString(szMessage, maxlength, CTag[i], "");
|
||||
ThrowError("Using two team colors in one message is not allowed");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return iRandomPlayer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Founds a random player with specified team
|
||||
*
|
||||
* @param color_team Client team.
|
||||
* @return Client index or NO_PLAYER if no player found
|
||||
*/
|
||||
|
||||
stock int CFindRandomPlayerByTeam(int color_team)
|
||||
{
|
||||
if (color_team == SERVER_INDEX)
|
||||
return 0;
|
||||
|
||||
else for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if (i > 0 && IsClientInGame(i) && GetClientTeam(i) == color_team)
|
||||
return i;
|
||||
}
|
||||
|
||||
return NO_PLAYER;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a SayText2 usermessage to a client
|
||||
*
|
||||
* @param szMessage Client index
|
||||
* @param maxlength Author index
|
||||
* @param szMessage Message
|
||||
* @return No return.
|
||||
*/
|
||||
|
||||
stock void CSayText2(int client, int author, const char[] szMessage)
|
||||
{
|
||||
Handle hBuffer = StartMessageOne("SayText2", client, USERMSG_RELIABLE|USERMSG_BLOCKHOOKS);
|
||||
|
||||
PbSetInt(hBuffer, "ent_idx", author);
|
||||
PbSetBool(hBuffer, "chat", true);
|
||||
PbSetString(hBuffer, "msg_name", szMessage);
|
||||
PbAddString(hBuffer, "params", "");
|
||||
PbAddString(hBuffer, "params", "");
|
||||
PbAddString(hBuffer, "params", "");
|
||||
PbAddString(hBuffer, "params", "");
|
||||
|
||||
EndMessage();
|
||||
}
|
||||
|
||||
public Action CEvent_MapStart(Event event, const char[] name, bool dontBroadcast)
|
||||
{
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
CSkipList[i] = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays usage of an admin command to users depending on the
|
||||
* setting of the sm_show_activity cvar.
|
||||
*
|
||||
* This version does not display a message to the originating client
|
||||
* if used from chat triggers or menus. If manual replies are used
|
||||
* for these cases, then this function will suffice. Otherwise,
|
||||
* CShowActivity2() is slightly more useful.
|
||||
* Supports color tags.
|
||||
*
|
||||
* @param client Client index doing the action, or 0 for server.
|
||||
* @param format Formatting rules.
|
||||
* @param ... Variable number of format parameters.
|
||||
* @noreturn
|
||||
* @error
|
||||
*/
|
||||
|
||||
stock int CShowActivity(int client, const char[] format, any ...)
|
||||
{
|
||||
if (sm_show_activity == null)
|
||||
sm_show_activity = FindConVar("sm_show_activity");
|
||||
|
||||
char tag[] = "[SM] ";
|
||||
|
||||
char szBuffer[MAX_MESSAGE_LENGTH];
|
||||
//char szCMessage[MAX_MESSAGE_LENGTH];
|
||||
int value = GetConVarInt(sm_show_activity);
|
||||
ReplySource replyto = GetCmdReplySource();
|
||||
|
||||
char name[MAX_NAME_LENGTH] = "Console";
|
||||
char sign[MAX_NAME_LENGTH] = "ADMIN";
|
||||
bool display_in_chat = false;
|
||||
if (client != 0)
|
||||
{
|
||||
if (client < 0 || client > MaxClients || !IsClientConnected(client))
|
||||
ThrowError("Client index %d is invalid", client);
|
||||
|
||||
GetClientName(client, name, sizeof(name));
|
||||
AdminId id = GetUserAdmin(client);
|
||||
if (id == INVALID_ADMIN_ID || !GetAdminFlag(id, Admin_Generic, Access_Effective))
|
||||
sign = "PLAYER";
|
||||
|
||||
/* Display the message to the client? */
|
||||
if (replyto == SM_REPLY_TO_CONSOLE)
|
||||
{
|
||||
SetGlobalTransTarget(client);
|
||||
VFormat(szBuffer, sizeof(szBuffer), format, 3);
|
||||
|
||||
CRemoveTags(szBuffer, sizeof(szBuffer));
|
||||
PrintToConsole(client, "%s%s\n", tag, szBuffer);
|
||||
display_in_chat = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SetGlobalTransTarget(LANG_SERVER);
|
||||
VFormat(szBuffer, sizeof(szBuffer), format, 3);
|
||||
|
||||
CRemoveTags(szBuffer, sizeof(szBuffer));
|
||||
PrintToServer("%s%s\n", tag, szBuffer);
|
||||
}
|
||||
|
||||
if (!value)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if (i == 0
|
||||
|| !IsClientInGame(i)
|
||||
|| IsFakeClient(i)
|
||||
|| (display_in_chat && i == client))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
AdminId id = GetUserAdmin(i);
|
||||
SetGlobalTransTarget(i);
|
||||
if (id == INVALID_ADMIN_ID
|
||||
|| !GetAdminFlag(id, Admin_Generic, Access_Effective))
|
||||
{
|
||||
/* Treat this as a normal user. */
|
||||
if ((value & 1) | (value & 2))
|
||||
{
|
||||
char newsign[MAX_NAME_LENGTH];
|
||||
newsign = sign;
|
||||
if ((value & 2) || (i == client))
|
||||
{
|
||||
newsign = name;
|
||||
}
|
||||
VFormat(szBuffer, sizeof(szBuffer), format, 3);
|
||||
|
||||
CPrintToChatEx(i, client, "%s%s: %s", tag, newsign, szBuffer);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Treat this as an admin user */
|
||||
bool is_root = GetAdminFlag(id, Admin_Root, Access_Effective);
|
||||
if ((value & 4) || (value & 8) || ((value & 16) && is_root))
|
||||
{
|
||||
char newsign[MAX_NAME_LENGTH];
|
||||
newsign = sign;
|
||||
if ((value & 8) || ((value & 16) && is_root) || (i == client))
|
||||
{
|
||||
newsign = name;
|
||||
}
|
||||
VFormat(szBuffer, sizeof(szBuffer), format, 3);
|
||||
|
||||
CPrintToChatEx(i, client, "%s%s: %s", tag, newsign, szBuffer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Same as CShowActivity(), except the tag parameter is used instead of "[SM] " (note that you must supply any spacing).
|
||||
* Supports color tags.
|
||||
*
|
||||
* @param client Client index doing the action, or 0 for server.
|
||||
* @param tags Tag to display with.
|
||||
* @param format Formatting rules.
|
||||
* @param ... Variable number of format parameters.
|
||||
* @noreturn
|
||||
* @error
|
||||
*/
|
||||
|
||||
stock int CShowActivityEx(int client, const char[] tag, const char[] format, any ...)
|
||||
{
|
||||
if (sm_show_activity == null)
|
||||
sm_show_activity = FindConVar("sm_show_activity");
|
||||
|
||||
char szBuffer[MAX_MESSAGE_LENGTH];
|
||||
//char szCMessage[MAX_MESSAGE_LENGTH];
|
||||
int value = GetConVarInt(sm_show_activity);
|
||||
ReplySource replyto = GetCmdReplySource();
|
||||
|
||||
char name[MAX_NAME_LENGTH] = "Console";
|
||||
char sign[MAX_NAME_LENGTH] = "ADMIN";
|
||||
bool display_in_chat = false;
|
||||
if (client != 0)
|
||||
{
|
||||
if (client < 0 || client > MaxClients || !IsClientConnected(client))
|
||||
ThrowError("Client index %d is invalid", client);
|
||||
|
||||
GetClientName(client, name, sizeof(name));
|
||||
AdminId id = GetUserAdmin(client);
|
||||
if (id == INVALID_ADMIN_ID || !GetAdminFlag(id, Admin_Generic, Access_Effective))
|
||||
sign = "PLAYER";
|
||||
|
||||
/* Display the message to the client? */
|
||||
if (replyto == SM_REPLY_TO_CONSOLE)
|
||||
{
|
||||
SetGlobalTransTarget(client);
|
||||
VFormat(szBuffer, sizeof(szBuffer), format, 4);
|
||||
|
||||
CRemoveTags(szBuffer, sizeof(szBuffer));
|
||||
PrintToConsole(client, "%s%s\n", tag, szBuffer);
|
||||
display_in_chat = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SetGlobalTransTarget(LANG_SERVER);
|
||||
VFormat(szBuffer, sizeof(szBuffer), format, 4);
|
||||
|
||||
CRemoveTags(szBuffer, sizeof(szBuffer));
|
||||
PrintToServer("%s%s\n", tag, szBuffer);
|
||||
}
|
||||
|
||||
if (!value)
|
||||
return 1;
|
||||
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if (i == 0 || !IsClientInGame(i) || IsFakeClient(i) || (display_in_chat && i == client))
|
||||
continue;
|
||||
|
||||
AdminId id = GetUserAdmin(i);
|
||||
SetGlobalTransTarget(i);
|
||||
if (id == INVALID_ADMIN_ID
|
||||
|| !GetAdminFlag(id, Admin_Generic, Access_Effective))
|
||||
{
|
||||
/* Treat this as a normal user. */
|
||||
if ((value & 1) | (value & 2))
|
||||
{
|
||||
char newsign[MAX_NAME_LENGTH];
|
||||
newsign = sign;
|
||||
|
||||
if ((value & 2) || (i == client))
|
||||
newsign = name;
|
||||
|
||||
VFormat(szBuffer, sizeof(szBuffer), format, 4);
|
||||
|
||||
CPrintToChatEx(i, client, "%s%s: %s", tag, newsign, szBuffer);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Treat this as an admin user */
|
||||
bool is_root = GetAdminFlag(id, Admin_Root, Access_Effective);
|
||||
|
||||
if ((value & 4) || (value & 8) || ((value & 16) && is_root))
|
||||
{
|
||||
char newsign[MAX_NAME_LENGTH];
|
||||
newsign = sign;
|
||||
|
||||
if ((value & 8) || ((value & 16) && is_root) || (i == client))
|
||||
newsign = name;
|
||||
|
||||
VFormat(szBuffer, sizeof(szBuffer), format, 4);
|
||||
|
||||
CPrintToChatEx(i, client, "%s%s: %s", tag, newsign, szBuffer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays usage of an admin command to users depending on the setting of the sm_show_activity cvar.
|
||||
* All users receive a message in their chat text, except for the originating client,
|
||||
* who receives the message based on the current ReplySource.
|
||||
* Supports color tags.
|
||||
*
|
||||
* @param client Client index doing the action, or 0 for server.
|
||||
* @param tags Tag to prepend to the message.
|
||||
* @param format Formatting rules.
|
||||
* @param ... Variable number of format parameters.
|
||||
* @noreturn
|
||||
* @error
|
||||
*/
|
||||
|
||||
stock int CShowActivity2(int client, const char[] tag, const char[] format, any ...)
|
||||
{
|
||||
if (sm_show_activity == null)
|
||||
sm_show_activity = FindConVar("sm_show_activity");
|
||||
|
||||
char szBuffer[MAX_MESSAGE_LENGTH];
|
||||
//char szCMessage[MAX_MESSAGE_LENGTH];
|
||||
int value = GetConVarInt(sm_show_activity);
|
||||
// ReplySource replyto = GetCmdReplySource();
|
||||
|
||||
char name[MAX_NAME_LENGTH] = "Console";
|
||||
char sign[MAX_NAME_LENGTH] = "ADMIN";
|
||||
if (client != 0)
|
||||
{
|
||||
if (client < 0 || client > MaxClients || !IsClientConnected(client))
|
||||
ThrowError("Client index %d is invalid", client);
|
||||
|
||||
GetClientName(client, name, sizeof(name));
|
||||
AdminId id = GetUserAdmin(client);
|
||||
|
||||
if (id == INVALID_ADMIN_ID || !GetAdminFlag(id, Admin_Generic, Access_Effective))
|
||||
sign = "PLAYER";
|
||||
|
||||
SetGlobalTransTarget(client);
|
||||
VFormat(szBuffer, sizeof(szBuffer), format, 4);
|
||||
|
||||
/* We don't display directly to the console because the chat text
|
||||
* simply gets added to the console, so we don't want it to print
|
||||
* twice.
|
||||
*/
|
||||
CPrintToChatEx(client, client, "%s%s", tag, szBuffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetGlobalTransTarget(LANG_SERVER);
|
||||
VFormat(szBuffer, sizeof(szBuffer), format, 4);
|
||||
|
||||
CRemoveTags(szBuffer, sizeof(szBuffer));
|
||||
PrintToServer("%s%s\n", "[SM]", szBuffer);
|
||||
}
|
||||
|
||||
if (!value)
|
||||
return 1;
|
||||
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if (i == 0 || !IsClientInGame(i) || IsFakeClient(i) || i == client)
|
||||
continue;
|
||||
|
||||
AdminId id = GetUserAdmin(i);
|
||||
SetGlobalTransTarget(i);
|
||||
|
||||
if (id == INVALID_ADMIN_ID || !GetAdminFlag(id, Admin_Generic, Access_Effective))
|
||||
{
|
||||
/* Treat this as a normal user. */
|
||||
if ((value & 1) | (value & 2))
|
||||
{
|
||||
char newsign[MAX_NAME_LENGTH];
|
||||
newsign = sign;
|
||||
|
||||
if ((value & 2))
|
||||
newsign = name;
|
||||
|
||||
VFormat(szBuffer, sizeof(szBuffer), format, 4);
|
||||
|
||||
CPrintToChatEx(i, client, "%s%s: %s", tag, newsign, szBuffer);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Treat this as an admin user */
|
||||
bool is_root = GetAdminFlag(id, Admin_Root, Access_Effective);
|
||||
|
||||
if ((value & 4) || (value & 8) || ((value & 16) && is_root))
|
||||
{
|
||||
char newsign[MAX_NAME_LENGTH];
|
||||
newsign = sign;
|
||||
|
||||
if ((value & 8) || ((value & 16) && is_root))
|
||||
newsign = name;
|
||||
|
||||
VFormat(szBuffer, sizeof(szBuffer), format, 4);
|
||||
|
||||
CPrintToChatEx(i, client, "%s%s: %s", tag, newsign, szBuffer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
#if defined _entWatch_include
|
||||
#endinput
|
||||
#endif
|
||||
#define _entWatch_include
|
||||
|
||||
/**
|
||||
* Checks if a client is currently banned, if an integer variable is referenced the time of unban will be assigned to it.
|
||||
*
|
||||
* @param client Client index to check for ban
|
||||
* @param iTimeStamp Pass an integer variable by reference and it will contain the UNIX timestamp when the player will be unbanned
|
||||
* @return True if user is banned, false otherwise
|
||||
*
|
||||
* On error/errors: Invalid client index/client is not in game or client cookies are not yet loaded
|
||||
*/
|
||||
native bool:entWatch_IsClientBanned(client, &iTimeStamp);
|
||||
|
||||
/**
|
||||
* Bans a client from using special items.
|
||||
*
|
||||
* @param client Client index to ban
|
||||
* @param IsTemporary If the ban should be temporary pass true here
|
||||
* @param iLength Length of ban in minutes, pass 0 here for a permanent ban
|
||||
* @return True on success, false otherwsie
|
||||
*
|
||||
* On error/errors: Invalid client index/client is not in game or client cookies are not yet loaded
|
||||
*/
|
||||
native bool:entWatch_BanClient(client, bool:bIsTemporary=false, iLength=0);
|
||||
|
||||
/**
|
||||
* Unbans a previously ebanned Client.
|
||||
*
|
||||
* @param client Client index to unban
|
||||
* @return True on success, false otherwsie
|
||||
*
|
||||
* On error/errors: Invalid client index/client is not in game or client cookies are not yet loaded
|
||||
*/
|
||||
native bool:entWatch_UnbanClient(client);
|
||||
|
||||
/**
|
||||
* Checks if an entity is a special item.
|
||||
*
|
||||
* @param entity Entity index to check
|
||||
* @return True if entity is a special item, false otherwsie
|
||||
*/
|
||||
native bool:entWatch_IsSpecialItem(entity);
|
||||
|
||||
/**
|
||||
* Checks if a client has a special item.
|
||||
*
|
||||
* @param client Client index to check
|
||||
* @return True if client has a special item, false otherwsie
|
||||
*/
|
||||
native bool:entWatch_HasSpecialItem(client);
|
||||
|
||||
/**
|
||||
* Called when a client is e-banned by any means
|
||||
*
|
||||
* @param admin Admin index that issued the ban
|
||||
* @param iLength Length of the ban in UNIX time
|
||||
* @param client Client index that was banned
|
||||
*
|
||||
* @return None
|
||||
*/
|
||||
forward entWatch_OnClientBanned(admin, iLenght, client);
|
||||
|
||||
/**
|
||||
* Called when a client is e-unbanned by any means
|
||||
*
|
||||
* @param admin Admin index that removed the ban
|
||||
* @param client Client index that was unbanned
|
||||
* @return None
|
||||
*/
|
||||
forward entWatch_OnClientUnbanned(admin, client);
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose: SMLib
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
stock Entity_GetTargetName(entity, String:buffer[], size)
|
||||
{
|
||||
return GetEntPropString(entity, Prop_Data, "m_iName", buffer, size);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose: SMLib
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
stock Entity_GetParentName(entity, String:buffer[], size)
|
||||
{
|
||||
return GetEntPropString(entity, Prop_Data, "m_iParent", buffer, size);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose: SMLib
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
stock Entity_GetHammerID(entity)
|
||||
{
|
||||
return GetEntProp(entity, Prop_Data, "m_iHammerID");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose: SMLib
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
stock Entity_GetClassName(entity, String:buffer[], size)
|
||||
{
|
||||
GetEntPropString(entity, Prop_Data, "m_iClassname", buffer, size);
|
||||
|
||||
if (buffer[0] == '\0') {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose: SMLib
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
stock Entity_GetEntityFromHammerID(hammerID)
|
||||
{
|
||||
for (new i = 0; i < 4096; i++)
|
||||
{
|
||||
if (IsValidEntity(i) && Entity_GetHammerID(i) == hammerID)
|
||||
{
|
||||
if (IsValidEntity(i))
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
public SharedPlugin:__pl_entWatch =
|
||||
{
|
||||
name = "entWatch",
|
||||
file = "entWatch.smx",
|
||||
#if defined REQUIRE_PLUGIN
|
||||
required = 1
|
||||
#else
|
||||
required = 0
|
||||
#endif
|
||||
};
|
||||
|
||||
#if !defined REQUIRE_PLUGIN
|
||||
public __pl_entWatch_SetNTVOptional()
|
||||
{
|
||||
MarkNativeAsOptional("entWatch_IsClientBanned");
|
||||
MarkNativeAsOptional("entWatch_BanClient");
|
||||
MarkNativeAsOptional("entWatch_UnbanClient");
|
||||
MarkNativeAsOptional("entWatch_IsSpecialItem");
|
||||
MarkNativeAsOptional("entWatch_HasSpecialItem");
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,271 @@
|
||||
"Phrases"
|
||||
{
|
||||
"welcome"
|
||||
{
|
||||
"en" "The current map is supported by this plugin."
|
||||
}
|
||||
"use"
|
||||
{
|
||||
"en" "used"
|
||||
}
|
||||
"pickup"
|
||||
{
|
||||
"en" "has picked up"
|
||||
}
|
||||
"drop"
|
||||
{
|
||||
"en" "has dropped"
|
||||
}
|
||||
"death"
|
||||
{
|
||||
"en" "has died with"
|
||||
}
|
||||
"disconnect"
|
||||
{
|
||||
"en" "disconnected with"
|
||||
}
|
||||
"cookies loading"
|
||||
{
|
||||
"en" "Please wait. Your settings are still loading."
|
||||
}
|
||||
"status restricted"
|
||||
{
|
||||
"en" "You are currently restricted."
|
||||
}
|
||||
"status unrestricted"
|
||||
{
|
||||
"en" "You are currently unrestricted."
|
||||
}
|
||||
"display enabled"
|
||||
{
|
||||
"en" "The hud is now enabled."
|
||||
}
|
||||
"display disabled"
|
||||
{
|
||||
"en" "The hud is now disabled."
|
||||
}
|
||||
"hudpos"
|
||||
{
|
||||
"en" "hud position is saved."
|
||||
}
|
||||
"hudpos_wrong"
|
||||
{
|
||||
"en" "hud position is wrong."
|
||||
}
|
||||
"hudcolor"
|
||||
{
|
||||
"en" "hud color is saved."
|
||||
}
|
||||
"hudcolor_wrong"
|
||||
{
|
||||
"en" "hud color is wrong."
|
||||
}
|
||||
"restricted"
|
||||
{
|
||||
"en" "restricted"
|
||||
}
|
||||
"unrestricted"
|
||||
{
|
||||
"en" "unrestricted"
|
||||
}
|
||||
"entWatch Commands"
|
||||
{
|
||||
"en" "entWatch Commands"
|
||||
}
|
||||
"List Banned Clients"
|
||||
{
|
||||
"en" "List Banned Clients"
|
||||
}
|
||||
"Ban a Client"
|
||||
{
|
||||
"en" "Ban a Client"
|
||||
}
|
||||
"Transfer an item"
|
||||
{
|
||||
"en" "Transfer an item"
|
||||
}
|
||||
"Give an Item"
|
||||
{
|
||||
"en" "Give an Item"
|
||||
}
|
||||
"Unban a Client"
|
||||
{
|
||||
"en" "Unban a Client"
|
||||
}
|
||||
"Banned Clients"
|
||||
{
|
||||
"en" "Banned Clients"
|
||||
}
|
||||
"No Banned Clients"
|
||||
{
|
||||
"en" "No Banned Clients"
|
||||
}
|
||||
"No transferable items currently held"
|
||||
{
|
||||
"en" "No transferable items currently held"
|
||||
}
|
||||
"No Give items currently held"
|
||||
{
|
||||
"en" "No Give items currently held"
|
||||
}
|
||||
"Item no longer available"
|
||||
{
|
||||
"en" "Item no longer available"
|
||||
}
|
||||
"Item is already picked up"
|
||||
{
|
||||
"en" "Item is already picked up"
|
||||
}
|
||||
"Transfer iTarget"
|
||||
{
|
||||
"en" "Transfer iTarget"
|
||||
}
|
||||
"Give iTarget"
|
||||
{
|
||||
"en" "Give iTarget"
|
||||
}
|
||||
"Receiver is not valid anymore"
|
||||
{
|
||||
"en" "Receiver is not valid anymore"
|
||||
}
|
||||
"The receivers team differs from the targets team"
|
||||
{
|
||||
"en" "The receivers team differs from the targets team"
|
||||
}
|
||||
"transfered all items"
|
||||
{
|
||||
"en" "transfered all items from"
|
||||
}
|
||||
"transfered"
|
||||
{
|
||||
"en" "transfered"
|
||||
}
|
||||
"tai to"
|
||||
{
|
||||
"en" "to"
|
||||
}
|
||||
"Item is not valid anymore"
|
||||
{
|
||||
"en" "Item is not valid anymore"
|
||||
}
|
||||
"The receivers team is not CT or TER"
|
||||
{
|
||||
"en" "The receivers team is not CT or TER"
|
||||
}
|
||||
"give item"
|
||||
{
|
||||
"en" "give item"
|
||||
}
|
||||
"Item dont pickable"
|
||||
{
|
||||
"en" "Item dont pickable"
|
||||
}
|
||||
"Ban Time for"
|
||||
{
|
||||
"en" "Ban Time for"
|
||||
}
|
||||
"Temporary"
|
||||
{
|
||||
"en" "Temporary"
|
||||
}
|
||||
"Minutes"
|
||||
{
|
||||
"en" "Minutes"
|
||||
}
|
||||
"Hour"
|
||||
{
|
||||
"en" "Hour"
|
||||
}
|
||||
"Day"
|
||||
{
|
||||
"en" "Day"
|
||||
}
|
||||
"Week"
|
||||
{
|
||||
"en" "Week"
|
||||
}
|
||||
"Month"
|
||||
{
|
||||
"en" "Month"
|
||||
}
|
||||
"Permanent"
|
||||
{
|
||||
"en" "Permanent"
|
||||
}
|
||||
"Banned Client"
|
||||
{
|
||||
"en" "Banned Client"
|
||||
}
|
||||
"Duration"
|
||||
{
|
||||
"en" "Duration"
|
||||
}
|
||||
"Expires"
|
||||
{
|
||||
"en" "Expires"
|
||||
}
|
||||
"Never"
|
||||
{
|
||||
"en" "Never"
|
||||
}
|
||||
"On Map Change"
|
||||
{
|
||||
"en" "On Map Change"
|
||||
}
|
||||
"Issued on"
|
||||
{
|
||||
"en" "Issued on"
|
||||
}
|
||||
"Admin SID"
|
||||
{
|
||||
"en" "Admin SID"
|
||||
}
|
||||
"Unban"
|
||||
{
|
||||
"en" "Unban"
|
||||
}
|
||||
"is temporarily restricted"
|
||||
{
|
||||
"en" "is temporarily restricted"
|
||||
}
|
||||
"is not restricted"
|
||||
{
|
||||
"en" "is not restricted"
|
||||
}
|
||||
"is permanently restricted"
|
||||
{
|
||||
"en" "is permanently restricted"
|
||||
}
|
||||
"is restricted for another"
|
||||
{
|
||||
"en" "is restricted for another"
|
||||
}
|
||||
"cookies havent loaded yet"
|
||||
{
|
||||
"en" "s cookies havent loaded yet"
|
||||
}
|
||||
"No players found"
|
||||
{
|
||||
"en" "No players found"
|
||||
}
|
||||
"Currently e-banned"
|
||||
{
|
||||
"en" "Currently e-banned"
|
||||
}
|
||||
"Edict targets"
|
||||
{
|
||||
"en" "Edict targets"
|
||||
}
|
||||
"Target is not valid"
|
||||
{
|
||||
"en" "Target is not valid"
|
||||
}
|
||||
"No one is currently holding that item"
|
||||
{
|
||||
"en" "No one is currently holding that item"
|
||||
}
|
||||
"Invalid item name"
|
||||
{
|
||||
"en" "Invalid item name"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,271 @@
|
||||
"Phrases"
|
||||
{
|
||||
"welcome"
|
||||
{
|
||||
"ru" "entwatch работает на этой карте."
|
||||
}
|
||||
"use"
|
||||
{
|
||||
"ru" "использовал"
|
||||
}
|
||||
"pickup"
|
||||
{
|
||||
"ru" "подобрал"
|
||||
}
|
||||
"drop"
|
||||
{
|
||||
"ru" "выбросил"
|
||||
}
|
||||
"death"
|
||||
{
|
||||
"ru" "умер и сбросил"
|
||||
}
|
||||
"disconnect"
|
||||
{
|
||||
"ru" "отключился из игры с"
|
||||
}
|
||||
"cookies loading"
|
||||
{
|
||||
"ru" "Пожалуйста ждите. Ваши куки еще загружаются."
|
||||
}
|
||||
"status restricted"
|
||||
{
|
||||
"ru" "Вам запрещено использовать специальное оружие."
|
||||
}
|
||||
"status unrestricted"
|
||||
{
|
||||
"ru" "Вам разрешено использовать специальное оружие."
|
||||
}
|
||||
"display enabled"
|
||||
{
|
||||
"ru" "Информация ХУД теперь включена."
|
||||
}
|
||||
"display disabled"
|
||||
{
|
||||
"ru" "Информация ХУД теперь выключена."
|
||||
}
|
||||
"hudpos"
|
||||
{
|
||||
"ru" "Позиция ХУД сохранена."
|
||||
}
|
||||
"hudpos_wrong"
|
||||
{
|
||||
"ru" "Позиция ХУД ошибочна."
|
||||
}
|
||||
"hudcolor"
|
||||
{
|
||||
"ru" "Цвет ХУД сохранён."
|
||||
}
|
||||
"hudcolor_wrong"
|
||||
{
|
||||
"ru" "Цвет ХУД ошибочен."
|
||||
}
|
||||
"restricted"
|
||||
{
|
||||
"ru" "запретил подбор итемов игроку"
|
||||
}
|
||||
"unrestricted"
|
||||
{
|
||||
"ru" "разрешил подбор итемов игроку"
|
||||
}
|
||||
"entWatch Commands"
|
||||
{
|
||||
"ru" "entWatch Команды"
|
||||
}
|
||||
"List Banned Clients"
|
||||
{
|
||||
"ru" "Список Забаненных"
|
||||
}
|
||||
"Ban a Client"
|
||||
{
|
||||
"ru" "Забанить Игрока"
|
||||
}
|
||||
"Transfer an item"
|
||||
{
|
||||
"ru" "Передать Итем"
|
||||
}
|
||||
"Give an Item"
|
||||
{
|
||||
"ru" "Выдать Итем"
|
||||
}
|
||||
"Unban a Client"
|
||||
{
|
||||
"ru" "Разбанить Игрока"
|
||||
}
|
||||
"Banned Clients"
|
||||
{
|
||||
"ru" "Забаненные Игроки"
|
||||
}
|
||||
"No Banned Clients"
|
||||
{
|
||||
"ru" "Нет Забаненных Игроков"
|
||||
}
|
||||
"No transferable items currently held"
|
||||
{
|
||||
"ru" "В настоящий момент нет передаваемых итемов"
|
||||
}
|
||||
"No Give items currently held"
|
||||
{
|
||||
"ru" "В настоящий момент нет выдаваемых итемов"
|
||||
}
|
||||
"Item no longer available"
|
||||
{
|
||||
"ru" "Итем больше не доступен"
|
||||
}
|
||||
"Item is already picked up"
|
||||
{
|
||||
"ru" "Итем уже был подобран"
|
||||
}
|
||||
"Transfer iTarget"
|
||||
{
|
||||
"ru" "Кому Передать"
|
||||
}
|
||||
"Give iTarget"
|
||||
{
|
||||
"ru" "Кому Выдать"
|
||||
}
|
||||
"Receiver is not valid anymore"
|
||||
{
|
||||
"ru" "Получатель больше не доступен"
|
||||
}
|
||||
"The receivers team differs from the targets team"
|
||||
{
|
||||
"ru" "Получатель и Отправитель находятся в разных командах"
|
||||
}
|
||||
"transfered all items"
|
||||
{
|
||||
"ru" "передал все итемы от"
|
||||
}
|
||||
"transfered"
|
||||
{
|
||||
"ru" "передал"
|
||||
}
|
||||
"tai to"
|
||||
{
|
||||
"ru" "игроку"
|
||||
}
|
||||
"Item is not valid anymore"
|
||||
{
|
||||
"ru" "Итем больше не доступен"
|
||||
}
|
||||
"The receivers team is not CT or TER"
|
||||
{
|
||||
"ru" "Получатель играет ни за CT, ни за TER"
|
||||
}
|
||||
"give item"
|
||||
{
|
||||
"ru" "выдал итем"
|
||||
}
|
||||
"Item dont pickable"
|
||||
{
|
||||
"ru" "Предмет не подбирается"
|
||||
}
|
||||
"Ban Time for"
|
||||
{
|
||||
"ru" "Время Бана для"
|
||||
}
|
||||
"Temporary"
|
||||
{
|
||||
"ru" "Временно"
|
||||
}
|
||||
"Minutes"
|
||||
{
|
||||
"ru" "Минут"
|
||||
}
|
||||
"Hour"
|
||||
{
|
||||
"ru" "Час"
|
||||
}
|
||||
"Day"
|
||||
{
|
||||
"ru" "День"
|
||||
}
|
||||
"Week"
|
||||
{
|
||||
"ru" "Неделя"
|
||||
}
|
||||
"Month"
|
||||
{
|
||||
"ru" "Месяц"
|
||||
}
|
||||
"Permanent"
|
||||
{
|
||||
"ru" "Навсегда"
|
||||
}
|
||||
"Banned Client"
|
||||
{
|
||||
"ru" "Забаненный Игрок"
|
||||
}
|
||||
"Duration"
|
||||
{
|
||||
"ru" "Продолжительность"
|
||||
}
|
||||
"Expires"
|
||||
{
|
||||
"ru" "Истекает"
|
||||
}
|
||||
"Never"
|
||||
{
|
||||
"ru" "Никогда"
|
||||
}
|
||||
"On Map Change"
|
||||
{
|
||||
"ru" "По окончанию карты"
|
||||
}
|
||||
"Issued on"
|
||||
{
|
||||
"ru" "Выдано"
|
||||
}
|
||||
"Admin SID"
|
||||
{
|
||||
"ru" "SID Админа"
|
||||
}
|
||||
"Unban"
|
||||
{
|
||||
"ru" "Разбанить"
|
||||
}
|
||||
"is temporarily restricted"
|
||||
{
|
||||
"ru" "запрещено подбирать итемы временно"
|
||||
}
|
||||
"is not restricted"
|
||||
{
|
||||
"ru" "не имеет блокировки по поднятию итемов"
|
||||
}
|
||||
"is permanently restricted"
|
||||
{
|
||||
"ru" "запрещено подбирать итемы навсегда"
|
||||
}
|
||||
"is restricted for another"
|
||||
{
|
||||
"ru" "запрещено подбирать итемы на"
|
||||
}
|
||||
"cookies havent loaded yet"
|
||||
{
|
||||
"ru" "куки не были загружены"
|
||||
}
|
||||
"No players found"
|
||||
{
|
||||
"ru" "Игроки не найдены"
|
||||
}
|
||||
"Currently e-banned"
|
||||
{
|
||||
"ru" "Текущие ЕБаны"
|
||||
}
|
||||
"Edict targets"
|
||||
{
|
||||
"ru" "Итемы"
|
||||
}
|
||||
"Target is not valid"
|
||||
{
|
||||
"ru" "Цель не доступна"
|
||||
}
|
||||
"No one is currently holding that item"
|
||||
{
|
||||
"ru" "Никто в данный момент не владеет этим итемом"
|
||||
}
|
||||
"Invalid item name"
|
||||
{
|
||||
"ru" "Неправильное имя итема"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user