На сервере стоит данный плагин уже лет 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
но компилируется с варнингом, не получается убрать его
Последнее редактирование: