Diff
checker
Texto
Texto
Imagens
Documentos
Excel
Pastas
Legal
Enterprise
Aplicativo para desktop
Preços
Fazer login
Baixar o Diffchecker Desktop
Comparar texto
Encontre a diferença entre dois arquivos de texto
Ferramentas
Histórico
Editor live
Ocultar espaços em branco
Recolher inalteradas
Sem quebra de linha
Layout
Dividido
Unificado
Nível de detalhe
Inteligente
Palavra
Caractere
Estilos de texto
Alterar aparência
Realce de sintaxe
Escolher sintaxe
Ignorar
Transformar texto
Ir à primeira mudança
Editar entrada
Diffchecker Desktop
A maneira mais segura de usar o Diffchecker. Obtenha o aplicativo Diffchecker Desktop: seus diffs nunca saem do seu computador!
Obter Desktop
Untitled Diff
Criado
há 5 anos
O diff nunca expira
Limpar
Exportar
Compartilhar
Explicar
130 remoções
Linhas
Total
Removido
Caracteres
Total
Removido
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
642 linhas
Copiar tudo
73 adições
Linhas
Total
Adicionado
Caracteres
Total
Adicionado
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
592 linhas
Copiar tudo
#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>
Copiar
Copiado
Copiar
Copiado
#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
"
Copiar
Copiado
Copiar
Copiado
#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;
Copiar
Copiado
Copiar
Copiado
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)
Copiar
Copiado
Copiar
Copiado
precache_sound("
IDEAL_VIP
/ideal_sound.wav");
precache_sound("
vipmenu
/ideal_sound.wav");
#endif
#endif
}
}
Copiar
Copiado
Copiar
Copiado
public plugin_init(){
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR);
register_plugin(PLUGIN, VERSION, AUTHOR);
Copiar
Copiado
Copiar
Copiado
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);
Copiar
Copiado
Copiar
Copiado
register_clcmd("vipmenu", "MainMenu");
register_clcmd("vipmenu", "MainMenu");
Copiar
Copiado
Copiar
Copiado
register_clcmd("say /
vip
menu", "MainMenu");
register_clcmd("say /
menu", "MainMenu");
register_clcmd("say_team /
vip
menu", "MainMenu");
register_clcmd("say_team /
menu", "MainMenu");
Copiar
Copiado
Copiar
Copiado
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");
Copiar
Copiado
Copiar
Copiado
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");
Copiar
Copiado
Copiar
Copiado
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];
Copiar
Copiado
Copiar
Copiado
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)
Copiar
Copiado
Copiar
Copiado
cvar_music
=
get_pcvar_num(register_cvar("amx_vipMusic", "1"));
cvar_music
=
get_pcvar_num(register_cvar("amx_vipMusic", "1"));
#endif
#endif
Copiar
Copiado
Copiar
Copiado
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));
Copiar
Copiado
Copiar
Copiado
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;
Copiar
Copiado
Copiar
Copiado
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;
Copiar
Copiado
Copiar
Copiado
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)
Copiar
Copiado
Copiar
Copiado
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:
{
{
Copiar
Copiado
Copiar
Copiado
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);
Copiar
Copiado
Copiar
Copiado
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);
Copiar
Copiado
Copiar
Copiado
show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name);
show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name);
}
}
}
}
}
}
Copiar
Copiado
Copiar
Copiado
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);
Copiar
Copiado
Copiar
Copiado
}
}
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");
Copiar
Copiado
Copiar
Copiado
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)
{
{
Copiar
Copiado
Copiar
Copiado
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])
{
{
Copiar
Copiado
Copiar
Copiado
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";
}
}
Copiar
Copiado
Copiar
Copiado
#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)
Copiar
Copiado
Copiar
Copiado
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");
}
}
}
}
Copiar
Copiado
Copiar
Copiado
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);
Copiar
Copiado
Copiar
Copiado
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);
Copiar
Copiado
Copiar
Copiado
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);
Copiar
Copiado
Copiar
Copiado
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
Copiar
Copiado
Copiar
Copiado
{
{
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);
Copiar
Copiado
Copiar
Copiado
}
}
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));
Copiar
Copiado
Copiar
Copiado
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)
Copiar
Copiado
Copiar
Copiado
ChatColor(0, "%L", id, "VIP_AK47", string, szName);
ChatColor(0, "%L", id, "VIP_AK47", string, szName);
}
}
case 3:
case 3:
{
{
Copiar
Copiado
Copiar
Copiado
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)
Copiar
Copiado
Copiar
Copiado
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;
Copiar
Copiado
Copiar
Copiado
new i_Menu = menu_create("\
rЧто вы предпочитаете?
", "FirstMenu_Handler");
new i_Menu = menu_create("\
rIzberete Pistolet
", "FirstMenu_Handler");
Copiar
Copiado
Copiar
Copiado
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);
Copiar
Copiado
Copiar
Copiado
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);
Copiar
Copiado
Copiar
Copiado
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;
Copiar
Copiado
Copiar
Copiado
if((get_user_flags(id)
& vip_flag
))
if((get_user_flags(id)
))
return true;
return true;
return false;
return false;
Copiar
Copiado
Copiar
Copiado
}
}
Diferenças salvas
Texto original
Abrir arquivo
#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; }
Texto alterado
Abrir arquivo
#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; }
Encontrar Diferença