Модуль плагина [SWGM] VIP 1.6a

VIP для игроков

  1. Seconds

    Seconds

    Сообщения:
    18
    Симпатии:
    0
    Не компилится:

    // SWGM_VIP.sp(42) : error 092: number of arguments does not match definition
    // SWGM_VIP.sp(51) : error 092: number of arguments does not match definition
     
  2. Someone

    Someone

    Сообщения:
    1.222
    Симпатии:
    770
    Потому что на другой версии компилируешь.
     
  3. Dreizehnt

    Dreizehnt Раздаю морковки (отдано: 37)

    Сообщения:
    888
    Симпатии:
    404
    @Someone, если не занят, можешь посмотреть?) Вывод на сайт, обязательно ставить тег, чтобы получить VIP:
    PHP:
    #pragma semicolon 1

    #include <vip_core>
    #include <cstrike>
    #include <swgm>

    public Plugin myinfo =
    {
        
    name "[SWGM] VIP",
        
    author "Someone",
        
    description "Выдача VIP-статуса для игроков, состоящих в Steam группе.",
        
    version "1.4 MySQL TAG",
        
    url "http://hlmod.ru"
    };

    ConVar CVAR;

    char g_VIPTAGGroup[32];

    bool g_bVIP[MAXPLAYERS+1];

    public 
    void OnPluginStart()
    {
       
        (
    CVAR CreateConVar("sm_swgm_vip_tag_group",        "vip2",        "VIP группа для игроковс тэгом.")).AddChangeHook(ChangeCvar_TagGroup);
        
    CVAR.GetString(g_VIPTAGGroupsizeof(g_VIPTAGGroup));
       
        
    AutoExecConfig(true"swgm_vip");
    }

    public 
    void ChangeCvar_TagGroup(ConVar convar, const char[] oldValue, const char[] newValue)
    {
        
    convar.GetString(g_VIPTAGGroupsizeof(g_VIPTAGGroup));
    }

    public 
    void OnClientSettingsChanged(int iClient)
    {
        if(
    IsClientInGame(iClient) && VIP_IsClientVIP(iClient) && g_bVIP[iClient])
        {
            
    char sTag[64];
            
    CS_GetClientClanTag(iClientsTagsizeof(sTag));
           
            if(!
    StrEqual(sTagg_VIPTAGGroup))
            {
                
    VIP_RemoveClientVIP(iClientfalsefalse);
                
    VIP_PrintToChatClient(iClient"%t""SWGM_VIP_Change");
            }
        }

    }

    public 
    int VIP_OnClientLoaded(int iClientbool bIsVIP)
    {
        
    g_bVIP[iClient] = false;
        if(!
    IsFakeClient(iClient) && !bIsVIP && SWGM_InGroup(iClient))
        {
            
    char sTag[64];
            
    CS_GetClientClanTag(iClientsTagsizeof(sTag));
           
            if(
    StrEqual(sTagg_VIPTAGGroup))
            {
                
    VIP_SetClientVIP(iClient0_g_VIPTAGGroupfalse);
            }
           
            
    g_bVIP[iClient] = true;
        }
    }

    public 
    void SWGM_OnJoinGroup(int iClientbool IsOfficer)
    {
        if(!
    VIP_IsClientVIP(iClient))
        {
            
    char sTag[64];
            
    CS_GetClientClanTag(iClientsTagsizeof(sTag));
           
            if(
    StrEqual(sTagg_VIPTAGGroup))
            {
                
    VIP_SetClientVIP(iClient0_g_VIPTAGGrouptrue);
            }
           
            
    g_bVIP[iClient] = true;
            
    VIP_PrintToChatClient(iClient"%t""SWGM_VIP_Give");
        }
    }

    public 
    void SWGM_OnLeaveGroup(int iClient)
    {
        if(
    VIP_IsClientVIP(iClient) && g_bVIP[iClient])
        {
            
    g_bVIP[iClient] = false;
            
    VIP_RemoveClientVIP(iClientfalsetrue);
            
    VIP_PrintToChatClient(iClient"%t""SWGM_VIP_Take");
        }
    }

     
    Последнее редактирование: 15 июн 2017
  4. Someone

    Someone

    Сообщения:
    1.222
    Симпатии:
    770
    @Dreizehnt,

    sm_swgm_vip_tag - требуемый тэг.
     

    Вложения:

    Dreizehnt нравится это.
  5. Dreizehnt

    Dreizehnt Раздаю морковки (отдано: 37)

    Сообщения:
    888
    Симпатии:
    404
    @Someone, фразы верные или не совсем?
    Код:
        "SWGM_VIP_Give"
        {
            "en"            "You got VIP because you join our Steam group."
            "ru"            "Вы получили премиум за вступление в нашу Steam-группу."
        }
        "SWGM_VIP_Take"
        {
            "en"            "You lost VIP because you leave our Steam group."
            "ru"            "Вы потеряли премиум, потому что вышли из нашей Steam-группы."
        }
        "SWGM_VIP_Keys_Warn"
        {
            "ru"            "Сначала приобретите премиум."
        }
        "SWGM_VIP_Change"
        {
            "ru"            "Ваша группа премиума была снята из-за смены префикса в ТАБе."
        }
    Код:
    L 06/15/2017 - 15:07:21: [SM] Exception reported: Language phrase "SWGM_VIP_Give" not found (arg 4)
    L 06/15/2017 - 15:07:21: [SM] Blaming: vip/VIP_Core.smx
    L 06/15/2017 - 15:07:21: [SM] Call stack trace:
    L 06/15/2017 - 15:07:21: [SM]   [0] FormatNativeString
    L 06/15/2017 - 15:07:21: [SM]   [1] Line 107, vip/natives.sp::Native_PrintToChatClient
    L 06/15/2017 - 15:07:21: [SM]   [3] VIP_PrintToChatClient
    L 06/15/2017 - 15:07:21: [SM]   [4] Line 89, D:\Program Files (x86)\HL_compiler\addons\sourcemod\scripting\SWGM_VIP_Edit_2.sp::SWGM_OnJoinGroup
    L 06/15/2017 - 15:07:21: [SM]   [6] Call_Finish
    L 06/15/2017 - 15:07:21: [SM]   [7] Line 247, C:\csgo\1.7\addons\sourcemod\scripting\1.8\SWGM.sp::Forward_OnJoinCheck
    L 06/15/2017 - 15:07:21: [SM]   [8] Line 174, C:\csgo\1.7\addons\sourcemod\scripting\1.8\SWGM.sp::SteamWorks_OnClientGroupStatus
    
     
  6. Someone

    Someone

    Сообщения:
    1.222
    Симпатии:
    770
    @Dreizehnt,
    Кто плагин до меня редактировал ?

    Там в OnPluginStart() впихни:

    PHP:
    LoadTranslations("vip_modules.phrases");
     
  7. Dreizehnt

    Dreizehnt Раздаю морковки (отдано: 37)

    Сообщения:
    888
    Симпатии:
    404
    @Someone, сейчас поставлю... тот что я кодом скидывал, это версия tag с вырванной обычной группой vip1, - это я пытался :D Просто vip1 не нужна, а плагин её будет давать за вступление... хотел чтоб условием получения помимо вступления был и тег, снял тег = снял премиум.
    --- Добавлено позже ---
    @Someone, не выдаёт по тегу, главное сообщает что выдал, но VIP нет :( Нет ли тут проблемы с ядром? - один игрок на рабочей версии тоже сказал что он в группе, но не выдало.
    --- Добавлено позже ---
    Иногда прошибает выданый VIP ранее, меняет на тот что идёт бонусом от группы Steam, в логах ничего особенного... Но SWGM начисляет всем и успевает применить как я понял выданный ранее VIP, с флагами думаю годное решение, которое было в обсуждении, чтобы админов не касалось хотя бы или как-то вести проверку на наличие...
    PHP:
    L 06/16/2017 01:02:31: [vip/VIP_Core.smxАдминистратор Console<0><Console><Consoleдобавил премиум-идентификатор СТИ_ИД_МОЙ (Срок20:03Истекает16/06/2017 01:22ГруппаPrem_BONUS)
    L 06/16/2017 01:22:50: [vip/VIP_Core.smxПрава премиум-игрока ИГРОК<260><СТИ_ИД_МОЙ><> истеклиудаление игрока...
    L 06/16/2017 02:19:55: [vip/VIP_Core.smxАдминистратор Console<0><Console><Consoleдобавил премиум-идентификатор СТИ_ИД_МОЙ (Срок20:03Истекает16/06/2017 02:39ГруппаPrem_BONUS)
    L 06/16/2017 02:40:19: [vip/VIP_Core.smxПрава премиум-игрока ИГРОК<334><СТИ_ИД_МОЙ><> истеклиудаление игрока...
    L 06/16/2017 02:40:19: [vip/VIP_Core.smxПремиум-игрок (ID1072успешно удален
    L 06
    /18/2017 02:17:46: [vip/VIP_Core.smxАдминистратор Console<0><Console><Consoleдобавил премиум-идентификатор СТИ_ИД_МОЙ (Срок20:03Истекает18/06/2017 02:37ГруппаPrem_BONUS)
    L 06/18/2017 02:39:05: [vip/VIP_Core.smxПрава премиум-игрока ИГРОК<371><СТИ_ИД_МОЙ><> истеклиудаление игрока...
    L 06/18/2017 02:39:05: [vip/VIP_Core.smxПремиум-игрок (ID1105успешно удален
    L 06
    /19/2017 01:22:42: [vip/VIP_Core.smxПрава премиум-игрока ИГРОК<411><СТИ_ИД_МОЙ><> истеклиудаление игрока...
    L 06/19/2017 01:22:42: [vip/VIP_Core.smxПремиум-игрок (ID1125успешно удален
    L 06
    /19/2017 02:17:50: [vip/VIP_Core.smxАдминистратор Console<0><Console><Consoleдобавил премиум-идентификатор СТИ_ИД_МОЙ (Срок20:03Истекает19/06/2017 02:37ГруппаPrem_BONUS)
    L 06/19/2017 02:37:54: [vip/VIP_Core.smxПрава премиум-игрока ИГРОК<425><СТИ_ИД_МОЙ><> истеклиудаление игрока...
    L 06/19/2017 02:37:54: [vip/VIP_Core.smxПремиум-игрок (ID1126успешно удален
    L 06
    /20/2017 02:06:32: [vip/VIP_Core.smxАдминистратор Console<0><Console><Consoleдобавил премиум-идентификатор СТИ_ИД_МОЙ (Срок20:03Истекает20/06/2017 02:26ГруппаPrem_BONUS)
    L 06/20/2017 02:26:37: [vip/VIP_Core.smxПрава премиум-игрока ИГРОК<377><СТИ_ИД_МОЙ><> истеклиудаление игрока...
    L 06/20/2017 02:26:37: [vip/VIP_Core.smxПремиум-игрок (ID1145успешно удален
    L 06
    /20/2017 12:51:07: [vip/VIP_Core.smxАдминистратор Dreizehnt<44><СТИ_ИД_ИГРОКА><> установил группу премиум-игроку ИГРОК (ГруппаPrem_ADM)
    L 06/20/2017 12:51:11: [vip/VIP_Core.smxАдминистратор {1установил длительность премиум-статуса игроку {2до {3}
    L 06/22/2017 20:02:03: [vip/VIP_Core.smxАдминистратор Dreizehnt<298><СТИ_ИД_ИГРОКА><> установил группу премиум-игроку ИГРОК (ГруппаPrem_ADM)
     
    Последнее редактирование: 22 июн 2017
  8. MePro69

    MePro69

    Сообщения:
    28
    Симпатии:
    0
    Как сделать выдачу например на 1 или 2 дня?
     
  9. Someone

    Someone

    Сообщения:
    1.222
    Симпатии:
    770
    Лучше бы тогда в ЛС написал. Тут ведь после обновления сообщения уведомление не приходит.

    Попробуй: [SWGM] VIP
     
    Dreizehnt нравится это.
  10. loshadka

    loshadka

    Сообщения:
    18
    Симпатии:
    1
    Да, трабла есть. Состою в своей группе и за это прилетает (после установки плагина) урезанный вип/по сравнении с выданным себе же випом полноценным.
     
  11. Someone

    Someone

    Сообщения:
    1.222
    Симпатии:
    770
    Там проверка стоит. Не выдает тем у кого уже есть любая группа VIP.
     
  12. loshadka

    loshadka

    Сообщения:
    18
    Симпатии:
    1
    перепроверил группы, права, отключил вип за стим. зашел - обычный вип цепляется.
    вернул вип за стим, прегрузил серв, захожу - полного випа снова нет.
     
  13. Someone

    Someone

    Сообщения:
    1.222
    Симпатии:
    770
    Либо версию VIP старую используешь, либо старую версию SWGM VIP.

    Хотя есть другой вариант. Попробуй:
     

    Вложения:

    • SWGM_VIP.sp
      Размер файла:
      1,5 КБ
      Просмотров:
      4
    loshadka нравится это.
  14. loshadka

    loshadka

    Сообщения:
    18
    Симпатии:
    1
    Спс, вроде решилось!
     
  15. R1KO

    R1KO Рукоблуд с машинными кодами Супермодератор

    Сообщения:
    7.063
    Симпатии:
    4.300
    Для Core 3.0
     

    Вложения:

    • SWGM_VIP.sp
      Размер файла:
      1,5 КБ
      Просмотров:
      10
    Dreizehnt и Someone нравится это.
  16. Someone

    Someone

    Сообщения:
    1.222
    Симпатии:
    770
    Там баг при заходе игрока есть, забыл обновить.

    Нужно при SWGM_OnJoinGroup добавить проверку VIP_IsVIPClientLoaded, а то может выдавать группу раньше, чем это сделает VIP.
     
    Последнее редактирование: 30 июл 2017
  17. Someone

    Someone

    Сообщения:
    1.222
    Симпатии:
    770
  18. vovan22

    vovan22

    Сообщения:
    94
    Симпатии:
    2
  19. Fox1qqq

    Fox1qqq PersonaNonGrata

    Сообщения:
    222
    Симпатии:
    91
    Написать маленький плагин, который будет отслеживать время когда игрок начал подключатся и полностью зашёл, а так же когда выдаётся VIP и отправлять это в лог. (Как пример)
     
  20. Someone

    Someone

    Сообщения:
    1.222
    Симпатии:
    770
    Иногда случалось так, что SWGM VIP выдает VIP раньше, чем само ядро VIP.