Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
实时编辑器
隐藏空白更改
折叠未更改行
关闭换行
视图
拆分
统一
比对精度
智能
单词
字符
文本样式
更改外观
语法高亮
选择语法
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
Untitled Diff
创建于
5年前
差异永不过期
清除
导出
分享
解释
130 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
642 行
全部复制
73 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
592 行
全部复制
#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>
复制
已复制
复制
已复制
#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
"
复制
已复制
复制
已复制
#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;
复制
已复制
复制
已复制
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)
复制
已复制
复制
已复制
precache_sound("
IDEAL_VIP
/ideal_sound.wav");
precache_sound("
vipmenu
/ideal_sound.wav");
#endif
#endif
}
}
复制
已复制
复制
已复制
public plugin_init(){
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR);
register_plugin(PLUGIN, VERSION, AUTHOR);
复制
已复制
复制
已复制
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);
复制
已复制
复制
已复制
register_clcmd("vipmenu", "MainMenu");
register_clcmd("vipmenu", "MainMenu");
复制
已复制
复制
已复制
register_clcmd("say /
vip
menu", "MainMenu");
register_clcmd("say /
menu", "MainMenu");
register_clcmd("say_team /
vip
menu", "MainMenu");
register_clcmd("say_team /
menu", "MainMenu");
复制
已复制
复制
已复制
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");
复制
已复制
复制
已复制
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");
复制
已复制
复制
已复制
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];
复制
已复制
复制
已复制
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)
复制
已复制
复制
已复制
cvar_music
=
get_pcvar_num(register_cvar("amx_vipMusic", "1"));
cvar_music
=
get_pcvar_num(register_cvar("amx_vipMusic", "1"));
#endif
#endif
复制
已复制
复制
已复制
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));
复制
已复制
复制
已复制
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;
复制
已复制
复制
已复制
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;
复制
已复制
复制
已复制
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)
复制
已复制
复制
已复制
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:
{
{
复制
已复制
复制
已复制
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);
复制
已复制
复制
已复制
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);
复制
已复制
复制
已复制
show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name);
show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name);
}
}
}
}
}
}
复制
已复制
复制
已复制
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);
复制
已复制
复制
已复制
}
}
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");
复制
已复制
复制
已复制
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)
{
{
复制
已复制
复制
已复制
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])
{
{
复制
已复制
复制
已复制
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";
}
}
复制
已复制
复制
已复制
#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)
复制
已复制
复制
已复制
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");
}
}
}
}
复制
已复制
复制
已复制
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);
复制
已复制
复制
已复制
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);
复制
已复制
复制
已复制
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);
复制
已复制
复制
已复制
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
复制
已复制
复制
已复制
{
{
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);
复制
已复制
复制
已复制
}
}
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));
复制
已复制
复制
已复制
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)
复制
已复制
复制
已复制
ChatColor(0, "%L", id, "VIP_AK47", string, szName);
ChatColor(0, "%L", id, "VIP_AK47", string, szName);
}
}
case 3:
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]++;
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)
复制
已复制
复制
已复制
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;
复制
已复制
复制
已复制
new i_Menu = menu_create("\
rЧто вы предпочитаете?
", "FirstMenu_Handler");
new i_Menu = menu_create("\
rIzberete Pistolet
", "FirstMenu_Handler");
复制
已复制
复制
已复制
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);
复制
已复制
复制
已复制
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);
复制
已复制
复制
已复制
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;
复制
已复制
复制
已复制
if((get_user_flags(id)
& vip_flag
))
if((get_user_flags(id)
))
return true;
return true;
return false;
return false;
复制
已复制
复制
已复制
}
}
已保存差异
原始文本
打开文件
#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; }
更改后文本
打开文件
#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; }
查找差异