Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <cstrike>
- #include <engine>
- #include <fun>
- #include <hamsandwich>
- #include <fakemeta_util>
- #pragma semicolon 1
- #define FLASH_SPEED 350.0 // viteza care o are Flash
- #define FLASHT_SPEED 350.0 // viteza care o are Flash
- #define FLASHTZ_SPEED 210.0 // viteza care o are Flash
- #define HULK_GRAVITY 0.75 // gravitatea setata lui hulk ( 1.0 = 800 )
- #define HULKT_GRAVITY 0.55 // gravitatea setata lui hulk ( 1.0 = 800 )
- #define PREDATOR_MULTIPLY 1.8 // damage facut inmultit cu 1.5 sau cat pui.
- #define ELF_INVISIBILITY 76 // ( 0 - 255 ) 2.55 este aproximativ 1% deci 76 vine cam 30% vizibil
- #define PLUGIN "Plugin Nou"
- #define VERSION "1.0"
- new const Models[ 6 ][ ] =
- {
- "", //Null
- "HumenClass", //Flash
- "HumenClass2", //Hulk
- "HumenClass3", //Predator
- "HumenClass4", //Elf
- "HumenClass5" //Vip
- };
- new const ModelsT[ 6 ][ ] =
- {
- "", //Null
- "ZombieClass", //Flash
- "ZombieClass2", //Hulk
- "ZombieClass3", //Predator
- "ZombieClass4", //Elf
- "ZombieClass5" //Vip
- };
- new const kModels[ 3 ][ ] =
- {
- "", //Null
- "models/HumenClassKnife.mdl", //Flash
- "models/HumenClassKnife2.mdl" //Vip
- };
- new const kModelsT[ 6 ][ ] =
- {
- "", //Null
- "models/ZombieClass.mdl",
- "models/ZombieClass2.mdl", //Flash
- "models/ZombieClass3.mdl",
- "models/ZombieClass4.mdl",
- "models/ZombieClass5.mdl" //Vip
- };
- new const MenuName[ ] = " \wRase \rHuman^n";
- new const MenuNameT[ ] = " \wChoose \y Your Class :^n";
- new const NumeSite[ ] = "\yRase Human";
- new bool:UserIsFlash[ 33 ], bool:UserIsHulk[ 33 ], bool:UserIsPredator[ 33 ], bool:UserIsElf[ 33 ], bool:UserIsVIp[ 33 ];
- new bool:UserIsFlashT[ 33 ], bool:UserIsHulkT[ 33 ], bool:UserIsPredatorT[ 33 ], bool:UserIsElfT[ 33 ], bool:UserIsVIpT[ 33 ];
- new bool:UserChoosed[ 33 ];
- public plugin_precache( )
- {
- new ModelPath[ 64 ];
- for( new i = 1; i < 6; i++ )
- {
- formatex( ModelPath, sizeof ( ModelPath ) -1, "models/player/%s/%s.mdl", ModelsT[ i ], ModelsT[ i ] );
- formatex( ModelPath, sizeof ( ModelPath ) -1, "models/player/%s/%s.mdl", ModelsT[ i ], ModelsT[ i ] );
- precache_model( ModelPath );
- }
- for( new i = 1; i < 3; i++ )
- {
- precache_model( kModels[ i ] );
- precache_model( kModelsT[ i ] );
- }
- }
- public plugin_cfg( ) set_cvar_float( "sv_maxspeed", FLASH_SPEED );
- public plugin_init( )
- {
- register_plugin( PLUGIN, VERSION, "Askhanar" );
- register_clcmd( "say /race", "sayRace" );
- RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawnPost", true );
- RegisterHam( Ham_TakeDamage, "player", "Ham_PlayerTakeDamage", false );
- register_clcmd("chooseteam", "clcmd_changeteam");
- register_event( "CurWeapon", "evCurWeapon", "be", "1=1" );
- register_event( "HLTV", "evHookRoundStart", "a", "1=0", "2=0" );
- }
- public client_connect(id)
- {
- SetCl_Settings( id , 0 );
- UserIsFlashT[ id ] = false;
- UserIsHulkT[ id ] = false;
- UserIsPredatorT[ id ] = false;
- UserIsElfT[ id ] = false;
- UserIsVIpT[ id ] = false;
- UserIsFlash[ id ] = false;
- UserIsHulk[ id ] = false;
- UserIsPredator[ id ] = false;
- UserIsElf[ id ] = false;
- UserIsVIp[ id ] = false;
- UserChoosed[ id ] = false;
- }
- public client_disconnect(id)
- {
- SetCl_Settings( id, 0 );
- UserIsFlashT[ id ] = false;
- UserIsHulkT[ id ] = false;
- UserIsPredatorT[ id ] = false;
- UserIsElfT[ id ] = false;
- UserIsVIpT[ id ] = false;
- UserIsFlash[ id ] = false;
- UserIsHulk[ id ] = false;
- UserIsPredator[ id ] = false;
- UserIsElf[ id ] = false;
- UserIsVIp[ id ] = false;
- UserChoosed[ id ] = false;
- }
- public sayRace( id )
- {
- if( cs_get_user_team( id ) == CS_TEAM_CT ) {
- if( UserChoosed[ id ] )
- {
- client_print( id, print_chat, "[ Class System ] u Cant Choose Class 2 times In Round" );
- return 1;
- }
- MainMenu( id );
- }
- else if( cs_get_user_team( id ) == CS_TEAM_T ) MainMenu( id );
- return 0;
- }
- public clcmd_changeteam(id)
- {
- if( cs_get_user_team( id ) == CS_TEAM_CT ) {
- if( UserChoosed[ id ] )
- {
- client_print( id, print_chat, "[ Class System ] u Cant Choose Class 2 times In Round" );
- return 1;
- }
- MainMenu( id );
- }
- else if( cs_get_user_team( id ) == CS_TEAM_T ) MainMenu( id );
- return 0;
- }
- public Ham_PlayerSpawnPost( id )
- {
- if( !is_user_alive( id ) || UserChoosed[ id ] || cs_get_user_team( id ) == CS_TEAM_CT ) {
- client_print( id, print_chat, "[ Class System ] u Cant Choose Class 2 times In Round" );
- }
- ResetUserSettings( id );
- if( cs_get_user_team( id ) == CS_TEAM_CT ) MainMenu( id );
- else if( cs_get_user_team( id ) == CS_TEAM_T ) MainMenu( id );
- cs_reset_user_model( id );
- return HAM_IGNORED;
- }
- public Ham_PlayerTakeDamage( id, iInflictor, iAttacker, Float:flDamage, bitsDamageType )
- {
- if( !iAttacker || id == iAttacker || !is_user_connected( iAttacker ) || !is_user_connected( id )
- || get_user_team( id ) == get_user_team( iAttacker )
- || !UserIsPredator[ iAttacker ] || !UserIsVIp[ id ] ) return HAM_IGNORED;
- SetHamParamFloat( 4, flDamage * PREDATOR_MULTIPLY );
- return HAM_IGNORED;
- }
- public evHookRoundStart( )
- {
- new iPlayers[ 32 ];
- new iPlayersNum;
- get_players( iPlayers, iPlayersNum, "ch" );
- for( new i = 0 ; i < iPlayersNum ; i++ )
- {
- UserChoosed[ iPlayers[ i ] ] = false;
- }
- }
- public evCurWeapon( id )
- {
- if( is_user_alive( id ) )
- {
- if( cs_get_user_team( id ) == CS_TEAM_CT )
- {
- new clip, ammo, wpnid = get_user_weapon( id, clip, ammo );
- if( wpnid == CSW_KNIFE )
- {
- if( UserIsFlash[ id ] )
- {
- entity_set_string( id, EV_SZ_viewmodel, kModels[ 1 ] );
- }
- else if( UserIsHulk[ id ] )
- {
- entity_set_string( id, EV_SZ_viewmodel, kModels[ 2 ] );
- }
- else if( UserIsPredator[ id ] )
- {
- entity_set_string( id, EV_SZ_viewmodel, kModels[ 1 ] );
- }
- else if( UserIsElf[ id ] )
- {
- entity_set_string( id, EV_SZ_viewmodel, kModels[ 2 ] );
- }
- else if( UserIsVIp[ id ] )
- {
- entity_set_string( id, EV_SZ_viewmodel, kModels[ 1 ] );
- }
- }
- }
- else if( cs_get_user_team( id ) == CS_TEAM_T )
- {
- new clip, ammo, wpnid = get_user_weapon( id, clip, ammo );
- if( wpnid == CSW_KNIFE )
- {
- if( UserIsFlashT[ id ] )
- {
- entity_set_string( id, EV_SZ_viewmodel, kModelsT[ 1 ] );
- }
- else if( UserIsHulkT[ id ] )
- {
- entity_set_string( id, EV_SZ_viewmodel, kModelsT[ 2 ] );
- }
- else if( UserIsPredatorT[ id ] )
- {
- entity_set_string( id, EV_SZ_viewmodel, kModelsT[ 3 ] );
- }
- else if( UserIsElfT[ id ] )
- {
- entity_set_string( id, EV_SZ_viewmodel, kModelsT[ 4 ] );
- }
- else if( UserIsVIpT[ id ] )
- {
- entity_set_string( id, EV_SZ_viewmodel, kModelsT[ 5 ] );
- }
- }
- }
- }
- return 0;
- }
- public client_PreThink( id )
- {
- if( is_user_alive( id ) && is_user_connected( id ) && cs_get_user_team( id ) == CS_TEAM_CT )
- {
- if( UserIsFlash[ id ] || UserIsVIp[ id ] || UserIsFlashT[ id ] )
- {
- set_user_maxspeed( id, FLASH_SPEED );
- }
- }
- }
- public MainMenu( id )
- {
- if( cs_get_user_team( id ) == CS_TEAM_T ) {
- new menu = menu_create( MenuNameT, "MainMenuHandlerT" );
- menu_additem( menu, "\wClassic \yZombie^n \r[\w =Balanced= \r]", "1", 0 );
- menu_additem( menu, "\wFast \yZombie^n \r[\w +Fast - HP \r]", "2", 0 );
- menu_additem( menu, "\wJumper \yZombie^n \r[\w +Jump -HP \r]", "3", 0 );
- menu_additem( menu, "\rWereWolf ^n \r[\w =Balanced= \r]", "4", 0 );
- menu_additem( menu, "\wTanker \y Zombie^n \r[\w +HP -Fast \r]", "5", 0 );
- menu_setprop( menu, MPROP_EXITNAME, NumeSite );
- menu_display( id, menu, 0 );
- }
- else if( cs_get_user_team( id ) == CS_TEAM_CT ) {
- new menu = menu_create( MenuName, "MainMenuHandler" );
- menu_additem( menu, "Super Fast \r[\yHigh Speed \w+ \yM4a1 \w+ \yDeagle\r]", "1", 0 );
- menu_additem( menu, "Gravity Man \r[\yGravity \w+ \yAk47 \w+ \yDeagle\r]", "2", 0 );
- menu_additem( menu, "TerminaToR \r[\yDamage Ridicat \w+ \yM249 \w+ \yUsp\r]", "3", 0 );
- menu_additem( menu, "ELF \r[\yInvizibilitate \w+ \yM4a1 \w+ \yUsp\r]^n", "4", 0 );
- menu_additem( menu, "\rOwner \w[LOCKED TO OWNER]", "5", 0 );
- menu_setprop( menu, MPROP_EXITNAME, NumeSite );
- menu_display( id, menu, 0 );
- }
- }
- public MainMenuHandlerT( id, menu, item )
- {
- if( item == MENU_EXIT )
- {
- set_task( 0.1, "MainMenu", id );
- return 1;
- }
- if( cs_get_user_team( id ) != CS_TEAM_T ) return 1;
- new data[ 6 ], iName[ 64 ];
- new iaccess, callback;
- menu_item_getinfo( menu, item, iaccess, data, 5, iName, sizeof ( iName ) -1, callback );
- ResetUserSettings( id );
- new key = str_to_num( data );
- switch( key )
- {
- case 1:
- {
- ResetUserSettings( id );
- GiveUserPower( id, 6 );
- cs_set_user_model( id, Models[ 1 ] );
- engclient_cmd( id, "weapon_knife" );
- return 1;
- }
- case 2:
- {
- ResetUserSettings( id );
- GiveUserPower( id, 7 );
- cs_set_user_model( id, Models[ 2 ] );
- engclient_cmd( id, "weapon_knife" );
- return 1;
- }
- case 3:
- {
- ResetUserSettings( id );
- GiveUserPower( id, 8 );
- cs_set_user_model( id, Models[ 3 ] );
- engclient_cmd( id, "weapon_knife" );
- return 1;
- }
- case 4:
- {
- ResetUserSettings( id );
- GiveUserPower( id, 9 );
- cs_set_user_model( id, Models[ 4 ] );
- engclient_cmd( id, "weapon_knife" );
- return 1;
- }
- case 5:
- {
- ResetUserSettings( id );
- GiveUserPower( id, 10 );
- cs_set_user_model( id, Models[ 5 ] );
- engclient_cmd( id, "weapon_knife" );
- return 1;
- }
- }
- return 0;
- }
- /*=======================================================================================s=P=u=f=?*/
- public MainMenuHandler( id, menu, item )
- {
- if( item == MENU_EXIT )
- {
- set_task( 0.1, "MainMenu", id );
- return 1;
- }
- if( cs_get_user_team( id ) != CS_TEAM_CT ) return 1;
- new data[ 6 ], iName[ 64 ];
- new iaccess, callback;
- menu_item_getinfo( menu, item, iaccess, data, 5, iName, sizeof ( iName ) -1, callback );
- ResetUserSettings( id );
- new key = str_to_num( data );
- switch( key )
- {
- case 1:
- {
- UserChoosed[ id ] = true;
- ResetUserSettings( id );
- GiveUserPower( id, 1 );
- cs_set_user_model( id, Models[ 1 ] );
- give_item(id, "weapon_m4a1");
- cs_set_user_bpammo ( id, CSW_M4A1, 999);
- give_item(id, "weapon_deagle");
- cs_set_user_bpammo ( id, CSW_DEAGLE, 999);
- engclient_cmd( id, "weapon_knife" );
- return 1;
- }
- case 2:
- {
- UserChoosed[ id ] = true;
- ResetUserSettings( id );
- GiveUserPower( id, 2 );
- cs_set_user_model( id, Models[ 2 ] );
- give_item(id, "weapon_ak47");
- cs_set_user_bpammo ( id, CSW_AK47, 999);
- give_item(id, "weapon_deagle");
- cs_set_user_bpammo ( id, CSW_DEAGLE, 999);
- engclient_cmd( id, "weapon_knife" );
- return 1;
- }
- case 3:
- {
- UserChoosed[ id ] = true;
- ResetUserSettings( id );
- GiveUserPower( id, 3 );
- cs_set_user_model( id, Models[ 3 ] );
- give_item(id, "weapon_m249");
- cs_set_user_bpammo ( id, CSW_M249, 999);
- give_item(id, "weapon_usp");
- cs_set_user_bpammo ( id, CSW_USP, 999);
- engclient_cmd( id, "weapon_knife" );
- return 1;
- }
- case 4:
- {
- UserChoosed[ id ] = true;
- ResetUserSettings( id );
- GiveUserPower( id, 4 );
- cs_set_user_model( id, Models[ 4 ] );
- give_item(id, "weapon_m4a1");
- cs_set_user_bpammo ( id, CSW_M4A1, 999);
- give_item(id, "weapon_usp");
- cs_set_user_bpammo ( id, CSW_USP, 999);
- engclient_cmd( id, "weapon_knife" );
- return 1;
- }
- case 5:
- {
- if( UserIsVip( id ) )
- {
- UserChoosed[ id ] = true;
- ResetUserSettings( id );
- GiveUserPower( id, 5 );
- cs_set_user_model( id, Models[ 5 ] );
- give_item(id, "weapon_ak47");
- cs_set_user_bpammo ( id, CSW_AK47, 999);
- give_item(id, "weapon_deagle");
- cs_set_user_bpammo ( id, CSW_DEAGLE, 999);
- give_item(id, "weapon_m249");
- cs_set_user_bpammo ( id, CSW_M249, 999);
- give_item(id, "weapon_m4a1");
- cs_set_user_bpammo ( id, CSW_M4A1, 999);
- give_item(id, "weapon_usp");
- cs_set_user_bpammo ( id, CSW_USP, 999);
- engclient_cmd( id, "weapon_knife" );
- return 1;
- }
- else
- {
- MainMenu( id );
- return 1;
- }
- }
- }
- return 0;
- }
- public GiveUserPower( id, const Class )
- {
- switch( Class )
- {
- case 1:
- {
- //slow hacking ?:O
- SetCl_Settings( id, 1 );
- set_user_maxspeed( id, FLASH_SPEED );
- UserIsFlash[ id ] = true;
- return 1;
- }
- case 2:
- {
- set_user_gravity( id, HULK_GRAVITY );
- UserIsHulk[ id ] = true;
- return 1;
- }
- case 3:
- {
- UserIsPredator[ id ] = true;
- return 1;
- }
- case 4:
- {
- set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, ELF_INVISIBILITY );
- UserIsElf[ id ] = true;
- return 1;
- }
- case 5:
- {
- //Il facem Flash
- SetCl_Settings( id, 1 );
- set_user_maxspeed( id, FLASH_SPEED );
- //Il facem Hulk
- set_user_gravity( id, HULK_GRAVITY );
- //Il facem Predator
- //Il facem Elf
- set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, ELF_INVISIBILITY );
- UserIsVIp[ id ] = true;
- return 1;
- }
- case 6:
- {
- //slow hacking ?:O
- SetCl_Settings( id, 1 );
- fm_set_user_health(id, get_user_health(id) + 2900);
- UserIsFlashT[ id ] = true;
- return 1;
- }
- case 7:
- {
- set_user_maxspeed( id, FLASHT_SPEED );
- fm_set_user_health(id, get_user_health(id) + 2400);
- UserIsHulkT[ id ] = true;
- return 1;
- }
- case 8:
- {
- set_user_gravity( id, HULKT_GRAVITY );
- fm_set_user_health(id, get_user_health(id) + 2400);
- UserIsPredatorT[ id ] = true;
- return 1;
- }
- case 9:
- {
- fm_set_user_health(id, get_user_health(id) + 2900);
- UserIsElfT[ id ] = true;
- return 1;
- }
- case 10:
- {
- set_user_maxspeed( id, FLASHTZ_SPEED );
- fm_set_user_health(id, get_user_health(id) + 3900);
- UserIsVIp[ id ] = true;
- return 1;
- }
- }
- return 0;
- }
- public ResetUserSettings( id )
- {
- if( UserIsFlash[ id ] ) set_user_maxspeed( id, 255.0 );
- if( UserIsFlashT[ id ] ) set_user_maxspeed( id, 255.0 );
- if( UserIsHulk[ id ] ) set_user_gravity( id, 1.0 );
- if( UserIsHulkT[ id ] ) set_user_gravity( id, 1.0 );
- if( UserIsElf[ id ] ) set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0 );
- if( UserIsElfT[ id ] ) set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0 );
- if( UserIsVIp[ id ] || UserIsVIpT[ id ] )
- {
- set_user_maxspeed( id, 255.0 );
- set_user_gravity( id, 1.0 );
- set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0 );
- }
- SetCl_Settings( id, 0 );
- UserIsFlash[ id ] = false;
- UserIsHulk[ id ] = false;
- UserIsPredator[ id ] = false;
- UserIsElf[ id ] = false;
- UserIsVIp[ id ] = false;
- UserIsFlashT[ id ] = false;
- UserIsHulkT[ id ] = false;
- UserIsPredatorT[ id ] = false;
- UserIsElfT[ id ] = false;
- UserIsVIpT[ id ] = false;
- }
- public SetCl_Settings( id, const OnOff )
- {
- if( OnOff > 0 )
- {
- client_cmd( id, "cl_backspeed %.1f", FLASH_SPEED );
- client_cmd( id, "cl_forwardspeed %.1f", FLASH_SPEED );
- client_cmd( id, "cl_sidespeed %.1f", FLASH_SPEED );
- return 1;
- }
- client_cmd( id, "cl_backspeed 400" );
- client_cmd( id, "cl_forwardspeed 400" );
- client_cmd( id, "cl_sidespeed 400" );
- return 0;
- }
- stock bool:UserIsVip( id )
- {
- if( get_user_flags( id ) & read_flags( "b" ) )
- return true;
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment