rAsEaL 43 Posted February 9 Descriere: Atunci cand loveste un om acesta ii poate arunca arma (+Attack2 , click dreapta) Descarcare: /* ==================================================== Name: Deimos Zombie Type: Zombie Class Desc: Press +Attack2 to Drop Human Weapon Edit: Dias Leon This zombie class made by Petr & 5c0r. ==================================================== */ #include <amxmodx> #include <engine> #include <fakemeta> #include <zombieplague> #include <fun> #include <hamsandwich> #include <fakemeta_util> #include <zombiexp> #define PLUGIN "[ZP] ZClass: Deimos Zombie" #define VERSION "1.1" #define AUTHOR "Petr+5cor" new const zclass_name[] = { "Deimos Zombie" } new const zclass_info[] = { ">> Press +Attack2 <<" } new const zclass_model[] = { "revenant_nik" } new const zclass_clawmodel[] = { "v_revenant_um.mdl" } const zclass_health = 13000 const zclass_speed = 440 const Float:zclass_gravity = 0.7 const Float:zclass_knockback = 0.25 new beamSpr, deimos_spr new const deimos_sound[] = "zombie_plague/deimos_skill_hit.wav" //Cvars new pcvar_distance new cvar_cooldown // Cooldown when dropped the weapon of human new g_deimos new g_maxplayers new is_cooldown[33] = 0 new bool:g_cd[33] new cvar_nemesis #define PRIMARY_WEAPONS_BIT_SUM ((1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)) // You can allways add more public plugin_precache() { g_deimos = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback) beamSpr = precache_model("sprites/lgtning.spr") deimos_spr = precache_model("sprites/deimosexp.spr") precache_sound(deimos_sound) } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) pcvar_distance = register_cvar ( "zp_deimos_distance", "1000" ) cvar_cooldown = register_cvar("zp_deimos_shot_cooldown","5.0") cvar_nemesis = register_cvar("zp_deimos_nemesis", "1") g_maxplayers = get_maxplayers() register_logevent("roundStart", 2, "1=Round_Start") register_forward(FM_CmdStart, "fwd_cmd_start") RegisterHam(Ham_Spawn,"player","fw_PlayerSpawn_Post",1) } public fw_PlayerSpawn_Post(id) { // Not alive... if(!is_user_alive(id)) return HAM_IGNORED if(cvar_nemesis == 1) { if(zp_get_user_zombie_class(id) == g_deimos && zp_get_user_zombie(id)) { g_cd[id] = true } } else { if(zp_get_user_zombie_class(id) == g_deimos && zp_get_user_zombie(id) && !zp_get_user_nemesis(id)) { g_cd[id] = true } } return HAM_IGNORED } public fwd_cmd_start(id, uc_handle, seed) { if(cvar_nemesis == 1) { if (!is_user_alive(id) || !zp_get_user_zombie(id) || g_cd[id] ) return FMRES_IGNORED } else { if (!is_user_alive(id) || !zp_get_user_zombie(id) || g_cd[id] || zp_get_user_nemesis(id) ) return FMRES_IGNORED } if (zp_get_user_zombie_class(id) != g_deimos) return FMRES_IGNORED static buttons buttons = get_uc(uc_handle, UC_Buttons) if(buttons & IN_ATTACK2) { drop_weapon(id) g_cd[id] = true } buttons &= ~IN_ATTACK2 set_uc(uc_handle, UC_Buttons, buttons) return FMRES_HANDLED } drop_weapon(id) { new target, body static Float:start[3] static Float:aim[3] pev(id, pev_origin, start) fm_get_aim_origin(id, aim) start[2] += 16.0; // raise aim[2] += 16.0; // raise get_user_aiming ( id, target, body, pcvar_distance ) if( is_user_alive( target ) && !zp_get_user_zombie( target ) && !zp_get_user_survivor( target ) ) { message_begin(MSG_BROADCAST ,SVC_TEMPENTITY) write_byte(TE_EXPLOSION) engfunc(EngFunc_WriteCoord, aim[0]) engfunc(EngFunc_WriteCoord, aim[1]) engfunc(EngFunc_WriteCoord, aim[2]) write_short(deimos_spr) write_byte(10) write_byte(30) write_byte(4) message_end() emit_sound(id, CHAN_WEAPON, deimos_sound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM) drop(target) } message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(0) engfunc(EngFunc_WriteCoord,start[0]); engfunc(EngFunc_WriteCoord,start[1]); engfunc(EngFunc_WriteCoord,start[2]); engfunc(EngFunc_WriteCoord,aim[0]); engfunc(EngFunc_WriteCoord,aim[1]); engfunc(EngFunc_WriteCoord,aim[2]); write_short(beamSpr); // sprite index write_byte(0); // start frame write_byte(30); // frame rate in 0.1's write_byte(10); // life in 0.1's write_byte(100); // line width in 0.1's write_byte(10); // noise amplititude in 0.01's write_byte(200); // red write_byte(200); // green write_byte(0); // blue write_byte(100); // brightness write_byte(50); // scroll speed in 0.1's message_end(); set_task( get_pcvar_float(cvar_cooldown), "reset_cooldown2", id ); } public zp_user_infected_post(id, infector) { if ((zp_get_user_zombie_class(id) == g_deimos) && !zp_get_user_nemesis(id)) { is_cooldown[id] = 0 g_cd[id] = false } } public reset_cooldown2(id) { g_cd[id] = false client_print( id, print_chat, "[Deimos Zombie] Now. You can use your Ability. Press +Attack2" ) } public zp_user_humanized_post(id) { remove_task(id) is_cooldown[id] = 0 } public roundStart() { for (new i = 1; i <= g_maxplayers; i++) { is_cooldown[i] = 0 remove_task(i) } } stock drop(id) { new weapons[32], num get_user_weapons(id, weapons, num) for (new i = 0; i < num; i++) { if (PRIMARY_WEAPONS_BIT_SUM & (1<<weapons[i])) { static wname[32] get_weaponname(weapons[i], wname, sizeof wname - 1) engclient_cmd(id, "drop", wname) } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1066\\ f0\\ fs16 \n\\ par } */ LINK RESURSE ! Nume: [ZP] ZClass: Deimos Zombie Link oficial: click , am postat mai mult acest plugin pentru ca lipsesc fisiere din link-ul original..modele + lgtning.spr Instalare: 1. Fisierul zp_zclass_deimos.sma il puneti in addons/amxmodx/scripting 2. Fisierul zp_zclass_deimos.amxx il puneti in addons/amxmodx/plugins 3. Intrati in fisierul addons/amxmodx/configs/plugins-zplague.ini si adaugati la urma: zp_zclass_deimos.amxx 4. Alti pasi necesari.... Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg zp_deimos_distance | Distanța de la distanță (implicit: 500 - 1000) zp_deimos_shot_cooldown | Cooldown după cădere (Implicit: 30) zp_deimos_nemesis | Activat dacă vrei nemesis, de asemenea, poți folosi această abilitate (Implicit: 1) Share this post Link to post Share on other sites