/*
All In One v0.7.32
Copyright (C) 2005-2007 Ian (Juan) Cammarata
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
--------------------------------------------------------------------------------
http://ian.cammarata.us
To Do:
*/
#include
#include
#include
#include
#include
#include
#include
//Fun Compile
#define WCALT ADMIN_RESERVATION
//Normal Compile
//#define WCALT ADMIN_RCON
new bombtargent=0
new playersteam[32],bool:teamschanged=false
new playerspeed[32],bool:b_fly[32]
public aio_noclip(id,level,cid){
if(cmd_access(id,level,cid,2)){
new targets[32],targnum=0
targets=targets_find(id,targnum,ALIVE+NOBOT,_,WCALT)
if(targnum){
new val=0,arg[2]
if(read_argc()>2){
read_argv(2,arg,sizeof(arg)-1)
if(!equal(arg,"0"))val=1
}
for(new i=0;i2){
read_argv(2,arg,sizeof(arg)-1)
if(!equal(arg,"0"))val=true
}
for(new i=0;i2){
read_argv(2,arg,sizeof(arg)-1)
if(!equal(arg,"0"))val=1
}
for(new i=0;i0){
new btns=entity_get_int(id,EV_INT_button),Float:dvec[3]
entity_get_vector(id,EV_VEC_velocity,dvec)
if(dvec[2]==0.0&&(btns&IN_FORWARD||btns&IN_BACK)&&(!(btns&IN_RUN)&&!(btns&IN_DUCK))){
new Float:tvec[3]//,Float:lvec[3]
new Float:mspeed=entity_get_float(id,EV_FL_maxspeed)
//entity_get_vector(id,EV_VEC_angles,lvec)
velocity_by_aim(id,floatround(mspeed),tvec)
//if(dvec[0]!=0.0&&dvec[1]!=0.0)client_print(id,print_console,"dx:%f dy:%f dmax:%f ly:%f tx:%f ty:%f",dvec[0],dvec[1],mspeed,lvec[1],tvec[0],tvec[1])
if(btns&IN_BACK){
tvec[0]*=-1
tvec[1]*=-1
}
/*else if(btns&IN_MOVELEFT){
}
else if(btns&IN_MOVERIGHT){
}*/
dvec[0]=tvec[0]*playerspeed[id]
dvec[1]=tvec[1]*playerspeed[id]
entity_set_vector(id,EV_VEC_velocity,dvec)
}
}
}
public slay(id,level,cid){
if(cmd_access(id,level,cid,2)){
new targets[32],targnum=0
targets=targets_find(id,targnum,ALIVE+IMMUNITY+SELF,_,WCALT)
if(targnum)for(new i=0;i1?strtonum(tmp[2]):1
}
}
for(new i=0;i0)weaponstrip(targets[i],strip==1?1:0)
new tid=targets[i]
if(equal(arg,"item_nvg"))cs_set_user_nvg(id)
else if(equal(arg,"item_shield"))cs_set_user_shield(tid,1)
else if(equal(arg,"item_sodacan"))set_user_health(tid,get_user_health(tid)+(1*qty)<=100?get_user_health(tid)+(1*qty):100)
else if(equal(arg,"item_healthkit"))set_user_health(tid,get_user_health(tid)+(15*qty)<=100?get_user_health(tid)+(15*qty):100)
else if(equal(arg,"weapon_flashbang")){
give_item(tid,arg)
if(qty>1)set_pdata_int(tid,387,qty)
}
else if(equal(arg,"weapon_hegrenade")){
give_item(tid,arg)
if(qty>1)set_pdata_int(tid,388,qty)
}
else if(equal(arg,"weapon_smokegrenade")){
give_item(tid,arg)
if(qty>1)set_pdata_int(tid,389,qty)
}
else for(new j=0;j0){
DispatchKeyValue(ent,"classname","func_bomb_target")
DispatchSpawn(ent)
entity_set_size(ent,Float:{-4096.0,-4096.0,-4096.0},Float:{4096.0,4096.0,4096.0})
entity_set_origin(ent,Float:{0.0,0.0,0.0})
bombtargent=ent
}
}
}
return PLUGIN_HANDLED
}
public round_end(){
if(bombtargent){
remove_entity(bombtargent)
bombtargent=0
}
if(teamschanged){
new players[32],num
get_players(players,num)
for(new i=0;i[name|^^|.|*name|#uid|@CT|@T] [command]")
register_concmd("amx_teamswap","teamswap",ADMIN_RCON,"[name|^^|.|*name|#uid|@CT|@T]")
register_concmd("amx_t","forcet",ADMIN_RCON,"[name|^^|.|*name|#uid|@CT|@T]")
register_concmd("amx_ct","forcect",ADMIN_RCON,"[name|^^|.|*name|#uid|@CT|@T]")
register_concmd("amx_spec","forcespec",ADMIN_RCON,"[name|^^|.|*name|#uid|@CT|@T]")
register_concmd("amx_slay2","slay",ADMIN_SLAY,"[name|^^|.|*name|#uid|@CT|@T]")
register_concmd("amx_slap2","slap",ADMIN_SLAY,"[name|^^|.|*name|#uid|@CT|@T]")
register_concmd("amx_wpnstrip","wpnstrip",ADMIN_SLAY,"[name|^^|.|*name|#uid|@CT|@T]")
register_concmd("amx_quit","kick_quit",ADMIN_KICK,"[name|^^|.|*name|#uid|@CT|@T]")
register_concmd("amx_stopallsounds","stopsounds",ADMIN_KICK,"- Execute stopsound on all clients.")
//Fun Commands
register_concmd("amx_noclip","aio_noclip",ADMIN_VOTE,"[name|^^|.|*name|#uid|@CT|@T] [1|0]")
register_concmd("amx_fly","aio_fly",ADMIN_VOTE,"[name|^^|.|*name|#uid|@CT|@T] [1|0]")
register_concmd("amx_godmode","aio_godmode",ADMIN_VOTE,"[name|^^|.|*name|#uid|@CT|@T] [1|0]")
register_concmd("amx_gravity","gravity",ADMIN_VOTE,"[name|^^|.|*name|#uid|@CT|@T] [% norm grav]")
//register_concmd("amx_spawn","pspawn",ADMIN_VOTE,"[name|^^|.|*name|#uid|@CT|@T]")
register_concmd("amx_speed","speed",ADMIN_VOTE,"[name|^^|.|*name|#uid|@CT|@T] [speed]")
register_concmd("amx_give","give",ADMIN_VOTE,"[name|^^|.|*name|#uid|@CT|@T] - ")
register_concmd("amx_give_wpnlist","wpnlist",0,"- Shows list of weapons for use with give.")
register_concmd("amx_give_itemlist","itemlist",0,"- Shows list of items for use with give.")
register_concmd("say","handlesay")
//register_concmd("amx_headshot","headshot",ADMIN_SLAY,"[name|^^|.|*name|#uid|@CT|@T] ")
register_concmd("amx_plant","plantanywhere",ADMIN_SLAY,"- Allow bomb plant anywhere.")
//Say commands
register_clcmd("say /motd","motd",0,"- Veiw server MOTD.")
register_clcmd("say","slashme",0)
//Events
//register_logevent("round_start",2,"1=Round_Start")
register_logevent("round_end",2,"1=Round_End")
return PLUGIN_CONTINUE
}