HLMOD.HU Forrás Megtekintés
- www.hlmod.hu/* AK47 Vs. M4A1
* This forces each team to have the ak47 or the m4a1. This plugins blocks all menus
* (for no buy) and drop. At the end of the aloted rounds the winner will be said and
* then the teams will switch guns.
*/
/*
Fordította: BBk - Death of Legend
*/
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>
#include <engine_stocks>
#define MAX_BLOCKED 39
#define START_STOP_ACCESS ADMIN_SLAY
new rounds = 0
new bool:ctak = true
new bool:tak = false
new twins = 0
new ctwins = 0
new check = true
new check2 = true
new Blocked_Items[MAX_BLOCKED][] = {
/* Commands */
"buy",
"buyequip",
"cl_autobuy",
"cl_rebuy",
"cl_setautobuy",
"cl_setrebuy",
"drop",
/* Pistols */
"km45",
"9x19mm",
"nighthawk",
"228compact",
"elites",
"fiveseven",
/* Shotguns */
"12gauge",
"autoshotgun",
/* Sub Machine Guns */
"smg",
"mp5",
"c90",
"mac10",
"ump45",
/* Rifles */
"cv47",
"defender",
"clarion",
"krieg552",
"m4a1",
"bullpup",
"scout",
"magnum",
"d3au1",
"krieg550",
/* Machine Gun */
"m249",
/* Equipment */
"vest",
"vesthelm",
"flash",
"hegren",
"sgren",
"defuser",
"nvgs",
"shield"
}
new prim_weapons[18] = {3, 5, 7, 8, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 30}
public client_connect(id) {
if(!get_cvar_num("amx_akm4war")) return PLUGIN_CONTINUE
client_cmd(id, "setinfo _vgui_menus 0")
return PLUGIN_CONTINUE
}
public client_infochanged(id) {
if(!get_cvar_num("amx_akm4war")) return PLUGIN_CONTINUE
new vgui_set[3]
get_user_info(id, "_vgui_menus", vgui_set, 2)
if(str_to_num(vgui_set) > 0) {
client_cmd(id, "setinfo _vgui_menus 0")
}
return PLUGIN_CONTINUE
}
public client_command(id) {
if(is_user_alive(id) && get_cvar_num("amx_akm4war")) {
new arg[16], i
read_argv(0, arg, 15)
do {
if(equali(arg, Blocked_Items[i])) return PLUGIN_HANDLED
}
while(++i < MAX_BLOCKED)
}
return PLUGIN_CONTINUE
}
public start_akm4(id) {
if (!(get_user_flags(id) & START_STOP_ACCESS)) {
if(id != 0){
client_print(id,print_console,"[AMXX] Nincs hozzaferesed!")
return PLUGIN_HANDLED
}
}
if (get_cvar_num("amx_akm4war") == 1) {
client_print(id,print_console,"[AMXX] A plugin mar be van kapcsolva!")
return PLUGIN_HANDLED
}
set_cvar_num("amx_akm4war", 1)
set_cvar_num("sv_restart", 3)
client_print(0, print_chat, "AK-M4 War kezdetet veszi!!")
return PLUGIN_HANDLED
}
public stop_akm4(id) {
if (!(get_user_flags(id) & START_STOP_ACCESS)) {
if(id != 0){
client_print(id,print_console,"[AMXX] Nincs hozzaferesed!")
return PLUGIN_HANDLED
}
}
if (get_cvar_num("amx_akm4war") == 0) {
client_print(id,print_console,"[AMXX] A plugin mar ki van kapcsolva!")
return PLUGIN_HANDLED
}
set_cvar_num("amx_akm4war", 0)
set_cvar_num("sv_restart", 3)
client_print(0, print_chat, "AK-M4 War leallitva!!")
return PLUGIN_HANDLED
}
public resethud()
{
if(!get_cvar_num("amx_akm4war")) return PLUGIN_CONTINUE
if(get_cvar_num("amx_akm4war") && get_cvar_num("amx_removebomb") && check2) {
new func_bomb = find_ent_by_class(-1, "func_bomb_target")
while(func_bomb > get_maxplayers()) { // entity would have a higher index than last player
entity_set_int(func_bomb, EV_INT_flags, FL_KILLME) // special flag setting to remove an entity
func_bomb = find_ent_by_class(func_bomb, "func_bomb_target")
}
new info_bomb = find_ent_by_class(-1, "info_bomb_target")
while(info_bomb > get_maxplayers()) { // entity would have a higher index than last player
entity_set_int(func_bomb, EV_INT_flags, FL_KILLME) // special flag setting to remove an entity
info_bomb = find_ent_by_class(info_bomb, "info_bomb_target")
}
check2 = false
}
if(!check) return PLUGIN_CONTINUE
if(get_cvar_num("amx_rounds") == rounds)
{
rounds = 0
if(ctwins > twins)
{
set_hudmessage(200,100,255,-1.0,0.35,2,6.0,5.0,0.1,0.5,2)
if(tak)
show_hudmessage(0, "CT csapat (Ak-47) Nyert! %d / %d", ctwins, twins)
else
show_hudmessage(0, "CT csapat (M4a1) Nyert! %d / %d", ctwins, twins)
}
else if(ctwins < twins)
{
set_hudmessage(200,100,255,-1.0,0.35,2,6.0,5.0,0.1,0.5,2)
if(ctak)
show_hudmessage(0, "T csapat (Ak-47) Nyert! %d / %d", twins, ctwins)
else
show_hudmessage(0, "T csapat (M4a1) Nyert! %d / %d", twins, ctwins)
}
else if(ctwins == twins)
{
set_hudmessage(200,100,255,-1.0,0.35,2,6.0,5.0,0.1,0.5,2)
show_hudmessage(0, "Dontetlen! %d / %d", twins, ctwins)
}
ctwins = 0
twins = 0
if(ctak)
{
ctak = false
tak = true
}
else
{
tak = false
ctak = true
}
}
if(ctak)
client_print(0, print_chat, "Korok: %d Ak gyozelem: %d M4 gyozelem: %d Leadott korok: %d",rounds,twins,ctwins,get_cvar_num("amx_rounds") - rounds)
else if(tak)
client_print(0, print_chat, "Korok: %d Ak gyozelem: %d M4 gyozelem: %d Leadott korok: %d",rounds,ctwins,twins,get_cvar_num("amx_rounds") - rounds)
check = false
rounds++
if(!get_cvar_num("amx_akm4war")) return PLUGIN_CONTINUE
for(new id = 1; id <= get_maxplayers(); id++)
{
if(is_user_alive(id))
{
new team = get_user_team(id)
// drop weapons
new nwpn[32]
for(new i = 0; i < 18; i++)
{
if(user_has_weapon(id, prim_weapons[i]))
{
get_weaponname(prim_weapons[i], nwpn, 31)
engclient_cmd(id, "drop", nwpn)
}
}
if(team == 2 && tak && !ctak)
{
//give ak
give_item(id,"weapon_ak47")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
}
else if(team == 2 && !tak && ctak)
{
//give m4a1
give_item(id,"weapon_m4a1")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
}
else if(team == 1 && ctak && !tak)
{
give_item(id,"weapon_ak47")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
}
else if(team == 1 && !ctak && tak)
{
give_item(id,"weapon_m4a1")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
}
}
}
return PLUGIN_CONTINUE
}
public t_win()
{
if(get_cvar_num("amx_akm4war"))
{
twins++
check = true
}
}
public ct_win()
{
if(get_cvar_num("amx_akm4war"))
{
ctwins++
check = true
}
}
public plugin_init() {
register_plugin("AK-47 vs. M4A1", "0.2c", "Petey B")
register_event("ResetHUD","resethud","b")
register_cvar("amx_rounds","5")
register_cvar("amx_akm4war","1")
register_cvar("amx_removebomb","1")
register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
register_clcmd("amx_akm4_start", "start_akm4", START_STOP_ACCESS, "Start AK47 vs. M4A1")
register_clcmd("amx_akm4_end", "stop_akm4", START_STOP_ACCESS, "Stop AK47 vs. M4A1")
check = true
check2 = true
}