bazooka源代码.docx
- 文档编号:26361942
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:48
- 大小:26.05KB
bazooka源代码.docx
《bazooka源代码.docx》由会员分享,可在线阅读,更多相关《bazooka源代码.docx(48页珍藏版)》请在冰豆网上搜索。
bazooka源代码
/*
Bazookav0.99,byKinSprite,11/29,2006
【管理员命令】——放火箭筒
amx_bazooka
【玩家命令】——购买火箭筒
buy_bazooka
buy_rpg
buy_bzk
say/buy_bazooka
say/buy_rpg
say/buy_bzk
【参数变量】
amx_bazooka_time"5.0"//火箭弹最多飞行时间,默认5.0秒
amx_bazooka_drop"1"//火箭筒是否可丢弃,默认为1,1/0
amx_bazooka_num"4"//最多可存在火箭筒的数量,默认为4
amx_bazooka_ammo"2"//火箭筒的炮弹量,默认为2
amx_bazooka_damageradius"1000"//炮弹的杀伤范围,默认1000
amx_bazooka_maxdamage"150"//炮弹的最大伤害生命值,默认150
amx_bazooka_price"10000"//火箭筒的价格,默认10000$
amx_bazooka_ammoprice"1000"//火箭筒炮弹价格,默认1000$一发
amx_bazooka_reloadtime"4.0"//火箭筒重装炮弹的时间,默认4秒
amx_bazooka_velocity"800"//火箭弹速度,默认800
amx_bazooka_normal"0"//火箭筒使用普通模式,默认0
amx_bazooka_heatskdelay"1.0"//热寻导延时,默认1.0秒
amx_bazooka_trailtime"30"//火箭弹拖尾时间,默认30(大概3秒)
amx_bazooka_teamcolors"1"//火箭弹拖尾颜色,默认1--使用团队颜色
amx_bazooka_arena"0"//火箭筒竞技场,默认0;为1时,火箭弹不减
amx_pazooka_buytime"1"//火箭筒\火箭弹必需在购物时间内购买
amx_bazooka_buyzone"1"//火箭筒\火箭弹必需在购物区中购买
amx_bazooka_adminsuper"0"//有免疫权限管理员不限制使用高级功能
Thanks:
More&nwb13
*/
#include
#include
#include
#include
#include
#include
#definePER_VELOCITY_USER_GUIDED0.65
#defineARENA_DAMAGERADIUS72
#defineICON_SHOWTIME3.0
#defineICON_SPRITE"item_longjump"
#defineCOLOR_R0
#defineCOLOR_G150
#defineCOLOR_B0
#defineBZK_CLASSNAME"super_bazooka"
enum{IconHide,IconShow,IconFlash};
enum{bzk_droped=1,bzk_rocket};
newexplosion,smoke,white
newg_bazooka_nums
newgWpnUsed[33]
newbool:
CanShoot[33]
newbool:
buy_in_time
newbool:
have_bazooka[33]
newbool:
in_freezetime
newMunni[33]
newmode[33]
newuser_controll[33]
newg_msgDeathMsg
newgmsgScoreInfo
newg_msgStatusIcon
newrocketsmoke
newg_bazooka_time
newg_bazooka_drop
newg_bazooka_num
newg_bazooka_ammo
newg_bazooka_damageradius
newg_bazooka_maxdamage
newg_bazooka_price
newg_bazooka_ammoprice
newg_bazooka_reloadtime
newg_bazooka_velocity
newg_bazooka_normal
newg_bazooka_heatskdelay
newg_bazooka_trailtime
newg_bazooka_teamcolors
newg_bazooka_arena
newg_bazooka_buytime
newg_bazooka_buyzone
newg_bazooka_adminsuper
newg_bazooka_adminunlimitammo
newg_shield
publicplugin_init(){
register_plugin("Bazooka","v0.99","KinSprite")
register_dictionary("bazooka.txt")
register_clcmd("amx_bazooka","drop_rpg",ADMIN_KICK,"-DropAbazookainfrontofyou.")
register_concmd("amx_bazooka_startarena","start_bazooka_arena",ADMIN_KICK,"-Startbazookaarena.")
register_concmd("amx_bazooka_endarena","end_bazooka_arena",ADMIN_KICK,"-Startbazookaarena.")
g_bazooka_time=register_cvar("amx_bazooka_time","5.0")
g_bazooka_drop=register_cvar("amx_bazooka_drop","1")
g_bazooka_num=register_cvar("amx_bazooka_num","4")
g_bazooka_ammo=register_cvar("amx_bazooka_ammo","2")
g_bazooka_damageradius=register_cvar("amx_bazooka_damageradius","1000")
g_bazooka_maxdamage=register_cvar("amx_bazooka_maxdamage","150")
g_bazooka_price=register_cvar("amx_bazooka_price","10000")
g_bazooka_ammoprice=register_cvar("amx_bazooka_ammoprice","1000")
g_bazooka_reloadtime=register_cvar("amx_bazooka_reloadtime","4.0")
g_bazooka_velocity=register_cvar("amx_bazooka_velocity","800")
g_bazooka_normal=register_cvar("amx_bazooka_normal","0")
g_bazooka_heatskdelay=register_cvar("amx_bazooka_heatskdelay","1.0")
g_bazooka_trailtime=register_cvar("amx_bazooka_trailtime","30")//roughly3seconds
g_bazooka_teamcolors=register_cvar("amx_bazooka_teamcolors","1")//setto1forteamcoloredtrails
g_bazooka_arena=register_cvar("amx_bazooka_arena","0")//requiresdirecthittokill
g_bazooka_buytime=register_cvar("amx_bazooka_buytime","1")//requiresbuybazookaorshellinbuytime
g_bazooka_buyzone=register_cvar("amx_bazooka_buyzone","1")//requiresbuybazookaorshellatbuyzone
g_bazooka_adminsuper=register_cvar("amx_bazooka_adminsuper","0")
g_bazooka_adminunlimitammo=register_cvar("amx_bazooka_adminunlimitammo","0")
register_clcmd("buy_bazooka","buy_bazooka",0,"-Buyabazooka(RPG)")
register_clcmd("buy_bzk","buy_bazooka",0,"-Buyabazooka(RPG)")
register_clcmd("buy_rpg","buy_bazooka",0,"-Buyabazooka(RPG)")
register_clcmd("say","check_say")
register_clcmd("say_team","check_say")
register_clcmd("buyammo1","buy_bazooka_ammo")
register_event("Damage","on_Damage","b","2!
0")//checkkilledbyC4bomb
register_event("DeathMsg","player_die","a")
register_event("RoundTime","new_round","bc")//timechange
register_event("CurWeapon","change_weapon","be","1=1")
register_event("ResetHUD","player_spawn","b")
register_event("WeapPickup","check_model","b")
register_event("TextMsg","on_RoundRestart","a","2Game_will_restart_in")
register_touch(BZK_CLASSNAME,"*","bzk_touch")
register_logevent("freezetimecomplete",2,"1=Round_Start")//freezetimecomplete
register_logevent("EndRound",2,"0=Worldtriggered","1=Round_End")
register_clcmd("drop","handle_drop")
g_msgDeathMsg=get_user_msgid("DeathMsg")
gmsgScoreInfo=get_user_msgid("ScoreInfo")
g_msgStatusIcon=get_user_msgid("StatusIcon")
g_shield=file_exists("models/p_shield.mdl")&file_exists("models/w_shield.mdl")
}
publicplugin_precache(){
precache_model("models/rpgrocket.mdl")
precache_model("models/w_rpg.mdl")
precache_model("models/w_rpgt.mdl")
precache_model("models/v_rpg.mdl")
precache_model("models/p_rpg.mdl")
precache_sound("weapons/rocketfire1.wav")
precache_sound("weapons/nuke_fly.wav")
precache_sound("weapons/mortarhit.wav")
precache_sound("weapons/dryfire_rifle.wav")
precache_sound("common/wpn_select.wav")
precache_sound("items/ammopickup1.wav")
precache_sound("items/gunpickup3.wav")
precache_sound("items/gunpickup4.wav")
precache_sound("items/nvg_on.wav")
explosion=precache_model("sprites/fexplo.spr")
smoke=precache_model("sprites/steam1.spr")
white=precache_model("sprites/white.spr")
rocketsmoke=precache_model("sprites/smoke.spr")
}
publiccheck_say(id){
newsaid[32]
read_args(said,31)
if(equali(said,"^"/buy_bazooka^"")
||equali(said,"^"/buy_bzk^"")
||equali(said,"^"/buy_rpg^"")
||equali(said,"^"buy_bazooka^"")
||equali(said,"^"buy_bzk^"")
||equali(said,"^"buy_rpg^""))
buy_bazooka(id)
returnPLUGIN_CONTINUE
}
publicbuy_bazooka(id){
if(have_bazooka[id]){
client_print(id,print_chat,"%L",id,"HAVE_BAZOOKA")
returnPLUGIN_HANDLED
}
if(!
is_user_alive(id)){
client_print(id,print_chat,"%L",id,"CANT_BUY_RPG")
returnPLUGIN_HANDLED
}
if(get_pcvar_num(g_bazooka_buyzone))
if(!
cs_get_user_buyzone(id)){
client_print(id,print_chat,"%L",id,"NOT_AT_BUYZONE")
returnPLUGIN_HANDLED
}
if(!
buy_in_time){
client_print(id,print_chat,"%L",id,"NOT_BUY_TIME")
returnPLUGIN_HANDLED
}
newuser_money=cs_get_user_money(id)
newbazooka_price=get_pcvar_num(g_bazooka_price)
if(user_money>=bazooka_price)
{
if(g_bazooka_nums>=get_pcvar_num(g_bazooka_num)&&!
get_pcvar_num(g_bazooka_arena)){
client_print(id,print_chat,"%L",id,"NO_MORE_BAZOOKA")
returnPLUGIN_HANDLED
}
cs_set_user_money(id,user_money-bazooka_price)
player_get_bozooka(id)
newname[32]
get_user_name(id,name,31)
client_print(0,print_chat,"%L",LANG_PLAYER,"BUY_BAZOOKA",name)
}else{
client_print(id,print_chat,"%L",id,"LACK_MONEY",get_pcvar_num(g_bazooka_price))
}
returnPLUGIN_HANDLED
}
publicplayer_get_bozooka(id){
Create_StatusIcon(id,IconShow,ICON_SPRITE,COLOR_R,COLOR_G,COLOR_B)
set_task(ICON_SHOWTIME,"Clear_Icons",id)
g_bazooka_nums++
have_bazooka[id]=true
CanShoot[id]=true
newammo=get_pcvar_num(g_bazooka_ammo)
if(ammo>2)//初始最多给两枚火箭弹
ammo=2
Munni[id]=ammo
check_model(id)
mode[id]=0
user_controll[id]=0
client_print(id,print_chat,"%L",id,"PRESS_KEY")
emit_sound(id,CHAN_WEAPON,"items/gunpickup3.wav",VOL_NORM,ATTN_NORM,0,PITCH_NORM)
}
publicbuy_bazooka_ammo(id){
if(!
is_user_connected(id)||!
is_user_alive(id)||!
have_bazooka[id])
returnPLUGIN_CONTINUE
if(Munni[id]>=get_pcvar_num(g_bazooka_ammo))
returnPLUGIN_CONTINUE
if(get_pcvar_num(g_bazooka_buyzone))
if(!
cs_get_user_buyzone(id)){
client_print(id,print_chat,"%L",id,"NOT_AT_BUYZONE_SHELL")
returnPLUGIN_CONTINUE
}
if(!
buy_in_time){
client_print(id,print_chat,"%L",id,"NOT_BUY_TIME")
returnPLUGIN_CONTINUE
}
//engclient_cmd(id,"primammo")
//engclient_cmd(id,"buyammo1")
newuser_money=cs_get_user_money(id)
newbazooka_ammoprice=get_pcvar_num(g_bazooka_ammoprice)
if(user_money>=bazooka_ammoprice)
{
if(!
buy_in_time)
returnPLUGIN_CONTINUE
Create_StatusIcon(id,IconFlash,ICON_SPRITE,COLOR_R,COLOR_G,COLOR_B)
if(task_exists(id))
remove_task(id)
set_task(1.5,"Clear_Icons",id)
Munni[id]++
cs_set_user_money(id,user_money-bazooka_ammoprice)
newweaponid,clip,ammo
weaponid=get_user_weapon(id,clip,ammo)
if(weaponid==CSW_KNIFE)
ammo_hud(id,1)
emit_sound(id,CHAN_WEAPON,"items/ammopickup1.wav",VOL_NORM,ATTN_NORM,0,PITCH_NORM)
}
returnPLUGIN_CONTINUE
}
publicfire_rocket(id){
if(Munni[id]<=0){
client_print(id,print_center,"%L",id,"NO_MORE_SHELL")
emit_sound(id,CHAN_WEAPON,"weapons/dryfire_rifle.wav",VOL_NORM,ATTN_NORM,0,PITCH_NORM)
returnPLUGIN_HANDLED
}
if(!
CanShoot[id]&&Munni[id]>0){
client_print(id,print_center,"%L",id,"STILL_LOADING")
returnPLUGIN_HANDLED
}
newFloat:
StartOrigin[3],Float:
Angle[3]
newPlayerOrigin[3]
get_user_origin(id,PlayerOrigi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- bazooka 源代码