Статус темы:
Закрыта.
  1. Terror Пользователь

    Регистрация:
    27.06.15
    Сообщения:
    41
    Симпатии:
    0
    Пол:
    Мужской
    Skype:
    Terror-cstrike
    How change in VIP Only ADMIN_LEVEL_H
    Код (Unknown Language):
    1. #include <amxmodx>
    2. #include <amxmisc>
    3. #include <fun>
    4.  
    5. #define PLUGIN_NAME "Vampire Weapons"
    6. #define PLUGIN_AUTHOR "Hafner"
    7. #define PLUGIN_VERSION "1.2"
    8.  
    9. new cvar_vampire_weapons, cvar_maxHP, cvar_bonusHS, cvar_hudON, cvar_fadeON
    10. new Trie:g_tWeaponsData, gmsgFade
    11.  
    12. public plugin_init()
    13. {
    14.     register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
    15.  
    16.     cvar_vampire_weapons = register_cvar("vw_on", "1")
    17.     cvar_maxHP = register_cvar("vw_max_hp", "100")
    18.     cvar_bonusHS = register_cvar("vw_bonus_hs", "2.0")
    19.     cvar_fadeON = register_cvar("vw_fade_on", "1")
    20.     cvar_hudON = register_cvar("vw_hud_on", "1")
    21.  
    22.     gmsgFade = get_user_msgid("ScreenFade");
    23.     register_event("DeathMsg", "hook_death", "a", "1>0")
    24.  
    25.     g_tWeaponsData = TrieCreate()
    26.  
    27.     LoadData()  
    28. }
    29.  
    30. public plugin_end() {
    31.     TrieDestroy( g_tWeaponsData )
    32. }
    33.  
    34. LoadData()
    35. {
    36.     new szFilename[ 128 ]
    37.     get_configsdir( szFilename, 127 )
    38.     add( szFilename, 127, "/vampire_weapons.ini" )
    39.  
    40.     if( !file_exists( szFilename) )
    41.     {
    42.         server_print("[ERROR] vampire_weapons.ini file does not exist!")
    43.         return
    44.     }
    45.    
    46.     new iFile = fopen( szFilename, "rt" )
    47.     if( !iFile )
    48.     {
    49.         server_print("[ERROR] vampire_weapons.ini file not readable!")
    50.         return
    51.     }
    52.  
    53.     new szData[ 512 ], szWeaponName[ 20 ], szHP[ 4 ], iHPvalue
    54.     while( !feof( iFile ) )
    55.     {
    56.         fgets( iFile, szData, 511 )
    57.  
    58.         if( !szData[ 0 ] || szData[ 0 ] == '^n' || szData[ 0 ] == ';' || szData[ 0 ] == '/' && szData[ 1 ] == '/' )
    59.         {
    60.             continue
    61.         }
    62.  
    63.         parse( szData, szWeaponName, 19, szHP, 3)
    64.         strtolower( szWeaponName )
    65.         iHPvalue = str_to_num( szHP )
    66.         TrieSetCell( g_tWeaponsData, szWeaponName, iHPvalue )
    67.     }
    68.  
    69.     fclose( iFile )
    70. }
    71.  
    72. public hook_death()
    73. {
    74.     new Killer = read_data( 1 )
    75.     new Victim = read_data( 2 )
    76.     new szWeapon[20], vampireHP, iHPbonus
    77.     read_data(4, szWeapon, 19)
    78.     new Health = get_user_health(Killer)
    79.  
    80.     if( (Killer != Victim) && get_pcvar_num(cvar_vampire_weapons) )
    81.     {
    82.         if( TrieGetCell( g_tWeaponsData, szWeapon, iHPbonus ) )
    83.         {
    84.             if( 1 <= Health < get_pcvar_num(cvar_maxHP) )
    85.             {
    86.                 if( (read_data(3) == 1) && !equali(szWeapon, "grenade") )
    87.                     vampireHP = floatround(iHPbonus*get_pcvar_float(cvar_bonusHS))
    88.                 else
    89.                     vampireHP = iHPbonus
    90.  
    91.                 set_user_health( Killer, min( Health + vampireHP, get_pcvar_num(cvar_maxHP) ) )
    92.  
    93.                 if( get_pcvar_num(cvar_hudON) )
    94.                 {
    95.                     set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
    96.                     show_hudmessage(Killer, "Healed +%d hp", vampireHP)
    97.                 }
    98.  
    99.                 if( get_pcvar_num(cvar_fadeON) )
    100.                 {              
    101.                     message_begin(MSG_ONE, gmsgFade, {0,0,0}, Killer)
    102.                     write_short(1<<12)
    103.                     write_short(1<<12)
    104.                     write_short(0x0000)
    105.                     write_byte(0)
    106.                     write_byte(0)
    107.                     write_byte(200)  
    108.                     write_byte(75)  
    109.                     message_end()
    110.                 }
    111.             }
    112.         }
    113.     }
    114. }
     
    Последнее редактирование: 15.06.16
  2. MakapoH. Команда форума

    Регистрация:
    06.02.16
    Сообщения:
    628
    Симпатии:
    232
    Пол:
    Мужской
    So tried?
    Код (Unknown Language):
    1.  
    2. if( (Killer != Victim) && get_pcvar_num(cvar_vampire_weapons) )
    3. {
    4.         if(get_user_flags(Killer) & ADMIN_LEVEL_H)
    5.         {
    6.             ...
    7.  
     
    Terror нравится это.
  3. Terror Пользователь

    Регистрация:
    27.06.15
    Сообщения:
    41
    Симпатии:
    0
    Пол:
    Мужской
    Skype:
    Terror-cstrike
  4. MakapoH. Команда форума

    Регистрация:
    06.02.16
    Сообщения:
    628
    Симпатии:
    232
    Пол:
    Мужской
    Hmm, alternatively, you can so:
    Код (Unknown Language):
    1.  
    2. if(!(get_user_flags(Killer) & ADMIN_LEVEL_H)) return;
    3. if( (Killer != Victim) && get_pcvar_num(cvar_vampire_weapons) )
    4.  
    I wonder why is not working...
     
    Terror нравится это.
  5. Terror Пользователь

    Регистрация:
    27.06.15
    Сообщения:
    41
    Симпатии:
    0
    Пол:
    Мужской
    Skype:
    Terror-cstrike
    @MakapoH., Thanks nice :)

    Вопрос решен! Тему можно закрывать.
     
Статус темы:
Закрыта.