Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <fun>
- #include <cstrike>
- #include <hamsandwich>
- #include <fakemeta>
- #include <fakemeta_util>
- #define PLUGIN "Vip PaintBall by lucy"
- #define VERSION "0.1"
- //#define VIP_ACCESS ADMIN_LEVEL_H
- //------| Gradul care sa-l aiba Vip-u |------//
- #define FILE_VIP "VIP_List.ini"
- // Variabile Utile
- new File[256];
- new VIPList[256][32];
- new MaxVIPList;
- new bool:is_user_vip[33] = false;
- //------| Vips Online/List |------//
- new maxplayers
- static const COLOR[] = "^x04"; // Green for display VIP
- // weapons offsets
- #define OFFSET_CLIPAMMO 51
- #define OFFSET_LINUX_WEAPONS 4
- #define fm_cs_set_weapon_ammo(%1,%2) set_pdata_int(%1, OFFSET_CLIPAMMO, %2, OFFSET_LINUX_WEAPONS)
- // players offsets
- #define m_pActiveItem 373
- const NOCLIP_WPN_BS = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))
- new const g_MaxClipAmmo[] =
- {
- 0, 13, //CSW_P228 0, 10, //CSW_SCOUT 0, //CSW_HEGRENADE 7, //CSW_XM1014 0, //CSW_C4
- 30,//CSW_MAC10 30, //CSW_AUG 0, //CSW_SMOKEGRENADE 15,//CSW_ELITE
- 20,//CSW_FIVESEVEN 25,//CSW_UMP45 30, //CSW_SG550
- 35, //CSW_GALIL 25, //CSW_FAMAS 12,//CSW_USP 20,//CSW_GLOCK18
- 10, //CSW_AWP 30,//CSW_MP5NAVY 100,//CSW_M249 8, //CSW_M3 30, //CSW_M4A1
- 30,//CSW_TMP 20, //CSW_G3SG1 0, //CSW_FLASHBANG 7, //CSW_DEAGLE
- 30, //CSW_SG552 30, //CSW_AK47 0, //CSW_KNIFE 50//CSW_P90
- }
- new bool: lucyHasOne[ 33 ], lucyHasUnAmmo[ 33 ];
- new l_Health, l_Armor, l_Speed;
- public plugin_init( ) {
- register_plugin( PLUGIN, VERSION, "lucy" );
- RegisterHam ( Ham_Spawn, "player", "lucyBool", 1 );
- //RegisterHam(Ham_Player_ResetMaxSpeed,"player","playerResetMaxSpeed",1)
- register_event("CurWeapon" , "ShowlucyUnAmmo" , "be" , "1=1" );
- register_event("DeathMsg", "event_DeathMsg", "be");
- register_event("ResetHUD", "ResetHUD", "be");
- //register_message( get_user_msgid( "ScoreAttrib" ), "msgScoreAttrib" );
- //CVAR by lucy
- l_Health = register_cvar("set_lucy_hp", "100");
- l_Armor = register_cvar("set_lucy_ap", "100");
- l_Speed = register_cvar("set_lucy_speed", "200");
- // say
- register_clcmd ( "say /vippb", "ShowTaskVipPB", -1 );
- register_clcmd ( "say vippb", "ShowTaskVipPB", -1 );
- register_clcmd ( "say_team /vippb", "ShowTaskVipPB", -1 );
- register_clcmd ( "/vippb", "ShowTaskVipPB", -1 );
- register_clcmd("say /vip ","ShowMotd")
- register_clcmd("say /vipinfo ","ShowMotd")
- register_clcmd("say /vip_info ","ShowMotd")
- register_clcmd("say vipinfo ","ShowMotd")
- register_clcmd("say vip_info ","ShowMotd")
- register_clcmd("say_team /vip ","ShowMotd")
- register_clcmd("say_team /vipinfo ","ShowMotd")
- register_clcmd("say_team /vip_info ","ShowMotd")
- register_clcmd("say_team vipinfo ","ShowMotd")
- register_clcmd("say_team vip_info ","ShowMotd")
- }
- public event_DeathMsg( ) {
- new iAttacker = read_data( 1 );
- if(!is_user_alive( iAttacker ) ) {
- fm_set_user_health(iAttacker, get_user_health( iAttacker ) + 30 );
- }
- set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 2.0);
- show_hudmessage(iAttacker, "+ 30 HP");
- Color( iAttacker, "^4Ai Primit ^3+ 30 HP ^4Pentru Kill" );
- }
- public ShowlucyUnAmmo( id ) {
- if( lucyHasUnAmmo[ id ] ) {
- new iWeapon = read_data(2)
- if( !( NOCLIP_WPN_BS & (1<<iWeapon) ) )
- {
- fm_cs_set_weapon_ammo( get_pdata_cbase(id, m_pActiveItem) , g_MaxClipAmmo[ iWeapon ] )
- }
- }
- //lucyHasUnAmmo[ id ] = false;
- return 1;
- }
- public ResetHUD( id ) {
- set_task(0.1, "VIP", id + 6910 );
- //set_task(0.1, "msgScoreAttrib", id + 6910)
- }
- public client_connect( id )
- {
- if (Check_Is_User_On_List(id))
- {
- is_user_vip[id] = true;
- }
- else
- {
- is_user_vip[id] = false;
- }
- if ( is_user_vip[id] )
- {
- //client_cmd( id, "bind c /vippb" );
- client_cmd(id,"bind c ^"/vippb^"");
- client_cmd( id, "say /vippb - Tasta C" );
- //client_cmd( id, ^"bind c say /vippb^"" );
- }
- }
- public user_conected( id ) {
- //ExecuteHamB( Ham_Player_ResetMaxSpeed, id );
- lucyHasOne[ id ] = false;
- lucyHasUnAmmo[ id ] = false;
- }
- public lucyBool( id ) {
- lucyHasOne[ id ] = false;
- lucyHasUnAmmo[ id ] = false;
- }
- public ShowTaskVipPB ( id ) {
- if( is_user_vip[id] ) {
- if ( get_user_team ( id ) == 1 ) {
- set_task( 0.1, "ShowVipPB", id );
- cs_set_user_vip(id, 0, 0, 1)
- return 1;
- }
- if ( get_user_team ( id ) == 2 ) {
- set_task( 0.1, "ShowVipPB", id );
- cs_set_user_vip(id, 0, 0, 1)
- return 1;
- }
- }
- Color( id, "^4Nu esti ^3VIP ^4Doar ^3Vipi Au ACCES la acest meniu ^1!" );
- return 1;
- }
- public ShowVipPB ( id, level, cid ) {
- new menu = menu_create ( "\wMenu \rVIP PB", "VipPB" );
- menu_additem ( menu, "\rViata ", "1", 0);
- menu_additem ( menu, "\rArmura ", "2", 0);
- menu_additem ( menu, "\rViteza ", "3", 0);
- menu_additem ( menu, "\rGloante Nelimitate", "4", 0);
- menu_additem ( menu, "\rPachet Grenazi : 1HE, 2FB, 1SMOKE", "5", 0);
- menu_additem ( menu, "\rNoClip & Godmode \yMenu", "6", 0);
- //menu_additem ( menu, "\rGodMode \d10 sec", "7", 0);
- menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
- menu_display ( id, menu, 0 );
- return 1;
- }
- public VipPB( id, menu, item ) {
- if( item == MENU_EXIT )
- {
- return 1;
- }
- new data [ 6 ], szName [ 64 ];
- new access, callback;
- menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
- new key = str_to_num ( data );
- switch(key)
- {
- case 1:
- {
- if( lucyHasOne[ id ] )
- {
- Color( id, "^4Ai voie sa iti iei un ^1lucru ^4Doar o data pe runda ^1!" );
- return 1;
- }
- Color( id, "^4Ai Luat ^1 %i ^3HP !", get_pcvar_num( l_Health ) );
- fm_set_user_health(id, get_user_health( id ) + get_pcvar_num( l_Health ) );
- lucyHasOne[ id ] = true;
- }
- case 2:
- {
- if( lucyHasOne[ id ] ) {
- Color( id, "^4Ai voie sa iti iei un ^1lucru ^4Doar o data pe runda ^1!" );
- return 1;
- }
- Color( id, "^4Ai Luat ^1 %i ^3Armura !", get_pcvar_num( l_Armor ) );
- fm_set_user_armor(id, get_user_armor( id ) + get_pcvar_num( l_Armor ) );
- lucyHasOne[ id ] = true;
- }
- case 3:
- {
- if( lucyHasOne[ id ] ) {
- Color( id, "^4Ai voie sa iti iei un ^1lucru ^4Doar o data pe runda ^1!" );
- return 1;
- }
- Color( id, "^4Ai Luat ^1 %i ^3Viteza !", get_pcvar_num( l_Speed ) );
- fm_set_user_maxspeed(id, get_user_maxspeed( id ) + get_pcvar_num( l_Speed ) )
- lucyHasOne[ id ] = true;
- }
- case 4:
- {
- if( lucyHasOne[ id ] ) {
- Color( id, "^4Ai voie sa iti iei un ^1lucru ^4Doar o data pe runda ^1!" );
- return 1;
- }
- Color( id, "^4Ai Luat ^3 Gloante Nelimitate Toata Runda ^1!" );
- lucyHasUnAmmo[ id ] = true;
- lucyHasOne[ id ] = true;
- }
- case 5:
- {
- if( lucyHasOne[ id ] ) {
- Color( id, "^4Ai voie sa iti iei un ^1lucru ^4Doar o data pe runda ^1!" );
- return 1;
- }
- fm_give_item(id, "weapon_hegrenade" );
- fm_give_item(id, "weapon_flashbang" );
- fm_give_item(id, "weapon_flashbang" );
- fm_give_item(id, "weapon_smokegrenade" );
- Color( id, "^4Ai Luat ^3 Pachet Grenazi !" );
- lucyHasOne[ id ] = true;
- }
- case 6:
- {
- if( lucyHasOne[ id ] ) {
- Color( id, "^4Ai voie sa iti iei un ^1lucru ^4Doar o data pe runda ^1!" );
- return 1;
- }
- set_task( 0.1, "MenulucyGmNc", id );
- lucyHasOne[ id ] = true;
- }
- /* case 7:
- {
- if( lucyHasOne[ id ] ) {
- Color( id, "^4Ai voie sa iti iei un ^1lucru ^4Doar o data pe runda ^1!" );
- return 1;
- }
- set_task( 0.1, "lMenulucyGmNc", id );
- lucyHasOne[ id ] = true;
- }*/
- }
- return 1;
- }
- /*
- public lucy_NoClip( id ) {
- set_user_noclip(id, 1 );
- Color( id, "^4Ai Luat ^3NoClip ^1 10 ^4secunde !");
- set_task( 10.0, "lucyNoClipOF", id );
- }
- public lucyNoClipOF( id ) {
- set_user_noclip(id, 0 );
- Color( id, "^4Numai ai ^3NoClip !" );
- }
- public lucyGodMode( id ) {
- fm_set_user_godmode(id, 0);
- Color( id, "^4Ai Luat ^3GodMode ^1 10 ^4secunde !");
- set_task( 10.0, "lucy_GodModeOF", id );
- }
- public lucy_GodModeOF( id ) {
- fm_set_user_godmode(id, 0);
- Color( id, "^4Numai ai ^3GodMode !" )
- }
- */
- public MenulucyGmNc( id ) {
- new lMenu = menu_create( "\wMenu \rNoClip \w& \rGodMode \w!", "GmNc" );
- new szOptiuni[ 32 ];
- formatex( szOptiuni, 31, "NoClip : %s", ( fm_get_user_noclip( id ) ? "\rDezactiveaza" : "\rActiveaza" ) );
- menu_additem( lMenu, szOptiuni, "1" );
- formatex( szOptiuni, 31, "GodMode : %s", ( fm_get_user_godmode( id ) ? "\rDezactiveaza" : "\rActiveaza" ) );
- menu_additem( lMenu, szOptiuni, "2", 0 );
- menu_display( id, lMenu, 0 );
- }
- public GmNc(id , lMenu , iItem) {
- if( iItem == MENU_EXIT )
- {
- menu_destroy( lMenu );
- return PLUGIN_HANDLED;
- }
- new szInfo[ 3 ];
- new iAccess, iCallback;
- menu_item_getinfo( lMenu, iItem, iAccess, szInfo, 2, _, _, iCallback );
- switch( str_to_num( szInfo ) )
- {
- case 1:
- {
- switch( fm_get_user_noclip( id ) )
- {
- case 0:
- {
- fm_set_user_noclip(id, 1 );
- Color( id, "^4Ai ^1Activat ^3NoClip" );
- MenulucyGmNc( id )
- }
- case 1:
- {
- fm_set_user_noclip(id, 0 );
- Color( id, "^4Ai ^1Dezactivat ^3NoClip" );
- MenulucyGmNc( id )
- }
- }
- }
- case 2:
- {
- switch( fm_get_user_godmode( id ) )
- {
- case 0:
- {
- fm_set_user_godmode( id, 1 );
- Color( id, "^4Ai ^1Activat ^3GodMode" );
- MenulucyGmNc( id )
- }
- case 1:
- {
- fm_set_user_godmode( id, 0 );
- Color( id, "^4Ai ^1Dezactivat ^3GodMode" );
- MenulucyGmNc( id )
- }
- }
- }
- }
- return 0
- }
- /*
- public playerResetMaxSpeed(id)
- {
- static Float:maxspeed
- pev(id,pev_maxspeed,maxspeed)
- if(maxspeed != 1.0)
- {
- set_pev(id,pev_maxspeed,maxspeed + get_pcvar_float( l_Speed ) )
- }
- }
- */
- /*
- public msgScoreAttrib( const MsgId, const MsgType, const MsgDest ) {
- static id;
- id = get_msg_arg_int( 1 );
- if( ( is_user_vip[id] ) && ( get_user_team( id ) == 2 ) && !get_msg_arg_int( 2 ))
- set_msg_arg_int( 2, ARG_BYTE, ( 1 << 2 ) );
- }
- */
- public VIP(TaskID) {
- new id = TaskID - 6910
- if( is_user_vip[id] ) {
- message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
- write_byte(id)
- write_byte(4)
- message_end()
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // VIP Online/List |
- //==========================================================================================================
- public print_adminlist(user) {
- new adminnames[33][32];
- new message[256];
- new id, count, x, len;
- for(id = 1 ; id <= maxplayers ; id++)
- if(is_user_connected(id))
- if(is_user_vip[id])
- get_user_name(id, adminnames[count++], 31);
- len = format(message, 255, "%s VIP ONLINE: ",COLOR);
- if(count > 0) {
- for(x = 0 ; x < count ; x++) {
- len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"");
- if(len > 96) {
- print_message(user, message);
- len = format(message, 255, "%s ",COLOR);
- }
- }
- print_message(user, message);
- }
- else {
- len += format(message[len], 255-len, "Nu sunt VIP online.");
- print_message(user, message);
- }
- }
- print_message(id, msg[]) {
- message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id);
- write_byte(id);
- write_string(msg);
- message_end();
- }
- public handle_say(id) {
- new said[192];
- read_args(said,192);
- if(contain(said, "/vips") != -1)
- set_task(0.1,"print_adminlist",id);
- return PLUGIN_CONTINUE;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // VIP Motd |
- //==========================================================================================================
- public ShowMotd(id) {
- show_motd(id, "vip.txt")
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // VIP File|
- //==========================================================================================================
- public plugin_cfg () {
- new File_Director[64];
- // Stabilire Locatie
- //get_configsdir(File_Director, charsmax(File_Director))
- // Charsmax este echivalentul a Size of - 1 deci e mai la indemana charsmax
- formatex(File, charsmax(File), "%s/%s", File_Director, FILE_VIP)
- // Creare Fisier
- if(!file_exists (File))
- {
- write_file (File,"; ===========================================================");
- write_file (File,"; --------------------- VIP LIST ----------------------------");
- write_file (File,"; ===========================================================");
- write_file (File,"; Nota: Incepe randul cu ^";^" pentru a dezactiva un VIP");
- }
- new Buffer[192], iLine, iLenght;
- while (iLine == read_file(File, iLine, Buffer, charsmax (Buffer), iLenght))
- {
- // Filtru Exceptie : Rand Gol / Rand inceput cu ";" / sau puteti sa va modificati voi conditia dupa bunul plac
- // Functia Strlen returneaza lungimea Buffer-ului adica randului curent pe care suntem
- if ( !strlen (Buffer) || Buffer[0] == ';' )
- continue;
- // Copiere Nume Jucator in Variabila
- copy ( VIPList[MaxVIPList++], 32, Buffer )
- }
- }
- stock Check_Is_User_On_List(id)
- {
- new Name[32]
- get_user_name(id, Name, 31)
- for( new i; i < MaxVIPList; i++ )
- {
- // Functia Strcmp compara 2 stringuri si returneaza 0 doar daca acestea sunt egale
- // Se putea folosi si equal dar cel mai bine recomand strcmp
- if (!strcmp(Name,VIPList[i]))
- return 1
- }
- return 0
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Stock Color |
- //==========================================================================================================
- stock Color(const id, const input[], any:...) {
- new count = 1, players[32];
- static msg[191];
- vformat(msg, 190, input, 3);
- replace_all(msg, 190, "!x04", "^4");
- replace_all(msg, 190, "!x01", "^1");
- replace_all(msg, 190, "!x03", "^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();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement