RSSy MYGO.pl Opublikowano Lipiec 3, 2022 o 10:11 RSSy Udostępnij Opublikowano Lipiec 3, 2022 o 10:11 Hello, can someone remove the shoot delay for this jetpack+bazzooka plugin please Code: #include <amxmodx> #include <amxmisc> #include <hamsandwich> #include <engine> #include <cstrike> #include <zp_apocalypse> new sprite_explosion,sprite_beamcylinder, jp_itemid, cvar_cost,cvar_damage,cvar_speed,cvar_reload_time,cvar_radius, cvar_start_energy,cvar_remove_energy,cvar_heal_energy,cvar_heal_time,cvar_zvelocity,cvar_aimvelocity, cvar_can_drop,cvar_one_round, maxplayers,hudsync, has_jetpack[33],can_shoot[33],energy[33] public plugin_precache() { precache_model("models/zp_apocalypse/v_egon.mdl") precache_model("models/zp_apocalypse/p_egonn.mdl") precache_model("models/w_egon.mdl") precache_model("models/rpgrocket.mdl") sprite_explosion = precache_model("sprites/zerogxplode.spr") sprite_beamcylinder = precache_model("sprites/white.spr") precache_sound("weapons/rocketfire1.wav") precache_sound("common/bodydrop2.wav") precache_sound("items/gunpickup2.wav") precache_sound("jetpack.wav") } public plugin_init() { register_plugin("[ZP] Extra Item: Jetpack + Bazooka", "1.1", "<VeCo>") cvar_cost = register_cvar("vecjp_cost","90") cvar_speed = register_cvar("vecjp_rocket_speed","1500") cvar_damage = register_cvar("vecjp_damage","700") cvar_reload_time = register_cvar("vecjp_reload_time","10.0") cvar_radius = register_cvar("vecjp_radius","250") cvar_start_energy = register_cvar("vecjp_start_energy","350") cvar_remove_energy = register_cvar("vecjp_remove_energy","1") cvar_heal_energy = register_cvar("vecjp_heal_energy","15") cvar_heal_time = register_cvar("vecjp_heal_time","1.0") cvar_zvelocity = register_cvar("vecjp_zvelocity","300") cvar_aimvelocity = register_cvar("vecjp_aimvelocity","300") cvar_can_drop = register_cvar("vecjp_can_drop","0") cvar_one_round = register_cvar("vecjp_one_round","0") jp_itemid = zp_register_extra_item("\r[Item] \wJetPack + Bazooka",get_pcvar_num(cvar_cost),ZP_TEAM_HUMAN) register_clcmd("hehe","drop_jetpack") RegisterHam(Ham_Weapon_SecondaryAttack,"weapon_knife","shoot_jetpack") RegisterHam(Ham_Player_Jump,"player","fly_jetpack") register_touch("weapon_jetpack","player","get_jetpack") register_touch("","info_jetpack_rocket","touch_jetpack") register_event("DeathMsg","hook_death","a") register_event("CurWeapon","event_curweapon","be","1=1","2=29") register_logevent("round_end",2,"1=Round_End") maxplayers = get_maxplayers() hudsync = CreateHudSyncObj() } public zp_extra_item_selected(id,itemid) { if(itemid != jp_itemid) return if(has_jetpack[id]) { //client_print(id,print_chat,"[ZP] You already own a jetpack.") return } has_jetpack[id] = true can_shoot[id] = true energy[id] = get_pcvar_num(cvar_start_energy) emit_sound(id,CHAN_AUTO,"items/gunpickup2.wav",VOL_NORM,ATTN_NORM,0,PITCH_NORM) client_cmd(id,"weapon_knife") entity_set_string(id,EV_SZ_viewmodel,"models/zp_apocalypse/v_egon.mdl") entity_set_string(id,EV_SZ_weaponmodel,"models/zp_apocalypse/p_egonn.mdl") set_task(get_pcvar_float(cvar_heal_time),"action_heal_user_jetpack",id) } public drop_jetpack(id) if(get_pcvar_num(cvar_can_drop) && get_user_weapon(id) == CSW_KNIFE && has_jetpack[id]) action_drop_user_jetpack(id) public shoot_jetpack(ent) { new id = entity_get_edict(ent,EV_ENT_owner) if(!has_jetpack[id]) return HAM_IGNORED if(!can_shoot[id]) { //client_print(id,print_center,"[ZP] You can't shoot with the jetpack right now. Please wait...") return HAM_IGNORED } action_shoot_user_jetpack(id) return HAM_IGNORED } public fly_jetpack(id) { if(!has_jetpack[id]) return HAM_IGNORED if(!energy[id]) { //client_print(id,print_center,"[ZP] You don't have enough energy to fly.") return HAM_IGNORED } if(get_user_button(id) & IN_DUCK) action_fly_user_jetpack(id) return HAM_IGNORED } public action_heal_user_jetpack(id) { if(!is_user_connected(id) || !has_jetpack[id]) return if(zp_get_user_zombie(id) || zp_get_user_nemesis(id)) { action_remove_user_jetpack(id) return } if(entity_get_int(id,EV_INT_flags) & FL_INWATER) { message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(TE_KILLBEAM) write_short(id) message_end() } if(entity_get_int(id,EV_INT_flags) & FL_ONGROUND) { message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(TE_KILLBEAM) write_short(id) message_end() if(energy[id] < get_pcvar_num(cvar_start_energy)) { energy[id] += get_pcvar_num(cvar_heal_energy) if(energy[id] > get_pcvar_num(cvar_start_energy)) energy[id] = get_pcvar_num(cvar_start_energy) set_hudmessage(255, 0, 0, -1.0, 0.29, 0, 6.0, 1.0, 0.1, 0.2, -1) ShowSyncHudMsg(id,hudsync,"Jetpack Energy: [%i / %i]",energy[id],get_pcvar_num(cvar_start_energy)) } } set_task(get_pcvar_float(cvar_heal_time),"action_heal_user_jetpack",id) } public action_drop_user_jetpack(id) { remove_task(id) has_jetpack[id] = false can_shoot[id] = false message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(TE_KILLBEAM) write_short(id) message_end() emit_sound(id,CHAN_AUTO,"common/bodydrop2.wav",VOL_NORM,ATTN_NORM,0,PITCH_NORM) new ent = create_entity("info_target") if(ent) { new Float:origin[3],Float:velocity[3] entity_get_vector(id,EV_VEC_origin,origin) velocity_by_aim(id,60,velocity) origin[0] += velocity[0] origin[1] += velocity[1] entity_set_string(ent,EV_SZ_classname,"weapon_jetpack") entity_set_model(ent,"models/w_egon.mdl") entity_set_int(ent,EV_INT_solid,SOLID_TRIGGER) entity_set_int(ent,EV_INT_movetype,MOVETYPE_TOSS) entity_set_int(ent,EV_INT_iuser1,energy[id]) entity_set_float(ent,EV_FL_gravity,1.0) entity_set_origin(ent,origin) } energy[id] = 0 } public action_shoot_user_jetpack(id) { can_shoot[id] = false emit_sound(id,CHAN_AUTO,"weapons/rocketfire1.wav",VOL_NORM,ATTN_NORM,0,PITCH_NORM) new ent = create_entity("info_target") if(ent) { new Float:origin[3],Float:velocity[3],Float:angles[3] entity_get_vector(id,EV_VEC_origin,origin) velocity_by_aim(id,60,velocity) origin[0] += velocity[0] origin[1] += velocity[1] velocity[0] = 0.0 velocity[1] = 0.0 velocity_by_aim(id,get_pcvar_num(cvar_speed),velocity) entity_set_string(ent,EV_SZ_classname,"info_jetpack_rocket") entity_set_model(ent,"models/rpgrocket.mdl") entity_set_int(ent,EV_INT_solid,SOLID_BBOX) entity_set_int(ent,EV_INT_movetype,MOVETYPE_FLY) entity_set_size(ent,Float:{-0.5,-0.5,-0.5},Float:{0.5,0.5,0.5}) entity_set_vector(ent,EV_VEC_velocity,velocity) vector_to_angle(velocity,angles) entity_set_vector(ent,EV_VEC_angles,angles) entity_set_edict(ent,EV_ENT_owner,id) entity_set_int(ent,EV_INT_effects,entity_get_int(ent,EV_INT_effects) | EF_LIGHT) entity_set_origin(ent,origin) message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(TE_BEAMFOLLOW) write_short(ent) write_short(sprite_beamcylinder) write_byte(30) write_byte(5) write_byte(255) write_byte(255) write_byte(255) write_byte(140) message_end() } set_task(get_pcvar_float(cvar_reload_time),"action_reload_user_jetpack",id) } public action_fly_user_jetpack(id) { new Float:velocity[3] velocity_by_aim(id,get_pcvar_num(cvar_aimvelocity),velocity) velocity[2] += float(get_pcvar_num(cvar_zvelocity)) entity_set_vector(id,EV_VEC_velocity,velocity) energy[id] -= get_pcvar_num(cvar_remove_energy) if(energy[id] < 1) energy[id] = 0 set_hudmessage(255, 0, 0, -1.0, 0.29, 0, 6.0, 1.0, 0.1, 0.2, -1) ShowSyncHudMsg(id,hudsync,"Jetpack Energy: [%i / %i]",energy[id],get_pcvar_num(cvar_start_energy)) emit_sound(id,CHAN_AUTO,"jetpack.wav",VOL_NORM,ATTN_NORM,0,PITCH_NORM) message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(TE_KILLBEAM) write_short(id) message_end() if(entity_get_int(id,EV_INT_flags) & FL_INWATER) return message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(TE_BEAMFOLLOW) write_short(id) write_short(sprite_beamcylinder) write_byte(25) write_byte(10) write_byte(255) write_byte(255) write_byte(255) write_byte(175) message_end() } public action_reload_user_jetpack(id) { if(!is_user_connected(id) || !has_jetpack[id]) return can_shoot[id] = true //client_print(id,print_center,"[ZP] Your jetpack has been reloaded. Now you can shoot again!") } public get_jetpack(ent,id) { if(has_jetpack[id] || zp_get_user_zombie(id) || zp_get_user_nemesis(id)) return remove_task(id) has_jetpack[id] = true can_shoot[id] = false energy[id] = entity_get_int(ent,EV_INT_iuser1) emit_sound(id,CHAN_AUTO,"items/gunpickup2.wav",VOL_NORM,ATTN_NORM,0,PITCH_NORM) client_cmd(id,"weapon_knife") entity_set_string(id,EV_SZ_viewmodel,"models/zp_apocalypse/v_egon.mdl") entity_set_string(id,EV_SZ_weaponmodel,"models/zp_apocalypse/p_egonn.mdl") set_task(get_pcvar_float(cvar_reload_time),"action_reload_user_jetpack",id) set_task(get_pcvar_float(cvar_heal_time),"action_heal_user_jetpack",id) remove_entity(ent) } public touch_jetpack(world,ent) { if(!is_valid_ent(ent)) return new Float:origin[3], origin_int[3], owner = entity_get_edict(ent,EV_ENT_owner) entity_get_vector(ent,EV_VEC_origin,origin) FVecIVec(origin,origin_int) new id = -1 while((id = find_ent_in_sphere(id,origin,float(get_pcvar_num(cvar_radius)))) != 0) { if(!is_user_connected(owner)) break if(1 <= id <= maxplayers) { if(!zp_get_user_zombie(id) && !zp_get_user_nemesis(id)) continue ExecuteHamB(Ham_TakeDamage,id, owner,owner, float(get_pcvar_num(cvar_damage)), DMG_ALWAYSGIB) } else { if(!is_valid_ent(id)) continue new classname[15] entity_get_string(id,EV_SZ_classname,classname,14) if(!equal(classname,"func_breakable")) continue ExecuteHamB(Ham_TakeDamage,id, owner,owner, float(get_pcvar_num(cvar_damage)), DMG_ALWAYSGIB) } } message_begin(MSG_BROADCAST,SVC_TEMPENTITY,origin_int) write_byte(TE_EXPLOSION) write_coord(origin_int[0]) write_coord(origin_int[1]) write_coord(origin_int[2]) write_short(sprite_explosion) write_byte(floatround(get_pcvar_num(cvar_radius) * 0.5)) write_byte(10) write_byte(0) message_end() message_begin(MSG_BROADCAST,SVC_TEMPENTITY,origin_int) write_byte(TE_DLIGHT) write_coord(origin_int[0]) write_coord(origin_int[1]) write_coord(origin_int[2]) write_byte(floatround(get_pcvar_num(cvar_radius) * 0.25)) write_byte(200) write_byte(145) write_byte(0) write_byte(16) write_byte(32) message_end() message_begin(MSG_BROADCAST,SVC_TEMPENTITY,origin_int) write_byte(TE_BEAMCYLINDER) write_coord(origin_int[0]) write_coord(origin_int[1]) write_coord(origin_int[2]) write_coord(origin_int[0]) write_coord(origin_int[1]) write_coord(origin_int[2] + get_pcvar_num(cvar_radius)) write_short(sprite_beamcylinder) write_byte(0) write_byte(0) write_byte(10) write_byte(50) write_byte(0) write_byte(255) write_byte(255) write_byte(255) write_byte(160) write_byte(0) message_end() remove_entity(ent) } public hook_death() { new id = read_data(2) action_remove_user_jetpack(id) } public action_remove_user_jetpack(id) { if(get_pcvar_num(cvar_can_drop)) { if(has_jetpack[id] && get_user_weapon(id) == CSW_KNIFE) action_drop_user_jetpack(id) has_jetpack[id] = false can_shoot[id] = false energy[id] = 0 message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(TE_KILLBEAM) write_short(id) message_end() } else { has_jetpack[id] = false can_shoot[id] = false energy[id] = 0 } } public event_curweapon(id) { if(has_jetpack[id] && !zp_get_user_zombie(id)) { entity_set_string(id,EV_SZ_viewmodel,"models/zp_apocalypse/v_egon.mdl") entity_set_string(id,EV_SZ_weaponmodel,"models/zp_apocalypse/p_egonn.mdl") } } public round_end() { remove_entity_name("weapon_jetpack") if(get_pcvar_num(cvar_one_round)) { for(new i=1;i<maxplayers;i++) { if(is_user_connected(i)) { has_jetpack[i] = false can_shoot[i] = false energy[i] = 0 } } } } public client_connect(id) has_jetpack[id] = false public client_disconnect(id) has_jetpack[id] = false Przeczytaj cały wpis Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi