Пемахване на Z флага след натрупването на убийствата - pro becom vip

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.

Модератори: Extreme, Extreme, Extreme, Extreme, Extreme, Extreme, Extreme

Аватар
petr0w
Извън линия
Потребител
Потребител
Мнения: 222
Регистриран на: 31 Окт 2016, 02:38
Се отблагодари: 5 пъти
Получена благодарност: 14 пъти
Обратна връзка:

Пемахване на Z флага след натрупването на убийствата - pro becom vip

Мнение от petr0w » 20 Мар 2020, 03:19

След като определен играч натрупа предварително зададения по квар брой убийства той получава определени флагове в моя случей 'rs', проблемът е че не премахва и юзър флага Z.
Пример
30 AMXX-BG STEAM_1:0:1587201531 829 No No rsz

Искам Z флага да се премахне и след натрупването на убийства играчите да остават само с rs ?

Код за потвърждение: Избери целия код

#include <amxmodx> 
#include <cstrike> 
#include <hamsandwich> 
#include <nvault> 

new g_vault_name; 

new bool:Flags[33]; 
new FlagsWEE[21], g_kills[33]; 
new g_szName[33][32]; 
new PlayersWEE; 
new kills_for_vip, vip_flags; 
new p_expire; 

public plugin_init() 
{ 
    register_plugin("Pro Become VIP", "1.6", "didoWEE") 
    register_event("DeathMsg", "eDeath", "a") 
    RegisterHam(Ham_Spawn, "player", "fwdPlayerSpawn", 1) 
     
    g_vault_name = nvault_open("pb_vip"); 
     
    PlayersWEE = get_maxplayers() 
     
    kills_for_vip = register_cvar("amx_kills", "1500") // БРОЙ УБИИСТВА КОИТО СА НУЖНИ НС ИГРАЧА ЗА ДА СТАНЕ VIP 
    vip_flags = register_cvar("amx_flags_to_give", "rs") // КОИ ФЛАГОВЕ ДА ПОЛУЧАВАТЕ КОГАТО СТАНЕТЕ VIP 

    p_expire = register_cvar("amx_kills_expiredays", "3"); // СЛЕД КОЛКО ДЕНА, УБИИСТВАТА НА ДАДЕН ИГРАЧ, ЩЕ БЪДАТ ИЗТРИТИ, АКО ТОЙ НЕ ВЛИЗА В СЪРВЪРА
    nvault_prune(g_vault_name, 0, get_systime() - (86400 * get_pcvar_num(p_expire))); 
} 

public plugin_end() 
{ 
    nvault_close(g_vault_name); 
     
    for(new id=1;id<=PlayersWEE;id++) 
    { 
        if (g_kills[id] > 0) 
        { 
            SaveData(id); 
            g_kills[id] = 0; 
        } 
    } 
} 

public fwdPlayerSpawn(id) 
{ 
    if (is_user_alive(id)) 
    { 
        if (g_kills[id] >= get_pcvar_num(kills_for_vip)) 
        { 
            if (!Flags[id]) 
            { 
                get_pcvar_string(vip_flags, FlagsWEE, charsmax(FlagsWEE)) 
                set_user_flags(id, read_flags(FlagsWEE)); 
            } 
        } 
        else 
        { 
            ShowHud(id); 
        } 
    } 
} 

public eDeath()  
{ 
    static killer; 
    killer = read_data(1); 
    if (1 <= killer <= PlayersWEE && killer != read_data(2)) 
    { 
        g_kills[killer] ++ 

        if (g_kills[killer] < get_pcvar_num(kills_for_vip)) 
        { 
            ShowHud(killer); 
        } 

        if (g_kills[killer] == get_pcvar_num(kills_for_vip)) 
        { 
            ShowHud2(killer); 
        } 
    } 
} 

ShowHud(id) 
{ 
    set_hudmessage(0, 255, 0, 0.25, 0.25, 0, 3.0, 5.0, 0.0, 0.0, -1); 
    show_hudmessage(id, "Reach %i kills and become VIP^nYour kills are %i", get_pcvar_num(kills_for_vip), g_kills[id]); 
} 

ShowHud2(id) 
{ 
    set_hudmessage(255, 0, 0, 0.25, 0.85, 1, 7.5, 15.0, 0.0, 0.0, -1); 
    show_hudmessage(id, "Congratilations^nYou are VIP"); 
} 

public client_putinserver(id) 
{ 
    if (1 <= id <= PlayersWEE) 
    { 
        get_user_name(id, g_szName[id], charsmax(g_szName[])); 
        LoadData(id); 
     
        if (get_user_flags(id) & read_flags(FlagsWEE)) 
        { 
            Flags[id] = true; 
        } 
        else 
        { 
            Flags[id] = false; 
        } 
    } 
} 

public client_disconnect(id) 
{ 
    if (1 <= id <= PlayersWEE) 
    { 
        if (g_kills[id] > 0) 
        { 
            SaveData(id); 
            g_kills[id] = 0; 
        } 
    } 
} 

LoadData(id) 
{ 
    new data[16]; 
    if (nvault_get(g_vault_name, g_szName[id], data, charsmax(data))) 
    { 
        g_kills[id] = str_to_num(data); 
    } 
    else 
    { 
        g_kills[id] = 0; 
    } 
} 

SaveData(id) 
{ 
    new data[16]; 
    num_to_str(g_kills[id], data, charsmax(data)); 
     
    nvault_set(g_vault_name, g_szName[id], data); 
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE 
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1026\\ f0\\ fs16 \n\\ par } 
*/
Bulgarska Trewa -91.132.63.63:27015

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Пемахване на Z флага след натрупването на убийствата - pro becom vip

Мнение от OciXCrom » 20 Мар 2020, 14:44

Просто добави remove_user_flags(id, ADMIN_USER) под set_user_flags.

Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Пемахване на Z флага след натрупването на убийствата - pro becom vip

Мнение от iv69 » 20 Мар 2020, 18:03

OciXCrom написа: 20 Мар 2020, 14:44 Просто добави remove_user_flags(id, ADMIN_USER) под set_user_flags.
А мога ли да попитам за този квар: amx_kills_expiredays - изтрива се статистика на вече станал ВИП или на който все още не е ВИП, или е валидно и за двата варианта ? Просто ако играча не е влизал през този интервал време - губи цялата си статистика ?
И ако се изтрива статистиката само на ония които са вече станали ВИП, има ли начин да се направи квара да изтрива статистиката на всички без значение дали са били или не ВИП - ако не са били в сървъра определен период време, да се трие всичко за тях?

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Пемахване на Z флага след натрупването на убийствата - pro becom vip

Мнение от OciXCrom » 20 Мар 2020, 21:11

Рестартира убийствата на играчите които изобщо не са влезнали в сървъра през това време.

Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Пемахване на Z флага след натрупването на убийствата - pro becom vip

Мнение от iv69 » 20 Мар 2020, 22:26

OciXCrom написа: 20 Мар 2020, 21:11 Рестартира убийствата на играчите които изобщо не са влезнали в сървъра през това време.
Да, наистина е така ,пробвах го, но не ме очарова кой знае колко! Твоя Become е далеч по добър и току що си пуснах оттук редактираната от теб - специално за мен версия .

Аватар
petr0w
Извън линия
Потребител
Потребител
Мнения: 222
Регистриран на: 31 Окт 2016, 02:38
Се отблагодари: 5 пъти
Получена благодарност: 14 пъти
Обратна връзка:

Пемахване на Z флага след натрупването на убийствата - pro becom vip

Мнение от petr0w » 20 Мар 2020, 22:42

За да не отварям нова тема ще попитам тук - Ползвам този become vip, дава флагове RS на играчите които са направили определен брой убийства. Нагласил съм админ префикса на крома да дава вип префикс на играчи с флаг R, но нещо не работи ?
Bulgarska Trewa -91.132.63.63:27015

Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Пемахване на Z флага след натрупването на убийствата - pro becom vip

Мнение от iv69 » 20 Мар 2020, 22:53

petr0w написа: 20 Мар 2020, 22:42 За да не отварям нова тема ще попитам тук - Ползвам този become vip, дава флагове RS на играчите които са направили определен брой убийства. Нагласил съм админ префикса на крома да дава вип префикс на играчи с флаг R, но нещо не работи ?
Нещото е явно в "нагласянето" - или пък малко сложно го обясни (за мен поне), цитирам: "... Нагласил съм админ префикса на крома да дава вип префикс на играчи... админ -префикса да дава вип-префикси...."
Щом ти дава флаговете този плъгина и явно ползваш чатменаджера на Крома(crx_chatmanager.amxx) - там си провери какво си "нагласил" :) , при мене crx_chatmanager.amxx с всичките му префикси - си е работил винаги и без значение с какви плъгини.. стига да са работещи де :)

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Пемахване на Z флага след натрупването на убийствата - pro becom vip

Мнение от OciXCrom » 21 Мар 2020, 00:32

Провери дали ползваш най-новата версия на Chat Manager-а, тъй като в по-старите нямаше проверка за обновяване на флаговете. Предостави настройките ако не става.

Аватар
petr0w
Извън линия
Потребител
Потребител
Мнения: 222
Регистриран на: 31 Окт 2016, 02:38
Се отблагодари: 5 пъти
Получена благодарност: 14 пъти
Обратна връзка:

Пемахване на Z флага след натрупването на убийствата - pro becom vip

Мнение от petr0w » 21 Мар 2020, 09:14

Новата версия реши проблема ми, благодаря !
Bulgarska Trewa -91.132.63.63:27015

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 24 госта