Помогите чутка переделать steam bonus

Che Nado?

Пользователь
Регистрация
11 Июл 2017
Сообщения
4
Симпатии
0
#1
Хочу что бы плагин не открывался у админов и випов, то есть только для steam игроков без привилегий.
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>

// #### Начало Конфигурационные defines ####
#define CHATTAG "^1[^4Steam^1]^1"
#define MIN_MONEY 100
#define MAX_MONEY 1500
#define MIN_HP 1
#define MAX_HP 10
#define STEAMBONUSROUND 3
//#define OPENMENUSOUND
// #### Конец Конфигурационные defines ####

new g_roundCount;

public plugin_init()
{
register_plugin("Steam Bonus", "2.0", "neygomon")

new sPref[][] = {"awp_", "aim_", "35hp", "fy_", "$3000$", "108_he_dust", "scoutzknivez"};
new map[32]; get_mapname(map, charsmax(map));
for(new i; i < sizeof sPref; i++)
{
if(containi(map, sPref) != -1)
{
pause("ad");
return;
}
}

register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w");
register_event("HLTV","eRoundStart","a","1=0","2=0");

RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1);

register_menucmd(register_menuid("Steam Bonus Menu"), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4, "SteamBonus");
}

public eRestart()
g_roundCount = 0;

public eRoundStart()
g_roundCount++;

public Player_Spawn(id)
{
if(g_roundCount < STEAMBONUSROUND || !is_user_alive(id)) return 0;

return SteamBonusMenu(id);
}

public SteamBonusMenu(id)
{
if(!is_user_steam(id)) return 0;

#if defined OPENMENUSOUND
static OpenMenuSound[] = "buttons/blip2";
client_cmd( id, "spk ^"%s^"", OpenMenuSound );
#endif

new szMenu[512], iLen = formatex(szMenu, charsmax(szMenu), "\w[\rSteam Bonus\w]^n^n"), iKey = MENU_KEY_4;

if(cs_get_user_money(id) == 16000)
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \wУ вас уже \r16000$^n");
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \wДеньги^n");
iKey |= MENU_KEY_1;
}
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r2. \wНабор гранат^n");
iKey |= MENU_KEY_2;
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r3. \wЧутка HP [\rдо 10\w]^n^n");
iKey |= MENU_KEY_3;
formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4. Отказаться от бонуса");

return show_menu(id, iKey, szMenu, 10, "Steam Bonus Menu");
}

public SteamBonus(id, iKey)
{
switch(iKey)
{
case 0:
{
new iMoney = random_num(MIN_MONEY, MAX_MONEY);
cs_set_user_money(id, cs_get_user_money(id) + iMoney);
ChatColor(id, "%s Вы получили бонус деньги за ^3Steam ^1в размере ^3%d$", CHATTAG, iMoney);
}
case 1:
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
ChatColor(id, "%s Вы получили бонус за ^3Steam ^1Набор гранат", CHATTAG);
}
case 2:
{
new iHealth = random_num(MIN_HP, MAX_HP);
set_user_health(id, get_user_health(id) + iHealth);
ChatColor(id, "%s Вы получили бонус за ^3Steam ^1Дополнительно ^3%dHP", CHATTAG, iHealth);
}
}
return PLUGIN_HANDLED;
}

stock ChatColor(const id, const szMessage[], any:...)
{
static szMsg[190], IdMsg;
vformat(szMsg, charsmax(szMsg), szMessage, 3);

if(!IdMsg) IdMsg = get_user_msgid("SayText");

message_begin(MSG_ONE, IdMsg, .player = id);
write_byte(id);
write_string(szMsg);
message_end();
}

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;
}
 

Le$hiy

Постоялец
Регистрация
10 Июн 2017
Сообщения
191
Симпатии
67
Пол
Мужской
#2
Код:
if(!is_user_steam(id)) return 0;
--->
Код:
if(!is_user_steam(id) & (ADMIN_BAN|ADMIN_LEVEL_H)) return 0;
[doublepost=1500196486][/doublepost]Не, херню написал. Вот так вроде должно быть правильно
Код:
if(is_user_steam(id) && ~get_user_flags(id) & (ADMIN_BAN|ADMIN_LEVEL_H)) return 0;
 

Che Nado?

Пользователь
Регистрация
11 Июл 2017
Сообщения
4
Симпатии
0
#3
Код:
if(!is_user_steam(id)) return 0;
--->
Код:
if(!is_user_steam(id) & (ADMIN_BAN|ADMIN_LEVEL_H)) return 0;
[doublepost=1500196486][/doublepost]Не, херню написал. Вот так вроде должно быть правильно
Код:
if(is_user_steam(id) && ~get_user_flags(id) & (ADMIN_BAN|ADMIN_LEVEL_H)) return 0;
Чутка не то. Я хотел что б оно у админов и випов не работало.
 

Le$hiy

Постоялец
Регистрация
10 Июн 2017
Сообщения
191
Симпатии
67
Пол
Мужской
#4
Che Nado?, я тебя понял. Я и написал, Чтобы у админов и випов не работало. Ты хоть пробовал изменить код и протестить?
[doublepost=1500198384][/doublepost]Применяй вторую правку. Про это забудь
if(!is_user_steam(id) & (ADMIN_BAN|ADMIN_LEVEL_H)) return 0;