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

    Регистрация:
    17.06.15
    Сообщения:
    8
    Симпатии:
    2
    Пол:
    Мужской
    Telegram:
    volgodonsk
    Здравствуйте, помогите сделать пару моментов в плагине
    Первый момент есть строка на которой можно сменить время ограничения, выглядит она так
    Код (Unknown Language):
    1. if(g_DeathTime[id] != 0 && get_systime() - g_DeathTime[id] < 30)
    Наверное)
    Но когда я меняю значение с 30 на меньшее допустим 15 то визуально оно отображается вот так "Меню будет доступно через 133151442 сек"
    Ну это только визуально на самом деле через 15 сек ограничение снимается. Как поправить визуальное отображение, что бы соответствовало указанному значению в коде?
    И второй момент, мод дм. Как ограничить за одно возрождение использовать только одного пункта меню?
    Код (Unknown Language):
    1. #include <amxmodx>
    2. #include <amxmisc>
    3. #include <fun>
    4. #include <hamsandwich>
    5.  
    6. const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_0
    7. new g_iSayText
    8.  
    9. new g_DeathTime[33]
    10.  
    11. public plugin_init()
    12. {
    13.     register_plugin("Adm Menu", "1.0", "ill")
    14.    
    15.     register_clcmd("vipmenu", "show_game_menu")
    16.     register_menu("Admin Menu", KEYSMENU, "admin_menu")
    17.    
    18.     RegisterHam(Ham_Killed, "player", "fw_KilledPost", 1)
    19.    
    20.     g_iSayText = get_user_msgid("SayText")
    21. }
    22.  
    23. public client_connect(id)
    24. {
    25.     g_DeathTime[id] = 0
    26. }
    27.  
    28. public fw_KilledPost(victim, attacker, shouldgib)
    29. {
    30.     if(!is_user_connected(victim))
    31.         return
    32.        
    33.     g_DeathTime[victim] = get_systime()
    34. }
    35.  
    36. public show_game_menu(id)
    37. {
    38.     if(g_DeathTime[id] != 0 && get_systime() - g_DeathTime[id] < 30)
    39.     {
    40.         client_print(id, print_chat, "Меню будет доступно через %d сек", 30 - get_systime() - g_DeathTime[id])
    41.         return PLUGIN_HANDLED
    42.     }
    43.    
    44.     static menu[512], len
    45.     len = 0
    46.  
    47.     len += formatex(menu[len], charsmax(menu) - len, "\d#. \wАдмин/Вип меню^n^n")
    48.    
    49.     if(get_user_flags(id) & ADMIN_LEVEL_B && get_user_frags(id) >= 15)
    50.         len += formatex(menu[len], charsmax(menu) - len, "\r1.\w Базука^n")
    51.     else
    52.         len += formatex(menu[len], charsmax(menu) - len, "\d1. Базука^n")
    53.    
    54.     if(get_user_flags(id) & ADMIN_BAN && get_user_frags(id) >= 15)  
    55.     {
    56.         len += formatex(menu[len], charsmax(menu) - len, "\r2.\w Золотой AK^n")
    57.         len += formatex(menu[len], charsmax(menu) - len, "\r3.\w Золотой M16^n")
    58.     }
    59.     else
    60.     {
    61.         len += formatex(menu[len], charsmax(menu) - len, "\d2. Золотой AK^n")
    62.         len += formatex(menu[len], charsmax(menu) - len, "\d3. Золотой M16^n")  
    63.     }
    64.    
    65.     if(get_user_flags(id) & ADMIN_LEVEL_B && get_user_frags(id) >= 15)
    66.         len += formatex(menu[len], charsmax(menu) - len, "\r4.\w Гравитация^n^n")
    67.     else
    68.         len += formatex(menu[len], charsmax(menu) - len, "\d4. Гравитация^n^n")
    69.    
    70.     len += formatex(menu[len], charsmax(menu) - len, "\r0. \wВыход")
    71.    
    72.     show_menu(id, KEYSMENU, menu, -1, "Admin Menu")
    73.    
    74.     return PLUGIN_HANDLED
    75. }
    76.  
    77. public admin_menu(id, key)
    78. {
    79.     switch (key)
    80.     {
    81.         case 0:
    82.         {  
    83.             if(get_user_flags(id) & ADMIN_LEVEL_B)
    84.             {
    85.                 if(get_user_frags(id) < 15)
    86.                 {
    87.                     ColorChat(id, "^1У вас должно быть не менее^4 15^1 фрагов")
    88.                     show_game_menu(id)
    89.                     return
    90.                 }
    91.                 client_cmd(id, "givebazooka")
    92.             }
    93.             else
    94.             {
    95.                 ColorChat(id, "^1Только для^4 VIP")
    96.                 show_game_menu(id)
    97.             }
    98.         }
    99.         case 1:
    100.         {
    101.             if(get_user_flags(id) & ADMIN_BAN)  
    102.             {
    103.                 if(get_user_frags(id) < 15)
    104.                 {
    105.                     ColorChat(id, "^1У вас должно быть не менее^4 15^1 фрагов")
    106.                     show_game_menu(id)
    107.                     return
    108.                 }
    109.                 client_cmd(id, "buy_ak")
    110.             }
    111.             else
    112.             {
    113.                 ColorChat(id, "^1Только для^4 админов")
    114.                 show_game_menu(id)
    115.             }
    116.         }
    117.         case 2:
    118.         {
    119.             if(get_user_flags(id) & ADMIN_BAN)  
    120.             {
    121.                 if(get_user_frags(id) < 15)
    122.                 {
    123.                     ColorChat(id, "^1У вас должно быть не менее^4 15^1 фрагов")
    124.                     show_game_menu(id)
    125.                     return
    126.                 }
    127.                 client_cmd(id, "m4_free")
    128.             }
    129.             else
    130.             {
    131.                 ColorChat(id, "^1Только для^4 админов")
    132.                 show_game_menu(id)
    133.             }
    134.         }  
    135.         case 3:
    136.         {
    137.             if(get_user_flags(id) & ADMIN_LEVEL_B)
    138.             {
    139.                 if(get_user_frags(id) < 15)
    140.                 {
    141.                     ColorChat(id, "^1У вас должно быть не менее^4 15^1 фрагов")
    142.                     show_game_menu(id)
    143.                     return
    144.                 }
    145.                 set_user_gravity(id, 0.5)
    146.             }
    147.             else
    148.             {
    149.                 ColorChat(id, "^1Только для^4 VIP")
    150.                 show_game_menu(id)
    151.             }
    152.         }
    153.     }
    154. }
    155.  
    156. stock ColorChat(const id, const input[], any:...) {
    157.     new count = 1, players[32]
    158.     static msg[191]
    159.     vformat(msg, 190, input, 3)
    160.     if(id) players[0] = id
    161.     else get_players(players, count, "ch")
    162.     for(new i = 0; i < count; i++) {
    163.         if(is_user_connected(players[i])) {
    164.             message_begin(MSG_ONE_UNRELIABLE, g_iSayText, _, players[i])
    165.             write_byte(players[i])
    166.             write_string(msg)
    167.             message_end()
    168.         }
    169.     }
    170. }
     
  2. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.572
    Симпатии:
    4.147
    Пол:
    Мужской
    тут никак условие не может влиять на вывод сообщения
     
  3. x1DD Пользователь

    Регистрация:
    17.06.15
    Сообщения:
    8
    Симпатии:
    2
    Пол:
    Мужской
    Telegram:
    volgodonsk
    а что может повлиять? можно подробнее а то я темный лес
     
  4. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.572
    Симпатии:
    4.147
    Пол:
    Мужской
    дай весь код
     
  5. x1DD Пользователь

    Регистрация:
    17.06.15
    Сообщения:
    8
    Симпатии:
    2
    Пол:
    Мужской
    Telegram:
    volgodonsk
    1 пост под спойлером
     

    Вложения:

  6. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.572
    Симпатии:
    4.147
    Пол:
    Мужской
    x1DD, а как ты из 30 отнимаешь число, которое во много раз его больше? О_О

    там должно быть просто get_systime() - g_DeathTime[id]
     
  7. x1DD Пользователь

    Регистрация:
    17.06.15
    Сообщения:
    8
    Симпатии:
    2
    Пол:
    Мужской
    Telegram:
    volgodonsk
    Вопрос решен! Тему можно закрывать.
     
Статус темы:
Закрыта.