- #include <amxmodx>
- #include <engine>
- #include <fakemeta>
- #include <hamsandwich>
- #include <zombieplague>
- #include <cstrike>
- #include <xs>
- new const ball_name[] = "paralize_ball"
- new const ball_model[] = "models/w_hiddentail2.mdl"
- new const ball_soundtouch[] = { "warcraft3/frostnova.wav" }
- new const zclass_name[] = { "Renevant Ice" } // name
- new const zclass_info[] = { "Trow ice grenade and freze human" } // description
- new const zclass_model[] = { "revenant_ice" } // model
- new const zclass_clawmodel[] = { "v_revenant_ice.mdl" } // claw model
- const zclass_health = 2000 // health
- const zclass_speed = 245 // speed
- const Float:zclass_gravity = 0.7 // gravity
- const Float:zclass_knockback = 1.0 // knockback
- new const v_zombie_bomb_model[64] = "revenant_ice"
- new g_CurWeapon[33], g_bombmodelwpn[64]
- #define OFFSET_MODELINDEX 491
- #define OFFSET_LINUX 5
- new index, defaultindex
- new g_zclassparalize
- new cvar_paralizedelay , cvar_paralizevelocity , cvar_paralizeballhealth , cvar_paralizeballparalizetime
- new sTrail , g_touchs[512] , g_can[33] , g_paralizen[33]
- new const WeaponNames[][] =
- {
- "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
- "weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
- "weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
- "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
- "weapon_ak47", "weapon_knife", "weapon_p90"
- }
- public plugin_init()
- {
- register_plugin("[ZP] Zombie Class: Revenant Ice", "1.0", "=), LARS-BLOODLIKER")
- cvar_paralizedelay = register_cvar("zp_classparalize_delay","15")
- cvar_paralizevelocity = register_cvar("zp_classparalizeball_velocity","1300")
- cvar_paralizeballhealth = register_cvar("zp_classparalizeball_health","5")
- cvar_paralizeballparalizetime = register_cvar ( "zp_classparalizeball_paralizetime", "7.0" )
- register_touch(ball_name, "worldspawn", "touchWorld")
- register_touch(ball_name, "func_wall", "touchWorld")
- register_touch(ball_name, "func_door", "touchWorld")
- register_touch(ball_name, "func_door_rotating", "touchWorld")
- register_touch(ball_name, "func_wall_toggle", "touchWorld")
- register_touch(ball_name, "func_breakable", "touchWorld")
- register_touch(ball_name, "player", "touchPlayer")
- register_think(ball_name,"ball_think")
- register_clcmd("drop","paralize_cmd")
- register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
- register_forward(FM_PlayerPreThink, "fw_PreThink")
- RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
- register_event("CurWeapon", "Event_CurrentWeapon", "be", "1=1")
- for(new i = 1; i < sizeof WeaponNames; i++)
- if(WeaponNames[i][0]) RegisterHam(Ham_Item_Deploy, WeaponNames[i], "fw_Weapon_Deploy_Post", 1)
- RegisterHam(Ham_Player_Duck, "player", "Player_Duck", 1)
- }
- public plugin_precache()
- {
- precache_model(ball_model)
- sTrail = precache_model("sprites/laserbeam.spr")
- g_zclassparalize = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
- formatex(g_bombmodelwpn, charsmax(g_bombmodelwpn), "models/zombie_plague/v_bomb_%s.mdl", v_zombie_bomb_model)
- engfunc(EngFunc_PrecacheModel, g_bombmodelwpn)
- index = precache_model("models/player/revenant_ice/revenant_ice.mdl")
- defaultindex = precache_model("models/player.mdl")
- }
- public paralize_cmd( id )
- {
- if( !is_user_alive(id) || !zp_get_user_zombie(id) || zp_get_user_zombie_class(id) != g_zclassparalize || zp_get_user_nemesis(id) )
- return PLUGIN_CONTINUE;
- if(g_can[id])
- {
- client_print(id,print_center,"Востановление через %d секунд",g_can[id])
- return PLUGIN_HANDLED;
- }
- static Float:origin[3], Float:angles[3], Float:v_forward[3], Float:v_right[3], Float:v_up[3], Float:gun_position[3], Float:player_origin[3], Float:player_view_offset[3];
- static Float:OriginX[3]
- pev(id, pev_v_angle, angles);
- pev(id, pev_origin, OriginX);
- engfunc(EngFunc_MakeVectors, angles);
- global_get(glb_v_forward, v_forward);
- global_get(glb_v_right, v_right);
- global_get(glb_v_up, v_up);
- //m_pPlayer->GetGunPosition( ) = pev->origin + pev->view_ofs
- pev(id, pev_origin, player_origin);
- pev(id, pev_view_ofs, player_view_offset);
- xs_vec_add(player_origin, player_view_offset, gun_position);
- xs_vec_mul_scalar(v_forward, 13.0, v_forward);
- xs_vec_mul_scalar(v_right, 0.0, v_right);
- xs_vec_mul_scalar(v_up, 5.0, v_up);
- xs_vec_add(gun_position, v_forward, origin);
- xs_vec_add(origin, v_right, origin);
- xs_vec_add(origin, v_up, origin);
- new Float:StartOrigin[3]
- StartOrigin[0] = origin[0];
- StartOrigin[1] = origin[1];
- StartOrigin[2] = origin[2];
- new Float:fVelocity[3] , Float:flOrigin[3] , Float:flAngle[3]
- pev(id,pev_origin,flOrigin)
- pev(id,pev_angles,flAngle)
- new ball = create_entity("info_target")
- if (!ball) return PLUGIN_HANDLED
- g_touchs[ball] = 0
- entity_set_string(ball, EV_SZ_classname, ball_name)
- entity_set_model(ball, ball_model)
- entity_set_origin(ball, StartOrigin)
- entity_set_vector(ball, EV_VEC_angles, flAngle)
- new Float:MinBox[3] = {-1.0, -1.0, -1.0}
- new Float:MaxBox[3] = {1.0, 1.0, 1.0}
- entity_set_vector(ball, EV_VEC_mins, MinBox)
- entity_set_vector(ball, EV_VEC_maxs, MaxBox)
- entity_set_int(ball, EV_INT_solid, SOLID_SLIDEBOX)
- entity_set_int(ball, EV_INT_movetype, MOVETYPE_BOUNCEMISSILE)
- entity_set_edict(ball, EV_ENT_owner, id)
- entity_set_int(ball, EV_INT_effects, EF_BRIGHTLIGHT)
- VelocityByAim(id, get_pcvar_num(cvar_paralizevelocity ), fVelocity)
- entity_set_vector(ball , EV_VEC_velocity, fVelocity)
- fm_set_rendering(ball, kRenderFxGlowShell,255, 255, 255, kRenderNormal, 16)
- message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
- write_byte(TE_BEAMFOLLOW) // Temporary entity ID
- write_short(ball) // Entity
- write_short(sTrail) // Sprite index
- write_byte(10) // Life
- write_byte(3) // Line width
- write_byte(100) // Red
- write_byte(255) // Green
- write_byte(255) // Blue
- write_byte(255) // Alpha
- message_end()
- UTIL_PlayPlayerAnimation(id,10)
- UTIL_PlayWeaponAnimation(id,8)
- g_can[id] = get_pcvar_num(cvar_paralizedelay)
- set_task(1.0,"ability_zero",id)
- entity_set_float(ball, EV_FL_health , get_pcvar_float(cvar_paralizeballhealth))
- entity_set_float(ball, EV_FL_nextthink, get_gametime() + 0.1)
- return PLUGIN_HANDLED;
- }
- public touchWorld(ball, world) {
- emit_sound(ball, CHAN_WEAPON, ball_soundtouch, 1.0, ATTN_NORM, 0, PITCH_NORM)
- g_touchs[ball] += 1
- if(g_touchs[ball] == get_pcvar_num(cvar_paralizeballhealth)) remove_entity(ball)
- return PLUGIN_HANDLED
- }
- public touchPlayer(ball, player) {
- client_print(0,print_chat,"Вы попали в %d",player)
- remove_task(player)
- paralize(player)
- //set_task(get_pcvar_float(cvar_paralizeballparalizetime),"unparalize_player",player)
- return PLUGIN_HANDLED
- }
- public event_round_start()
- {
- new iEnt = FM_NULLENT;
- while( (iEnt = engfunc(EngFunc_FindEntityByString, iEnt, "classname", ball_name)) > 0 )
- {
- engfunc(EngFunc_RemoveEntity,iEnt)
- }
- for(new i;i<=32;i++)
- {
- if(g_paralizen[i]) fm_set_rendering(i)
- g_can[i] = 0
- g_paralizen[i] = 0
- remove_task(i)
- }
- }
- public ball_think(ball)
- {
- if(!is_valid_ent(ball))
- return;
- new Float:oldangles[3],Float:angles[3]
- pev(ball,pev_angles,oldangles)
- angles[0] = oldangles[0] + random_float(20.0,100.0)
- angles[1] = oldangles[1] + random_float(10.0,80.0)
- angles[2] = oldangles[2] + random_float(10.0,80.0)
- set_pev(ball,pev_angles,angles)
- new Float:Velocity[3]
- pev(ball,pev_velocity,Velocity)
- if(Velocity[0] < 1.0 && Velocity[2] < 1.0 && Velocity[1] < 1.0) remove_entity(ball)
- entity_set_float(ball, EV_FL_nextthink, get_gametime() + 0.1)
- }
- public paralize(id)
- {
- if(!is_user_alive(id) || zp_get_user_zombie(id))
- return;
- g_paralizen[id] = 1
- fm_set_rendering(id, kRenderFxGlowShell,100, 255, 255, kRenderNormal, 16)
- set_task(get_pcvar_float(cvar_paralizeballparalizetime),"unparalize_player",id)
- }
- public unparalize_player(id)
- {
- if(!is_user_alive(id) || zp_get_user_zombie(id))
- return;
- g_paralizen[id] = 0
- fm_set_rendering(id)
- }
- public remove_values(id)
- {
- remove_task(id)
- g_can[id] = 0
- }
- public ability_zero(id)
- {
- g_can[id] -= 1
- if(!g_can[id]) client_print(id,print_center,"Способность активна!")
- if(g_can[id]) set_task(1.0,"ability_zero",id)
- }
- public fw_PreThink(id)
- {
- if( !is_user_alive(id) || zp_get_user_zombie(id) || !g_paralizen[id])
- return PLUGIN_CONTINUE;
- set_pev( id, pev_button, pev(id,pev_button) & ~IN_ATTACK );
- set_pev(id, pev_maxspeed, 0.0)
- new Float:vel[3]
- set_pev(id,pev_velocity,vel)
- return PLUGIN_HANDLED
- }
- public zp_user_humanized_post(id)
- {
- fm_set_user_model_index(id, defaultindex)
- remove_values(id)
- }
- public fw_PlayerKilled(id, attacker, shouldgib) remove_values(id)
- public client_connect(id) remove_values(id)
- public zp_user_infected_post(id)
- {
- set_wpnmodel(id)
- if((zp_get_user_zombie_class(id) == g_zclassparalize) && (zp_get_user_zombie(id)))
- {
- fm_set_user_model_index(id, index)
- }
- remove_values(id)
- }
- public zp_user_infected_pre(id)
- {
- if(!(get_user_flags(id) & ADMIN_LEVEL_H))
- {
- if(zp_get_user_next_class(id) == g_zclassparalize)
- {
- zp_set_user_zombie_class(id, 0)
- client_print(id, print_chat, "Данный класс только для Випов")
- client_print(id, print_chat, "Стоимость админки на месяц 100 рублей")
- }
- }
- }
- stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
- {
- static Float:color[3]
- color[0] = float(r)
- color[1] = float(g)
- color[2] = float(b)
- set_pev(entity, pev_renderfx, fx)
- set_pev(entity, pev_rendercolor, color)
- set_pev(entity, pev_rendermode, render)
- set_pev(entity, pev_renderamt, float(amount))
- }
- stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
- {
- set_pev(Player, pev_weaponanim, Sequence)
- message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
- write_byte(Sequence)
- write_byte(pev(Player, pev_body))
- message_end()
- }
- stock UTIL_PlayPlayerAnimation(const id, const Sequence , Float:frame = 1.0 , Float:framerate = 1.0)
- {
- entity_set_int(id, EV_INT_sequence, Sequence)
- entity_set_int(id, EV_INT_gaitsequence, 1)
- entity_set_float(id, EV_FL_frame, frame)
- entity_set_float(id, EV_FL_framerate, framerate)
- }
- stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
- {
- new_velocity[0] = origin2[0] - origin1[0]
- new_velocity[1] = origin2[1] - origin1[1]
- new_velocity[2] = origin2[2] - origin1[2]
- new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
- new_velocity[0] *= num
- new_velocity[1] *= num
- new_velocity[2] *= num
- return 1
- }
- stock fm_cs_set_user_deaths(id, value)
- {
- set_pdata_int(id, 444, value, 5)
- }
- stock fm_cs_get_user_team(id)
- {
- return get_pdata_int(id, 114, 5);
- }
- public Event_CurrentWeapon(id) g_CurWeapon[id] = read_data(2)
- public fw_Weapon_Deploy_Post(weapon_ent)
- {
- static id; id = get_pdata_cbase(weapon_ent, 41, 4)
- static weaponid; weaponid = cs_get_weapon_id(weapon_ent)
- g_CurWeapon[id] = weaponid
- replace_weapon_models(id, weaponid)
- }
- public Player_Duck(id)
- {
- if(zp_get_user_zombie_class(id) == g_zclassparalize && zp_get_user_zombie(id))
- {
- static button, ducking
- button = pev(id, pev_button)
- ducking = pev(id, pev_flags) & (FL_DUCKING | FL_ONGROUND) == (FL_DUCKING | FL_ONGROUND)
- if(button & IN_DUCK || ducking)
- {
- set_pev(id, pev_view_ofs, {0.0, 0.0, 20.0})
- }
- }
- }
- set_wpnmodel(id)
- {
- if(!is_user_alive(id)) return
- new wpn = get_user_weapon(id)
- if(wpn == CSW_HEGRENADE || wpn == CSW_FLASHBANG || wpn == CSW_SMOKEGRENADE)
- {
- set_pev(id, pev_viewmodel2, g_bombmodelwpn)
- }
- }
- replace_weapon_models(id, weaponid)
- {
- if(zp_get_user_zombie_class(id) == g_zclassparalize && zp_get_user_zombie(id))
- {
- switch(weaponid)
- {
- case CSW_HEGRENADE:
- {
- set_pev(id, pev_viewmodel2, g_bombmodelwpn)
- }
- case CSW_SMOKEGRENADE:
- {
- set_pev(id, pev_viewmodel2, g_bombmodelwpn)
- }
- case CSW_FLASHBANG:
- {
- set_pev(id, pev_viewmodel2, g_bombmodelwpn)
- }
- }
- }
- }
- stock fm_set_user_model_index(id, value)
- {
- set_pdata_int(id, OFFSET_MODELINDEX, value, OFFSET_LINUX)
- }
Covert zombie class
Covert zombie class
Who can help me to covert this zombie class to our mod ?
try
- #include <zombie_escape>
- #include <amxmodx>
- #include <engine>
- #include <fakemeta>
- #include <hamsandwich>
- #include <cstrike>
- #include <xs>
- #include <ze_zombie_class>
- new const ball_name[] = "paralize_ball"
- new const ball_model[] = "models/w_hiddentail2.mdl"
- new const ball_soundtouch[] = { "warcraft3/frostnova.wav" }
- new const zclass_name[] = { "Renevant Ice" } // name
- new const zclass_info[] = { "Trow ice grenade and freze human" } // description
- //new const zclass_model[] = { "revenant_ice" } // model
- //new const zclass_clawmodel[] = { "v_revenant_ice.mdl" } // claw model
- const zclass_health = 2000 // health
- const zclass_speed = 245 // speed
- const zclass_gravity = 600 // gravity
- //const Float:zclass_knockback = 1.0 // knockback
- //new const v_zombie_bomb_model[64] = "revenant_ice"
- new g_CurWeapon[33], g_bombmodelwpn[64]
- #define OFFSET_MODELINDEX 491
- #define OFFSET_LINUX 5
- new index, defaultindex
- new g_zclassparalize
- new cvar_paralizedelay , cvar_paralizevelocity , cvar_paralizeballhealth , cvar_paralizeballparalizetime
- new sTrail , g_touchs[512] , g_can[33] , g_paralizen[33]
- native ze_is_user_nemesis(id)
- new const WeaponNames[][] =
- {
- "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
- "weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
- "weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
- "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
- "weapon_ak47", "weapon_knife", "weapon_p90"
- }
- public plugin_init()
- {
- register_plugin("[ZE] Zombie Class: Revenant Ice", "1.0", "=), LARS-BLOODLIKER")
- cvar_paralizedelay = register_cvar("ze_classparalize_delay","15")
- cvar_paralizevelocity = register_cvar("ze_classparalizeball_velocity","1300")
- cvar_paralizeballhealth = register_cvar("ze_classparalizeball_health","5")
- cvar_paralizeballparalizetime = register_cvar ( "ze_classparalizeball_paralizetime", "7.0" )
- register_touch(ball_name, "worldspawn", "touchWorld")
- register_touch(ball_name, "func_wall", "touchWorld")
- register_touch(ball_name, "func_door", "touchWorld")
- register_touch(ball_name, "func_door_rotating", "touchWorld")
- register_touch(ball_name, "func_wall_toggle", "touchWorld")
- register_touch(ball_name, "func_breakable", "touchWorld")
- register_touch(ball_name, "player", "touchPlayer")
- register_think(ball_name,"ball_think")
- register_clcmd("drop","paralize_cmd")
- register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
- register_forward(FM_PlayerPreThink, "fw_PreThink")
- RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
- register_event("CurWeapon", "Event_CurrentWeapon", "be", "1=1")
- for(new i = 1; i < sizeof WeaponNames; i++)
- if(WeaponNames[i][0]) RegisterHam(Ham_Item_Deploy, WeaponNames[i], "fw_Weapon_Deploy_Post", 1)
- RegisterHam(Ham_Player_Duck, "player", "Player_Duck", 1)
- }
- public plugin_precache()
- {
- precache_model(ball_model)
- sTrail = precache_model("sprites/laserbeam.spr")
- g_zclassparalize = ze_register_zombie_class(zclass_name, zclass_info, zclass_health, zclass_speed, zclass_gravity)
- //formatex(g_bombmodelwpn, charsmax(g_bombmodelwpn), "models/zombie_plague/v_bomb_%s.mdl", v_zombie_bomb_model)
- //engfunc(EngFunc_PrecacheModel, g_bombmodelwpn)
- //index = precache_model("models/player/revenant_ice/revenant_ice.mdl")
- //defaultindex = precache_model("models/player.mdl")
- }
- public paralize_cmd( id )
- {
- if( !is_user_alive(id) || !ze_is_user_zombie(id) || ze_get_current_zombie_class(id) != g_zclassparalize || ze_is_user_nemesis(id) )
- return PLUGIN_CONTINUE;
- if(g_can[id])
- {
- client_print(id,print_center,"ВоÑтановление через %d Ñекунд",g_can[id])
- return PLUGIN_HANDLED;
- }
- static Float:origin[3], Float:angles[3], Float:v_forward[3], Float:v_right[3], Float:v_up[3], Float:gun_position[3], Float:player_origin[3], Float:player_view_offset[3];
- static Float:OriginX[3]
- pev(id, pev_v_angle, angles);
- pev(id, pev_origin, OriginX);
- engfunc(EngFunc_MakeVectors, angles);
- global_get(glb_v_forward, v_forward);
- global_get(glb_v_right, v_right);
- global_get(glb_v_up, v_up);
- //m_pPlayer->GetGunPosition( ) = pev->origin + pev->view_ofs
- pev(id, pev_origin, player_origin);
- pev(id, pev_view_ofs, player_view_offset);
- xs_vec_add(player_origin, player_view_offset, gun_position);
- xs_vec_mul_scalar(v_forward, 13.0, v_forward);
- xs_vec_mul_scalar(v_right, 0.0, v_right);
- xs_vec_mul_scalar(v_up, 5.0, v_up);
- xs_vec_add(gun_position, v_forward, origin);
- xs_vec_add(origin, v_right, origin);
- xs_vec_add(origin, v_up, origin);
- new Float:StartOrigin[3]
- StartOrigin[0] = origin[0];
- StartOrigin[1] = origin[1];
- StartOrigin[2] = origin[2];
- new Float:fVelocity[3] , Float:flOrigin[3] , Float:flAngle[3]
- pev(id,pev_origin,flOrigin)
- pev(id,pev_angles,flAngle)
- new ball = create_entity("info_target")
- if (!ball) return PLUGIN_HANDLED
- g_touchs[ball] = 0
- entity_set_string(ball, EV_SZ_classname, ball_name)
- entity_set_model(ball, ball_model)
- entity_set_origin(ball, StartOrigin)
- entity_set_vector(ball, EV_VEC_angles, flAngle)
- new Float:MinBox[3] = {-1.0, -1.0, -1.0}
- new Float:MaxBox[3] = {1.0, 1.0, 1.0}
- entity_set_vector(ball, EV_VEC_mins, MinBox)
- entity_set_vector(ball, EV_VEC_maxs, MaxBox)
- entity_set_int(ball, EV_INT_solid, SOLID_SLIDEBOX)
- entity_set_int(ball, EV_INT_movetype, MOVETYPE_BOUNCEMISSILE)
- entity_set_edict(ball, EV_ENT_owner, id)
- entity_set_int(ball, EV_INT_effects, EF_BRIGHTLIGHT)
- VelocityByAim(id, get_pcvar_num(cvar_paralizevelocity ), fVelocity)
- entity_set_vector(ball , EV_VEC_velocity, fVelocity)
- fm_set_rendering(ball, kRenderFxGlowShell,255, 255, 255, kRenderNormal, 16)
- message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
- write_byte(TE_BEAMFOLLOW) // Temporary entity ID
- write_short(ball) // Entity
- write_short(sTrail) // Sprite index
- write_byte(10) // Life
- write_byte(3) // Line width
- write_byte(100) // Red
- write_byte(255) // Green
- write_byte(255) // Blue
- write_byte(255) // Alpha
- message_end()
- UTIL_PlayPlayerAnimation(id,10)
- UTIL_PlayWeaponAnimation(id,8)
- g_can[id] = get_pcvar_num(cvar_paralizedelay)
- set_task(1.0,"ability_zero",id)
- entity_set_float(ball, EV_FL_health , get_pcvar_float(cvar_paralizeballhealth))
- entity_set_float(ball, EV_FL_nextthink, get_gametime() + 0.1)
- return PLUGIN_HANDLED;
- }
- public touchWorld(ball, world) {
- emit_sound(ball, CHAN_WEAPON, ball_soundtouch, 1.0, ATTN_NORM, 0, PITCH_NORM)
- g_touchs[ball] += 1
- if(g_touchs[ball] == get_pcvar_num(cvar_paralizeballhealth)) remove_entity(ball)
- return PLUGIN_HANDLED
- }
- public touchPlayer(ball, player) {
- client_print(0,print_chat,"Вы попали в %d",player)
- remove_task(player)
- paralize(player)
- //set_task(get_pcvar_float(cvar_paralizeballparalizetime),"unparalize_player",player)
- return PLUGIN_HANDLED
- }
- public event_round_start()
- {
- new iEnt = FM_NULLENT;
- while( (iEnt = engfunc(EngFunc_FindEntityByString, iEnt, "classname", ball_name)) > 0 )
- {
- engfunc(EngFunc_RemoveEntity,iEnt)
- }
- for(new i;i<=32;i++)
- {
- if(g_paralizen[i]) fm_set_rendering(i)
- g_can[i] = 0
- g_paralizen[i] = 0
- remove_task(i)
- }
- }
- public ball_think(ball)
- {
- if(!is_valid_ent(ball))
- return;
- new Float:oldangles[3],Float:angles[3]
- pev(ball,pev_angles,oldangles)
- angles[0] = oldangles[0] + random_float(20.0,100.0)
- angles[1] = oldangles[1] + random_float(10.0,80.0)
- angles[2] = oldangles[2] + random_float(10.0,80.0)
- set_pev(ball,pev_angles,angles)
- new Float:Velocity[3]
- pev(ball,pev_velocity,Velocity)
- if(Velocity[0] < 1.0 && Velocity[2] < 1.0 && Velocity[1] < 1.0) remove_entity(ball)
- entity_set_float(ball, EV_FL_nextthink, get_gametime() + 0.1)
- }
- public paralize(id)
- {
- if(!is_user_alive(id) || ze_is_user_zombie(id))
- return;
- g_paralizen[id] = 1
- fm_set_rendering(id, kRenderFxGlowShell,100, 255, 255, kRenderNormal, 16)
- set_task(get_pcvar_float(cvar_paralizeballparalizetime),"unparalize_player",id)
- }
- public unparalize_player(id)
- {
- if(!is_user_alive(id) || ze_is_user_zombie(id))
- return;
- g_paralizen[id] = 0
- fm_set_rendering(id)
- }
- public remove_values(id)
- {
- remove_task(id)
- g_can[id] = 0
- }
- public ability_zero(id)
- {
- g_can[id] -= 1
- if(!g_can[id]) client_print(id,print_center,"СпоÑобноÑÑ‚ÑŒ активна!")
- if(g_can[id]) set_task(1.0,"ability_zero",id)
- }
- public fw_PreThink(id)
- {
- if( !is_user_alive(id) || ze_is_user_zombie(id) || !g_paralizen[id])
- return PLUGIN_CONTINUE;
- set_pev( id, pev_button, pev(id,pev_button) & ~IN_ATTACK );
- set_pev(id, pev_maxspeed, 0.0)
- new Float:vel[3]
- set_pev(id,pev_velocity,vel)
- return PLUGIN_HANDLED
- }
- public ze_user_humanized(id)
- {
- fm_set_user_model_index(id, defaultindex)
- remove_values(id)
- }
- public fw_PlayerKilled(id, attacker, shouldgib) remove_values(id)
- public client_connect(id) remove_values(id)
- public ze_user_infected(id)
- {
- set_wpnmodel(id)
- if((ze_get_current_zombie_class(id) == g_zclassparalize) && (ze_is_user_zombie(id)))
- {
- fm_set_user_model_index(id, index)
- }
- remove_values(id)
- }
- public ze_user_infected_pre(id)
- {
- if(!(get_user_flags(id) & ADMIN_LEVEL_H))
- {
- if(ze_get_next_zombie_class(id) == g_zclassparalize)
- {
- ze_set_next_zombie_class(id, 0)
- client_print(id, print_chat, "Данный клаÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð’Ð¸Ð¿Ð¾Ð²")
- client_print(id, print_chat, "СтоимоÑÑ‚ÑŒ админки на меÑÑц 100 рублей")
- }
- }
- }
- stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
- {
- static Float:color[3]
- color[0] = float(r)
- color[1] = float(g)
- color[2] = float(b)
- set_pev(entity, pev_renderfx, fx)
- set_pev(entity, pev_rendercolor, color)
- set_pev(entity, pev_rendermode, render)
- set_pev(entity, pev_renderamt, float(amount))
- }
- stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
- {
- set_pev(Player, pev_weaponanim, Sequence)
- message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
- write_byte(Sequence)
- write_byte(pev(Player, pev_body))
- message_end()
- }
- stock UTIL_PlayPlayerAnimation(const id, const Sequence , Float:frame = 1.0 , Float:framerate = 1.0)
- {
- entity_set_int(id, EV_INT_sequence, Sequence)
- entity_set_int(id, EV_INT_gaitsequence, 1)
- entity_set_float(id, EV_FL_frame, frame)
- entity_set_float(id, EV_FL_framerate, framerate)
- }
- stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
- {
- new_velocity[0] = origin2[0] - origin1[0]
- new_velocity[1] = origin2[1] - origin1[1]
- new_velocity[2] = origin2[2] - origin1[2]
- new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
- new_velocity[0] *= num
- new_velocity[1] *= num
- new_velocity[2] *= num
- return 1
- }
- stock fm_cs_set_user_deaths(id, value)
- {
- set_pdata_int(id, 444, value, 5)
- }
- stock fm_cs_get_user_team(id)
- {
- return get_pdata_int(id, 114, 5);
- }
- public Event_CurrentWeapon(id) g_CurWeapon[id] = read_data(2)
- public fw_Weapon_Deploy_Post(weapon_ent)
- {
- static id; id = get_pdata_cbase(weapon_ent, 41, 4)
- static weaponid; weaponid = cs_get_weapon_id(weapon_ent)
- g_CurWeapon[id] = weaponid
- replace_weapon_models(id, weaponid)
- }
- public Player_Duck(id)
- {
- if(ze_get_current_zombie_class(id) == g_zclassparalize && ze_is_user_zombie(id))
- {
- static button, ducking
- button = pev(id, pev_button)
- ducking = pev(id, pev_flags) & (FL_DUCKING | FL_ONGROUND) == (FL_DUCKING | FL_ONGROUND)
- if(button & IN_DUCK || ducking)
- {
- set_pev(id, pev_view_ofs, {0.0, 0.0, 20.0})
- }
- }
- }
- set_wpnmodel(id)
- {
- if(!is_user_alive(id)) return
- new wpn = get_user_weapon(id)
- if(wpn == CSW_HEGRENADE || wpn == CSW_FLASHBANG || wpn == CSW_SMOKEGRENADE)
- {
- set_pev(id, pev_viewmodel2, g_bombmodelwpn)
- }
- }
- replace_weapon_models(id, weaponid)
- {
- if(ze_get_current_zombie_class(id) == g_zclassparalize && ze_is_user_zombie(id))
- {
- switch(weaponid)
- {
- case CSW_HEGRENADE:
- {
- set_pev(id, pev_viewmodel2, g_bombmodelwpn)
- }
- case CSW_SMOKEGRENADE:
- {
- set_pev(id, pev_viewmodel2, g_bombmodelwpn)
- }
- case CSW_FLASHBANG:
- {
- set_pev(id, pev_viewmodel2, g_bombmodelwpn)
- }
- }
- }
- }
- stock fm_set_user_model_index(id, value)
- {
- set_pdata_int(id, OFFSET_MODELINDEX, value, OFFSET_LINUX)
- }
Create an account or sign in to join the discussion
You need to be a member in order to post a reply
Create an account
Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute
Sign in
Who is online
Users browsing this forum: Ahrefs [Bot] and 11 guests