Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Нужно немного переделать hud_info

Статус пользователя msksimys
сообщение 28.5.2020, 0:24
Сообщение #1
Стаж: 5 лет 11 месяцев

Сообщений: 15
Благодарностей: 1
Полезность: 0

В плагине показивает сколько админов и девушек онлайн нужно добавить чтоб показивало ещей випов онлайн(на скриншоте есть пример как должно бить,цвет пусть останеться которий в плагине)
Флаг для админов ADMIN_LEVEL_F
Флаг для девушек ADMIN_LEVEL_E
Флаг для випов ADMIN_LEVEL_D
Буду очень благодарен за помощь)))
Прикрепленные файлы:
Прикрепленное изображение

Прикрепленные файлы:
Прикрепленный файл  hud_info.sma ( 2,47 килобайт ) Кол-во скачиваний: 8
Прикрепленный файл  hud_info.txt ( 706 байт ) Кол-во скачиваний: 8
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя lolkaaa
сообщение 28.5.2020, 9:09
Сообщение #2


Стаж: 11 лет
Город: Нижний новгород

Сообщений: 54
Благодарностей: 48
Полезность: 116

msksimys,
Не проверял, не очень соображаю в скриптинге, но в принципе думаю будет работать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя dehost
сообщение 28.5.2020, 10:27
Сообщение #3


Стаж: 13 лет

Сообщений: 3147
Благодарностей: 1431
Полезность: 486

msksimys, включаем логику и дописываем на уже имеющихся данных.
Cкрытый текст
Прикрепленное изображениеПрикрепленное изображениеПрикрепленное изображение

Cкрытый текст
Прикрепленное изображение


Отредактировал: dehost, - 28.5.2020, 10:30


Золотое правило нравственности:
"Относись к людям так, как хочешь, чтобы относились к тебе."
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя lolkaaa
сообщение 28.5.2020, 10:55
Сообщение #4


Стаж: 11 лет
Город: Нижний новгород

Сообщений: 54
Благодарностей: 48
Полезность: 116

msksimys,

Почему-то исходник не вставился, скину кодом.

hud_info.sma
Код
#include <amxmodx>

#define ADMIN         ADMIN_LEVEL_F        // Флаг для проверки "Админы Онлайн"
#define GIRL        ADMIN_LEVEL_E   // Флаг для проверки "Девушки Онлайн"
#define VIP         ADMIN_LEVEL_D   // Флаг для проверки "Девушки Онлайн"

#define TASK_ID 19867

#define CheckBit(%1,%2)        (%1 &    (1 << (%2 & 31)))
#define SetBit(%1,%2)        (%1 |=    (1 << (%2 & 31)))
#define ClearBit(%1,%2)        (%1 &= ~(1 << (%2 & 31)))
#define ToggleBit(%1,%2)    (%1 ^=     (1 << (%2 & 31)))
#define FillBits(%1)        (%1 &= ~0)

enum _:ONLINE {
    GIRLS,
    ADMINS,
    VIPS
}
new g_Online[ONLINE];
new g_HudEnabled;
new g_SyncHud;

public plugin_init()
{
    register_plugin("Hud_info", "2.1", "h1k3")
    
    register_dictionary("hud_info.txt");
    
    register_event("DeathMsg", "hook_death", "a", "1>0");
    register_event("TeamInfo", "hook_team_info", "a");

    register_clcmd("say /online", "CmdToggle");
    register_clcmd("say_team /online", "CmdToggle");

    g_SyncHud = CreateHudSyncObj();
    FillBits(g_HudEnabled);
    arrayset(g_Online, 0, sizeof g_Online);
}

public client_putinserver(id) {
    SetBit(g_HudEnabled, id);
    if (get_user_flags(id) & GIRL) {
        g_Online[GIRLS]++;
    }
    if (get_user_flags(id) & ADMIN) {
        g_Online[ADMINS]++;
    }
    if (get_user_flags(id) & VIP) {
        g_Online[VIPS]++;
    }
}

public client_disconnected(id) {  
    ClearBit(g_HudEnabled, id);
    if (get_user_flags(id) & GIRL) {
        g_Online[GIRLS]--;
    }
    if (get_user_flags(id) & ADMIN) {
        g_Online[ADMINS]--;
    }
    if (get_user_flags(id) & VIP) {
        g_Online[VIPS]--;
    }
}

public CmdToggle(id) {
    ToggleBit(g_HudEnabled, id);
    if (CheckBit(g_HudEnabled, id)) {
        if (!is_user_alive(id) && !task_exists(id + TASK_ID)) {
            set_task(1.0, "task_hud", id + TASK_ID, .flags="b");
        }
        client_print(id, print_center, "%L", id, "HUDINFO_ENABLED");
    } else {
        remove_task(id + TASK_ID);
        ClearSyncHud(id, g_SyncHud);
        client_print(id, print_center, "%L", id, "HUDINFO_DISABLED");
    }
}

public hook_death() {
    new id = read_data(2);
    if (CheckBit(g_HudEnabled, id)) {
        set_task(1.0, "task_hud", id + TASK_ID, .flags="b");
    }
}

public hook_team_info() {
    new id = read_data(1);
    new team[2];
    read_data(2, team, charsmax(team));
    if (team[0] == 'S' && CheckBit(g_HudEnabled, id) && !task_exists(id + TASK_ID)) {
        set_task(1.0, "task_hud", id + TASK_ID, .flags="b");
    }
}

public task_hud(taskID) {
    new id = taskID - TASK_ID;
    if (!is_user_alive(id)) {
        set_hudmessage(255, 255, 0, 0.01, 0.26, 0, 6.0, 5.0, 0.08, 2.0);
        ShowSyncHudMsg(id, g_SyncHud, "%L %d^n%L %d^n%L %d", id, "GIRLS", g_Online[GIRLS], id, "ADMINS", g_Online[ADMINS], id, "VIPS", g_Online[VIPS]);
    } else {
        remove_task(taskID);
    }
}

hud_info.txt
Код
[en]
GIRLS = Online Girls:
ADMINS = Online Admins:
ADMINS = Online Vips:
HUDINFO_ENABLED = Online Girls/Admins/Vips informer ENABLED!
HUDINFO_DISABLED = Online Girls/Admins/Vips informer DISABLED!

[ru]
GIRLS = Девушки Онлайн:
ADMINS = Админы Онлайн:
VIPS = Випы Онлайн:
HUDINFO_ENABLED = Информер онлайн Девушки/Админы/Випы Включено!
HUDINFO_DISABLED = Информер онлайн Девушки/Админы/Випы Выключено!


[ua]
GIRLS = Дівчата Онлайн:
ADMINS = Адміни Онлайн:
VIPS = Вiпи Онлайн:
HUDINFO_ENABLED = Інформер онлайн Дівчата/Адміни/Вiпи Включено!
HUDINFO_DISABLED = Інформер онлайн Дівчата/Адміни/Вiпи Виключено!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя msksimys
сообщение 28.5.2020, 17:14
Сообщение #5
Стаж: 5 лет 11 месяцев

Сообщений: 15
Благодарностей: 1
Полезность: 0

lolkaaa, да братик спасибо оно работает) ну только его нужно немного опустить ниже и сделать рускими буквами на скрине все есть https://ibb.co/zP7vh9j
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: