Raised This Month: $209 Target: $400
 52% 

[REQ] hELP CALPSULA


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
FLOY
Senior Member
Join Date: Dec 2013
Location: I love to www.steam.lv
Old 12-13-2020 , 05:59   [REQ] hELP CALPSULA
Reply With Quote #1

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_P22 | (1<<CSW_ELITE) | (1<<CSW_FIVESEVEN) |
(1<<CSW_USP) | (1<<CSW_GLOCK1 | (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
__________________
homepage:steam.lv
topsites:top.steam.lv
FLOY is offline
Send a message via Skype™ to FLOY
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 00:58.


Powered by vBulletin®
Copyright ©2000 - 2021, vBulletin Solutions, Inc.
Theme made by Freecode