VOTEBAN CSR

VOTEBAN CSR 0.8.7b

Нет прав для скачивания
Сообщения
496
Реакции
618
Помог
16 раз(а)
Перенесено в общий раздел.
 
Сообщения
48
Реакции
151
  1. Ну вы уж определитесь, либо использовать венгерскую нотацию, либо нет, а то смотрится это крайне странно, что какие-то переменные были "достойны" ее использования, а какие-то нет.
  2. Зачем столько операторов new? Можно же через запятую объявлять переменные.
  3. Почему бы не использовать перечисления, вместо кучи переменных?
  4. Хардкод в пути к конфигу.
  5. C++:
    public handle_say(id)
    {
        new said[191]
        read_args(said, charsmax(said))
    
        // Если у сообщении игрока в чате содержатся словосочетания vtb или voteban - открываем меню
        if(contain(said, "voteban") != -1 || contain(said, "vtb") != -1)
        {
            cmd_to_open_vtb_menu(id)
        }
    
        return PLUGIN_CONTINUE;
    }
    Какой-то сомнительный функционал, когда можно просто зарегать вызов обработчиков на команды voteban и vtb.
  6. Уже и функции с биндами на переменные для кваров сделали, а вы до сих пор везде в процессе получаете значения кваров.
  7. Куча магических чисел. На дворе 2019 год, а кто-то до сих пор не знает про charsmax. Продолжительность голосования вместо квара тоже забито магическим числом.
  8. Вместо постоянного указания одного и того же игрока для мультиязычности, можно использовать SetGlobalTransTarget.
  9. Комментировать код - это, конечно, хорошо, но явно нужно знать меру и делать это с умом, а не комментировать каждую очевидную и элементарную строку кода.
 
Сообщения
6
Реакции
-4
  1. Ну вы уж определитесь, либо использовать венгерскую нотацию, либо нет, а то смотрится это крайне странно, что какие-то переменные были "достойны" ее использования, а какие-то нет.
  2. Зачем столько операторов new? Можно же через запятую объявлять переменные.
  3. Почему бы не использовать перечисления, вместо кучи переменных?
  4. Хардкод в пути к конфигу.
  5. C++:
    public handle_say(id)
    {
        new said[191]
        read_args(said, charsmax(said))
    
        // Если у сообщении игрока в чате содержатся словосочетания vtb или voteban - открываем меню
        if(contain(said, "voteban") != -1 || contain(said, "vtb") != -1)
        {
            cmd_to_open_vtb_menu(id)
        }
    
        return PLUGIN_CONTINUE;
    }
    Какой-то сомнительный функционал, когда можно просто зарегать вызов обработчиков на команды voteban и vtb.
  6. Уже и функции с биндами на переменные для кваров сделали, а вы до сих пор везде в процессе получаете значения кваров.
  7. Куча магических чисел. На дворе 2019 год, а кто-то до сих пор не знает про charsmax. Продолжительность голосования вместо квара тоже забито магическим числом.
  8. Вместо постоянного указания одного и того же игрока для мультиязычности, можно использовать SetGlobalTransTarget.
  9. Комментировать код - это, конечно, хорошо, но явно нужно знать меру и делать это с умом, а не комментировать каждую очевидную и элементарную строку кода.
2. Много операторов красиво смотрится как-то. Ну у каждого свои идеи, свои мысли.
3. Тоже как 2.
5. Если игрок пишет /votebanrr то откроется меню главное что нужно быть /voteban, /vtb. Это же круто!
9. Это для новичков. Конешно это для тебя элементарный вещь, но для новичков это жесть!
 
Сообщения
496
Реакции
618
Помог
16 раз(а)
2. Много операторов красиво смотрится как-то. Ну у каждого свои идеи, свои мысли.
3. Тоже как 2.
5. Если игрок пишет /votebanrr то откроется меню главное что нужно быть /voteban, /vtb. Это же круто!
9. Это для новичков. Конешно это для тебя элементарный вещь, но для новичков это жесть!
Прекратите писать чушь. Или покиньте нас.
Пункты 2,3 и 9 даже не знаю как комментировать.
Пункт 5 уже указывает что на вашем сервере нет своей менюшки. Либо вы не понимаете как её править.

Далее любое сообщение подобного рода будет считаться оффтопом. Критика должна быть всё же разумной.
 
Сообщения
67
Реакции
85
Kaido Ren, по 5 пункту мне больше нравится такой функционал как есть, поскольку он на практике удобнее игрокам.
по 9 пункту, не считаю что комментирование бывает лишним, наоборот, подробное комментирование кода очень полезно для тех, кто только обучается, та и это всегда дает быстрее разобраться в "чужом коде".
В остальном, по немного буду улучшать код, где считаю это уместным.
 
Последнее редактирование:
Сообщения
48
Реакции
-1
Помог
1 раз(а)
в данном плагине все отлично, кроме того здесь не хватает блокировки вотебана когда админ на сервере иначе начинает творить хаос, при админах всех банят
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
Приветствую, обнаружил потенциальный error (если кто использует плугин вдруг не установит себе CFG файл, то это не учтено по коду):

C++:
public plugin_cfg()
{
    server_cmd("exec %s", vtb_config)
}
Исправить можно добавив проверку вместо Вашей строчки:

C++:
 if(file_exists(vtb_config)) server_cmd("exec %s", vtbconfig);
 
Сообщения
26
Реакции
0
По идее задумка отличная, но нет блокировки при онлайн админе
 
Сообщения
453
Реакции
79
Помог
4 раз(а)
Linkin93, в чем проблема в public cmd_to_open_vtb_menu(id) добавить проверку на админа?
20 Мар 2020
Проходитесь по всем:
Код:
for (new i = 1; i <= MaxClients; i++)
{
    if(get_user_flags(i) & ADMIN_BAN)
        return PLUGIN_HANDLED;
}
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
346
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Сообщения
173
Реакции
6
в логах периодически появляется ошибка

L 04/03/2020 - 12:58:41: [AMXX] Run time error 10 (plugin "csr_voteban.amxx") (native "get_user_flags") - debug not enabled!
L 04/03/2020 - 12:58:41: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
 
Сообщения
400
Реакции
147
Помог
11 раз(а)
asla4ok, пропиши (addons/amxmodx/configs) в plugins.ini: csr_voteban.amxx debug, затем в папке logs (addons\amxmodx\logs), появится лог-файл с ошибкой, пример: error_год/месяц/дата.log, откроешь лог и увидешь ошибку, далее создаешь отдельную тему со своей проблемой: https://dev-cs.ru/forums/plugins-errors
 
Сообщения
5
Реакции
-8
добавить можете бан по get_user_userid чтоб банило по "%userid%" formatex(generic, 33, "#%d", get_user_userid(bug))

чтоб был возможность такой тип бана client_cmd(id,"amx_bancfg #%d %d ^"%s^"",get_user_userid(g_Target[id]),g_SelectedTime[id],szReason);
26 Май 2020
как в вотебани он генерирует код

Код:
public ActualBan(){
    new srvcmd[128], generic[36], userip[22], usersteam[34]
    if(type == 1)
    {
        formatex(generic, 33, "#%d", get_user_userid(bug))
        get_user_name(bug, idoll, 31)
        get_pcvar_string(amx_bancfg, srvcmd, 127)
        get_user_authid(bug, usersteam, 33)
        get_user_ip(bug, userip, 21, 1)
    }
    else
    {
        formatex(generic, 33, "#%d", get_user_userid(idol))
        get_user_name(idol, idoll, 31)
        get_pcvar_string(amx_bancfg, srvcmd, 127)
        get_user_authid(idol, usersteam, 33)
        get_user_ip(idol, userip, 21, 1)
    }

    replace_all(srvcmd, 127, "%userid%", generic)

    formatex(generic, 35, "^"%s^"", usersteam)
    replace_all(srvcmd, 127, "%steamid%", generic)

    formatex(generic, 35, "^"%s^"", idoll)
    replace_all(srvcmd, 127, "%name%", generic)
    replace_all(srvcmd, 127, "%Nick%", generic)
    replace_all(srvcmd, 127, "%ip%", userip)
    replace_all(srvcmd, 127, "%reason%", szArgs)

    formatex(generic, 33, "%d", banpush)
    replace_all(srvcmd, 127, "%time%", generic)
    server_cmd(srvcmd)
    return 0
}
 
Последнее редактирование модератором:

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу