Здравствуйте! ребят как сделать что бы при написании /offinfo текст "данный игрок не зарегистрирован" всё равно осталось
а текст "Хочешь получать бонусы?" убиралось
а текст "Хочешь получать бонусы?" убиралось
Код:
#include <amxmodx>
#include <fakemeta>
#include <gamecms5>
#define PLUGIN "GameCMS_Informer"
#define VERSION "2.3 API5"
#define AUTHOR "zhorzh78"
#define MAX_PLAYERS 32
#define HUD_OFFSET 5478
#define hudUpdateInterval 5.0
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif
#if !defined AMXX_VERSION_RELEASE
#define client_disconnected client_disconnect
#endif
#define SHOW_REGDATE
enum _:InfoSetup
{
bool:is_registered,
hud_active,
uName[33],
uMsgNum,
uGroup[65],
uThanks,
#if defined SHOW_REGDATE
uRegDate[11],
#endif
uRatings
}
new HUD_Setup[MAX_PLAYERS+1][InfoSetup]
new informerSyncObj
new bool:user_gladmin[MAX_PLAYERS+1];
new map_valid, bool:gamecms_wallet, bool:shop_loaded, bool:reg_loaded
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /offinfo","HUD_Off")
informerSyncObj = CreateHudSyncObj()
set_task(200.0, "anons", _, _, _, "b")
}
public anons()
{
for(new i = 1; i <= MAX_PLAYERS; i++)
{
if(HUD_Setup[i][is_registered] || !is_user_connected(i))
continue
client_print_color(i, 0, "^4[Инфо] ^1Укажи свой SteamID в профиле на сайте ^4%scsgames.su ^1и получай бонусы за игру", SiteUrl)
client_print_color(i, 0, "^4[Инфо] ^1Для отключения информера о регистрации, напиши в чат ^4/offinfo")
}
}
public plugin_cfg()
{
get_cvar_string("cms_url", SiteUrl, charsmax(SiteUrl))
if(is_plugin_loaded("GameCMS_Registration") != -1)
reg_loaded = true;
}
public OnAPIPluginStop()
{
log_amx("Plugin paused. GameCMS_API is not loaded");
pause("a");
}
// ========= привязка к GameCMS Shop
public map_validate(is_map_valid)
{
gamecms_wallet = true;
shop_loaded = true;
map_valid = is_map_valid;
}
// =========
public HUD_Off(id)
{
HUD_Setup[id][hud_active] = 0
}
public client_putinserver(id)
{
if(task_exists(HUD_OFFSET + id))
remove_task(HUD_OFFSET + id);
arrayset(HUD_Setup[id], 0, InfoSetup);
HUD_Setup[id][hud_active] = 1;
set_task(hudUpdateInterval,"Show_Hud_Informer",HUD_OFFSET + id,.flags="b");
if(get_user_flags(id) & ADMIN_RCON)
user_gladmin[id] = true;
}
public OnAPISendChatPrefix(id, prefix[], type)
copy(HUD_Setup[id][uGroup], charsmax(HUD_Setup[][uGroup]), prefix);
public OnAPIMemberConnected(id, memberId, memberName[])
{
HUD_Setup[id][is_registered] = true;
new Data[4];
if(!cmsapi_get_forum_data(id, Data, HUD_Setup[id][uName], charsmax(HUD_Setup[][uName])))
return;
HUD_Setup[id][uMsgNum] = Data[3];
HUD_Setup[id][uThanks] = Data[0];
HUD_Setup[id][uRatings] = Data[2];
#if defined SHOW_REGDATE
cmsapi_get_user_regdate(id, HUD_Setup[id][uRegDate], charsmax(HUD_Setup[][uRegDate]));
#endif
}
public client_disconnected(id)
{
if(task_exists(HUD_OFFSET + id))
remove_task(HUD_OFFSET + id);
arrayset(HUD_Setup[id], 0, InfoSetup);
}
public Show_Hud_Informer(taskId)
{
new id = taskId - HUD_OFFSET;
if(!HUD_Setup[id][hud_active])
return;
new watchId = id;
new isAlive = is_user_alive(id);
if(!is_user_connected(id))
{
remove_task(taskId);
return;
}
if(informerSyncObj != 0)
ClearSyncHud(id,informerSyncObj);
if(!isAlive)
{
watchId = pev(id, pev_iuser2);
if(!watchId)
return;
}
new hudMessage[350], len;
new Float:wallet = cmsapi_get_user_money(watchId);
switch(isAlive)
{
case 1:
if(HUD_Setup[id][is_registered])
{
if(HUD_Setup[id][uMsgNum] > 0)
len += formatex(hudMessage[len], charsmax(hudMessage) - len, "^nНовых сообщений: %d", HUD_Setup[id][uMsgNum]);
if(map_valid)
{
if(gamecms_wallet)
len += formatex(hudMessage[len], charsmax(hudMessage) - len, "^nВ кошельке: %.2f руб.",
_:wallet >= 0 ? wallet + 0.005 : wallet - 0.005);
if(shop_loaded)
len += formatex(hudMessage[len], charsmax(hudMessage) - len, "^nМагазин: / shop");
}
}
else len += formatex(hudMessage[len], charsmax(hudMessage) - len, "Хочешь получать бонусы?^nЗарегистрируйся ^nна сайте %s%s^nОтключить эту инфу-^nпиши /offinfo", SiteUrl,
reg_loaded ? "^nДля регистрации с сервера ^nпиши /regme" : "");
case 0:
if(HUD_Setup[watchId][is_registered])
{
len += formatex(hudMessage[len], charsmax(hudMessage) - len, "%s^n", HUD_Setup[watchId][uGroup]);
len += formatex(hudMessage[len], charsmax(hudMessage) - len, "Имя: %s^n", HUD_Setup[watchId][uName]);
len += formatex(hudMessage[len], charsmax(hudMessage) - len, "Рейтинг: %d^n", HUD_Setup[watchId][uRatings]);
len += formatex(hudMessage[len], charsmax(hudMessage) - len, "Благодарностей: %d^n", HUD_Setup[watchId][uThanks]);
if(user_gladmin[id])
len += formatex(hudMessage[len], charsmax(hudMessage) - len, "Баланс: %.2f руб.^n", wallet);
#if defined SHOW_REGDATE
len += formatex(hudMessage[len], charsmax(hudMessage) - len, "С нами с: %s", HUD_Setup[watchId][uRegDate]);
#endif
}
else len += formatex(hudMessage[len], charsmax(hudMessage) - len, "^nДанный игрок ^nне зарегистрирован");
}
ClearSyncHud(id, informerSyncObj);
set_hudmessage(250, 100, 100, 0.75 , 0.52, .holdtime = hudUpdateInterval, .channel = 4);
ShowSyncHudMsg(id, informerSyncObj, hudMessage);
}