Spoiler
#include <amxmodx> #include <amxmisc> #include <engine> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <codmod> #define PLUGIN "KameHameHa" #define VERSION "1.0" #define AUTHOR "pfk" new const perk_name[] = "KameHameHa"; new const perk_desc[] = "Posiadasz 3 kule poteznej Energii (E)"; new bool:ma_perk[33]; new ilosc_KameHameHa[33]; new gTrailModel; new gExplosionModel; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) cod_register_perk(perk_name, perk_desc); register_touch( "_KameHameHa","*","KameHameHaHIT" ) register_forward(FM_EmitSound, "EmitSound"); RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1); } public plugin_precache() { precache_sound("KameHameHa/plasma_shoot.wav") precache_sound("KameHameHa/explosion.wav") precache_model("sprites/KameHameHa/plasma.spr"); gTrailModel = precache_model("sprites/KameHameHa/laserbeam.spr"); gExplosionModel = precache_model("sprites/KameHameHa/plasma_explode.spr") } public cod_perk_enabled(id, wartosc) { ma_perk[id] = true; ilosc_KameHameHa[id] = 3; } public cod_perk_disabled(id) ma_perk[id] = false; public Odrodzenie(id) { if(!is_user_alive(id) || !is_user_connected(id)) return PLUGIN_CONTINUE; ilosc_KameHameHa[id] = 3; return PLUGIN_CONTINUE; } public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch ) { if(equal(szSound, "common/wpn_denyselect.wav")) { KameHameHa(id); return FMRES_SUPERCEDE; } return FMRES_IGNORED; } public KameHameHa(id) { if(ilosc_KameHameHa[id] > 0) { ilosc_KameHameHa[id] --; new Origin[3], Float:fOrigin[3] new Float:Velocity[3] get_user_origin( id,Origin, 1 ) IVecFVec( Origin, fOrigin ) new Ent = create_entity("info_target") entity_set_string( Ent, EV_SZ_classname, "_KameHameHa" ) new Float:posAdjust[ 3 ] velocity_by_aim( id, 70, posAdjust ) fOrigin[ 0 ] += posAdjust[ 0 ] fOrigin[ 1 ] += posAdjust[ 1 ] fOrigin[ 2 ] += posAdjust[ 2 ] entity_set_vector( Ent, EV_VEC_origin,fOrigin ) new Float:iMaxs[3] = { 0.2,0.2,0.5 } new Float:iMins[3] = { -0.2,-0.2,-0.5 } entity_set_size( Ent, iMins,iMaxs ) entity_set_int( Ent, EV_INT_solid, SOLID_BBOX ) entity_set_int( Ent, EV_INT_movetype, MOVETYPE_FLYMISSILE ) entity_set_int( Ent, EV_INT_rendermode, 5 ) entity_set_float( Ent, EV_FL_renderamt, 255.0 ) entity_set_float( Ent, EV_FL_scale, 1.20 ) entity_set_float( Ent, EV_FL_framerate,1.0 ) entity_set_model( Ent, "sprites/KameHameHa/plasma.spr" ) emit_sound( Ent, CHAN_AUTO, "KameHameHa/plasma_shoot.wav", 1.0, ATTN_NORM, 0, PITCH_NORM ) VelocityByAim( id,1150, Velocity ) entity_set_vector( Ent,EV_VEC_velocity,Velocity ) entity_set_edict( Ent, EV_ENT_owner, id ) message_begin( MSG_BROADCAST, SVC_TEMPENTITY ) write_byte( 22 ) write_short( Ent ) write_short( gTrailModel ) write_byte( 25 ) write_byte( 7 ) write_byte( 42 ) write_byte( 170 ) write_byte( 255 ) write_byte( 255 ) message_end( ) } else client_print(id,print_center,"Wykorzystales juz wszystkie KameHameHa"); return PLUGIN_HANDLED; } public KameHameHaHIT( Ent,Other ) { if( Other == 0 ) { new Float:fOrigin[3] new iOrigin[3] entity_get_vector( Ent, EV_VEC_origin, fOrigin ) FVecIVec( fOrigin, iOrigin ) message_begin( MSG_BROADCAST, SVC_TEMPENTITY ) write_byte( 23 ) write_coord( iOrigin[0] ) write_coord( iOrigin[1] ) write_coord( iOrigin[2] ) write_short( gExplosionModel ) write_byte( 3 ) write_byte( 12 ) write_byte( 210 ) message_end( ) emit_sound( Ent, CHAN_AUTO, "KameHameHa/explosion.wav", 1.0, ATTN_NORM, 0, PITCH_NORM ) remove_entity( Ent ) } else if( is_user_connected(Other) ) { new iAttacker = entity_get_edict( Ent,EV_ENT_owner ) if( get_user_team(Other) != get_user_team(iAttacker) ) { new Bodypart,iWeapon[32]; new Float:Dmg = random_float(30.0, 50.0) fakedamage( Other, "Terminator", Dmg, 1 ) new szName[33] get_user_name( Other, szName, 32 ) if( !is_user_alive( Other ) ) { make_deathmsg( iAttacker, Other, Bodypart,iWeapon ) fm_set_user_frags( iAttacker, get_user_frags(iAttacker) + 1 ) } new Float:fOrigin[3] new iOrigin[3] entity_get_vector( Ent, EV_VEC_origin, fOrigin ) FVecIVec( fOrigin, iOrigin ) message_begin( MSG_BROADCAST, SVC_TEMPENTITY ) write_byte( 23 ) write_coord( iOrigin[0] ) write_coord( iOrigin[1] ) write_coord( iOrigin[2] ) write_short( gExplosionModel ) write_byte( 3 ) write_byte( 12 ) write_byte( 210 ) message_end( ) emit_sound( Ent, CHAN_AUTO, "KameHameHa/explosion.wav", 1.0, ATTN_NORM, 0, PITCH_NORM ) remove_entity( Ent ) } else { new Float:fOrigin[3] new iOrigin[3] entity_get_vector( Ent, EV_VEC_origin, fOrigin ) FVecIVec( fOrigin, iOrigin ) message_begin( MSG_BROADCAST, SVC_TEMPENTITY ) write_byte( 23 ) write_coord( iOrigin[0] ) write_coord( iOrigin[1] ) write_coord( iOrigin[2] ) write_short( gExplosionModel ) write_byte( 3 ) write_byte( 12 ) write_byte( 210) message_end( ) emit_sound( Ent, CHAN_AUTO, "KameHameHa/explosion.wav", 1.0, ATTN_NORM, 0, PITCH_NORM ) remove_entity( Ent ) } } else { new Float:fOrigin[3] new iOrigin[3] entity_get_vector( Ent, EV_VEC_origin, fOrigin ) FVecIVec( fOrigin, iOrigin ) message_begin( MSG_BROADCAST, SVC_TEMPENTITY ) write_byte( 23 ) write_coord( iOrigin[0] ) write_coord( iOrigin[1] ) write_coord( iOrigin[2] ) write_short( gExplosionModel ) write_byte( 3 ) write_byte( 12 ) write_byte( 210 ) message_end( ) emit_sound( Ent, CHAN_AUTO, "KameHameHa/explosion.wav", 1.0, ATTN_NORM, 0, PITCH_NORM ) remove_entity( Ent ) } }
Witam chcialbym aby ten perk dzialal na zasadzie rakiety z coda starego.. ze zabiera hp nawet jak trafimy obok gracza.. poniewaz tutaj trzeba trafic idealnie w gracza
Użytkownik Yakashi edytował ten post 14.07.2013 10:33