Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Cvar-uri:
- furien_alien_hp 400 - viata care o primeste alien
- furien_alien_ap 400 - armura care o primeste alien
- furien_alien_speed 500 - viteza care o primeste alien
- furien_predator_hp 300 - viata care o primeste predator
- furien_predator_ap 200 - armura care o primeste predator
- furien_predator_speed 1000 - viteza care o primeste predator
- */
- #include <amxmodx>
- #include <cstrike>
- #include <fun>
- #include <hamsandwich>
- #include <fakemeta>
- #include <dhudmessage>
- #include <fun>
- #define PLUGIN "Furien Alien vs. Predator"
- #define VERSION "1.0"
- #define AUTHOR "DestorY"
- #define IsPlayer(%1) ( 1 <= %1 <= g_MaxPlayers )
- #define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)
- native set_user_crossbow ( id );
- new bool:UserIsPredator[ 33 ];
- new bool:UserIsAlien[ 33 ];
- new cvar_hp;
- new cvar_ap;
- new cvar_speed;
- new cvar_hp2;
- new cvar_ap2;
- new cvar_speed2;
- new cvar_damage;
- new cvar_damage2;
- new g_MaxPlayers;
- new alien_v_knife [ 66 ] = "models/furien/knifes/v_alien.mdl";
- public plugin_init() {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- g_MaxPlayers = get_maxplayers ( );
- cvar_hp = register_cvar( "furien_alien_hp", "400" );
- cvar_ap = register_cvar( "furien_alien_ap", "400" );
- cvar_speed = register_cvar( "furien_alien_speed", "1300" );
- cvar_damage = register_cvar( "furien_alien_damage", "12" );
- cvar_hp2 = register_cvar( "furien_predator_hp", "400" );
- cvar_ap2 = register_cvar( "furien_predator_ap", "400" );
- cvar_speed2 = register_cvar( "furien_predator_speed", "800" );
- cvar_damage2 = register_cvar( "furien_predator_damage", "2" );
- RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1 );
- register_event ( "CurWeapon", "AlienCurrentWeapon", "be", "1=1" );
- RegisterHam ( Ham_Spawn, "player", "Models", 1 );
- RegisterHam ( Ham_TakeDamage, "player", "PredatorAndAlienDamage" );
- register_forward ( FM_PlayerPreThink, "ForcePlayerSpeed" );
- }
- public models_precache ( ) {
- precache_model("models/player/alien/alien.mdl");
- precache_model("models/player/predator/predator.mdl");
- precache_model ( alien_v_knife );
- }
- public client_connect( id )
- {
- if ( is_user_bot( id ) || is_user_hltv( id ) )
- return 0;
- UserIsAlien[ id ] = false;
- UserIsPredator[ id ] = false;
- return 0;
- }
- public client_disconnect( id )
- {
- if ( is_user_bot( id ) || is_user_hltv( id ) )
- return 0;
- UserIsAlien[ id ] = false;
- UserIsPredator[ id ] = false;
- return 0;
- }
- public Ham_PlayerSpawnPost( id )
- {
- if( !is_user_alive( id ) || !is_user_connected( id ) ) return HAM_IGNORED;
- set_task( 0.1, "RemovePowers", id + 123 );
- return HAM_IGNORED;
- }
- public RemovePowers( id )
- {
- id -= 123;
- if( !is_user_connected( id ) ) return 1;
- if( UserIsAlien[ id ] )
- set_user_rendering( id );
- if( UserIsPredator[ id ] )
- set_user_rendering( id );
- if( UserIsAlien[ id ] || UserIsPredator[ id ] )
- set_user_armor( id, 0 );
- UserIsPredator[ id ] = false;
- UserIsAlien[ id ] = false;
- return 0;
- }
- public SearchForPredator( )
- {
- new iTerro = CountPlayers( 1 );
- new iCounter = CountPlayers( 2 );
- if( iCounter == 1 && iTerro > 0 )
- {
- new id = GetRemainingPlayerId( 2 );
- if( UserIsPredator[ id ] ) return 1;
- strip_user_weapons ( id );
- UserIsPredator[ id ] = true;
- ColorChat( 0,".g[Furien.AnZo.Ro].t%s a devenit Predator. ", get_name( id ) );
- ColorChat( 0,".g[Furien.AnZo.Ro].t Are.g %d.t HP,.g %d.t AP,.g %d.t Speed, aveti grija !", get_pcvar_num( cvar_hp2 ), get_pcvar_num( cvar_ap2 ), get_pcvar_num( cvar_speed2 ) );
- set_hudmessage( 0, 255, 0, -1.0, -1.0, 0, 0.0, 5.0, 0.0, 1.0, 3);
- show_hudmessage( 0, "%s a devenit Predator !^n Cea din urma salvare a omenirii !", get_name( id ) );
- set_user_maxspeed( id, float( get_pcvar_num( cvar_speed2 ) ) );
- set_user_health( id, get_pcvar_num( cvar_hp2 ) );
- set_user_armor( id, get_pcvar_num( cvar_ap2 ) );
- set_user_crossbow ( id );
- set_user_rendering( id, kRenderFxGlowShell, 0, 145, 255, kRenderNormal, 25 );
- }
- return 0;
- }
- public SearchForAlien( )
- {
- new iTerro = CountPlayers( 1 );
- new iCounter = CountPlayers( 2 );
- if( iTerro == 1 && iCounter > 0 )
- {
- new id = GetRemainingPlayerId( 1 );
- if( UserIsAlien[ id ] ) return 1;
- strip_user_weapons ( id );
- UserIsAlien[ id ] = true;
- ColorChat( 0,".g[Furien.AnZo.Ro].t%s a devenit Alien. ", get_name( id ));
- ColorChat( 0,".g[Furien.AnZo.Ro].t Are.g %d.t HP,.g %d.t AP,.g %d.t Speed, aveti grija !", get_pcvar_num( cvar_hp ), get_pcvar_num( cvar_ap ), get_pcvar_num( cvar_speed ) );
- set_hudmessage( 0, 255, 0, -1.0, -1.0, 0, 0.0, 5.0, 0.0, 1.0, 3);
- show_hudmessage( 0, "%s s-a transformat in Alien !^nSansele pamantenilor au scazut !", get_name( id ) );
- set_user_maxspeed( id, float( get_pcvar_num( cvar_speed ) ) );
- set_user_health( id, get_pcvar_num( cvar_hp ) );
- set_user_armor( id, get_pcvar_num( cvar_ap ) );
- set_user_rendering( id, kRenderFxGlowShell, 238, 9, 9, kRenderNormal, 25 );
- }
- return 0;
- }
- public AlienCurrentWeapon ( id ) {
- new szKnife = get_user_weapon ( id );
- if ( szKnife == CSW_KNIFE ) {
- if ( UserIsAlien [ id ] && szKnife == CSW_KNIFE ) {
- set_pev ( id, pev_viewmodel2, alien_v_knife );
- }
- }
- return 1;
- }
- public Models ( id ) {
- if(get_user_team ( id ) == 2 && is_user_alive( id ) && UserIsPredator[ id ] ) {
- cs_set_user_model(id, "predator");
- }
- if(get_user_team ( id ) == 1 && is_user_alive( id ) && UserIsAlien[ id ] ) {
- cs_set_user_model(id, "alien");
- }
- }
- public PredatorAndAlienDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
- {
- if(IsPlayer(iAttacker)) {
- if( iInflictor == iAttacker && UserIsPredator [ iAttacker ] && is_user_alive( iAttacker ) && cs_get_user_team( iAttacker ) == CS_TEAM_CT )
- {
- SetHamParamFloat( 4, fDamage * get_pcvar_num ( cvar_damage2 ));
- return HAM_HANDLED;
- }
- if( iInflictor == iAttacker && UserIsAlien [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
- {
- SetHamParamFloat( 4, fDamage * get_pcvar_num ( cvar_damage ));
- return HAM_HANDLED;
- }
- }
- return HAM_IGNORED;
- }
- public ForcePlayerSpeed ( id ) {
- if ( UserIsAlien [ id ] )
- {
- set_pev ( id, pev_maxspeed, get_pcvar_num ( cvar_speed ) );
- }
- if ( UserIsPredator [ id ] )
- {
- set_pev ( id, pev_maxspeed, get_pcvar_num ( cvar_speed2 ) );
- }
- }
- stock ColorChat(const id, const input[], any:...)
- {
- new count = 1, players[32]
- static msg[191]
- vformat(msg, 190, input, 3)
- replace_all(msg, 190, ".g", "^4")
- replace_all(msg, 190, ".n", "^1")
- replace_all(msg, 190, ".t", "^3")
- if (id) players[0] = id; else get_players(players, count, "ch")
- {
- for (new i = 0; i < count; i++)
- {
- if (is_user_connected(players[i]))
- {
- message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
- write_byte(players[i]);
- write_string(msg);
- message_end();
- }
- }
- }
- }
- stock get_name( id )
- {
- new name[ 32 ];
- get_user_name( id, name, sizeof ( name ) -1 );
- return name;
- }
- stock CountPlayers( const Team )
- {
- new iPlayers[ 32 ];
- new iPlayersNum;
- new iPlayersCount;
- get_players( iPlayers, iPlayersNum, "ch" );
- for( new i = 0 ; i < iPlayersNum ; i++ )
- {
- if( is_user_connected( iPlayers[ i ] ) && is_user_alive( iPlayers[ i ] ) )
- {
- if( Team == 1 )
- {
- if( get_user_team( iPlayers[ i ] ) == 1 )
- {
- iPlayersCount++;
- }
- }
- else if( Team == 2 )
- {
- if( get_user_team( iPlayers[ i ] ) == 2 )
- {
- iPlayersCount++;
- }
- }
- }
- }
- return iPlayersCount;
- }
- stock GetRemainingPlayerId( const Team )
- {
- new iPlayers[ 32 ];
- new iPlayersNum;
- new iPlayerId;
- get_players( iPlayers, iPlayersNum, "ch" );
- for( new i = 0 ; i < iPlayersNum ; i++ )
- {
- if( is_user_connected( iPlayers[ i ] ) && is_user_alive( iPlayers[ i ] ) )
- {
- if( Team == 1 )
- {
- if( get_user_team( iPlayers[ i ] ) == 1 )
- {
- iPlayerId = iPlayers[ i ];
- }
- }
- else if( Team == 2 )
- {
- if( get_user_team( iPlayers[ i ] ) == 2 )
- {
- iPlayerId = iPlayers[ i ];
- }
- }
- }
- }
- return iPlayerId;
- }
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
- *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement