RSSy MYGO.pl Opublikowano Grudzień 13, 2020 o 10:59 RSSy Udostępnij Opublikowano Grudzień 13, 2020 o 10:59 Quote: /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~ This plugin is based on original Half-Life game. When someone dies, release a capsule that contains the weapons and items of dead player. When another player grabs capsule, receive items in the capsule. There're three modes of playing with capsules: * cp_teammode 0: Every player can pick capsules * cp_teammode 1: Only players of the same team can pick capsules droped by someone * cp_teammode 2: Only players of the other team can pick capsules droped by someone You can enable/disable glowing: * cp_glowmode 0: Glow disabled * cp_glowmode 1: Glow enabled Cvars: cp_teammode 1: 0: Anyone can catch the capsule. 1: Only the same team can catch the capsule. 2: Only the opposing team can catch the capsule. cp_glowmode 1: 0: Glow disabled. 1: Glow enabled. cp_remove 0: 0: Do not remove the capsules. 1: Remove the capsules. cp_bounce 1: 0: Off the bounce in the capsule. 1: On the bounce on the capsule. Credits: Joropito IneedHelp meTaLiCroSS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~ */ #include <amxmodx> #include <hamsandwich> #include <fakemeta> #include <cstrike> #include <engine> #include <fun> #define Plugin "Capsule" #define Version "2.9" #define Author "Asd'" #define Clip 51 #define WeaponLinux 4 /*ииииииииииииииии[Models][Sprites][Sounds]иииииииииииииии*/ new CapsuleMdl[] = "models/w_weaponbox.mdl" new ReceivedSd[] = "items/gunpickup3.wav" new BounceSd[] = "weapons/g_bounce1.wav" new SmokeSpr[] = "sprites/steam1.spr" /*ииииииииииииииииииииииииииииииииииииииииииии ииииииииииии*/ /*иииииииииииииииииииииииии[Weapons Consts][BPAmmo Consts]иииииииииииииииииииииииии*/ new const Weapons = ( (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) | (1<<CSW_P228) | (1<<CSW_ELITE) | (1<<CSW_FIVESEVEN) | (1<<CSW_USP) | (1<<CSW_GLOCK18) | (1<<CSW_DEAGLE) | (1<<CSW_FLASHBANG) | (1<<CSW_HEGRENADE) | (1<<CSW_SMOKEGRENADE) ) new const MaxBPAmmo[] = { -1, 52, -1, 90, 1, 32, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 32, 90, 120, 90, 2, 35, 90, 90, -1, 100 } /*ииииииииииииииииииииииииииииииииииииииииииии иииииииииииииииииииииииииииииииииииии*/ /*ииииии[Glow Colors]иииии*/ new Float:Colors[3][3] = { {0.0, 200.0, 0.0}, {200.0, 0.0, 0.0}, {0.0, 0.0, 200.0} } /*ииииииииииииииииииииии*/ /*иииии[Variables]иииии*/ new Bounce new Remove new GlowMode new TeamMode new Smoke /*иииииииииииииииииииии*/ /*иииии[Arrays]иииии*/ new UserWeapons[33] new Capsule[33] new UserAmmo[33] new UserClip[33] /*иииииииииииииииииии*/ public plugin_init( ) { /* Plugin */ register_plugin( Plugin, Version, Author ) /* Cvars & Commands */ Bounce = register_cvar( "cp_bounce", "1" ) Remove = register_cvar( "cp_remove", "0" ) GlowMode = register_cvar( "cp_glowmode", "1" ) TeamMode = register_cvar( "cp_teammode", "1" ) /* Engine Fowards */ register_touch( "Capsule", "player", "CapsuleTouch" ) register_touch( "Capsule", "worldspawn", "CapsuleBounce" ) register_think( "Capsule", "CapsuleThink" ) /* Hamsandwich Forwards */ RegisterHam( Ham_Killed, "player", "CapsuleCreate", 1 ) RegisterHam( Ham_Spawn, "player", "CapsuleRemoved", 1 ) /* Others */ register_cvar( "cp_author", Author, FCVAR_SERVER|FCVAR_SPONLY ) /* Game monitor */ register_cvar( "cp_version", Version, FCVAR_SERVER|FCVAR_SPONLY ) /* Game monitor */ } public plugin_precache( ) { /* Precache model */ precache_model( CapsuleMdl ) /* Precache sprite */ Smoke = precache_model( SmokeSpr ) /* Precache sounds */ precache_sound( ReceivedSd ) precache_sound( BounceSd ) } public CapsuleCreate( Victim, Attacker, ShouldGib ) { new Float:Origin[3] new Float:Velocidad[3] CapsuleRemove( Victim ) new Entidad = create_entity( "info_target" ) new Team = get_user_team( Victim ) entity_get_vector( Victim, EV_VEC_origin, Origin ) entity_set_string( Entidad, EV_SZ_classname, "Capsule" ) entity_set_model( Entidad, CapsuleMdl ) if( get_pcvar_num( GlowMode ) ) { entity_set_int( Entidad, EV_INT_rendermode, kRenderNormal) entity_set_int( Entidad, EV_INT_renderfx, kRenderFxGlowShell ) entity_set_vector( Entidad, EV_VEC_rendercolor, get_pcvar_num( TeamMode ) ? Colors[Team] : Colors[0] ) entity_set_float( Entidad, EV_FL_renderamt, 10.0 ) } entity_set_edict( Entidad, EV_ENT_owner, Victim ) entity_set_int( Entidad, EV_INT_iuser1, Team ) entity_set_int( Entidad, EV_INT_iuser2, Victim ) entity_set_size( Entidad, Float:{ -10.0, -10.0, -0.0 }, Float:{ 10.0, 10.0, 0.0 } ) entity_set_origin( Entidad, Origin ) entity_set_int( Entidad, EV_INT_solid, SOLID_TRIGGER ) if( get_pcvar_num( Bounce ) ) entity_set_int( Entidad, EV_INT_movetype, MOVETYPE_BOUNCE ) else entity_set_int( Entidad, EV_INT_movetype, MOVETYPE_TOSS ) entity_get_vector( Victim, EV_VEC_velocity, Velocidad ) entity_set_vector( Entidad, EV_VEC_velocity, Velocidad ) Capsule[Victim] = Entidad CapsuleItems( Victim, Entidad ) entity_set_float( Entidad, EV_FL_nextthink, get_gametime( ) + 1.0 ) return HAM_HANDLED } public CapsuleRemoved( id ) { if( get_pcvar_num( Remove ) ) CapsuleRemove( id ) return HAM_IGNORED } public CapsuleThink( Entidad ) { new Float:Origin[3] pev( Entidad, pev_origin, Origin ) new OriginEnd[3] OriginEnd[0] = floatround( Origin[0] ) OriginEnd[1] = floatround( Origin[1] ) OriginEnd[2] = floatround( Origin[2] ) message_begin( MSG_BROADCAST, SVC_TEMPENTITY ) write_byte( TE_SMOKE ) write_coord( OriginEnd[0] ) write_coord( OriginEnd[1] ) write_coord( OriginEnd[2] ) write_short( Smoke ) write_byte( random_num( 5, 10 ) ) write_byte( 10 ) message_end( ) entity_set_float( Entidad, EV_FL_nextthink, get_gametime( ) + 1.0 ) } public CapsuleBounce( Entidad, World ) { if( !is_valid_ent( Entidad ) ) return PLUGIN_HANDLED if( entity_get_edict( Entidad, EV_ENT_owner ) ) entity_set_edict( Entidad, EV_ENT_owner, 0 ) if( get_pcvar_num( Bounce ) ) { new Float:Velocidad[3] entity_get_vector( Entidad, EV_VEC_velocity, Velocidad ) Velocidad[0] -= Velocidad[0] / 10.0 Velocidad[1] -= Velocidad[1] / 5.0 Velocidad[2] -= Velocidad[2] / 0.0 entity_set_vector( Entidad, EV_VEC_velocity, Velocidad ) emit_sound( Entidad, CHAN_ITEM, BounceSd, 1.0, ATTN_NORM, 0, PITCH_NORM ) } return PLUGIN_HANDLED } public CapsuleTouch( Entidad, Index ) { if( !is_user_alive( Index ) ) return PLUGIN_HANDLED if( !is_valid_ent( Entidad ) ) return PLUGIN_HANDLED if( entity_get_edict( Entidad, EV_ENT_owner ) ) return PLUGIN_HANDLED new WeaponsDT[32] new OldEntidad = entity_get_int( Entidad, EV_INT_iuser2 ) new NewAmmo new OldAmmo new NewClip new WPEntidad entity_get_string( Entidad, EV_SZ_noise1, UserWeapons, charsmax( UserWeapons ) ) entity_get_string( Entidad, EV_SZ_noise2, UserAmmo, charsmax( UserAmmo) ) entity_get_string( Entidad, EV_SZ_noise3, UserClip, charsmax( UserClip) ) for(new i = 0; i < charsmax( UserWeapons ); i++) { if( UserWeapons[i] == 0 ) break if( MaxBPAmmo[UserWeapons[i]] > 0 ) { if( !user_has_weapon( Index, UserWeapons[i] ) ) { get_weaponname( UserWeapons[i], WeaponsDT, charsmax( WeaponsDT ) ) give_item( Index, WeaponsDT ) WPEntidad = WeaponEntidad( Index, UserWeapons[i]) NewAmmo = UserAmmo[i] NewClip = UserClip[i] } else { OldAmmo = cs_get_user_bpammo( Index, UserWeapons[i] ) NewAmmo = ( MaxBPAmmo[UserWeapons[i]] + OldAmmo ) < UserAmmo[i] ? MaxBPAmmo[UserWeapons[i]] : UserAmmo[i] WPEntidad = WeaponEntidad( Index, UserWeapons[i] ) NewClip = get_pdata_int( WPEntidad, Clip, WeaponLinux ) } cs_set_user_bpammo( Index, UserWeapons[i], NewAmmo ) set_pdata_int( WPEntidad, Clip, NewClip, WeaponLinux ) } } emit_sound( Entidad, CHAN_ITEM, ReceivedSd, 1.0, ATTN_NORM, 0, PITCH_NORM ) CapsuleRemove( OldEntidad ) return PLUGIN_HANDLED } public CapsuleItems( Index, Entidad ) { new CarriedWeapons[32] new NumWeapons new WeaponID new i get_user_weapons( Index, CarriedWeapons, NumWeapons ) for(i = 0; i < NumWeapons; i++) { UserWeapons[i] = CarriedWeapons[i] WeaponID = WeaponEntidad( Index, UserWeapons[i] ) if( Weapons & ( 1 << CarriedWeapons[i] ) ) get_user_ammo( Index, CarriedWeapons[i], UserClip[i], UserAmmo[i] ) else UserAmmo[i] = UserClip[i] = -1 ExecuteHamB( Ham_Weapon_RetireWeapon, WeaponID ) ExecuteHamB( Ham_RemovePlayerItem, Index, WeaponID ) ExecuteHamB( Ham_Item_Kill, WeaponID ) } UserWeapons[i] = UserAmmo[i] = UserClip[i] = 0 entity_set_string( Entidad, EV_SZ_noise1, UserWeapons ) entity_set_string( Entidad, EV_SZ_noise2, UserAmmo ) entity_set_string( Entidad, EV_SZ_noise3, UserClip ) } /*иииииииииииииииииииииииии[Stocks]иииииииииииииииииииииииии*/ stock CapsuleRemove( Index ) { if( ( Capsule[Index] != 0 ) && is_valid_ent( Capsule[Index] ) ) { remove_entity( Capsule[Index] ) Capsule[Index] = 0 } } stock WeaponEntidad( Index, WeaponID ) { static szWeaponName[32] get_weaponname( WeaponID, szWeaponName, charsmax( szWeaponName ) ) return find_ent_by_owner(-1, szWeaponName, Index ) } /*ииииииииииииииииииииииииииииииииииииииииииии иииииииииииии*/ hello i need your help Sim plugin and bugs Can you fix it 1. give a weapon if i have a weapon in my hand and open the capsule wool does he give that extra weapon to fix it? to give 1flash and a automaton so if what died he was Przeczytaj cały wpis Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi