Подправить auto steam vip

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
101
Реакции
17
Помог
2 раз(а)
На сервере стоит данный плагин уже лет 5. Проблема такая: игрок заходит с одним ником и ему выдается флаг, но как только он меняет ник(сам, либо сервер), флаг слетает и игроки не понимают куда делась випка, приходится говорить чтобы сделали реконнект.
Подскажите пожалуйста, как можно решить эту проблему? Я подумал сделать проверку и выдачу после спавна, чтобы хотя бы в следующем раунде выдавался флаг. Но хз на сколько это разумно, может есть какой то наилучший вариант?
Код:
#include <amxmodx>

#define USE_REAPI                    // Использовать ReAPI модуль. Если не ReAPI, то закомментируйте

#if defined USE_REAPI
    #include <reapi>
#endif

#define STEAM_FLAG        ADMIN_LEVEL_H     // Флаг, который будет выдан Steam игроку

public plugin_init()
    register_plugin("Flag for Steam", "1.0", "TBONTB");

public client_putinserver(id)
    if(is_user_steam(id)) set_user_flags(id, STEAM_FLAG);

#if !defined USE_REAPI
stock bool:is_user_steam(id)
{
    static dp_pointer;
    if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
    {
        server_cmd("dp_clientinfo %d", id);
        server_exec();
        return (get_pcvar_num(dp_pointer) == 2) ? true : false;
    }
    return false;
}
#endif
Код:
#include <amxmodx>

#define USE_REAPI                    // Использовать ReAPI модуль. Если не ReAPI, то закомментируйте

#if defined USE_REAPI
    #include <reapi>
#endif

#define STEAM_FLAG        ADMIN_LEVEL_H     // Флаг, который будет выдан Steam игроку

public plugin_init()
    register_plugin("Flag for Steam", "1.0", "TBONTB");

public client_putinserver(id)
    {
    set_task(3, "CheckPlayer", id)
    }

public client_infochanged(id){
   
    if(!is_user_connected(id)){
   
        return
    }

    new szOldName[32], szNewName[32]
    get_user_name(id, szOldName, charsmax(szOldName))
    get_user_info(id, "name", szNewName, charsmax(szNewName))
   
    if(strcmp(szOldName, szNewName)){
       
        CheckPlayer(id)
    }
}

public CheckPlayer(id){
    if(is_user_steam(id)) set_user_flags(id, STEAM_FLAG);
}

#if !defined USE_REAPI
stock bool:is_user_steam(id)
{
    static dp_pointer;
    if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
    {
        server_cmd("dp_clientinfo %d", id);
        server_exec();
        return (get_pcvar_num(dp_pointer) == 2) ? true : false;
    }
    return false;
}
#endif
такое имеет право существовать?
но компилируется с варнингом, не получается убрать его
1632835777966.png
 
Последнее редактирование:

iPlague

♿️
Сообщения
230
Реакции
130
Помог
2 раз(а)
set_user_flags(id, "тут надо буковку t , а не ADMIN_LEVEL_H");
 
Сообщения
101
Реакции
17
Помог
2 раз(а)
iPlague, 1632836765027.png
28 Сен 2021
все работает, ура. надо было 3.0 поставить а не 3)
можно закрывать)
Код:
#include <amxmodx>

#define USE_REAPI                    // Использовать ReAPI модуль. Если не ReAPI, то закомментируйте

#if defined USE_REAPI
    #include <reapi>
#endif

#define STEAM_FLAG        ADMIN_LEVEL_H     // Флаг, который будет выдан Steam игроку

public plugin_init()
    register_plugin("Flag for Steam", "1.0", "TBONTB");

public client_putinserver(id)
    {
    set_task(3.0, "CheckPlayer", id)
    }

public client_infochanged(id){
  
    if(!is_user_connected(id)){
  
        return
    }

    new szOldName[32], szNewName[32]
    get_user_name(id, szOldName, charsmax(szOldName))
    get_user_info(id, "name", szNewName, charsmax(szNewName))
  
    if(strcmp(szOldName, szNewName)){
      
        CheckPlayer(id)
    }
}

public CheckPlayer(id){
    if(is_user_steam(id)) set_user_flags(id, STEAM_FLAG);
}

#if !defined USE_REAPI
stock bool:is_user_steam(id)
{
    static dp_pointer;
    if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
    {
        server_cmd("dp_clientinfo %d", id);
        server_exec();
        return (get_pcvar_num(dp_pointer) == 2) ? true : false;
    }
    return false;
}
#endif
 
Последнее редактирование:

iPlague

♿️
Сообщения
230
Реакции
130
Помог
2 раз(а)
тю блин, не та 15 строка)
 
Статус
В этой теме нельзя размещать новые ответы.

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

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