04/10/2021, 06:29 PM
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fakemeta>
//----------------------------------------------------------------------------------------------
/* ACCESS LEVELS */
new ACCESS_MENU
new ACCESS_SETTINGS
/* MENU FLAGS */
new MenuFlags[33]
new MenuPFlags[33]
new g_menuPlayers[33][32]
new g_menuPlayersNum[33]
new MenuGrv = 5
new MenuHP = 50
new MenuSpd = 40
/* CONFIG SETUP */
new Team3
new bool:ChickenTeam1
new bool:ChickenTeam2
new bool:ChickenTeam3
new bool:ChickenAll
new bool:HealthProtect
new bool:ChickenTalk
new bool:ChickenTeamTalk
new bool:ChickenSelf
new bool:ChickenBomb
new bool:ChickenGlow
new bool:ChickenGrenades
new ChickenHealth
new ChickenGravity
new ChickenSpeed
new ChickenHP = 35
/* OTHER */
new feather
new bool:cs_running
new bool:UserFlags[33]
new bool:CSound[33]
new bool:FreezeTime
new ChickName[33][32]
new UserOldName[33][32]
new bool:ChickenName
new bomber
new bool:nodmg[33]
new gmsgSetFOV
new ChickenVision = 135
new Float:cView[3] = {0.0, 0.0, 0.0}
new Float:nView[3] = {0.0, 0.0, 17.0}
//----------------------------------------------------------------------------------------------
public c_chicken(id, level, cid)
{
if(id != 0)
{
if(!cmd_access(id, level, cid, 2))
{
return PLUGIN_HANDLED
}
}
new arg[32]
read_argv(1, arg, 31)
if(arg[0] == '@')
{
new users[32], inum, team = str_to_num(arg[1])
get_players(users, inum, "a")
if(team == 1 && ChickenTeam1 == false)
{
ChickenTeam1 = true
for(new i = 0; i < inum; ++i)
{
if(get_user_team(users[i]) == 1)
{
chicken_user(users[i])
}
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_T_TRANSF_INTO_CHICKENS")
}
if(get_cvar_num("amx_chicken_sfx"))
{
chicken_sound(0)
}
return PLUGIN_HANDLED
}
else if(team == 1 && ChickenTeam1)
{
console_print(id, "%L", id, "TEAM_T_ALREADY_CHICKENS")
}
else if(team == 2 && ChickenTeam2 == false)
{
ChickenTeam2 = true
for(new i = 0; i < inum; ++i)
{
if(get_user_team(users[i]) == 2)
{
chicken_user(users[i])
}
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_CT_TRANSF_INTO_CHICKENS")
}
if(get_cvar_num("amx_chicken_sfx"))
{
chicken_sound(0)
}
return PLUGIN_HANDLED
}
else if(team == 2 && ChickenTeam2)
{
console_print(id, "%L", id, "TEAM_CT_ALREADY_CHICKENS")
}
else if(team == 3 && cs_running && ChickenTeam3 == false)
{
new map[32]
get_mapname(map, 31)
if(!contain(map, "as_"))
{
ChickenTeam3 = true
chicken_user(Team3)
if(get_cvar_num("amx_chicken_sfx"))
{
emit_sound(Team3, CHAN_ITEM, "misc/chicken0.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
return PLUGIN_HANDLED
}
else if(team == 3 && cs_running && ChickenTeam3)
{
console_print(id, "%L", id, "VIP_ALREADY_CHICKEN")
}
else
{
console_print(id, cs_running ? ("%L", id, "USAGE_CH_WITH_VIP") : ("%L", id, "USAGE_CH_WITHOUT_VIP"))
}
return PLUGIN_HANDLED
}
else if(arg[0] == '*')
{
if(ChickenAll == false)
{
ChickenAll = true
chicken_user(0)
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "EVERY1_TRANSF_INTO_CHICKENS")
if(get_cvar_num("amx_chicken_sfx"))
{
chicken_sound(0)
}
}
else
{
console_print(id, "%L", id, "EVERY1_ALREADY_CHICKENS")
}
return PLUGIN_HANDLED
}
else
{
new user[32], player = cmd_target(id, arg, 7)
get_user_name(player, user, 31)
if(!player)
{
return PLUGIN_HANDLED
}
if(UserFlags[player] == false)
{
chicken_user(player)
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
if(get_cvar_num("amx_chicken_sfx"))
{
emit_sound(player, CHAN_ITEM, "misc/chicken0.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
show_hudmessage(0, "%L", LANG_PLAYER, "PL_TRANSF_INTO_CHICKEN", user)
}
else
{
console_print(id, "%L", id, "PL_ALREADY_CHICKEN", user)
}
}
return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
public c_unchicken(id, level, cid)
{
if(id != 0)
{
if(!cmd_access(id, level, cid, 2))
{
return PLUGIN_HANDLED
}
}
new arg[32]
read_argv(1, arg, 31)
if(arg[0] == '@')
{
new users[32], inum, team = str_to_num(arg[1])
get_players(users, inum, "a")
if(team == 1 && ChickenTeam1)
{
ChickenTeam1 = false
for(new i = 0; i < inum; ++i)
{
if(get_user_team(users[i]) == 1)
{
unchicken_user(users[i])
}
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_T_REST_INTO_HUMANS")
}
if(get_cvar_num("amx_chicken_sfx"))
{
chicken_sound(5)
}
return PLUGIN_HANDLED
}
else if(team == 1 && ChickenTeam1 == false)
{
console_print(id, "%L", id, "TEAM_T_ALREADY_HUMANS")
}
else if(team == 2 && ChickenTeam2)
{
ChickenTeam2 = false
for(new i = 0; i < inum; ++i)
{
if(get_user_team(users[i]) == 2)
{
unchicken_user(users[i])
}
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_CT_REST_INTO_HUMANS")
}
if(get_cvar_num("amx_chicken_sfx"))
{
chicken_sound(5)
}
return PLUGIN_HANDLED
}
else if(team == 2 && ChickenTeam2 == false)
{
console_print(id, "%L", id, "TEAM_CT_ALREADY_HUMANS")
}
else if(team == 3 && cs_running && ChickenTeam3)
{
new map[32]
get_mapname(map, 31)
if(!contain(map, "as_"))
{
ChickenTeam3 = false
unchicken_user(Team3)
if(get_cvar_num("amx_chicken_sfx"))
{
emit_sound(Team3, CHAN_ITEM, "misc/cow.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
return PLUGIN_HANDLED
}
else if(team == 3 && cs_running && ChickenTeam3 == false)
{
console_print(id, "%L", id, "VIP_ALREADY_HUMAN")
}
else
{
console_print(id, cs_running ? ("%L", id, "USAGE_UNCH_WITH_VIP") : ("%L", id, "USAGE_UNCH_WITHOUT_VIP"))
}
return PLUGIN_HANDLED
}
else if(arg[0] == '*')
{
if(ChickenAll == true)
{
ChickenAll = false
unchicken_user(0)
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "EVERY1_REST_INTO_HUMANS")
if(get_cvar_num("amx_chicken_sfx"))
{
chicken_sound(5)
}
}
else
{
console_print(id, "%L", id, "EVERY1_ALREADY_HUMANS")
}
return PLUGIN_HANDLED
}
else
{
new user[32], player = cmd_target(id, arg, 7)
get_user_name(player, user, 31)
if(!player)
{
return PLUGIN_HANDLED
}
if(UserFlags[player])
{
unchicken_user(player)
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
if(get_cvar_num("amx_chicken_sfx"))
{
emit_sound(player, CHAN_ITEM, "misc/cow.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
show_hudmessage(0, "%L", LANG_PLAYER, "PL_RESTORED_INTO_HUMAN", user)
}
else
{
console_print(id, "%L", id, "PL_ALREADY_HUMAN", user)
}
}
return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
/* SAY COMMAND CODE */
public chickensay(id)
{
if(is_user_bot(id))
{
return PLUGIN_CONTINUE
}
new words[32]
read_args(words, 31)
if(UserFlags[id])
{
if(ChickenSelf)
{
if(equali(words, "^"/unchickenme^""))
{
if(!is_user_alive(id))
{
client_print(id, 3, "%L", id, "CANT_TURN_BACK_INTO_HUMAN")
}
else
{
unchicken_user(id)
emit_sound(id, CHAN_ITEM, "misc/cow.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "REST_HUMAN_HIMSELF", UserOldName[id])
user_kill(id, 1)
}
return PLUGIN_HANDLED
}
}
if(ChickenTalk && is_user_alive(id) && !is_user_bot(id))
{
saying_match(id)
return PLUGIN_HANDLED
}
}
else if(equali(words, "^"/chickenme^""))
{
if(ChickenSelf)
{
if(get_user_health(id) <= ChickenHP)
{
client_print(id, 3, "%L", id, "CANT_TURN_CHICKEN_LOW_HEALTH")
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
client_print(id, 3, "%L", id, "CANT_TURN_CHICKEN_DEATH")
return PLUGIN_HANDLED
}
else
{
chicken_user(id)
emit_sound(id, CHAN_ITEM, "misc/chicken0.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
new user[33]
get_user_name(id, user, 32)
show_hudmessage(0, "%L", LANG_PLAYER, "TRANSF_HIMSELF_INTO_CHICKEN", user)
return PLUGIN_HANDLED
}
}
}
return PLUGIN_CONTINUE
}
//----------------------------------------------------------------------------------------------
/* SAY_TEAM COMMAND CODE */
public chickenteamsay(id)
{
if(ChickenTeamTalk && UserFlags[id] && is_user_alive(id) && !is_user_bot(id))
{
saying_match(id)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
//----------------------------------------------------------------------------------------------
/* SAY/SAY_TEAM CHICKEN CODE */
saying_match(id)
{
new user[33], ChickenMsg = random(4)
get_user_name(id, user, 32)
if(ChickenMsg == 0)
{
client_print(0, 3, "%s: buk buk", user)
chicken_sound(1)
}
else if(ChickenMsg == 1)
{
client_print(0, 3, "%s: buk buk", user)
chicken_sound(2)
}
else if(ChickenMsg == 2)
{
client_print(0, 3, "%s: buk buk", user)
chicken_sound(3)
}
else
{
client_print(0, 3, "%s: buGAWK", user)
chicken_sound(4)
}
return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
/* SOUND SFX CODE */
chicken_sound(sndno)
{
if(!get_cvar_num("amx_chicken_sfx"))
{
return PLUGIN_HANDLED
}
new users[32], inum
get_players(users, inum, "c")
for(new i = 0; i < inum; ++i)
{
switch(sndno)
{
case 0: client_cmd(users[i], "speak sound/misc/chicken0")
case 1: client_cmd(users[i], "speak sound/misc/chicken1")
case 2: client_cmd(users[i], "speak sound/misc/chicken2")
case 3: client_cmd(users[i], "speak sound/misc/chicken3")
case 4: client_cmd(users[i], "speak sound/misc/chicken4")
case 5: client_cmd(users[i], "speak sound/misc/cow")
}
}
return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
/* SHOW MENU CODE */
public amx_chick_menu(id, level, cid)
{
if(!cmd_access(id, level, cid, 1))
{
return PLUGIN_HANDLED
}
MenuFlags[id] = 1
show_chickenmenu(id)
return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
show_chickenmenu(id)
{
new menuoption[10][64], smenu[64], menubody[512]
new keys
for(new z = 0; z < 10; ++z) menuoption[z][0] = 0 // clear string
switch(MenuFlags[id])
{
case 1: /* Main Menu */
{
format(smenu, 63, "%L", id, "MAIN_MENU")
format(menuoption[0], 63, "1. %L^n", id, "PLAYERS_MENU")
format(menuoption[1], 63, "2. %L^n", id, "TEAM_MENU")
if(id && get_user_flags(id) & ACCESS_SETTINGS != ACCESS_SETTINGS) {}
else
{
format(menuoption[2], 63, "3. %L^n", id, "SETTINGS_MENU")
keys |= (1<<2)
}
format(menuoption[9], 63, "^n0. %L", id, "EXIT")
keys |= (1<<0)|(1<<1)|(1<<9)
format(menubody, 511, "%L", id, "CHICKENMOD_OPTIONS",
smenu, menuoption[0], menuoption[1], menuoption[2], menuoption[3], menuoption[4],
menuoption[5], menuoption[6], menuoption[7], menuoption[8], menuoption[9])
show_menu(id, keys, menubody, -1, "[ChickenMod]")
}
case 2: /* Players Menu */
{
switch(MenuPFlags[id])
{
default:
{
get_players(g_menuPlayers[id], g_menuPlayersNum[id])
new b = 0, i, user[32], menu = MenuPFlags[id], start = menu * 7
if(start >= g_menuPlayersNum[id])
{
start = MenuPFlags[id] = 0
}
new len = format(menubody, 511, "%L", id, "CHICKENMOD_PLAYERS",
++menu, (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0)))
new pkeys = (1<<8)|(1<<9), end = start + 7
if(end > g_menuPlayersNum[id])
{
end = g_menuPlayersNum[id]
}
for(new a = start; a < end; ++a)
{
i = g_menuPlayers[id][a]
get_user_name(i, user, 31)
if(!is_user_alive(i))
{
++b
len += format(menubody[len], 511 - len, "\d%d. %s\R%L^n\w", b, user, id, "DEAD")
}
else
{
pkeys |= (1<<b)
len += format(menubody[len], 511 - len, "%d. %s\R\y%L^n\w", ++b, user, id, UserFlags[i] ? "CHICKEN" : "HUMAN")
}
}
if(end != g_menuPlayersNum[id])
{
len += format(menubody[len], 511 - len, "^n8. %L^n^n9. %L^n0. %L", id, "MORE", id, "BACK", id, "EXIT")
pkeys |= (1<<7)
}
else
{
len += format(menubody[len], 511 - len, "^n9. %L^n0. %L", id, "BACK", id, "EXIT")
}
show_menu(id, pkeys, menubody, -1, "[ChickenMod]")
}
}
}
case 3: /* Team Menu */
{
format(smenu, 63, "%L", id, "TEAM_MENU")
format(menuoption[0], 63, "1. %L\R\y%L^n\w", id, "TERRORISTS", id, ChickenTeam1 ? "YES" : "NO")
format(menuoption[1], 63, "2. %L\R\y%L^n\w", id, "COUNTER-TERRORISTS", id, ChickenTeam2 ? "YES" : "NO")
format(menuoption[2], 63, "3. %L\R\y%L^n\w", id, "EVERYONE", id, ChickenAll ? "YES" : "NO")
new map[32]
get_mapname(map, 31)
if(equali(map, "as_", 3)) // KWo - 20.11.2005
{
format(menuoption[3], 63, "4. VIP\R\y%L^n\w", id, ChickenTeam3 ? "YES" : "NO")
}
format(menuoption[8], 63, "^n9. %L", id, "BACK")
format(menuoption[9], 63, "^n0. %L", id, "EXIT")
keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<8)|(1<<9)
format(menubody, 511, "%L", id, "CHICKENMOD_OPTIONS",
smenu, menuoption[0], menuoption[1], menuoption[2], menuoption[3], menuoption[4],
menuoption[5], menuoption[6], menuoption[7], menuoption[8], menuoption[9])
show_menu(id, keys, menubody, -1, "[ChickenMod]")
}
case 4: /* Setting Menu 1*/
{
format(smenu, 63, "%L", id, "SETTINGS_MENU")
format(menuoption[0], 63, "1. %L\R\y%L^n\w", id, "CHICKEN_BOMBING", id, ChickenBomb ? "ON" : "OFF")
format(menuoption[1], 63, "2. %L\R\y%L^n\w", id, "CHICKEN_GRENADES", id, ChickenGrenades ? "ON" : "OFF")
format(menuoption[2], 63, "3. %L\R\y%L^n\w", id, "CHICKEN_GLOWING", id, ChickenGlow ? "ON" : "OFF")
format(menuoption[3], 63, "4. %L\R\y%L^n\w", id, "HEALTH_PROTECTION", id, HealthProtect ? "ON" : "OFF")
format(menuoption[4], 63, "5. %L\R\y%L^n\w", id, "CHICKEN_NAMING", id, ChickenName ? "ON" : "OFF")
format(menuoption[5], 63, "6. %L\R\y%L^n\w", id, "CHICKEN_SELF_ABILITY", id, ChickenSelf ? "ON" : "OFF")
format(menuoption[6], 63, "7. %L\R\y%L^n^n\w", id, "CHICKEN_TALKING", id, ChickenTalk ? "ON" : "OFF")
format(menuoption[7], 63, "8. %L^n^n", id, "MORE")
format(menuoption[8], 63, "9. %L^n", id, "BACK")
format(menuoption[9], 63, "0. %L", id, "EXIT")
keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
format(menubody, 511, "%L", id, "CHICKENMOD_OPTIONS",
smenu, menuoption[0], menuoption[1], menuoption[2], menuoption[3], menuoption[4],
menuoption[5], menuoption[6], menuoption[7], menuoption[8], menuoption[9])
show_menu(id, keys, menubody, -1, "[ChickenMod]")
}
case 5: /* Setting Menu 2*/
{
format(smenu, 63, "%L", id, "SETTINGS_MENU")
format(menuoption[0], 63, "1. %L\R\y%L^n\w", id, "CHICKEN_TEAM_TALKING", id, ChickenTeamTalk ? "ON" : "OFF")
format(menuoption[1], 63, ChickenSelf ? "2. %L\R\y%i^n\w" : "\d2. %L\R%i^n\w", id, "NOT_ALLOWED_CHICKEN", ChickenHP)
format(menuoption[2], 63, "3. %L\R\y%i^n\w", id, "CHICKEN_HEALTH", ChickenHealth)
format(menuoption[3], 63, "4. %L\R\y%i^n\w", id, "CHICKEN_GRAVITY", ChickenGravity)
format(menuoption[4], 63, "5. %L\R\y%i^n\w", id, "CHICKEN_SPEED", ChickenSpeed)
format(menuoption[5], 63, "6. %L\R\y%i^n\w", id, "CHICKEN_VISION", ChickenVision)
format(menuoption[6], 63, "7. %L\R\y%L^n^n\w", id, "CHICKEN_SPEC_EFF", id, get_cvar_num("amx_chicken_sfx") ? "ON" : "OFF")
format(menuoption[8], 63, "9. %L^n", id, "BACK")
format(menuoption[9], 63, "0. %L", id, "EXIT")
keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<8)|(1<<9)
format(menubody, 511, "%L", id, "CHICKENMOD_OPTIONS",
smenu, menuoption[0], menuoption[1], menuoption[2], menuoption[3], menuoption[4],
menuoption[5], menuoption[6], menuoption[7], menuoption[8], menuoption[9])
show_menu(id, keys, menubody, -1, "[ChickenMod]")
}
}
return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
/* ACTION MENU CODE */
public action_chickenmenu(id, key)
{
if(MenuFlags[id] == 1)
{
switch(key)
{
case 0: MenuFlags[id] = 2 // PLAYERS MENU BUTTON (1)
case 1: MenuFlags[id] = 3 // TEAM MENU BUTTON (2)
case 2: MenuFlags[id] = 4 // SETTINGS MENU BUTTON (3)
case 9: // EXIT BUTTON (0)
{
// Menu Fix (Popup)
MenuFlags[id] = 0
return PLUGIN_HANDLED
}
}
// Bypass Update System
show_chickenmenu(id)
return PLUGIN_HANDLED
}
else if(MenuFlags[id] == 2)
{
switch(key)
{
case 7: // MORE BUTTON (8)
{
++MenuPFlags[id]
// Bypass Update System
show_chickenmenu(id)
return PLUGIN_HANDLED
}
case 8: // BACK BUTTON (9)
{
if(MenuPFlags[id] > 0)
{
// Bypass Update System
--MenuPFlags[id]
show_chickenmenu(id)
return PLUGIN_HANDLED
}
else
{
// Bypass Update System
MenuFlags[id] = 1
show_chickenmenu(id)
return PLUGIN_HANDLED
}
}
case 9: // EXIT BUTTON (0)
{
// Menu Fix (Popup)
MenuFlags[id] = 0
return PLUGIN_HANDLED
}
default:
{
new player = g_menuPlayers[id][MenuPFlags[id] * 7 + key]
new user[33]
get_user_name(player, user, 32)
if(UserFlags[player])
{
unchicken_user(player)
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
if(get_cvar_num("amx_chicken_sfx"))
{
emit_sound(player, CHAN_ITEM, "misc/cow.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
show_hudmessage(0, "%L", LANG_PLAYER, "PL_RESTORED_INTO_HUMAN", user)
}
else
{
chicken_user(player)
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
if(get_cvar_num("amx_chicken_sfx"))
{
emit_sound(player, CHAN_ITEM, "misc/chicken0.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
show_hudmessage(0, "%L", LANG_PLAYER, "PL_TRANSF_INTO_CHICKEN", user)
}
}
}
}
else if(MenuFlags[id] == 3)
{
new users[32], inum
get_players(users, inum, "a")
switch(key)
{
case 0:
{
if(ChickenTeam1 == false)
{
ChickenTeam1 = true
for(new i = 0; i < inum; ++i)
{
if(get_user_team(users[i]) == 1)
{
chicken_user(users[i])
}
if(get_cvar_num("amx_chicken_sfx"))
{
chicken_sound(0)
}
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_T_TRANSF_INTO_CHICKENS")
}
}
else
{
ChickenTeam1 = false
for(new i = 0; i < inum; ++i)
{
if(get_user_team(users[i]) == 1)
{
unchicken_user(users[i])
}
if(get_cvar_num("amx_chicken_sfx"))
{
chicken_sound(5)
}
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_T_REST_INTO_HUMANS")
}
}
}
case 1:
{
if(ChickenTeam2 == false)
{
ChickenTeam2 = true
for(new i = 0; i < inum; ++i)
{
if(get_user_team(users[i]) == 2)
{
chicken_user(users[i])
}
if(get_cvar_num("amx_chicken_sfx"))
{
chicken_sound(0)
}
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_CT_TRANSF_INTO_CHICKENS")
}
}
else
{
ChickenTeam2 = false
for(new i = 0; i < inum; ++i)
{
if(get_user_team(users[i]) == 2)
{
unchicken_user(users[i])
}
if(get_cvar_num("amx_chicken_sfx"))
{
chicken_sound(5)
}
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_CT_REST_INTO_HUMANS")
}
}
}
case 2:
{
if(ChickenAll == false)
{
ChickenAll = true
chicken_user(0)
if(get_cvar_num("amx_chicken_sfx"))
{
chicken_sound(0)
}
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "EVERY1_TRANSF_INTO_CHICKENS")
}
else
{
ChickenAll = false
unchicken_user(0)
if(get_cvar_num("amx_chicken_sfx"))
{
chicken_sound(5)
}
set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "EVERY1_REST_INTO_HUMANS")
}
}
case 3:
{
if(cs_running)
{
new map[32]
get_mapname(map, 31)
if(!contain(map, "as_"))
{
if(ChickenTeam3 == false)
{
ChickenTeam3 = true
chicken_user(Team3)
if(get_cvar_num("amx_chicken_sfx"))
{
emit_sound(Team3, CHAN_ITEM, "misc/chicken0.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
else if(ChickenTeam3)
{
ChickenTeam3 = false
unchicken_user(Team3)
if(get_cvar_num("amx_chicken_sfx"))
{
emit_sound(Team3, CHAN_ITEM, "misc/cow.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
}
}
}
case 8: // BACK BUTTON (9)
{
// Bypass Update System
MenuFlags[id] = 1
show_chickenmenu(id)
return PLUGIN_HANDLED
}
case 9: // EXIT BUTTON (0)
{
// Menu Fix (Popup)
MenuFlags[id] = 0
return PLUGIN_HANDLED
}
}
}
else if(MenuFlags[id] == 4)
{
switch(key)
{
case 0:
{
ChickenBomb ? (ChickenBomb = false) : (ChickenBomb = true)
}
case 1:
{
ChickenGrenades ? (ChickenGrenades = false) : (ChickenGrenades = true)
}
case 2:
{
ChickenGlow ? (ChickenGlow = false) : (ChickenGlow = true)
call_glow(0)
}
case 3:
{
HealthProtect ? (HealthProtect = false) : (HealthProtect = true)
}
case 4:
{
ChickenName ? (ChickenName = false) : (ChickenName = true)
}
case 5:
{
ChickenSelf ? (ChickenSelf = false) : (ChickenSelf = true)
}
case 6:
{
ChickenTalk ? (ChickenTalk = false) : (ChickenTalk = true)
}
case 7: // MORE BUTTON (8)
{
// Bypass Update System
MenuFlags[id] = 5
show_chickenmenu(id)
return PLUGIN_HANDLED
}
case 8: // BACK BUTTON (9)
{
// Bypass Update System
MenuFlags[id] = 1
show_chickenmenu(id)
return PLUGIN_HANDLED
}
case 9: // EXIT BUTTON (0)
{
// Menu Fix (Popup)
MenuFlags[id] = 0
return PLUGIN_HANDLED
}
}
}
else if(MenuFlags[id] == 5)
{
switch(key)
{
case 0:
{
ChickenTeamTalk ? (ChickenTeamTalk = false) : (ChickenTeamTalk = true)
}
case 1:
{
if(!ChickenSelf)
{
// Bypass Update System
show_chickenmenu(id)
return PLUGIN_HANDLED
}
else if(ChickenHP + MenuGrv > 100 || ChickenHP > 100)
{
ChickenHP = 0
}
else
{
ChickenHP += MenuGrv
}
}
case 2:
{
new health = ChickenHealth
if(HealthProtect)
{
if(health + MenuHP > 255 || health > 255)
{
ChickenHealth = 1
}
else
{
ChickenHealth = (health += MenuHP)
}
}
else
{
ChickenHealth = (health += MenuHP)
}
}
case 3:
{
new gravity = ChickenGravity
if(gravity + MenuGrv > 100 || gravity > 100)
{
ChickenGravity = 0
}
else
{
ChickenGravity = (gravity += MenuGrv)
}
call_gravity(0) // Update all Chickens to new gravity setting
}
case 4:
{
new speed = ChickenSpeed
if(speed + MenuSpd > 400 || speed > 400)
{
ChickenSpeed = 0
}
else
{
ChickenSpeed = (speed += MenuSpd)
}
call_speed(0) // Update all Chickens to new speed setting
}
case 5:
{
if(ChickenVision + MenuGrv > 255 || ChickenVision > 255)
{
ChickenVision = 0
}
else
{
ChickenVision += MenuGrv
}
call_vision(0) // Update all Chickens to new vision setting
}
case 6:
{
set_cvar_num("amx_chicken_sfx", get_cvar_num("amx_chicken_sfx") ? 0 : 1)
}
case 8: // BACK BUTTON (9)
{
// Bypass Update System
MenuFlags[id] = 4
show_chickenmenu(id)
return PLUGIN_HANDLED
}
case 9: // EXIT BUTTON (0)
{
// Menu Fix (Popup)
MenuFlags[id] = 0
return PLUGIN_HANDLED
}
}
}
update_menu()
return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
/* MENU UPDATER */
update_menu()
{
new admins[32], inum
get_players(admins, inum)
for(new i = 0; i < inum; ++i)
{
if(MenuFlags[admins[i]] > 1)
{
show_chickenmenu(admins[i])
}
}
}
//----------------------------------------------------------------------------------------------
public get_weapon(id)
{
if(UserFlags[id])
{
new ammo, clip, wid
wid = get_user_weapon(id, clip, ammo)
// 29 = Knife, 4 = HEGRENADE, 6 = C4
if(wid != 29 && (!ChickenGrenades || wid != 4) && (!ChickenBomb || wid != 6))
{
engclient_cmd(id, "weapon_knife")
entity_set_string(id, EV_SZ_viewmodel, "")
entity_set_string(id, EV_SZ_weaponmodel, "")
}
if(wid == 4 || wid == 6)
{
entity_set_string(id, EV_SZ_viewmodel, "")
entity_set_string(id, EV_SZ_weaponmodel, "")
}
if(!FreezeTime)
{
call_speed(id)
}
}
}
//----------------------------------------------------------------------------------------------
/* VIP DETECTION CODE */
public detect_vip(id)
{
Team3 = id
if(ChickenTeam3 && UserFlags[id] == false)
{
chicken_user(id)
}
}
//----------------------------------------------------------------------------------------------
/* BOMB DETECTION CODE */
public got_bomb(id)
{
if(UserFlags[id])
{
bomber = id
}
else
{
bomber = 0
}
}
//----------------------------------------------------------------------------------------------
/* FIELD OF VIEW EVENT CODE */
public check_fov(id)
{
if(UserFlags[id])
{
set_vision(id)
}
}
//----------------------------------------------------------------------------------------------
/* RESETHUD EVENT CODE */
public chicken_update(id)
{
if(UserFlags[id])
{
nodmg[id] = true
call_glow(id)
call_health(id)
call_gravity(id)
call_speed(id)
call_vision(id)
call_name(id)
}
new team = get_user_team(id)
if(ChickenTeam1)
{
if(1 == team && UserFlags[id] == false)
{
chicken_user(id)
}
}
if(ChickenTeam2)
{
if(2 == team && UserFlags[id] == false)
{
chicken_user(id)
}
}
if(ChickenAll)
{
if(0 > team && 5 < team)
{
if(UserFlags[id] == false)
{
chicken_user(id)
}
}
}
update_menu()
}
//----------------------------------------------------------------------------------------------
/* NEWROUND EVENT CODE */
public round_start()
{
FreezeTime = false
set_task(0.01, "call_speed", 0)
}
//----------------------------------------------------------------------------------------------
/* ROUND END EVENT CODE */
public round_end()
{
FreezeTime = true
}
public game_start()
{
FreezeTime = true
}
//----------------------------------------------------------------------------------------------
/* CONNECTION CODE */
public client_putinserver(id)
{
update_menu()
}
//----------------------------------------------------------------------------------------------
/* INFO CHANGE CODE */
public client_infochanged(id)
{
if(ChickenName && UserFlags[id] && !is_user_bot(id))
{
new newname[33], oldname[33]
get_user_info(id, "name", newname, 32)
get_user_name(id, oldname, 32)
if(!equal(oldname, newname))
{
set_user_info(id, "name", ChickName[id])
}
}
update_menu()
}
//----------------------------------------------------------------------------------------------
/* DAMAGE EVENT CODE */
public damage_event(id)
{
if(get_user_health(id) > 0 && UserFlags[id] && !nodmg)
{
new orig[3]
get_user_origin(id, orig)
create_gibs(id, orig, 5, 10, 5)
}
if(nodmg[id])
{
nodmg[id] = false
}
}
//---------------------------------------------------------------------------------------------
/* DEATH EVENT CODE */
public death_event(id)
{
update_menu()
new vid = read_data(2)
if(UserFlags[vid])
{
set_rendering(vid, kRenderFxNone, 0, 0, 0, kRenderTransAdd, 0)
new orig[3]
get_user_origin(vid, orig)
create_gibs(vid, orig, 5, 30, 30)
}
}
//----------------------------------------------------------------------------------------------
/* DISCONNECT CODE */
public client_disconnect(id)
{
if(UserFlags[id])
{
UserFlags[id] = false
}
if(MenuFlags[id] > 0)
{
MenuFlags[id] = 0
}
update_menu()
}
//----------------------------------------------------------------------------------------------
/* END CODE */
public plugin_end()
{
unchicken_user(0)
}
//----------------------------------------------------------------------------------------------
public client_prethink(id)
{
new Float:pView[3]
entity_get_vector(id, EV_VEC_view_ofs, pView)
// Chicken View offset
if(UserFlags[id] && is_user_alive(id))
{
if(pView[2] != cView[2])
{
entity_set_vector(id, EV_VEC_view_ofs, cView)
}
}
}
//----------------------------------------------------------------------------------------------
public emitsound(entity, channel, const sample[])
{
//client_print(0, 3, "Entity ID = %d Sound = %s", entity, sample)
if(entity > 32 || entity < 1)
return FMRES_IGNORED
if(equal(sample, "common/wpn_denyselect.wav")) return FMRES_SUPERCEDE // Using sound is annoying ;)
if(sample[0] == 'w' && sample[1] == 'e' && sample[8] == 'k' && sample[9] == 'n' && UserFlags[entity])
{
if(sample[14] == 'd')
{
return FMRES_SUPERCEDE
}
switch(sample[15])
{
case 'l': //slash
{
if(!CSound[entity])
{
new iPitch = random_num(100, 120)
switch(random_num(0, 3))
{
case 0: emit_sound(entity, CHAN_VOICE, "misc/chicken1.wav", 1.0, ATTN_NORM, 0, iPitch)
case 1: emit_sound(entity, CHAN_VOICE, "misc/chicken2.wav", 1.0, ATTN_NORM, 0, iPitch)
case 2: emit_sound(entity, CHAN_VOICE, "misc/chicken3.wav", 1.0, ATTN_NORM, 0, iPitch)
case 3: emit_sound(entity, CHAN_VOICE, "misc/chicken4.wav", 1.0, ATTN_NORM, 0, iPitch)
}
CSound[entity] = true
set_task(0.8, "reset_sound", entity)
}
return FMRES_SUPERCEDE
}
case 't': //stab
{
emit_sound(entity, CHAN_WEAPON, "weapons/knife_hit3.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
}
switch(sample[17])
{
case '2':
{
emit_sound(entity, CHAN_WEAPON, "weapons/knife_hit1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
case '4':
{
emit_sound(entity, CHAN_WEAPON, "weapons/knife_hit3.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
case 'w':
{
return FMRES_SUPERCEDE //remove wallhit
}
}
}
// Remove death sounds and replace with killChicken
if(sample[0] == 'p' && sample[3] == 'y' && sample[5] == 'r' && UserFlags[entity])
{
switch(sample[7])
{
case 'b':
{
new orig[3]
get_user_origin(entity, orig)
create_gibs(entity, orig, 5, 10, 5)
return FMRES_SUPERCEDE
}
case 'd':
{
emit_sound(entity, CHAN_VOICE, "misc/killChicken.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
}
}
return FMRES_IGNORED
}
//----------------------------------------------------------------------------------------------
public reset_sound(id)
{
CSound[id] = false
}
//----------------------------------------------------------------------------------------------
public set_model(edict, const model[])
{
if (!is_valid_ent(edict))
return FMRES_IGNORED
new id = entity_get_edict(edict, EV_ENT_owner)
if(equal(model, "models/w_c4.mdl") && UserFlags[bomber])
{
entity_set_model(edict, "models/w_goldenEgg.mdl")
return FMRES_SUPERCEDE
}
if(equal(model, "models/w_hegrenade.mdl") && UserFlags[id])
{
new Float:orig[3]
entity_get_vector(id, EV_VEC_origin, orig)
entity_set_model(edict, "models/w_easterEgg.mdl")
entity_set_vector(edict, EV_VEC_velocity, Float:{0.0, 0.0, 0.0})
entity_set_origin(edict, orig)
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}
//----------------------------------------------------------------------------------------------
/* PRECACHE CODE */
public plugin_precache()
{
// Models
precache_model("models/player/chicken/chicken.mdl")
precache_model("models/w_easterEgg.mdl")
precache_model("models/w_goldenEgg.mdl")
feather = precache_model("models/feather.mdl")
// Sounds
precache_sound("misc/chicken0.wav")
precache_sound("misc/chicken1.wav")
precache_sound("misc/chicken2.wav")
precache_sound("misc/chicken3.wav")
precache_sound("misc/chicken4.wav")
precache_sound("misc/cow.wav")
precache_sound("misc/killChicken.wav")
precache_sound("misc/knife_hit1.wav")
precache_sound("misc/knife_hit3.wav")
}
//----------------------------------------------------------------------------------------------
/* INITIATION CODE */
public plugin_init()
{
cs_running = (is_running("cstrike") || is_running("czero")) ? true : false
register_plugin("ChickenMod: Rebirth", "1.0a", "T(+)rget")
register_dictionary("chicken.txt")
new config[64]
get_configsdir(config, 63)
format(config, 63, "%s/chicken.cfg", config)
loadcfg(config)
if(cs_running)
{
register_cvar("chicken_version", "1.0", FCVAR_SERVER|FCVAR_SPONLY)
register_menucmd(register_menuid("[ChickenMod]"), 1023, "action_chickenmenu")
register_event("Battery", "detect_vip", "b", "1=200")
register_event("CurWeapon", "get_weapon", "b")
gmsgSetFOV = get_user_msgid("SetFOV")
register_event("SetFOV", "check_fov", "be", "1=90")
register_event("Damage", "damage_event", "b")
register_event("DeathMsg", "death_event", "a")
register_event("ResetHUD", "chicken_update", "b")
register_logevent("round_start", 2, "0=World triggered", "1=Round_Start")
register_logevent("round_end", 2, "0=World triggered", "1=Round_End")
register_event("TextMsg", "game_start", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
register_event("BarTime", "got_bomb", "be", "1=3")
register_srvcmd("c_chicken", "c_chicken", ACCESS_MENU, "<authid, nick, #userid, @1/2/3 (1 = Terrorists, 2 = Counter-Terrorists, 3 = VIP) or * (all)>")
register_srvcmd("c_unchicken", "c_unchicken", ACCESS_MENU, "<authid, nick, #userid, @1/2/3 (1 = Terrorists, 2 = Counter-Terrorists, 3 = VIP) or * (all)>")
register_clcmd("amx_chicken", "c_chicken", ACCESS_MENU, "<authid, nick, #userid, @1/2/3 (1 = Terrorists, 2 = Counter-Terrorists, 3 = VIP) or * (all)>")
register_clcmd("amx_unchicken", "c_unchicken", ACCESS_MENU, "<authid, nick, #userid, @1/2/3 (1 = Terrorists, 2 = Counter-Terrorists, 3 = VIP) or * (all)>")
register_clcmd("say /chickenmenu", "amx_chick_menu", ACCESS_MENU, "- [ChickenMod]: User Interface")
register_clcmd("say", "chickensay")
register_clcmd("say_team", "chickenteamsay")
register_clcmd("say /chickenme", "chickensay", 0, "- chicken yourself")
register_clcmd("say /unchickenme", "chickensay", 0, "- unchicken yourself")
register_cvar("amx_chicken_sfx", "1")
format(config, 63, "exec %s", config)
server_cmd(config)
register_forward(FM_SetModel, "set_model")
register_forward(FM_EmitSound, "emitsound")
register_forward(FM_TraceLine, "forward_traceline", 1)
}
else
{
log_message("ChickenMod:Rebirth - error: failed to load plugin (Counter-Strike Only)")
}
}
public plugin_modules()
{
require_module("cstrike")
require_module("engine")
require_module("fakemeta")
}
//----------------------------------------------------------------------------------------------
/* LOAD/READ CONFIG CODE */
loadcfg(filename[])
{
if(file_exists(filename))
{
new readdata[128], set[30], val[30], len
for(new i = 0; i < 100 && read_file(filename, i, readdata, 127, len); ++i)
{
parse(readdata, set, 29, val, 29)
if(equal(set, "ChickenVision"))
{
ChickenVision = str_to_num(val)
}
if(equal(set, "HealthProtect"))
{
if(!equal(val, "0"))
{
HealthProtect = true
}
}
if(equal(set, "ChickenName"))
{
if(!equal(val, "0"))
{
ChickenName = true
}
}
if(equal(set, "ChickenSelf"))
{
if(!equal(val, "0"))
{
ChickenSelf = true
}
}
if(equal(set, "ChickenHP"))
{
ChickenHP = str_to_num(val)
}
if(equal(set, "ChickenTalk"))
{
if(!equal(val, "0"))
{
ChickenTalk = true
}
}
if(equal(set, "ChickenTeamTalk"))
{
if(!equal(val, "0"))
{
ChickenTeamTalk = true
}
}
if(equal(set, "ChickenBomb"))
{
if(!equal(val, "0"))
{
ChickenBomb = true
}
}
if(equal(set, "ChickenGrenades"))
{
if(!equal(val, "0"))
{
ChickenGrenades = true
}
}
if(equal(set, "ChickenGlow"))
{
if(!equal(val, "0"))
{
ChickenGlow = true
}
}
if(equal(set, "ChickenHealth"))
{
if(HealthProtect)
{
if(str_to_num(val) > 255)
{
ChickenHealth = 255
}
else
{
ChickenHealth = str_to_num(val)
}
}
else
{
ChickenHealth = str_to_num(val)
}
}
if(equal(set, "ChickenGravity"))
{
if(str_to_num(val) > 100)
{
ChickenGravity = 100
}
else
{
ChickenGravity = str_to_num(val)
}
}
if(equal(set, "ChickenSpeed"))
{
if(str_to_num(val) > 400)
{
ChickenSpeed = 400
}
else
{
ChickenSpeed = str_to_num(val)
}
}
if(equal(set, "MenuGrv"))
{
MenuGrv = str_to_num(val)
}
if(equal(set, "MenuHP"))
{
MenuHP = str_to_num(val)
}
if(equal(set, "MenuSpd"))
{
MenuSpd = str_to_num(val)
}
if(equal(set, "ACCESS_MENU"))
{
ACCESS_MENU = str_to_num(val)
}
if(equal(set, "ACCESS_SETTINGS"))
{
ACCESS_SETTINGS = str_to_num(val)
}
}
}
return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
/* GENERIC CODE */
//----------------------------------------------------------------------------------------------
public create_gibs(id, vec[3], velocity, random, amount)
{
// gibs
new Float:size[3]
entity_get_vector(id, EV_VEC_size, size)
message_begin(MSG_PVS, SVC_TEMPENTITY, vec)
write_byte(108) // TE_BREAKMODEL
// position
write_coord(vec[0])
write_coord(vec[1])
write_coord(vec[2])
// size
write_coord(floatround(size[0]))
write_coord(floatround(size[1]))
write_coord(floatround(size[2]))
// velocity
write_coord(0)
write_coord(0)
write_coord(velocity) //10
// randomization
write_byte(random) //30
// Model
write_short(feather) //model id#
// # of shards
write_byte(amount) //30
// duration
write_byte(300);// 15.0 seconds
// flags
write_byte(0x04) // BREAK_FLESH
message_end()
}
//----------------------------------------------------------------------------------------------
/* CHICKEN CODE */
public chicken_user(id)
{
if(id == 0)
{
call_func("chicken_user")
}
else if(UserFlags[id] == false && is_user_alive(id))
{
UserFlags[id] = true
if(get_cvar_num("amx_chicken_sfx"))
{
new origin[3]
get_user_origin(id, origin)
transform(origin)
}
if(!is_user_bot(id))
{
new user[33]
get_user_name(id, user, 32)
copy(UserOldName[id], 32, user)
format(ChickName[id], 32, "Chicken #%i", id)
if(ChickenName)
{
set_user_info(id, "name", ChickName[id])
}
}
call_glow(id)
call_health(id)
call_gravity(id)
call_speed(id)
call_vision(id)
cs_set_user_model(id, "chicken")
}
return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
/* UNCHICKEN CODE */
public unchicken_user(id)
{
if(id == 0)
{
call_func("unchicken_user")
}
else if(UserFlags[id] && is_user_alive(id))
{
UserFlags[id] = false
if(get_cvar_num("amx_chicken_sfx"))
{
new origin[3]
get_user_origin(id, origin)
transform(origin)
}
if(ChickenName && !is_user_bot(id))
{
set_user_info(id, "name", UserOldName[id])
}
if(entity_get_float(id, EV_FL_health) > 100.0)
{
entity_set_float(id, EV_FL_health, 100.0)
}
entity_set_float(id, EV_FL_gravity, 1.0)
entity_set_float(id, EV_FL_maxspeed, 240.0)
set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
set_vision(id)
entity_set_vector(id, EV_VEC_view_ofs, nView)
cs_reset_user_model(id)
}
return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
/* CALL CONTROLLER FOR ID 0 (All Players) */
public call_func(func[])
{
new users[32], inum
get_players(users, inum, "a")
for(new i = 0; i < inum; ++i)
{
if(users[i] > 0)
{
set_task(0.01, func, users[i])
}
}
}
//----------------------------------------------------------------------------------------------
public call_glow(id)
{
if(id == 0)
{
call_func("call_glow")
}
else if(UserFlags[id] && is_user_alive(id))
{
set_rendering(id, kRenderFxGlowShell, (get_user_team(id) == 1 && ChickenGlow) ? 250 : 0, 0, (get_user_team(id) == 2 && ChickenGlow) ? 250 : 0, kRenderTransAlpha, 255)
}
}
//----------------------------------------------------------------------------------------------
public call_health(id)
{
if(UserFlags[id] && is_user_alive(id))
{
entity_set_float(id, EV_FL_health, float(ChickenHealth))
}
}
//----------------------------------------------------------------------------------------------
public call_gravity(id)
{
if(id == 0)
{
call_func("call_gravity")
}
else if(UserFlags[id] && is_user_alive(id))
{
entity_set_float(id, EV_FL_gravity, float(ChickenGravity) / 100.0)
}
}
//----------------------------------------------------------------------------------------------
public call_speed(id)
{
if(id == 0)
{
call_func("call_speed")
}
else if(UserFlags[id] && is_user_alive(id))
{
entity_set_float(id, EV_FL_maxspeed, float(ChickenSpeed))
}
}
//----------------------------------------------------------------------------------------------
public call_vision(id)
{
if(id == 0)
{
call_func("call_vision")
}
else if(UserFlags[id] && is_user_alive(id))
{
set_vision(id)
}
}
//----------------------------------------------------------------------------------------------
public call_name(id)
{
if(id == 0)
{
call_func("call_name")
}
else if(ChickenName && UserFlags[id] && !is_user_bot(id))
{
set_user_info(id, "name", ChickName[id])
}
update_menu()
}
//----------------------------------------------------------------------------------------------
/* HITZONES DATA */
public forward_traceline(Float:v1[3], Float:v2[3], noMonsters, pentToSkip)
{
new entity1 = pentToSkip
new entity2 = get_tr(TR_pHit) // victim
new hitzone = (1<<get_tr(TR_iHitgroup))
if (!is_valid_ent(entity1) || !is_valid_ent(entity2))
{
return FMRES_IGNORED
}
if (entity1 != entity2 && is_user_alive(entity1) && is_user_alive(entity2))
{
if(UserFlags[entity2])
{
if(hitzone != 64 && hitzone != 128)
{
set_tr(TR_flFraction,1.0) // KWo 19.11.2005
return FMRES_SUPERCEDE
}
}
return FMRES_IGNORED
}
return FMRES_IGNORED
}
//----------------------------------------------------------------------------------------------
/* VISION DATA */
public set_vision(id)
{
if(UserFlags[id])
{
message_begin(MSG_ONE, gmsgSetFOV, {0,0,0}, id)
write_byte(ChickenVision)
message_end()
engclient_cmd(id, "weapon_knife")
entity_set_string(id, EV_SZ_viewmodel, "")
entity_set_string(id, EV_SZ_weaponmodel, "")
}
else
{
message_begin(MSG_ONE, gmsgSetFOV, {0,0,0}, id)
write_byte(90) // default_fov = 90
message_end()
}
}
//----------------------------------------------------------------------------------------------
/* CHICKEN SFX */
public transform(vec[3])
{
message_begin(MSG_PVS, SVC_TEMPENTITY, vec)
write_byte(11) // TE_TELEPORT
write_coord(vec[0])
write_coord(vec[1])
write_coord(vec[2])
message_end()
}
AMX Mod X Compiler 1.8.3-dev+5201
Copyright © 1997-2006 ITB CompuPhase
Copyright © 2004-2013 AMX Mod X Team
Error: Array must be indexed (variable "nodmg") on line 1199
1 Error.
Could not locate output file C:\Users\yoo\Desktop\amx_chicken.amx (compile failed).