Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide whitespace changes
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Text styles
Change appearance
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Untitled Diff
Created
5 years ago
Diff never expires
Clear
Export
Share
Explain
130 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
642 lines
Copy
73 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
592 lines
Copy
#include <amxmodx>
#include <amxmodx>
#include <amxmisc>
#include <amxmisc>
#include <cstrike>
#include <cstrike>
#include <fakemeta>
#include <fakemeta>
#include <fakemeta_util>
#include <fakemeta_util>
#include <hamsandwich>
#include <hamsandwich>
#include <dhudmessage>
#include <dhudmessage>
Copy
Copied
Copy
Copied
#define PLUGIN "
IDEAL VIP by Ba/lePa & Wikiname
"
#define PLUGIN "
Edit
"
#define VERSION "
3.2.5
"
#define VERSION "
1.0
"
#define AUTHOR "
Ba/lePa | Remake by Wikiname
"
#define AUTHOR "
Edit
"
Copy
Copied
Copy
Copied
#define VIP_TAG (1<<2)
// vip в таблицу
#define VIP_TAG (1<<2)
// vip в таблицу
#define vip_flag ADMIN_
LEVEL_H
// флаг доступа
//
#define vip_flag ADMIN_
BAN
// флаг доступа
//#define EXP_SHOW // раскомментируйте чтобы показать срок випки
//#define EXP_SHOW // раскомментируйте чтобы показать срок випки
#define music // Если звук при входе админа не нужен, то поставьте // перед #define
#define music // Если звук при входе админа не нужен, то поставьте // перед #define
#define MAX_TEXT_LENGTH 200
#define MAX_TEXT_LENGTH 200
#define MAX_NAME_LENGTH 40
#define MAX_NAME_LENGTH 40
#pragma semicolon 1
#pragma semicolon 1
new bool:g_bBlockMap;
new bool:g_bBlockMap;
new g_Round, g_iWeapon[33], g_iVip ;
new g_Round, g_iWeapon[33], g_iVip ;
new g_iPlayerBomb[33] = false;
new g_iPlayerBomb[33] = false;
new cvar_connect, Float: cvar_x, Float: cvar_y;
new cvar_connect, Float: cvar_x, Float: cvar_y;
new cvar_prefix;
new cvar_prefix;
new cvar_round, cvar_open, cvar_show, cvar_chat, cvar_pistols, cvar_funk, cvar_tab;
new cvar_round, cvar_open, cvar_show, cvar_chat, cvar_pistols, cvar_funk, cvar_tab;
new Float: cvar_health, Float: cvar_health_head, Float: cvar_health_max;
new Float: cvar_health, Float: cvar_health_head, Float: cvar_health_max;
new cvar_money, cvar_money_head;
new cvar_money, cvar_money_head;
new cvar_music;
new cvar_music;
Copy
Copied
Copy
Copied
new cvar_awplimit;
#if defined EXP_SHOW
#if defined EXP_SHOW
native admin_expired(index);
native admin_expired(index);
#endif
#endif
new vip_opened[33];
new vip_opened[33];
new g_iMaxPlayers = 0;
new g_iMaxPlayers = 0;
new msgSayText;
new msgSayText;
new g_iPistols[6] = {CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_FIVESEVEN, CSW_P228, CSW_DEAGLE};
new g_iPistols[6] = {CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_FIVESEVEN, CSW_P228, CSW_DEAGLE};
new bool: g_Chosen[33] = false;
new bool: g_Chosen[33] = false;
new string[32];
new string[32];
public plugin_precache(){
public plugin_precache(){
if(IsBlockMap())
if(IsBlockMap())
{
{
g_bBlockMap = true;
g_bBlockMap = true;
return;
return;
}
}
#if defined(music)
#if defined(music)
Copy
Copied
Copy
Copied
precache_sound("
IDEAL_VIP
/ideal_sound.wav");
precache_sound("
vipmenu
/ideal_sound.wav");
#endif
#endif
}
}
Copy
Copied
Copy
Copied
public plugin_init(){
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR);
register_plugin(PLUGIN, VERSION, AUTHOR);
Copy
Copied
Copy
Copied
register_dictionary("
ideal_vip
.txt");
register_dictionary("
vipmenu
.txt");
g_iMaxPlayers = get_maxplayers();
g_iMaxPlayers = get_maxplayers();
register_message(get_user_msgid( "ScoreAttrib" ), "msgScoreAttrib");
register_message(get_user_msgid( "ScoreAttrib" ), "msgScoreAttrib");
register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");
register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");
register_event("TextMsg", "EventRoundRestart", "a", "2=#Game_will_restart_in","2=#Game_Commencing");
register_event("TextMsg", "EventRoundRestart", "a", "2=#Game_will_restart_in","2=#Game_Commencing");
RegisterHam(Ham_Killed, "player", "HamPlayerKilled_Post", 1);
RegisterHam(Ham_Killed, "player", "HamPlayerKilled_Post", 1);
RegisterHam(Ham_Spawn, "player", "HamSpawn_Post", 1);
RegisterHam(Ham_Spawn, "player", "HamSpawn_Post", 1);
Copy
Copied
Copy
Copied
register_clcmd("vipmenu", "MainMenu");
register_clcmd("vipmenu", "MainMenu");
Copy
Copied
Copy
Copied
register_clcmd("say /
vip
menu", "MainMenu");
register_clcmd("say /
menu", "MainMenu");
register_clcmd("say_team /
vip
menu", "MainMenu");
register_clcmd("say_team /
menu", "MainMenu");
Copy
Copied
Copy
Copied
register_clcmd("say /v
ip_
menu", "MainMenu");
register_clcmd("say /v
menu", "MainMenu");
register_clcmd("say_team /v
ip_
menu", "MainMenu");
register_clcmd("say_team /v
menu", "MainMenu");
register_clcmd("vipmenu", "MainMenu");
register_clcmd("vipmenu", "MainMenu");
Copy
Copied
Copy
Copied
register_clcmd("say /
vips
", "vip_online");
register_clcmd("say /
vipsonlinee
", "vip_online");
register_clcmd("say_team /
vips
", "vip_online");
register_clcmd("say_team /
vipsonlinee
", "vip_online");
Copy
Copied
Copy
Copied
register_clcmd("say /admin
ka
", "admin_motd");
register_clcmd("say /admin
", "admin_motd");
register_clcmd("say_team /admin
ka
", "admin_motd");
register_clcmd("say_team /admin
", "admin_motd");
register_clcmd("say /vip", "vip_motd");
register_clcmd("say /vip", "vip_motd");
register_clcmd("say_team /vip", "vip_motd");
register_clcmd("say_team /vip", "vip_motd");
msgSayText = get_user_msgid("SayText");
msgSayText = get_user_msgid("SayText");
}
}
public plugin_cfg(){
public plugin_cfg(){
new szConfigDir[128];
new szConfigDir[128];
Copy
Copied
Copy
Copied
cvar_round
=
get_pcvar_num(register_cvar("amx_vipround", "2"));
cvar_round
=
get_pcvar_num(register_cvar("amx_vipround", "2"));
cvar_open
=
get_pcvar_num(register_cvar("amx_vipzaround", "2"));
cvar_open
=
get_pcvar_num(register_cvar("amx_vipzaround", "2"));
cvar_show
=
get_pcvar_num(register_cvar("amx_vipshow","
0
"));
cvar_show
=
get_pcvar_num(register_cvar("amx_vipshow","
1
"));
cvar_chat
=
get_pcvar_num(register_cvar("amx_chatshow", "
1
"));
cvar_chat
=
get_pcvar_num(register_cvar("amx_chatshow", "
0
"));
cvar_pistols
=
get_pcvar_num(register_cvar("amx_vipautopistols", "1"));
cvar_pistols
=
get_pcvar_num(register_cvar("amx_vipautopistols", "1"));
cvar_funk
=
get_pcvar_num(register_cvar("amx_vipautoset", "1"));
cvar_funk
=
get_pcvar_num(register_cvar("amx_vipautoset", "1"));
cvar_health
=
get_pcvar_float(register_cvar("amx_viphealth", "5.0"));
cvar_health
=
get_pcvar_float(register_cvar("amx_viphealth", "5.0"));
cvar_health_head
=
get_pcvar_float(register_cvar("amx_viphealth_head", "10.0"));
cvar_health_head
=
get_pcvar_float(register_cvar("amx_viphealth_head", "10.0"));
cvar_health_max
=
get_pcvar_float(register_cvar("amx_viphealth_max", "1
5
0.0"));
cvar_health_max
=
get_pcvar_float(register_cvar("amx_viphealth_max", "1
2
0.0"));
cvar_money
=
get_pcvar_num(register_cvar("amx_vipmoney", "300"));
cvar_money
=
get_pcvar_num(register_cvar("amx_vipmoney", "300"));
cvar_money_head
=
get_pcvar_num(register_cvar("amx_vipmoney_head", "500"));
cvar_money_head
=
get_pcvar_num(register_cvar("amx_vipmoney_head", "500"));
cvar_tab
=
get_pcvar_num(register_cvar("amx_viptab", "1"));
cvar_tab
=
get_pcvar_num(register_cvar("amx_viptab", "1"));
cvar_connect
=
get_pcvar_num(register_cvar("amx_showconnect", "
4
"));
cvar_connect
=
get_pcvar_num(register_cvar("amx_showconnect", "
0
"));
cvar_x
=
get_pcvar_float(register_cvar("amx_vipXcoord", "-1.0"));
cvar_x
=
get_pcvar_float(register_cvar("amx_vipXcoord", "-1.0"));
cvar_y
=
get_pcvar_float(register_cvar("amx_vipYcoord", "0.6"));
cvar_y
=
get_pcvar_float(register_cvar("amx_vipYcoord", "0.6"));
cvar_prefix
=
register_cvar("amx_vip_prefix", "!
y[!g
VIP
!y
]");
cvar_prefix
=
register_cvar("amx_vip_prefix", "!
g[!t
VIP
SYSTEM!g
]");
#if defined(music)
#if defined(music)
Copy
Copied
Copy
Copied
cvar_music
=
get_pcvar_num(register_cvar("amx_vipMusic", "1"));
cvar_music
=
get_pcvar_num(register_cvar("amx_vipMusic", "1"));
#endif
#endif
Copy
Copied
Copy
Copied
cvar_awplimit = get_pcvar_num(register_cvar("amx_awproundlimit", "3"));
get_pcvar_string(cvar_prefix, string, charsmax(string));
get_pcvar_string(cvar_prefix, string, charsmax(string));
get_localinfo("amxx_configsdir", szConfigDir, charsmax(szConfigDir));
get_localinfo("amxx_configsdir", szConfigDir, charsmax(szConfigDir));
Copy
Copied
Copy
Copied
server_cmd("exec %s/
ideal_vip
.cfg", szConfigDir);
server_cmd("exec %s/
vipmenu
.cfg", szConfigDir);
}
}
public admin_motd(id, level, cid){
public admin_motd(id, level, cid){
if(!cmd_access(id, level, cid, 1))
if(!cmd_access(id, level, cid, 1))
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
Copy
Copied
Copy
Copied
show_motd(id, "
adminka
.txt", "Как
купит
ь админку
");
show_motd(id, "
buy
.txt", "Как
да
купит
е АДМИН
");
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
}
}
public vip_motd(id, level, cid){
public vip_motd(id, level, cid){
if(!cmd_access(id, level, cid, 1))
if(!cmd_access(id, level, cid, 1))
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
Copy
Copied
Copy
Copied
show_motd(id, "
vipka
.txt", "Как
купит
ь випку
");
show_motd(id, "
buy
.txt", "Как
да
купит
е ВИП
");
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
}
}
public client_putinserver(id){
public client_putinserver(id){
g_iWeapon[id] = 0;
g_iWeapon[id] = 0;
if(IsUserCool(id))
if(IsUserCool(id))
set_task(0.5, "vip_connect", id + 132);
set_task(0.5, "vip_connect", id + 132);
}
}
public client_disconnect(id){
public client_disconnect(id){
g_iWeapon[id] = 0;
g_iWeapon[id] = 0;
g_Chosen[id] = false;
g_Chosen[id] = false;
}
}
public vip_connect(TASKID){
public vip_connect(TASKID){
new id = TASKID - 132;
new id = TASKID - 132;
#if defined(music)
#if defined(music)
if(cvar_music)
if(cvar_music)
Copy
Copied
Copy
Copied
client_cmd(0, "spk
IDEAL_VIP
/ideal_sound.wav");
client_cmd(0, "spk
vipmenu
/ideal_sound.wav");
#endif
#endif
new name[32]; get_user_name(id, name, charsmax(name));
new name[32]; get_user_name(id, name, charsmax(name));
new g_iRed = random_num(1,255),g_iGreen = random_num(1,255),g_iBlue = random_num(1,255); //рандомные цвета для HUD и DHUD
new g_iRed = random_num(1,255),g_iGreen = random_num(1,255),g_iBlue = random_num(1,255); //рандомные цвета для HUD и DHUD
switch(cvar_connect)
switch(cvar_connect)
{
{
case 1:
case 1:
{
{
Copy
Copied
Copy
Copied
ChatColor(0, "%L", id, "VIP_CONNECT", string, name);
ChatColor(0, "%L", id, "VIP_CONNECT", string, name);
}
}
case 2:
case 2:
{
{
set_hudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 0, 0.0, 6.0, 0.0, 0.0, -1);
set_hudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 0, 0.0, 6.0, 0.0, 0.0, -1);
if(get_user_flags(id) & ADMIN_BAN)
if(get_user_flags(id) & ADMIN_BAN)
show_hudmessage(0, "%L", id, "VIP_CONNECT2", name);
show_hudmessage(0, "%L", id, "VIP_CONNECT2", name);
else
else
show_hudmessage(0, "%L", id, "VIP_CONNECT2", name);
show_hudmessage(0, "%L", id, "VIP_CONNECT2", name);
}
}
case 3:
case 3:
{
{
set_dhudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, false);
set_dhudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, false);
Copy
Copied
Copy
Copied
if(get_user_flags(id) & ADMIN_BAN)
if(get_user_flags(id) & ADMIN_BAN)
show_dhudmessage(0, "%L", id, "VIP_CONNECT2", name);
show_dhudmessage(0, "%L", id, "VIP_CONNECT2", name);
else
else
show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name);
show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name);
}
}
case 4:
case 4:
{
{
ChatColor(0, "%L", id, "VIP_CONNECT", string, name);
ChatColor(0, "%L", id, "VIP_CONNECT", string, name);
set_hudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, -1);
set_hudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, -1);
show_hudmessage(0, "%L", id, "VIP_CONNECT1", name);
show_hudmessage(0, "%L", id, "VIP_CONNECT1", name);
}
}
case 5:
case 5:
{
{
ChatColor(0, "%L", id, "VIP_CONNECT", string, name);
ChatColor(0, "%L", id, "VIP_CONNECT", string, name);
set_dhudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, false);
set_dhudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, false);
Copy
Copied
Copy
Copied
show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name);
show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name);
}
}
}
}
}
}
Copy
Copied
Copy
Copied
public EventRoundStart() g_Round++;
public EventRoundStart() g_Round++;
public EventRoundRestart() g_Round = 0;
public EventRoundRestart() g_Round = 0;
public HamSpawn_Post(id){
public HamSpawn_Post(id){
g_iPlayerBomb[id] = false;
g_iPlayerBomb[id] = false;
vip_opened[id] = 0;
vip_opened[id] = 0;
if(!g_bBlockMap)
if(!g_bBlockMap)
{
{
if(IsUserCool(id))
if(IsUserCool(id))
{
{
if(g_Round == 0) FirstMenu(id);
if(g_Round == 0) FirstMenu(id);
if(is_user_alive(id))
if(is_user_alive(id))
{
{
if(cvar_funk == 1) task_funk(id);
if(cvar_funk == 1) task_funk(id);
if(cvar_show == 1 && g_Round >= cvar_round) MainMenu(id);
if(cvar_show == 1 && g_Round >= cvar_round) MainMenu(id);
}
}
}
}
}
}
}
}
public HamPlayerKilled_Post(iVictim, iKiller, corpse){
public HamPlayerKilled_Post(iVictim, iKiller, corpse){
static const m_LastHitGroup = 75;
static const m_LastHitGroup = 75;
if(!g_bBlockMap)
if(!g_bBlockMap)
{
{
if(IsUserCool(iVictim))
if(IsUserCool(iVictim))
if(!g_Chosen[iVictim])
if(!g_Chosen[iVictim])
set_task(1.0, "FirstMenu", iVictim);
set_task(1.0, "FirstMenu", iVictim);
Copy
Copied
Copy
Copied
}
}
if(IsUserCool(iKiller))
if(IsUserCool(iKiller))
{
{
if(is_user_alive(iKiller))
if(is_user_alive(iKiller))
{
{
if( get_pdata_int( iVictim, m_LastHitGroup ) == HIT_HEAD)
if( get_pdata_int( iVictim, m_LastHitGroup ) == HIT_HEAD)
{
{
set_pev(iKiller, pev_health, pev(iKiller, pev_health) + cvar_health_head);
set_pev(iKiller, pev_health, pev(iKiller, pev_health) + cvar_health_head);
if(get_user_health(iKiller) > cvar_health_max)
if(get_user_health(iKiller) > cvar_health_max)
set_pev(iKiller, pev_health, cvar_health_max);
set_pev(iKiller, pev_health, cvar_health_max);
cs_set_user_money(iKiller, cs_get_user_money(iKiller) + cvar_money_head);
cs_set_user_money(iKiller, cs_get_user_money(iKiller) + cvar_money_head);
}
}
else
else
{
{
set_pev(iKiller, pev_health, pev(iKiller, pev_health) + cvar_health);
set_pev(iKiller, pev_health, pev(iKiller, pev_health) + cvar_health);
if(pev(iKiller, pev_health) > cvar_health_max)
if(pev(iKiller, pev_health) > cvar_health_max)
set_pev(iKiller, pev_health, cvar_health_max);
set_pev(iKiller, pev_health, cvar_health_max);
cs_set_user_money(iKiller, cs_get_user_money(iKiller) + cvar_money);
cs_set_user_money(iKiller, cs_get_user_money(iKiller) + cvar_money);
}
}
}
}
}
}
}
}
GiveDefaultItems( id, secondary_weapon, strip_and_task = 1 ) {
GiveDefaultItems( id, secondary_weapon, strip_and_task = 1 ) {
if( strip_and_task ) {
if( strip_and_task ) {
fm_strip_user_weapons(id);
fm_strip_user_weapons(id);
task_funk(id);
task_funk(id);
}
}
switch( secondary_weapon ) {
switch( secondary_weapon ) {
case 0: {
case 0: {
FirstMenu(id);
FirstMenu(id);
}
}
case 1: {
case 1: {
fm_give_item(id, "weapon_deagle");
fm_give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
}
}
case 2: {
case 2: {
fm_give_item(id, "weapon_usp");
fm_give_item(id, "weapon_usp");
cs_set_user_bpammo(id, CSW_USP, 100);
cs_set_user_bpammo(id, CSW_USP, 100);
}
}
case 3: {
case 3: {
fm_give_item(id, "weapon_glock18");
fm_give_item(id, "weapon_glock18");
cs_set_user_bpammo(id, CSW_GLOCK18, 120);
cs_set_user_bpammo(id, CSW_GLOCK18, 120);
}
}
}
}
}
}
public task_funk(id){
public task_funk(id){
fm_give_item(id, "weapon_knife");
fm_give_item(id, "weapon_knife");
fm_give_item(id, "item_thighpack");
fm_give_item(id, "item_thighpack");
fm_give_item(id, "weapon_hegrenade");
fm_give_item(id, "weapon_hegrenade");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_flashbang");
Copy
Copied
Copy
Copied
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_smokegrenade");
fm_give_item(id, "item_assaultsuit");
fm_give_item(id, "item_assaultsuit");
if(g_iPlayerBomb[id])
if(g_iPlayerBomb[id])
{
{
fm_give_item(id, "weapon_c4");
fm_give_item(id, "weapon_c4");
cs_set_user_plant(id);
cs_set_user_plant(id);
g_iPlayerBomb[id] = false;
g_iPlayerBomb[id] = false;
}
}
if(cvar_pistols)
if(cvar_pistols)
{
{
for(new i = 0; i < 6; i++) fm_strip_user_gun(id, g_iPistols[i]);
for(new i = 0; i < 6; i++) fm_strip_user_gun(id, g_iPistols[i]);
GiveDefaultItems( id, g_iWeapon[id], .strip_and_task = 0 );
GiveDefaultItems( id, g_iWeapon[id], .strip_and_task = 0 );
}
}
}
}
public MainMenu(id){
public MainMenu(id){
if(g_bBlockMap)
if(g_bBlockMap)
{
{
ChatColor(id, "%L", id, "VIP_WARNING6", string);
ChatColor(id, "%L", id, "VIP_WARNING6", string);
}
}
else
else
{
{
if(IsUserCool(id))
if(IsUserCool(id))
{
{
if(is_user_alive(id))
if(is_user_alive(id))
{
{
if(vip_opened[id] < cvar_open || cvar_open == 0)
if(vip_opened[id] < cvar_open || cvar_open == 0)
{
{
if(g_Round >= cvar_round)
if(g_Round >= cvar_round)
{
{
Copy
Copied
Copy
Copied
new szTitle[64], szName[32], szPistol[32], szMenuMulti[64];
new szTitle[64], szName[32], szPistol[32], szMenuMulti[64];
get_user_name(id, szName, charsmax(szName));
get_user_name(id, szName, charsmax(szName));
switch(g_iWeapon[id])
switch(g_iWeapon[id])
{
{
Copy
Copied
Copy
Copied
case 0: szPistol = "
NONE
";
case 0: szPistol = "
Deagle
";
case 1: szPistol = "
Deagle
";
case 1: szPistol = "
Usp
";
case 2: szPistol =
"Usp";
case 2: szPistol =
"Glock";
case 3: szPistol =
"Glock";
}
}
Copy
Copied
Copy
Copied
#if defined EXP_SHOW
#if defined EXP_SHOW
new exp = admin_expired(id);
new exp = admin_expired(id);
if(exp > 0)
if(exp > 0)
{
{
new systime = get_systime();
new systime = get_systime();
if(exp - systime > 0)
if(exp - systime > 0)
{
{
if((exp - systime) / 86400 > 0)
if((exp - systime) / 86400 > 0)
Copy
Copied
Copy
Copied
formatex(szTitle, charsmax(szTitle), "\w
Осталось \y
%d \
wдней
\rVIP
\w-ки
^n^n", ((exp - systime) / 86400));
formatex(szTitle, charsmax(szTitle), "\w
Ostavat \r
%d \
wdni ot vashite
\rVIP
\wPrivilegii
^n^n", ((exp - systime) / 86400));
else
formatex(szTitle, charsmax(szTitle), "\r
Последний \wдень
\rVIP
\w-ки
^n^n");
else
formatex(szTitle, charsmax(szTitle), "\r
Posleden \wden ot vashite
\rVIP
\wPrivilegii
^n^n");
}
}
}
}
Copy
Copied
Copy
Copied
else if(exp == 0)
else if(exp == 0)
formatex(szTitle, charsmax(szTitle), " \rVIP \w-
Права \yбессрочны
^n^n");
formatex(szTitle, charsmax(szTitle), " \rVIP \w-
Privilegiite sa \rneopredeleni
^n^n");
#else
#else
formatex(szTitle, charsmax(szTitle), "%L", id, "VIP_MENU", szName);
formatex(szTitle, charsmax(szTitle), "%L", id, "VIP_MENU", szName);
#endif
#endif
new i_Menu = menu_create(szTitle, "MainMenu_Handler", 1);
new i_Menu = menu_create(szTitle, "MainMenu_Handler", 1);
formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU1", szPistol);
formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU1", szPistol);
menu_additem(i_Menu, szMenuMulti, "1", 0);
menu_additem(i_Menu, szMenuMulti, "1", 0);
formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU2", szPistol);
formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU2", szPistol);
menu_additem(i_Menu, szMenuMulti, "2", 0);
menu_additem(i_Menu, szMenuMulti, "2", 0);
formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU3", szPistol);
formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU3", szPistol);
menu_additem(i_Menu, szMenuMulti, "3", 0);
menu_additem(i_Menu, szMenuMulti, "3", 0);
Copy
Copied
Copy
Copied
formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU4"
, szPistol
);
formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU4"
);
menu_additem(i_Menu, szMenuMulti, "4", 0);
menu_additem(i_Menu, szMenuMulti, "4", 0);
Copy
Copied
Copy
Copied
formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU5", szPistol);
menu_additem(i_Menu, szMenuMulti, "5", 0);
menu_addblank(i_Menu, 0);
formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU6");
menu_additem(i_Menu, szMenuMulti, "6", 0);
menu_addblank(i_Menu, 1);
menu_addblank(i_Menu, 1);
Copy
Copied
Copy
Copied
menu_setprop(i_Menu, MPROP_EXITNAME, "
Выход
");
menu_setprop(i_Menu, MPROP_EXITNAME, "
Izhod
");
menu_display(id, i_Menu, 0);
menu_display(id, i_Menu, 0);
}
}
else
else
Copy
Copied
Copy
Copied
{
{
if(cvar_round == 2)
if(cvar_round == 2)
{
{
ChatColor(id, "%L", id, "VIP_WARNING5", string, cvar_round);
ChatColor(id, "%L", id, "VIP_WARNING5", string, cvar_round);
return PLUGIN_HANDLED;
return PLUGIN_HANDLED;
}
}
else
else
{
{
ChatColor(id, "%L", id, "VIP_WARNING1", string, cvar_round);
ChatColor(id, "%L", id, "VIP_WARNING1", string, cvar_round);
return PLUGIN_HANDLED;
return PLUGIN_HANDLED;
}
}
}
}
}
}
else
else
ChatColor(id, "%L", id, "VIP_WARNING2", string);
ChatColor(id, "%L", id, "VIP_WARNING2", string);
}
}
else
else
ChatColor(id, "%L", id, "VIP_WARNING3", string);
ChatColor(id, "%L", id, "VIP_WARNING3", string);
}
}
else
else
ChatColor(id, "%L", id, "VIP_WARNING4", string);
ChatColor(id, "%L", id, "VIP_WARNING4", string);
Copy
Copied
Copy
Copied
}
}
return PLUGIN_HANDLED;
return PLUGIN_HANDLED;
}
}
public MainMenu_Handler(id, iMenu, item){
public MainMenu_Handler(id, iMenu, item){
if(item == MENU_EXIT)
if(item == MENU_EXIT)
{
{
menu_destroy(iMenu);
menu_destroy(iMenu);
return PLUGIN_HANDLED;
return PLUGIN_HANDLED;
}
}
new szData[6], szName[60], iAccess, iCallback;
new szData[6], szName[60], iAccess, iCallback;
menu_item_getinfo(iMenu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback);
menu_item_getinfo(iMenu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback);
get_user_name(id, szName, charsmax(szName));
get_user_name(id, szName, charsmax(szName));
Copy
Copied
Copy
Copied
new iKey = str_to_num(szData);
new iKey = str_to_num(szData);
switch(iKey)
switch(iKey)
{
{
case 1:
case 1:
{
{
vip_opened[id]++;
vip_opened[id]++;
if(user_has_weapon(id, CSW_C4))
if(user_has_weapon(id, CSW_C4))
g_iPlayerBomb[id] = true;
g_iPlayerBomb[id] = true;
GiveDefaultItems( id, g_iWeapon[id] );
GiveDefaultItems( id, g_iWeapon[id] );
fm_give_item(id, "weapon_m4a1");
fm_give_item(id, "weapon_m4a1");
cs_set_user_bpammo(id, CSW_M4A1, 90);
cs_set_user_bpammo(id, CSW_M4A1, 90);
if(cvar_chat == 1)
if(cvar_chat == 1)
ChatColor(0, "%L", id, "VIP_M4A1", string, szName);
ChatColor(0, "%L", id, "VIP_M4A1", string, szName);
}
}
case 2:
case 2:
{
{
vip_opened[id]++;
vip_opened[id]++;
if(user_has_weapon(id, CSW_C4))
if(user_has_weapon(id, CSW_C4))
g_iPlayerBomb[id] = true;
g_iPlayerBomb[id] = true;
GiveDefaultItems( id, g_iWeapon[id] );
GiveDefaultItems( id, g_iWeapon[id] );
fm_give_item(id, "weapon_ak47");
fm_give_item(id, "weapon_ak47");
cs_set_user_bpammo(id, CSW_AK47, 90);
cs_set_user_bpammo(id, CSW_AK47, 90);
if(cvar_chat == 1)
if(cvar_chat == 1)
Copy
Copied
Copy
Copied
ChatColor(0, "%L", id, "VIP_AK47", string, szName);
ChatColor(0, "%L", id, "VIP_AK47", string, szName);
}
}
case 3:
case 3:
{
{
Copy
Copied
Copy
Copied
if(g_Round >= cvar_awplimit)
{
vip_opened[id]++;
if(user_has_weapon(id, CSW_C4))
g_iPlayerBomb[id] = true;
GiveDefaultItems( id, g_iWeapon[id] );
fm_give_item(id, "weapon_awp");
cs_set_user_bpammo(id, CSW_AWP, 30);
if(cvar_chat == 1)
ChatColor(0, "%L", id, "VIP_AWP", string, szName);
}
else ChatColor(id, "%L", id, "VIP_WARNING7", string, cvar_awplimit);
}
case 4:
{
vip_opened[id]++;
vip_opened[id]++;
if(user_has_weapon(id, CSW_C4))
if(user_has_weapon(id, CSW_C4))
g_iPlayerBomb[id] = true;
g_iPlayerBomb[id] = true;
GiveDefaultItems( id, g_iWeapon[id] );
GiveDefaultItems( id, g_iWeapon[id] );
fm_give_item(id, "weapon_famas");
fm_give_item(id, "weapon_famas");
cs_set_user_bpammo(id, CSW_FAMAS, 90);
cs_set_user_bpammo(id, CSW_FAMAS, 90);
if(cvar_chat == 1)
if(cvar_chat == 1)
Copy
Copied
Copy
Copied
ChatColor(0, "%L", id, "VIP_FAMAS", string, szName);
ChatColor(0, "%L", id, "VIP_FAMAS", string, szName);
}
case 5:
{
vip_opened[id]++;
if(user_has_weapon(id, CSW_C4))
g_iPlayerBomb[id] = true;
GiveDefaultItems( id, g_iWeapon[id] );
fm_give_item(id, "weapon_scout");
cs_set_user_bpammo(id, CSW_SCOUT, 90);
if(cvar_chat == 1)
ChatColor(0, "%L", id, "VIP_SCOUT", string, szName);
}
case 6:
{
FirstMenu(id);
}
}
}
}
menu_destroy(iMenu);
menu_destroy(iMenu);
return PLUGIN_HANDLED;
return PLUGIN_HANDLED;
}
}
public FirstMenu(id){
public FirstMenu(id){
if(!is_user_connected(id))
if(!is_user_connected(id))
return;
return;
Copy
Copied
Copy
Copied
new i_Menu = menu_create("\
rЧто вы предпочитаете?
", "FirstMenu_Handler");
new i_Menu = menu_create("\
rIzberete Pistolet
", "FirstMenu_Handler");
Copy
Copied
Copy
Copied
menu_additem(i_Menu, "\
y
Deagle", "1", 0);
menu_additem(i_Menu, "\
w
Deagle", "1", 0);
menu_additem(i_Menu, "\
y
Glock", "2", 0);
menu_additem(i_Menu, "\
w
Glock", "2", 0);
menu_additem(i_Menu, "\
r
Usp", "3", 0);
menu_additem(i_Menu, "\
w
Usp", "3", 0);
Copy
Copied
Copy
Copied
menu_setprop(i_Menu, MPROP_EXITNAME, "
Выход
");
menu_setprop(i_Menu, MPROP_EXITNAME, "
Izhod
");
menu_display(id, i_Menu, 0);
menu_display(id, i_Menu, 0);
}
}
public FirstMenu_Handler(id, iMenu, item){
public FirstMenu_Handler(id, iMenu, item){
if(item == MENU_EXIT)
if(item == MENU_EXIT)
{
{
menu_destroy(iMenu);
menu_destroy(iMenu);
return PLUGIN_HANDLED;
return PLUGIN_HANDLED;
}
}
new szData[6], szName[60], iAccess, iCallback;
new szData[6], szName[60], iAccess, iCallback;
menu_item_getinfo(iMenu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback);
menu_item_getinfo(iMenu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback);
new iKey = str_to_num(szData);
new iKey = str_to_num(szData);
for(new i = 0; i < 6; i++)
for(new i = 0; i < 6; i++)
fm_strip_user_gun(id, g_iPistols[i]);
fm_strip_user_gun(id, g_iPistols[i]);
switch(iKey)
switch(iKey)
{
{
case 1:
case 1:
{
{
g_Chosen[id] = true;
g_Chosen[id] = true;
g_iWeapon[id] = 1;
g_iWeapon[id] = 1;
fm_give_item(id, "weapon_deagle");
fm_give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
}
}
case 2:
case 2:
{
{
g_Chosen[id] = true;
g_Chosen[id] = true;
g_iWeapon[id] = 3;
g_iWeapon[id] = 3;
fm_give_item(id, "weapon_glock18");
fm_give_item(id, "weapon_glock18");
cs_set_user_bpammo(id, CSW_GLOCK18, 120);
cs_set_user_bpammo(id, CSW_GLOCK18, 120);
}
}
case 3:
case 3:
{
{
g_Chosen[id] = true;
g_Chosen[id] = true;
g_iWeapon[id] = 2;
g_iWeapon[id] = 2;
fm_give_item(id, "weapon_usp");
fm_give_item(id, "weapon_usp");
cs_set_user_bpammo(id, CSW_USP, 100);
cs_set_user_bpammo(id, CSW_USP, 100);
}
}
}
}
menu_destroy(iMenu);
menu_destroy(iMenu);
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
}
}
public msgScoreAttrib(const MsgId, const MsgType, const MsgDest){
public msgScoreAttrib(const MsgId, const MsgType, const MsgDest){
if(cvar_tab)
if(cvar_tab)
{
{
if(IsUserCool(get_msg_arg_int(1)) && !get_msg_arg_int(2))
if(IsUserCool(get_msg_arg_int(1)) && !get_msg_arg_int(2))
set_msg_arg_int(2, ARG_BYTE, VIP_TAG);
set_msg_arg_int(2, ARG_BYTE, VIP_TAG);
}
}
}
}
public vip_online(id){
public vip_online(id){
g_iVip = 0;
g_iVip = 0;
new Len, message[512], name[32];
new Len, message[512], name[32];
new iPlayer;
new iPlayer;
for(iPlayer = 1; iPlayer <= g_iMaxPlayers; iPlayer++)
for(iPlayer = 1; iPlayer <= g_iMaxPlayers; iPlayer++)
{
{
if(IsUserCool(iPlayer))
if(IsUserCool(iPlayer))
{
{
g_iVip++;
g_iVip++;
get_user_name(iPlayer, name, charsmax(name));
get_user_name(iPlayer, name, charsmax(name));
if(g_iVip == 1)
if(g_iVip == 1)
Len += format(message[Len], 511 - Len, "%s", name);
Len += format(message[Len], 511 - Len, "%s", name);
else
else
Len += format(message[Len], 511 - Len, " , %s", name);
Len += format(message[Len], 511 - Len, " , %s", name);
}
}
}
}
if(g_iVip < 1)
if(g_iVip < 1)
ChatColor(id, "%L", id, "VIP_ONLINE", string);
ChatColor(id, "%L", id, "VIP_ONLINE", string);
else
else
ChatColor(id, "%s: !t%s", string, message);
ChatColor(id, "%s: !t%s", string, message);
}
}
stock ChatColor(const id, const input[], any:...){
stock ChatColor(const id, const input[], any:...){
new iCount = 1, iPlayers[32];
new iCount = 1, iPlayers[32];
static szMsg[191];
static szMsg[191];
vformat(szMsg, 190, input, 3);
vformat(szMsg, 190, input, 3);
replace_all(szMsg, 190, "!g", "^4"); // Green Color
replace_all(szMsg, 190, "!g", "^4"); // Green Color
replace_all(szMsg, 190, "!y", "^1"); // Default Color
replace_all(szMsg, 190, "!y", "^1"); // Default Color
replace_all(szMsg, 190, "!t", "^3"); // Team Color
replace_all(szMsg, 190, "!t", "^3"); // Team Color
if (id) iPlayers[0] = id; else get_players(iPlayers, iCount, "ch");
if (id) iPlayers[0] = id; else get_players(iPlayers, iCount, "ch");
{
{
for(new iPlayer = 0; iPlayer < iCount; iPlayer++ )
for(new iPlayer = 0; iPlayer < iCount; iPlayer++ )
{
{
if( is_user_connected(iPlayers[iPlayer]) )
if( is_user_connected(iPlayers[iPlayer]) )
{
{
message_begin(MSG_ONE_UNRELIABLE, msgSayText, _, iPlayers[iPlayer]);
message_begin(MSG_ONE_UNRELIABLE, msgSayText, _, iPlayers[iPlayer]);
write_byte(iPlayers[iPlayer]);
write_byte(iPlayers[iPlayer]);
write_string(szMsg);
write_string(szMsg);
message_end();
message_end();
}
}
}
}
}
}
}
}
stock IsBlockMap(){
stock IsBlockMap(){
new got_line, line_num, len;
new got_line, line_num, len;
new cfgdir[MAX_TEXT_LENGTH];
new cfgdir[MAX_TEXT_LENGTH];
new cfgpath[MAX_TEXT_LENGTH];
new cfgpath[MAX_TEXT_LENGTH];
new mapname[MAX_NAME_LENGTH];
new mapname[MAX_NAME_LENGTH];
new txt[MAX_TEXT_LENGTH];
new txt[MAX_TEXT_LENGTH];
get_localinfo("amxx_configsdir", cfgdir, charsmax(cfgdir));
get_localinfo("amxx_configsdir", cfgdir, charsmax(cfgdir));
get_mapname(mapname, MAX_NAME_LENGTH-1);
get_mapname(mapname, MAX_NAME_LENGTH-1);
Copy
Copied
Copy
Copied
format(cfgpath, MAX_TEXT_LENGTH, "%s/
ideal
_block_maps.ini", cfgdir);
format(cfgpath, MAX_TEXT_LENGTH, "%s/
vipmenu
_block_maps.ini", cfgdir);
if (file_exists(cfgpath))
if (file_exists(cfgpath))
{
{
got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len);
got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len);
while (got_line>0)
while (got_line>0)
{
{
if (equali(txt, mapname)) return 1;
if (equali(txt, mapname)) return 1;
line_num++;
line_num++;
got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len);
got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len);
}
}
}
}
return 0;
return 0;
}
}
stock bool: IsUserCool(const id){
stock bool: IsUserCool(const id){
if(!is_user_connected(id))
if(!is_user_connected(id))
return false;
return false;
Copy
Copied
Copy
Copied
if((get_user_flags(id)
& vip_flag
))
if((get_user_flags(id)
))
return true;
return true;
return false;
return false;
Copy
Copied
Copy
Copied
}
}
Saved diffs
Original text
Open file
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <dhudmessage> #define PLUGIN "IDEAL VIP by Ba/lePa & Wikiname" #define VERSION "3.2.5" #define AUTHOR "Ba/lePa | Remake by Wikiname" #define VIP_TAG (1<<2) // vip в таблицу #define vip_flag ADMIN_LEVEL_H // флаг доступа //#define EXP_SHOW // раскомментируйте чтобы показать срок випки #define music // Если звук при входе админа не нужен, то поставьте // перед #define #define MAX_TEXT_LENGTH 200 #define MAX_NAME_LENGTH 40 #pragma semicolon 1 new bool:g_bBlockMap; new g_Round, g_iWeapon[33], g_iVip ; new g_iPlayerBomb[33] = false; new cvar_connect, Float: cvar_x, Float: cvar_y; new cvar_prefix; new cvar_round, cvar_open, cvar_show, cvar_chat, cvar_pistols, cvar_funk, cvar_tab; new Float: cvar_health, Float: cvar_health_head, Float: cvar_health_max; new cvar_money, cvar_money_head; new cvar_music; new cvar_awplimit; #if defined EXP_SHOW native admin_expired(index); #endif new vip_opened[33]; new g_iMaxPlayers = 0; new msgSayText; new g_iPistols[6] = {CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_FIVESEVEN, CSW_P228, CSW_DEAGLE}; new bool: g_Chosen[33] = false; new string[32]; public plugin_precache(){ if(IsBlockMap()) { g_bBlockMap = true; return; } #if defined(music) precache_sound("IDEAL_VIP/ideal_sound.wav"); #endif } public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR); register_dictionary("ideal_vip.txt"); g_iMaxPlayers = get_maxplayers(); register_message(get_user_msgid( "ScoreAttrib" ), "msgScoreAttrib"); register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0"); register_event("TextMsg", "EventRoundRestart", "a", "2=#Game_will_restart_in","2=#Game_Commencing"); RegisterHam(Ham_Killed, "player", "HamPlayerKilled_Post", 1); RegisterHam(Ham_Spawn, "player", "HamSpawn_Post", 1); register_clcmd("vipmenu", "MainMenu"); register_clcmd("vipmenu", "MainMenu"); register_clcmd("say /vipmenu", "MainMenu"); register_clcmd("say_team /vipmenu", "MainMenu"); register_clcmd("say /vip_menu", "MainMenu"); register_clcmd("say_team /vip_menu", "MainMenu"); register_clcmd("vipmenu", "MainMenu"); register_clcmd("say /vips", "vip_online"); register_clcmd("say_team /vips", "vip_online"); register_clcmd("say /adminka", "admin_motd"); register_clcmd("say_team /adminka", "admin_motd"); register_clcmd("say /vip", "vip_motd"); register_clcmd("say_team /vip", "vip_motd"); msgSayText = get_user_msgid("SayText"); } public plugin_cfg(){ new szConfigDir[128]; cvar_round = get_pcvar_num(register_cvar("amx_vipround", "2")); cvar_open = get_pcvar_num(register_cvar("amx_vipzaround", "2")); cvar_show = get_pcvar_num(register_cvar("amx_vipshow","0")); cvar_chat = get_pcvar_num(register_cvar("amx_chatshow", "1")); cvar_pistols = get_pcvar_num(register_cvar("amx_vipautopistols", "1")); cvar_funk = get_pcvar_num(register_cvar("amx_vipautoset", "1")); cvar_health = get_pcvar_float(register_cvar("amx_viphealth", "5.0")); cvar_health_head = get_pcvar_float(register_cvar("amx_viphealth_head", "10.0")); cvar_health_max = get_pcvar_float(register_cvar("amx_viphealth_max", "150.0")); cvar_money = get_pcvar_num(register_cvar("amx_vipmoney", "300")); cvar_money_head = get_pcvar_num(register_cvar("amx_vipmoney_head", "500")); cvar_tab = get_pcvar_num(register_cvar("amx_viptab", "1")); cvar_connect = get_pcvar_num(register_cvar("amx_showconnect", "4")); cvar_x = get_pcvar_float(register_cvar("amx_vipXcoord", "-1.0")); cvar_y = get_pcvar_float(register_cvar("amx_vipYcoord", "0.6")); cvar_prefix = register_cvar("amx_vip_prefix", "!y[!gVIP!y]"); #if defined(music) cvar_music = get_pcvar_num(register_cvar("amx_vipMusic", "1")); #endif cvar_awplimit = get_pcvar_num(register_cvar("amx_awproundlimit", "3")); get_pcvar_string(cvar_prefix, string, charsmax(string)); get_localinfo("amxx_configsdir", szConfigDir, charsmax(szConfigDir)); server_cmd("exec %s/ideal_vip.cfg", szConfigDir); } public admin_motd(id, level, cid){ if(!cmd_access(id, level, cid, 1)) return PLUGIN_CONTINUE; show_motd(id, "adminka.txt", "Как купить админку"); return PLUGIN_CONTINUE; } public vip_motd(id, level, cid){ if(!cmd_access(id, level, cid, 1)) return PLUGIN_CONTINUE; show_motd(id, "vipka.txt", "Как купить випку"); return PLUGIN_CONTINUE; } public client_putinserver(id){ g_iWeapon[id] = 0; if(IsUserCool(id)) set_task(0.5, "vip_connect", id + 132); } public client_disconnect(id){ g_iWeapon[id] = 0; g_Chosen[id] = false; } public vip_connect(TASKID){ new id = TASKID - 132; #if defined(music) if(cvar_music) client_cmd(0, "spk IDEAL_VIP/ideal_sound.wav"); #endif new name[32]; get_user_name(id, name, charsmax(name)); new g_iRed = random_num(1,255),g_iGreen = random_num(1,255),g_iBlue = random_num(1,255); //рандомные цвета для HUD и DHUD switch(cvar_connect) { case 1: { ChatColor(0, "%L", id, "VIP_CONNECT", string, name); } case 2: { set_hudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 0, 0.0, 6.0, 0.0, 0.0, -1); if(get_user_flags(id) & ADMIN_BAN) show_hudmessage(0, "%L", id, "VIP_CONNECT2", name); else show_hudmessage(0, "%L", id, "VIP_CONNECT2", name); } case 3: { set_dhudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, false); if(get_user_flags(id) & ADMIN_BAN) show_dhudmessage(0, "%L", id, "VIP_CONNECT2", name); else show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name); } case 4: { ChatColor(0, "%L", id, "VIP_CONNECT", string, name); set_hudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, -1); show_hudmessage(0, "%L", id, "VIP_CONNECT1", name); } case 5: { ChatColor(0, "%L", id, "VIP_CONNECT", string, name); set_dhudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, false); show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name); } } } public EventRoundStart() g_Round++; public EventRoundRestart() g_Round = 0; public HamSpawn_Post(id){ g_iPlayerBomb[id] = false; vip_opened[id] = 0; if(!g_bBlockMap) { if(IsUserCool(id)) { if(g_Round == 0) FirstMenu(id); if(is_user_alive(id)) { if(cvar_funk == 1) task_funk(id); if(cvar_show == 1 && g_Round >= cvar_round) MainMenu(id); } } } } public HamPlayerKilled_Post(iVictim, iKiller, corpse){ static const m_LastHitGroup = 75; if(!g_bBlockMap) { if(IsUserCool(iVictim)) if(!g_Chosen[iVictim]) set_task(1.0, "FirstMenu", iVictim); } if(IsUserCool(iKiller)) { if(is_user_alive(iKiller)) { if( get_pdata_int( iVictim, m_LastHitGroup ) == HIT_HEAD) { set_pev(iKiller, pev_health, pev(iKiller, pev_health) + cvar_health_head); if(get_user_health(iKiller) > cvar_health_max) set_pev(iKiller, pev_health, cvar_health_max); cs_set_user_money(iKiller, cs_get_user_money(iKiller) + cvar_money_head); } else { set_pev(iKiller, pev_health, pev(iKiller, pev_health) + cvar_health); if(pev(iKiller, pev_health) > cvar_health_max) set_pev(iKiller, pev_health, cvar_health_max); cs_set_user_money(iKiller, cs_get_user_money(iKiller) + cvar_money); } } } } GiveDefaultItems( id, secondary_weapon, strip_and_task = 1 ) { if( strip_and_task ) { fm_strip_user_weapons(id); task_funk(id); } switch( secondary_weapon ) { case 0: { FirstMenu(id); } case 1: { fm_give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); } case 2: { fm_give_item(id, "weapon_usp"); cs_set_user_bpammo(id, CSW_USP, 100); } case 3: { fm_give_item(id, "weapon_glock18"); cs_set_user_bpammo(id, CSW_GLOCK18, 120); } } } public task_funk(id){ fm_give_item(id, "weapon_knife"); fm_give_item(id, "item_thighpack"); fm_give_item(id, "weapon_hegrenade"); fm_give_item(id, "weapon_flashbang"); fm_give_item(id, "weapon_flashbang"); fm_give_item(id, "weapon_smokegrenade"); fm_give_item(id, "item_assaultsuit"); if(g_iPlayerBomb[id]) { fm_give_item(id, "weapon_c4"); cs_set_user_plant(id); g_iPlayerBomb[id] = false; } if(cvar_pistols) { for(new i = 0; i < 6; i++) fm_strip_user_gun(id, g_iPistols[i]); GiveDefaultItems( id, g_iWeapon[id], .strip_and_task = 0 ); } } public MainMenu(id){ if(g_bBlockMap) { ChatColor(id, "%L", id, "VIP_WARNING6", string); } else { if(IsUserCool(id)) { if(is_user_alive(id)) { if(vip_opened[id] < cvar_open || cvar_open == 0) { if(g_Round >= cvar_round) { new szTitle[64], szName[32], szPistol[32], szMenuMulti[64]; get_user_name(id, szName, charsmax(szName)); switch(g_iWeapon[id]) { case 0: szPistol = "NONE"; case 1: szPistol = "Deagle"; case 2: szPistol = "Usp"; case 3: szPistol = "Glock"; } #if defined EXP_SHOW new exp = admin_expired(id); if(exp > 0) { new systime = get_systime(); if(exp - systime > 0) { if((exp - systime) / 86400 > 0) formatex(szTitle, charsmax(szTitle), "\w Осталось \y%d \wдней \rVIP\w-ки ^n^n", ((exp - systime) / 86400)); else formatex(szTitle, charsmax(szTitle), "\r Последний \wдень \rVIP\w-ки ^n^n"); } } else if(exp == 0) formatex(szTitle, charsmax(szTitle), " \rVIP \w- Права \yбессрочны ^n^n"); #else formatex(szTitle, charsmax(szTitle), "%L", id, "VIP_MENU", szName); #endif new i_Menu = menu_create(szTitle, "MainMenu_Handler", 1); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU1", szPistol); menu_additem(i_Menu, szMenuMulti, "1", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU2", szPistol); menu_additem(i_Menu, szMenuMulti, "2", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU3", szPistol); menu_additem(i_Menu, szMenuMulti, "3", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU4", szPistol); menu_additem(i_Menu, szMenuMulti, "4", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU5", szPistol); menu_additem(i_Menu, szMenuMulti, "5", 0); menu_addblank(i_Menu, 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU6"); menu_additem(i_Menu, szMenuMulti, "6", 0); menu_addblank(i_Menu, 1); menu_setprop(i_Menu, MPROP_EXITNAME, "Выход"); menu_display(id, i_Menu, 0); } else { if(cvar_round == 2) { ChatColor(id, "%L", id, "VIP_WARNING5", string, cvar_round); return PLUGIN_HANDLED; } else { ChatColor(id, "%L", id, "VIP_WARNING1", string, cvar_round); return PLUGIN_HANDLED; } } } else ChatColor(id, "%L", id, "VIP_WARNING2", string); } else ChatColor(id, "%L", id, "VIP_WARNING3", string); } else ChatColor(id, "%L", id, "VIP_WARNING4", string); } return PLUGIN_HANDLED; } public MainMenu_Handler(id, iMenu, item){ if(item == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; } new szData[6], szName[60], iAccess, iCallback; menu_item_getinfo(iMenu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback); get_user_name(id, szName, charsmax(szName)); new iKey = str_to_num(szData); switch(iKey) { case 1: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_m4a1"); cs_set_user_bpammo(id, CSW_M4A1, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_M4A1", string, szName); } case 2: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_ak47"); cs_set_user_bpammo(id, CSW_AK47, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_AK47", string, szName); } case 3: { if(g_Round >= cvar_awplimit) { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_awp"); cs_set_user_bpammo(id, CSW_AWP, 30); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_AWP", string, szName); } else ChatColor(id, "%L", id, "VIP_WARNING7", string, cvar_awplimit); } case 4: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_famas"); cs_set_user_bpammo(id, CSW_FAMAS, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_FAMAS", string, szName); } case 5: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_scout"); cs_set_user_bpammo(id, CSW_SCOUT, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_SCOUT", string, szName); } case 6: { FirstMenu(id); } } menu_destroy(iMenu); return PLUGIN_HANDLED; } public FirstMenu(id){ if(!is_user_connected(id)) return; new i_Menu = menu_create("\rЧто вы предпочитаете?", "FirstMenu_Handler"); menu_additem(i_Menu, "\yDeagle", "1", 0); menu_additem(i_Menu, "\yGlock", "2", 0); menu_additem(i_Menu, "\rUsp", "3", 0); menu_setprop(i_Menu, MPROP_EXITNAME, "Выход"); menu_display(id, i_Menu, 0); } public FirstMenu_Handler(id, iMenu, item){ if(item == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; } new szData[6], szName[60], iAccess, iCallback; menu_item_getinfo(iMenu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback); new iKey = str_to_num(szData); for(new i = 0; i < 6; i++) fm_strip_user_gun(id, g_iPistols[i]); switch(iKey) { case 1: { g_Chosen[id] = true; g_iWeapon[id] = 1; fm_give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); } case 2: { g_Chosen[id] = true; g_iWeapon[id] = 3; fm_give_item(id, "weapon_glock18"); cs_set_user_bpammo(id, CSW_GLOCK18, 120); } case 3: { g_Chosen[id] = true; g_iWeapon[id] = 2; fm_give_item(id, "weapon_usp"); cs_set_user_bpammo(id, CSW_USP, 100); } } menu_destroy(iMenu); return PLUGIN_CONTINUE; } public msgScoreAttrib(const MsgId, const MsgType, const MsgDest){ if(cvar_tab) { if(IsUserCool(get_msg_arg_int(1)) && !get_msg_arg_int(2)) set_msg_arg_int(2, ARG_BYTE, VIP_TAG); } } public vip_online(id){ g_iVip = 0; new Len, message[512], name[32]; new iPlayer; for(iPlayer = 1; iPlayer <= g_iMaxPlayers; iPlayer++) { if(IsUserCool(iPlayer)) { g_iVip++; get_user_name(iPlayer, name, charsmax(name)); if(g_iVip == 1) Len += format(message[Len], 511 - Len, "%s", name); else Len += format(message[Len], 511 - Len, " , %s", name); } } if(g_iVip < 1) ChatColor(id, "%L", id, "VIP_ONLINE", string); else ChatColor(id, "%s: !t%s", string, message); } stock ChatColor(const id, const input[], any:...){ new iCount = 1, iPlayers[32]; static szMsg[191]; vformat(szMsg, 190, input, 3); replace_all(szMsg, 190, "!g", "^4"); // Green Color replace_all(szMsg, 190, "!y", "^1"); // Default Color replace_all(szMsg, 190, "!t", "^3"); // Team Color if (id) iPlayers[0] = id; else get_players(iPlayers, iCount, "ch"); { for(new iPlayer = 0; iPlayer < iCount; iPlayer++ ) { if( is_user_connected(iPlayers[iPlayer]) ) { message_begin(MSG_ONE_UNRELIABLE, msgSayText, _, iPlayers[iPlayer]); write_byte(iPlayers[iPlayer]); write_string(szMsg); message_end(); } } } } stock IsBlockMap(){ new got_line, line_num, len; new cfgdir[MAX_TEXT_LENGTH]; new cfgpath[MAX_TEXT_LENGTH]; new mapname[MAX_NAME_LENGTH]; new txt[MAX_TEXT_LENGTH]; get_localinfo("amxx_configsdir", cfgdir, charsmax(cfgdir)); get_mapname(mapname, MAX_NAME_LENGTH-1); format(cfgpath, MAX_TEXT_LENGTH, "%s/ideal_block_maps.ini", cfgdir); if (file_exists(cfgpath)) { got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len); while (got_line>0) { if (equali(txt, mapname)) return 1; line_num++; got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len); } } return 0; } stock bool: IsUserCool(const id){ if(!is_user_connected(id)) return false; if((get_user_flags(id) & vip_flag)) return true; return false; }
Changed text
Open file
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <dhudmessage> #define PLUGIN "Edit" #define VERSION "1.0" #define AUTHOR "Edit" #define VIP_TAG (1<<2) // vip в таблицу //#define vip_flag ADMIN_BAN // флаг доступа //#define EXP_SHOW // раскомментируйте чтобы показать срок випки #define music // Если звук при входе админа не нужен, то поставьте // перед #define #define MAX_TEXT_LENGTH 200 #define MAX_NAME_LENGTH 40 #pragma semicolon 1 new bool:g_bBlockMap; new g_Round, g_iWeapon[33], g_iVip ; new g_iPlayerBomb[33] = false; new cvar_connect, Float: cvar_x, Float: cvar_y; new cvar_prefix; new cvar_round, cvar_open, cvar_show, cvar_chat, cvar_pistols, cvar_funk, cvar_tab; new Float: cvar_health, Float: cvar_health_head, Float: cvar_health_max; new cvar_money, cvar_money_head; new cvar_music; #if defined EXP_SHOW native admin_expired(index); #endif new vip_opened[33]; new g_iMaxPlayers = 0; new msgSayText; new g_iPistols[6] = {CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_FIVESEVEN, CSW_P228, CSW_DEAGLE}; new bool: g_Chosen[33] = false; new string[32]; public plugin_precache(){ if(IsBlockMap()) { g_bBlockMap = true; return; } #if defined(music) precache_sound("vipmenu/ideal_sound.wav"); #endif } public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR); register_dictionary("vipmenu.txt"); g_iMaxPlayers = get_maxplayers(); register_message(get_user_msgid( "ScoreAttrib" ), "msgScoreAttrib"); register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0"); register_event("TextMsg", "EventRoundRestart", "a", "2=#Game_will_restart_in","2=#Game_Commencing"); RegisterHam(Ham_Killed, "player", "HamPlayerKilled_Post", 1); RegisterHam(Ham_Spawn, "player", "HamSpawn_Post", 1); register_clcmd("say /menu", "MainMenu"); register_clcmd("say_team /menu", "MainMenu"); register_clcmd("say /vmenu", "MainMenu"); register_clcmd("say_team /vmenu", "MainMenu"); register_clcmd("vipmenu", "MainMenu"); register_clcmd("say /vipsonlinee", "vip_online"); register_clcmd("say_team /vipsonlinee", "vip_online"); register_clcmd("say /admin", "admin_motd"); register_clcmd("say_team /admin", "admin_motd"); register_clcmd("say /vip", "vip_motd"); register_clcmd("say_team /vip", "vip_motd"); msgSayText = get_user_msgid("SayText"); } public plugin_cfg(){ new szConfigDir[128]; cvar_round = get_pcvar_num(register_cvar("amx_vipround", "2")); cvar_open = get_pcvar_num(register_cvar("amx_vipzaround", "2")); cvar_show = get_pcvar_num(register_cvar("amx_vipshow","1")); cvar_chat = get_pcvar_num(register_cvar("amx_chatshow", "0")); cvar_pistols = get_pcvar_num(register_cvar("amx_vipautopistols", "1")); cvar_funk = get_pcvar_num(register_cvar("amx_vipautoset", "1")); cvar_health = get_pcvar_float(register_cvar("amx_viphealth", "5.0")); cvar_health_head = get_pcvar_float(register_cvar("amx_viphealth_head", "10.0")); cvar_health_max = get_pcvar_float(register_cvar("amx_viphealth_max", "120.0")); cvar_money = get_pcvar_num(register_cvar("amx_vipmoney", "300")); cvar_money_head = get_pcvar_num(register_cvar("amx_vipmoney_head", "500")); cvar_tab = get_pcvar_num(register_cvar("amx_viptab", "1")); cvar_connect = get_pcvar_num(register_cvar("amx_showconnect", "0")); cvar_x = get_pcvar_float(register_cvar("amx_vipXcoord", "-1.0")); cvar_y = get_pcvar_float(register_cvar("amx_vipYcoord", "0.6")); cvar_prefix = register_cvar("amx_vip_prefix", "!g[!tVIP SYSTEM!g]"); #if defined(music) cvar_music = get_pcvar_num(register_cvar("amx_vipMusic", "1")); #endif get_pcvar_string(cvar_prefix, string, charsmax(string)); get_localinfo("amxx_configsdir", szConfigDir, charsmax(szConfigDir)); server_cmd("exec %s/vipmenu.cfg", szConfigDir); } public admin_motd(id, level, cid){ if(!cmd_access(id, level, cid, 1)) return PLUGIN_CONTINUE; show_motd(id, "buy.txt", "Как да купите АДМИН"); return PLUGIN_CONTINUE; } public vip_motd(id, level, cid){ if(!cmd_access(id, level, cid, 1)) return PLUGIN_CONTINUE; show_motd(id, "buy.txt", "Как да купите ВИП"); return PLUGIN_CONTINUE; } public client_putinserver(id){ g_iWeapon[id] = 0; if(IsUserCool(id)) set_task(0.5, "vip_connect", id + 132); } public client_disconnect(id){ g_iWeapon[id] = 0; g_Chosen[id] = false; } public vip_connect(TASKID){ new id = TASKID - 132; #if defined(music) if(cvar_music) client_cmd(0, "spk vipmenu/ideal_sound.wav"); #endif new name[32]; get_user_name(id, name, charsmax(name)); new g_iRed = random_num(1,255),g_iGreen = random_num(1,255),g_iBlue = random_num(1,255); //рандомные цвета для HUD и DHUD switch(cvar_connect) { case 1: { ChatColor(0, "%L", id, "VIP_CONNECT", string, name); } case 2: { set_hudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 0, 0.0, 6.0, 0.0, 0.0, -1); if(get_user_flags(id) & ADMIN_BAN) show_hudmessage(0, "%L", id, "VIP_CONNECT2", name); else show_hudmessage(0, "%L", id, "VIP_CONNECT2", name); } case 3: { set_dhudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, false); if(get_user_flags(id) & ADMIN_BAN) show_dhudmessage(0, "%L", id, "VIP_CONNECT2", name); else show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name); } case 4: { ChatColor(0, "%L", id, "VIP_CONNECT", string, name); set_hudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, -1); show_hudmessage(0, "%L", id, "VIP_CONNECT1", name); } case 5: { ChatColor(0, "%L", id, "VIP_CONNECT", string, name); set_dhudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, false); show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name); } } } public EventRoundStart() g_Round++; public EventRoundRestart() g_Round = 0; public HamSpawn_Post(id){ g_iPlayerBomb[id] = false; vip_opened[id] = 0; if(!g_bBlockMap) { if(IsUserCool(id)) { if(g_Round == 0) FirstMenu(id); if(is_user_alive(id)) { if(cvar_funk == 1) task_funk(id); if(cvar_show == 1 && g_Round >= cvar_round) MainMenu(id); } } } } public HamPlayerKilled_Post(iVictim, iKiller, corpse){ static const m_LastHitGroup = 75; if(!g_bBlockMap) { if(IsUserCool(iVictim)) if(!g_Chosen[iVictim]) set_task(1.0, "FirstMenu", iVictim); } if(IsUserCool(iKiller)) { if(is_user_alive(iKiller)) { if( get_pdata_int( iVictim, m_LastHitGroup ) == HIT_HEAD) { set_pev(iKiller, pev_health, pev(iKiller, pev_health) + cvar_health_head); if(get_user_health(iKiller) > cvar_health_max) set_pev(iKiller, pev_health, cvar_health_max); cs_set_user_money(iKiller, cs_get_user_money(iKiller) + cvar_money_head); } else { set_pev(iKiller, pev_health, pev(iKiller, pev_health) + cvar_health); if(pev(iKiller, pev_health) > cvar_health_max) set_pev(iKiller, pev_health, cvar_health_max); cs_set_user_money(iKiller, cs_get_user_money(iKiller) + cvar_money); } } } } GiveDefaultItems( id, secondary_weapon, strip_and_task = 1 ) { if( strip_and_task ) { fm_strip_user_weapons(id); task_funk(id); } switch( secondary_weapon ) { case 0: { FirstMenu(id); } case 1: { fm_give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); } case 2: { fm_give_item(id, "weapon_usp"); cs_set_user_bpammo(id, CSW_USP, 100); } case 3: { fm_give_item(id, "weapon_glock18"); cs_set_user_bpammo(id, CSW_GLOCK18, 120); } } } public task_funk(id){ fm_give_item(id, "weapon_knife"); fm_give_item(id, "item_thighpack"); fm_give_item(id, "weapon_hegrenade"); fm_give_item(id, "weapon_flashbang"); fm_give_item(id, "item_assaultsuit"); if(g_iPlayerBomb[id]) { fm_give_item(id, "weapon_c4"); cs_set_user_plant(id); g_iPlayerBomb[id] = false; } if(cvar_pistols) { for(new i = 0; i < 6; i++) fm_strip_user_gun(id, g_iPistols[i]); GiveDefaultItems( id, g_iWeapon[id], .strip_and_task = 0 ); } } public MainMenu(id){ if(g_bBlockMap) { ChatColor(id, "%L", id, "VIP_WARNING6", string); } else { if(IsUserCool(id)) { if(is_user_alive(id)) { if(vip_opened[id] < cvar_open || cvar_open == 0) { if(g_Round >= cvar_round) { new szTitle[64], szName[32], szPistol[32], szMenuMulti[64]; get_user_name(id, szName, charsmax(szName)); switch(g_iWeapon[id]) { case 0: szPistol = "Deagle"; case 1: szPistol = "Usp"; case 2: szPistol = "Glock"; } #if defined EXP_SHOW new exp = admin_expired(id); if(exp > 0) { new systime = get_systime(); if(exp - systime > 0) { if((exp - systime) / 86400 > 0) formatex(szTitle, charsmax(szTitle), "\w Ostavat \r%d \wdni ot vashite \rVIP \wPrivilegii ^n^n", ((exp - systime) / 86400)); else formatex(szTitle, charsmax(szTitle), "\r Posleden \wden ot vashite \rVIP \wPrivilegii ^n^n"); } } else if(exp == 0) formatex(szTitle, charsmax(szTitle), " \rVIP \w- Privilegiite sa \rneopredeleni ^n^n"); #else formatex(szTitle, charsmax(szTitle), "%L", id, "VIP_MENU", szName); #endif new i_Menu = menu_create(szTitle, "MainMenu_Handler", 1); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU1", szPistol); menu_additem(i_Menu, szMenuMulti, "1", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU2", szPistol); menu_additem(i_Menu, szMenuMulti, "2", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU3", szPistol); menu_additem(i_Menu, szMenuMulti, "3", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU4"); menu_additem(i_Menu, szMenuMulti, "4", 0); menu_addblank(i_Menu, 1); menu_setprop(i_Menu, MPROP_EXITNAME, "Izhod"); menu_display(id, i_Menu, 0); } else { if(cvar_round == 2) { ChatColor(id, "%L", id, "VIP_WARNING5", string, cvar_round); return PLUGIN_HANDLED; } else { ChatColor(id, "%L", id, "VIP_WARNING1", string, cvar_round); return PLUGIN_HANDLED; } } } else ChatColor(id, "%L", id, "VIP_WARNING2", string); } else ChatColor(id, "%L", id, "VIP_WARNING3", string); } else ChatColor(id, "%L", id, "VIP_WARNING4", string); } return PLUGIN_HANDLED; } public MainMenu_Handler(id, iMenu, item){ if(item == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; } new szData[6], szName[60], iAccess, iCallback; menu_item_getinfo(iMenu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback); get_user_name(id, szName, charsmax(szName)); new iKey = str_to_num(szData); switch(iKey) { case 1: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_m4a1"); cs_set_user_bpammo(id, CSW_M4A1, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_M4A1", string, szName); } case 2: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_ak47"); cs_set_user_bpammo(id, CSW_AK47, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_AK47", string, szName); } case 3: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_famas"); cs_set_user_bpammo(id, CSW_FAMAS, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_FAMAS", string, szName); } } menu_destroy(iMenu); return PLUGIN_HANDLED; } public FirstMenu(id){ if(!is_user_connected(id)) return; new i_Menu = menu_create("\rIzberete Pistolet", "FirstMenu_Handler"); menu_additem(i_Menu, "\wDeagle", "1", 0); menu_additem(i_Menu, "\wGlock", "2", 0); menu_additem(i_Menu, "\wUsp", "3", 0); menu_setprop(i_Menu, MPROP_EXITNAME, "Izhod"); menu_display(id, i_Menu, 0); } public FirstMenu_Handler(id, iMenu, item){ if(item == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; } new szData[6], szName[60], iAccess, iCallback; menu_item_getinfo(iMenu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback); new iKey = str_to_num(szData); for(new i = 0; i < 6; i++) fm_strip_user_gun(id, g_iPistols[i]); switch(iKey) { case 1: { g_Chosen[id] = true; g_iWeapon[id] = 1; fm_give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); } case 2: { g_Chosen[id] = true; g_iWeapon[id] = 3; fm_give_item(id, "weapon_glock18"); cs_set_user_bpammo(id, CSW_GLOCK18, 120); } case 3: { g_Chosen[id] = true; g_iWeapon[id] = 2; fm_give_item(id, "weapon_usp"); cs_set_user_bpammo(id, CSW_USP, 100); } } menu_destroy(iMenu); return PLUGIN_CONTINUE; } public msgScoreAttrib(const MsgId, const MsgType, const MsgDest){ if(cvar_tab) { if(IsUserCool(get_msg_arg_int(1)) && !get_msg_arg_int(2)) set_msg_arg_int(2, ARG_BYTE, VIP_TAG); } } public vip_online(id){ g_iVip = 0; new Len, message[512], name[32]; new iPlayer; for(iPlayer = 1; iPlayer <= g_iMaxPlayers; iPlayer++) { if(IsUserCool(iPlayer)) { g_iVip++; get_user_name(iPlayer, name, charsmax(name)); if(g_iVip == 1) Len += format(message[Len], 511 - Len, "%s", name); else Len += format(message[Len], 511 - Len, " , %s", name); } } if(g_iVip < 1) ChatColor(id, "%L", id, "VIP_ONLINE", string); else ChatColor(id, "%s: !t%s", string, message); } stock ChatColor(const id, const input[], any:...){ new iCount = 1, iPlayers[32]; static szMsg[191]; vformat(szMsg, 190, input, 3); replace_all(szMsg, 190, "!g", "^4"); // Green Color replace_all(szMsg, 190, "!y", "^1"); // Default Color replace_all(szMsg, 190, "!t", "^3"); // Team Color if (id) iPlayers[0] = id; else get_players(iPlayers, iCount, "ch"); { for(new iPlayer = 0; iPlayer < iCount; iPlayer++ ) { if( is_user_connected(iPlayers[iPlayer]) ) { message_begin(MSG_ONE_UNRELIABLE, msgSayText, _, iPlayers[iPlayer]); write_byte(iPlayers[iPlayer]); write_string(szMsg); message_end(); } } } } stock IsBlockMap(){ new got_line, line_num, len; new cfgdir[MAX_TEXT_LENGTH]; new cfgpath[MAX_TEXT_LENGTH]; new mapname[MAX_NAME_LENGTH]; new txt[MAX_TEXT_LENGTH]; get_localinfo("amxx_configsdir", cfgdir, charsmax(cfgdir)); get_mapname(mapname, MAX_NAME_LENGTH-1); format(cfgpath, MAX_TEXT_LENGTH, "%s/vipmenu_block_maps.ini", cfgdir); if (file_exists(cfgpath)) { got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len); while (got_line>0) { if (equali(txt, mapname)) return 1; line_num++; got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len); } } return 0; } stock bool: IsUserCool(const id){ if(!is_user_connected(id)) return false; if((get_user_flags(id) )) return true; return false; }
Find difference