/*
_________________
___ |__ /__(_)___________
__ /| |_ /__ /_ _ \_ __ \
_ ___ | / _ / / __/ / / /
/_/ |_/_/ /_/ \___//_/ /_/
___ _________
__ | / /_ ___/
__ | / /_____ \
__ |/ / ____/ /
_____/ /____/
________ _________ _____
___ __ \_________________ /_____ __ /______________
__ /_/ /_ ___/ _ \ __ /_ __ `/ __/ __ \_ ___/
_ ____/_ / / __/ /_/ / / /_/ // /_ / /_/ / /
/_/ /_/ \___/\__,_/ \__,_/ \__/ \____//_/
_ _ __ __
| | | | / |/ |
| | | | /_/ /_/ |
\ \/ / | | | |
\ / | |_| |
\/ |_(_)_|
______ ______ _ _ _______ _ _____ _____ ___
(____ \ (_____ \ | | (_|_______|_)/ ___ \ / ___ \ / __)
____) )_ _ _____) )__ \ \ _ _ _| | | |____ | | | | |__
| __ (| | | | | ____/ _ \ \ \| | | | | | | | _ \ | | | | __)
| |__) ) |_| | | | | |_| |____) ) | |_____| | |___| | | | | | |___| | |
|______/ \__ | |_| \___(______/|_|\______)_|\_____/|_| |_| \_____/|_|
(____/
______ _ _ _ ______
(_____ \ | || || | (_____ \
_____) )__ | || || | ____ _____) )
| ____/ _ \| ||_|| |/ _ |_____ (
| | | |_| | |___| ( (/ / | |
|_| \___/ \______|\____) |_|
__
/\ _ | \
/--\| )|__/
_ _ _
| | | | | |
| |__ | | ____ ____| | _
| __)| |/ _ |/ ___) | / )
| | | ( ( | ( (___| |< (
|_| |_|\_||_|\____)_| \_)
*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <engine>
#include <fun>
new menushown[33],alien_health,predator_health,active,alien_armor,predator_armor
new mod_name[32] = "Alien vs Predator v1.1"
new const gAlienSounds[][] = {
"AvsP/alien/alien_clawhit.wav",
"AvsP/alien/alien_clawhitwall.wav",
"AvsP/alien/alien_clawmiss.wav",
"AvsP/alien/alien_die1.wav",
"AvsP/alien/alien_die2.wav",
"AvsP/alien/alien_pain1.wav",
"AvsP/alien/alien_pain2.wav"
};
new const gPredatoRSounds[][] = {
"AvsP/predator/bc_spithit2.wav",
"AvsP/predator/crpredator.wav",
"AvsP/predator/scpredator.wav",
"AvsP/predator/scpredator2.wav"
};
public plugin_init()
{
register_plugin("Alien vs Predator","1.1","P.Of.Pw & Hack")
register_dictionary("AvsP.txt");
register_event("ResetHUD", "resetModel", "b")
register_event("CurWeapon","resetWeapon","be", "1=1");
register_logevent("roundstart", 2, "1=Round_Start");
register_forward(FM_EmitSound,"fw_emitsound");
register_forward(FM_EmitSound,"fw_emitsound2");
register_forward(FM_GetGameDescription,"GameDesc")
register_event("ShowMenu", "blockteams", "b", "3=#Team_Select_Spect")
register_event("DeathMsg","oldskool","a","4&kni")
register_event("SendAudio","ctwin","a","2=%!MRAD_ctwin")
register_event("SendAudio","twin","a","2=%!MRAD_terwin")
alien_health = register_cvar("alien_hp","250")
predator_health = register_cvar("predator_hp","200")
alien_armor = register_cvar("alien_armor","500")
predator_armor = register_cvar("predator_armor","250")
active = register_cvar("avsp_active","1")
register_clcmd("say /alieninfo","AlienInfoMotd")
register_clcmd("say /infoalien","AlienInfoMotd")
register_clcmd("say /predatorinfo","PredatorInfoMotd")
register_clcmd("say /infopredator","PredatorInfoMotd")
}
public plugin_precache()
{
for(new i = 0 ; i < sizeof gAlienSounds ; i++)
precache_sound(gAlienSounds[i])
for(new i = 0 ; i < sizeof gPredatoRSounds ; i++)
precache_sound(gPredatoRSounds[i])
precache_model("models/player/predator/predator.mdl")
precache_model("models/AvsP/p_claws.mdl")
precache_model("models/player/alien/alien.mdl")
precache_model("models/AvsP/alienclaws.mdl")
}
public client_connect(id)
{
if(get_pcvar_num(active) != 1)
return PLUGIN_CONTINUE;
{
set_user_info(id, "_vgui_menus", "0")
menushown[id] = 0
}
return PLUGIN_CONTINUE;
}
public blockteams(id)
{
static on
on = get_pcvar_num(active)
if(menushown[id] == 0 && on == 1)
{
client_cmd(id,"unbind ^"q^"")
show_menu(id, 0, "work", 1, "#Team_Select_Spect")
set_task(0.5,"showmenu",id);
menushown[id] = 1;
}
}
public showmenu(id) {
new menu = menu_create("\rChoose Creature:", "menu_handler")
menu_additem(menu, "\wAlien", "1", 0)
menu_additem(menu, "\wPredator", "2", 0)
menu_additem(menu, "\wRandom", "5", 0)
menu_additem(menu, "\wSpectator", "6", 0)
menu_display(id, menu, 0)
}
public menu_handler(id, menu, item) {
new team = get_user_team(id)
if (item == MENU_EXIT) {
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
if (team != 1)
{
engclient_cmd(id, "jointeam", "1")
engclient_cmd(id, "menuselect", "5")
}
}
case 2:
{
if (team != 2)
{
engclient_cmd(id, "jointeam", "2")
engclient_cmd(id, "menuselect","5")
}
}
case 5: menu_handler(id, menu, random_num(0, 1))
case 6: engclient_cmd(id, "jointeam", "6")
}
return PLUGIN_HANDLED
}
public resetModel(id)
{
static on
on = get_pcvar_num(active)
if(on == 1)
{
engfunc(EngFunc_LightStyle,0,"d")
new players[32], inum;
get_players(players,inum);
for(new i = 0 ; i < inum; i++)
{
if (cs_get_user_team(players[i]) == CS_TEAM_CT)
{
cs_set_user_model(players[i], "predator")
set_user_health(players[i],get_pcvar_num(predator_health))
set_user_armor (players[i],get_pcvar_num(predator_armor))
set_user_rendering(players[i], kRenderFxNone,0,0,0,kRenderTransAlpha,75)
}
else if (cs_get_user_team(players[i]) == CS_TEAM_T)
{
set_user_health(players[i],get_pcvar_num(alien_health))
set_user_armor (players[i],get_pcvar_num(alien_armor))
cs_set_user_model(players[i], "alien")
}
}
}
}
public resetWeapon(id)
{
static on
on = get_pcvar_num(active)
if(on == 1)
{
new weaponID = read_data(2)
if (weaponID != CSW_KNIFE)
return PLUGIN_HANDLED;
if (get_user_team(id) == 1)
{
set_pev(id, pev_viewmodel, engfunc(EngFunc_AllocString,"models/AvsP/alienclaws.mdl")) // alien knife's
}
else if (get_user_team(id) == 2)
{
set_pev(id, pev_viewmodel, engfunc(EngFunc_AllocString,"models/AvsP/p_claws.mdl")) // predator knife's
}
}
return PLUGIN_CONTINUE
}
public fw_emitsound(id,channel,sample[],Float:volume,Float:attenuation,fFlags,pitch)
{
static on
on = get_pcvar_num(active)
if (get_user_team(id) == 1 && on == 1)
{
if(equal(sample,"weapons/knife_slash1.wav")) {
emit_sound(id,channel,gAlienSounds[5],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_slash2.wav")) {
emit_sound(id,channel,gAlienSounds[5],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_hit1.wav")) {
emit_sound(id,channel,gAlienSounds[3],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_hit2.wav")) {
emit_sound(id,channel,gAlienSounds[3],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_hitwall1.wav")) {
emit_sound(id,channel,gAlienSounds[4],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_hit3.wav")) {
emit_sound(id,channel,gAlienSounds[3],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_stab.wav")) {
emit_sound(id,channel,gAlienSounds[3],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
}
return FMRES_IGNORED;
}
public fw_emitsound2(id,channel,sample[],Float:volume,Float:attenuation,fFlags,pitch)
{
static on
on = get_pcvar_num(active)
if (get_user_team(id) == 2 && on == 1)
{
if(equal(sample,"weapons/knife_slash1.wav")) {
emit_sound(id,channel,gPredatoRSounds[1],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_slash2.wav")) {
emit_sound(id,channel,gPredatoRSounds[1],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_hit1.wav")) {
emit_sound(id,channel,gPredatoRSounds[2],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_hit2.wav")) {
emit_sound(id,channel,gPredatoRSounds[2],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_hitwall1.wav")) {
emit_sound(id,channel,gPredatoRSounds[3],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_stab.wav")) {
emit_sound(id,channel,gPredatoRSounds[3],volume,attenuation,fFlags,pitch);
return FMRES_SUPERCEDE;
}
}
return FMRES_IGNORED;
}
public oldskool()
{
if(get_pcvar_num(active) != 1)
return PLUGIN_CONTINUE;
new killer = read_data (1)
new victim = read_data (2)
new killername[33], victimname[33]
get_user_name(killer,killername,33)
get_user_name(victim,victimname,33)
set_hudmessage (0, 255, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage (0,"%s silent killed %s!",killername, victimname )
return PLUGIN_CONTINUE;
}
public client_PreThink(id)
{
static on
on = get_pcvar_num(active)
if(on == 1)
{
if(cs_get_user_team(id) == CS_TEAM_T)
{
new clip,ammo
entity_set_float(id,EV_FL_fuser2,0.0)
set_user_maxspeed(id,475.0)
client_cmd(id,"cl_forwardspeed 475;cl_backspeed 475;cl_sidespeed 475")
if(get_user_weapon(id,clip,ammo)!=CSW_KNIFE)
{
client_cmd(id,"weapon_knife")
}
}
else if(cs_get_user_team(id) == CS_TEAM_CT)
{
new clip,ammo
set_user_maxspeed(id,450.0)
client_cmd(id,"cl_forwardspeed 450;cl_backspeed 450;cl_sidespeed 450")
if(get_user_weapon(id,clip,ammo)!=CSW_KNIFE)
{
client_cmd(id,"weapon_knife")
}
}
}
}
public GameDesc()
{
if(get_pcvar_num(active) != 1)
return PLUGIN_CONTINUE;
forward_return(FMV_STRING, mod_name)
return FMRES_SUPERCEDE
}
public AlienInfoMotd(id){
if(get_pcvar_num(active) != 1)
return PLUGIN_CONTINUE;
show_motd(id,"addons/amxmodx/configs/alien.txt")
return PLUGIN_CONTINUE;
}
public PredatorInfoMotd(id){
if(get_pcvar_num(active) != 1)
return PLUGIN_CONTINUE;
show_motd(id,"addons/amxmodx/configs/predator.txt")
return PLUGIN_CONTINUE;
}
public roundstart() {
if(get_pcvar_num(active) != 1)
return PLUGIN_CONTINUE;
client_print(0, print_chat, "%L","LANG_PLAYER","ALIEN_INFO");
client_print(0, print_chat, "%L","LANG_PLAYER","PREDATOR_INFO");
client_print(0, print_chat, "[AvsP] Plugin Created By : PoSiTiOn Of PoWeR & Hack");
return PLUGIN_HANDLED
}
// Predatow Win MSG
public ctwin()
{
if(get_pcvar_num(active) != 1)
return PLUGIN_CONTINUE;
client_print(0, print_chat, "%L","LANG_PLAYER","PREDATOR_WIN");
set_hudmessage(170, 170, 255, 0.13, 0.14, 0, 6.0, 12.0)
show_hudmessage(0, "%L","LANG_PLAYER","PREDATOR_WIN")
return PLUGIN_CONTINUE;
}
// Alien Win MSG
public twin()
{
if(get_pcvar_num(active) != 1)
return PLUGIN_CONTINUE;
client_print(0, print_chat, "%L","LANG_PLAYER","ALIEN_WIN");
set_hudmessage(255, 0, 0, 0.13, 0.14, 0, 6.0, 12.0)
show_hudmessage(0, "%L","LANG_PLAYER","ALIEN_WIN")
return PLUGIN_CONTINUE;
}