Diff
checker
Testo
Testo
Immagini
Documenti
Excel
Cartelle
Legal
Enterprise
Applicazione per desktop
Prezzi
Accedi
Scarica Diffchecker Desktop
Confronta il testo
Trova la differenza tra due file di testo
Strumenti
Cronologia
Editor live
Nascondi spazi bianchi
Comprimi invariate
Senza a capo
Layout
Diviso
Unificato
Livello di dettaglio
Intelligente
Parola
Carattere
Stili testo
Modifica aspetto
Evidenziazione sintassi
Scegli sintassi
Ignora
Trasforma testo
Vai alla prima modifica
Modifica input
Diffchecker Desktop
Il modo più sicuro per usare Diffchecker. Ottieni l'app Diffchecker Desktop: i tuoi diff non lasciano mai il tuo computer!
Ottieni Desktop
Untitled Diff
Creato
5 anni fa
Il diff non scade mai
Eliminare
Esporta
Condividere
Spiegare
130 rimozioni
Linee
Totale
Rimosso
Caratteri
Totale
Rimosso
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
642 linee
Copia tutti
73 aggiunte
Linee
Totale
Aggiunto
Caratteri
Totale
Aggiunto
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
592 linee
Copia tutti
#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>
Copia
Copiato
Copia
Copiato
#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
"
Copia
Copiato
Copia
Copiato
#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;
Copia
Copiato
Copia
Copiato
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)
Copia
Copiato
Copia
Copiato
precache_sound("
IDEAL_VIP
/ideal_sound.wav");
precache_sound("
vipmenu
/ideal_sound.wav");
#endif
#endif
}
}
Copia
Copiato
Copia
Copiato
public plugin_init(){
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR);
register_plugin(PLUGIN, VERSION, AUTHOR);
Copia
Copiato
Copia
Copiato
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);
Copia
Copiato
Copia
Copiato
register_clcmd("vipmenu", "MainMenu");
register_clcmd("vipmenu", "MainMenu");
Copia
Copiato
Copia
Copiato
register_clcmd("say /
vip
menu", "MainMenu");
register_clcmd("say /
menu", "MainMenu");
register_clcmd("say_team /
vip
menu", "MainMenu");
register_clcmd("say_team /
menu", "MainMenu");
Copia
Copiato
Copia
Copiato
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");
Copia
Copiato
Copia
Copiato
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");
Copia
Copiato
Copia
Copiato
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];
Copia
Copiato
Copia
Copiato
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)
Copia
Copiato
Copia
Copiato
cvar_music
=
get_pcvar_num(register_cvar("amx_vipMusic", "1"));
cvar_music
=
get_pcvar_num(register_cvar("amx_vipMusic", "1"));
#endif
#endif
Copia
Copiato
Copia
Copiato
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));
Copia
Copiato
Copia
Copiato
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;
Copia
Copiato
Copia
Copiato
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;
Copia
Copiato
Copia
Copiato
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)
Copia
Copiato
Copia
Copiato
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:
{
{
Copia
Copiato
Copia
Copiato
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);
Copia
Copiato
Copia
Copiato
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);
Copia
Copiato
Copia
Copiato
show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name);
show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name);
}
}
}
}
}
}
Copia
Copiato
Copia
Copiato
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);
Copia
Copiato
Copia
Copiato
}
}
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");
Copia
Copiato
Copia
Copiato
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)
{
{
Copia
Copiato
Copia
Copiato
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])
{
{
Copia
Copiato
Copia
Copiato
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";
}
}
Copia
Copiato
Copia
Copiato
#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)
Copia
Copiato
Copia
Copiato
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");
}
}
}
}
Copia
Copiato
Copia
Copiato
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);
Copia
Copiato
Copia
Copiato
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);
Copia
Copiato
Copia
Copiato
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);
Copia
Copiato
Copia
Copiato
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
Copia
Copiato
Copia
Copiato
{
{
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);
Copia
Copiato
Copia
Copiato
}
}
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));
Copia
Copiato
Copia
Copiato
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)
Copia
Copiato
Copia
Copiato
ChatColor(0, "%L", id, "VIP_AK47", string, szName);
ChatColor(0, "%L", id, "VIP_AK47", string, szName);
}
}
case 3:
case 3:
{
{
Copia
Copiato
Copia
Copiato
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)
Copia
Copiato
Copia
Copiato
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;
Copia
Copiato
Copia
Copiato
new i_Menu = menu_create("\
rЧто вы предпочитаете?
", "FirstMenu_Handler");
new i_Menu = menu_create("\
rIzberete Pistolet
", "FirstMenu_Handler");
Copia
Copiato
Copia
Copiato
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);
Copia
Copiato
Copia
Copiato
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);
Copia
Copiato
Copia
Copiato
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;
Copia
Copiato
Copia
Copiato
if((get_user_flags(id)
& vip_flag
))
if((get_user_flags(id)
))
return true;
return true;
return false;
return false;
Copia
Copiato
Copia
Copiato
}
}
Diff salvati
Testo originale
Apri file
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <dhudmessage> #define PLUGIN "IDEAL VIP by Ba/lePa & Wikiname" #define VERSION "3.2.5" #define AUTHOR "Ba/lePa | Remake by Wikiname" #define VIP_TAG (1<<2) // vip в таблицу #define vip_flag ADMIN_LEVEL_H // флаг доступа //#define EXP_SHOW // раскомментируйте чтобы показать срок випки #define music // Если звук при входе админа не нужен, то поставьте // перед #define #define MAX_TEXT_LENGTH 200 #define MAX_NAME_LENGTH 40 #pragma semicolon 1 new bool:g_bBlockMap; new g_Round, g_iWeapon[33], g_iVip ; new g_iPlayerBomb[33] = false; new cvar_connect, Float: cvar_x, Float: cvar_y; new cvar_prefix; new cvar_round, cvar_open, cvar_show, cvar_chat, cvar_pistols, cvar_funk, cvar_tab; new Float: cvar_health, Float: cvar_health_head, Float: cvar_health_max; new cvar_money, cvar_money_head; new cvar_music; new cvar_awplimit; #if defined EXP_SHOW native admin_expired(index); #endif new vip_opened[33]; new g_iMaxPlayers = 0; new msgSayText; new g_iPistols[6] = {CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_FIVESEVEN, CSW_P228, CSW_DEAGLE}; new bool: g_Chosen[33] = false; new string[32]; public plugin_precache(){ if(IsBlockMap()) { g_bBlockMap = true; return; } #if defined(music) precache_sound("IDEAL_VIP/ideal_sound.wav"); #endif } public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR); register_dictionary("ideal_vip.txt"); g_iMaxPlayers = get_maxplayers(); register_message(get_user_msgid( "ScoreAttrib" ), "msgScoreAttrib"); register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0"); register_event("TextMsg", "EventRoundRestart", "a", "2=#Game_will_restart_in","2=#Game_Commencing"); RegisterHam(Ham_Killed, "player", "HamPlayerKilled_Post", 1); RegisterHam(Ham_Spawn, "player", "HamSpawn_Post", 1); register_clcmd("vipmenu", "MainMenu"); register_clcmd("vipmenu", "MainMenu"); register_clcmd("say /vipmenu", "MainMenu"); register_clcmd("say_team /vipmenu", "MainMenu"); register_clcmd("say /vip_menu", "MainMenu"); register_clcmd("say_team /vip_menu", "MainMenu"); register_clcmd("vipmenu", "MainMenu"); register_clcmd("say /vips", "vip_online"); register_clcmd("say_team /vips", "vip_online"); register_clcmd("say /adminka", "admin_motd"); register_clcmd("say_team /adminka", "admin_motd"); register_clcmd("say /vip", "vip_motd"); register_clcmd("say_team /vip", "vip_motd"); msgSayText = get_user_msgid("SayText"); } public plugin_cfg(){ new szConfigDir[128]; cvar_round = get_pcvar_num(register_cvar("amx_vipround", "2")); cvar_open = get_pcvar_num(register_cvar("amx_vipzaround", "2")); cvar_show = get_pcvar_num(register_cvar("amx_vipshow","0")); cvar_chat = get_pcvar_num(register_cvar("amx_chatshow", "1")); cvar_pistols = get_pcvar_num(register_cvar("amx_vipautopistols", "1")); cvar_funk = get_pcvar_num(register_cvar("amx_vipautoset", "1")); cvar_health = get_pcvar_float(register_cvar("amx_viphealth", "5.0")); cvar_health_head = get_pcvar_float(register_cvar("amx_viphealth_head", "10.0")); cvar_health_max = get_pcvar_float(register_cvar("amx_viphealth_max", "150.0")); cvar_money = get_pcvar_num(register_cvar("amx_vipmoney", "300")); cvar_money_head = get_pcvar_num(register_cvar("amx_vipmoney_head", "500")); cvar_tab = get_pcvar_num(register_cvar("amx_viptab", "1")); cvar_connect = get_pcvar_num(register_cvar("amx_showconnect", "4")); cvar_x = get_pcvar_float(register_cvar("amx_vipXcoord", "-1.0")); cvar_y = get_pcvar_float(register_cvar("amx_vipYcoord", "0.6")); cvar_prefix = register_cvar("amx_vip_prefix", "!y[!gVIP!y]"); #if defined(music) cvar_music = get_pcvar_num(register_cvar("amx_vipMusic", "1")); #endif cvar_awplimit = get_pcvar_num(register_cvar("amx_awproundlimit", "3")); get_pcvar_string(cvar_prefix, string, charsmax(string)); get_localinfo("amxx_configsdir", szConfigDir, charsmax(szConfigDir)); server_cmd("exec %s/ideal_vip.cfg", szConfigDir); } public admin_motd(id, level, cid){ if(!cmd_access(id, level, cid, 1)) return PLUGIN_CONTINUE; show_motd(id, "adminka.txt", "Как купить админку"); return PLUGIN_CONTINUE; } public vip_motd(id, level, cid){ if(!cmd_access(id, level, cid, 1)) return PLUGIN_CONTINUE; show_motd(id, "vipka.txt", "Как купить випку"); return PLUGIN_CONTINUE; } public client_putinserver(id){ g_iWeapon[id] = 0; if(IsUserCool(id)) set_task(0.5, "vip_connect", id + 132); } public client_disconnect(id){ g_iWeapon[id] = 0; g_Chosen[id] = false; } public vip_connect(TASKID){ new id = TASKID - 132; #if defined(music) if(cvar_music) client_cmd(0, "spk IDEAL_VIP/ideal_sound.wav"); #endif new name[32]; get_user_name(id, name, charsmax(name)); new g_iRed = random_num(1,255),g_iGreen = random_num(1,255),g_iBlue = random_num(1,255); //рандомные цвета для HUD и DHUD switch(cvar_connect) { case 1: { ChatColor(0, "%L", id, "VIP_CONNECT", string, name); } case 2: { set_hudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 0, 0.0, 6.0, 0.0, 0.0, -1); if(get_user_flags(id) & ADMIN_BAN) show_hudmessage(0, "%L", id, "VIP_CONNECT2", name); else show_hudmessage(0, "%L", id, "VIP_CONNECT2", name); } case 3: { set_dhudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, false); if(get_user_flags(id) & ADMIN_BAN) show_dhudmessage(0, "%L", id, "VIP_CONNECT2", name); else show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name); } case 4: { ChatColor(0, "%L", id, "VIP_CONNECT", string, name); set_hudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, -1); show_hudmessage(0, "%L", id, "VIP_CONNECT1", name); } case 5: { ChatColor(0, "%L", id, "VIP_CONNECT", string, name); set_dhudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, false); show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name); } } } public EventRoundStart() g_Round++; public EventRoundRestart() g_Round = 0; public HamSpawn_Post(id){ g_iPlayerBomb[id] = false; vip_opened[id] = 0; if(!g_bBlockMap) { if(IsUserCool(id)) { if(g_Round == 0) FirstMenu(id); if(is_user_alive(id)) { if(cvar_funk == 1) task_funk(id); if(cvar_show == 1 && g_Round >= cvar_round) MainMenu(id); } } } } public HamPlayerKilled_Post(iVictim, iKiller, corpse){ static const m_LastHitGroup = 75; if(!g_bBlockMap) { if(IsUserCool(iVictim)) if(!g_Chosen[iVictim]) set_task(1.0, "FirstMenu", iVictim); } if(IsUserCool(iKiller)) { if(is_user_alive(iKiller)) { if( get_pdata_int( iVictim, m_LastHitGroup ) == HIT_HEAD) { set_pev(iKiller, pev_health, pev(iKiller, pev_health) + cvar_health_head); if(get_user_health(iKiller) > cvar_health_max) set_pev(iKiller, pev_health, cvar_health_max); cs_set_user_money(iKiller, cs_get_user_money(iKiller) + cvar_money_head); } else { set_pev(iKiller, pev_health, pev(iKiller, pev_health) + cvar_health); if(pev(iKiller, pev_health) > cvar_health_max) set_pev(iKiller, pev_health, cvar_health_max); cs_set_user_money(iKiller, cs_get_user_money(iKiller) + cvar_money); } } } } GiveDefaultItems( id, secondary_weapon, strip_and_task = 1 ) { if( strip_and_task ) { fm_strip_user_weapons(id); task_funk(id); } switch( secondary_weapon ) { case 0: { FirstMenu(id); } case 1: { fm_give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); } case 2: { fm_give_item(id, "weapon_usp"); cs_set_user_bpammo(id, CSW_USP, 100); } case 3: { fm_give_item(id, "weapon_glock18"); cs_set_user_bpammo(id, CSW_GLOCK18, 120); } } } public task_funk(id){ fm_give_item(id, "weapon_knife"); fm_give_item(id, "item_thighpack"); fm_give_item(id, "weapon_hegrenade"); fm_give_item(id, "weapon_flashbang"); fm_give_item(id, "weapon_flashbang"); fm_give_item(id, "weapon_smokegrenade"); fm_give_item(id, "item_assaultsuit"); if(g_iPlayerBomb[id]) { fm_give_item(id, "weapon_c4"); cs_set_user_plant(id); g_iPlayerBomb[id] = false; } if(cvar_pistols) { for(new i = 0; i < 6; i++) fm_strip_user_gun(id, g_iPistols[i]); GiveDefaultItems( id, g_iWeapon[id], .strip_and_task = 0 ); } } public MainMenu(id){ if(g_bBlockMap) { ChatColor(id, "%L", id, "VIP_WARNING6", string); } else { if(IsUserCool(id)) { if(is_user_alive(id)) { if(vip_opened[id] < cvar_open || cvar_open == 0) { if(g_Round >= cvar_round) { new szTitle[64], szName[32], szPistol[32], szMenuMulti[64]; get_user_name(id, szName, charsmax(szName)); switch(g_iWeapon[id]) { case 0: szPistol = "NONE"; case 1: szPistol = "Deagle"; case 2: szPistol = "Usp"; case 3: szPistol = "Glock"; } #if defined EXP_SHOW new exp = admin_expired(id); if(exp > 0) { new systime = get_systime(); if(exp - systime > 0) { if((exp - systime) / 86400 > 0) formatex(szTitle, charsmax(szTitle), "\w Осталось \y%d \wдней \rVIP\w-ки ^n^n", ((exp - systime) / 86400)); else formatex(szTitle, charsmax(szTitle), "\r Последний \wдень \rVIP\w-ки ^n^n"); } } else if(exp == 0) formatex(szTitle, charsmax(szTitle), " \rVIP \w- Права \yбессрочны ^n^n"); #else formatex(szTitle, charsmax(szTitle), "%L", id, "VIP_MENU", szName); #endif new i_Menu = menu_create(szTitle, "MainMenu_Handler", 1); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU1", szPistol); menu_additem(i_Menu, szMenuMulti, "1", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU2", szPistol); menu_additem(i_Menu, szMenuMulti, "2", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU3", szPistol); menu_additem(i_Menu, szMenuMulti, "3", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU4", szPistol); menu_additem(i_Menu, szMenuMulti, "4", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU5", szPistol); menu_additem(i_Menu, szMenuMulti, "5", 0); menu_addblank(i_Menu, 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU6"); menu_additem(i_Menu, szMenuMulti, "6", 0); menu_addblank(i_Menu, 1); menu_setprop(i_Menu, MPROP_EXITNAME, "Выход"); menu_display(id, i_Menu, 0); } else { if(cvar_round == 2) { ChatColor(id, "%L", id, "VIP_WARNING5", string, cvar_round); return PLUGIN_HANDLED; } else { ChatColor(id, "%L", id, "VIP_WARNING1", string, cvar_round); return PLUGIN_HANDLED; } } } else ChatColor(id, "%L", id, "VIP_WARNING2", string); } else ChatColor(id, "%L", id, "VIP_WARNING3", string); } else ChatColor(id, "%L", id, "VIP_WARNING4", string); } return PLUGIN_HANDLED; } public MainMenu_Handler(id, iMenu, item){ if(item == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; } new szData[6], szName[60], iAccess, iCallback; menu_item_getinfo(iMenu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback); get_user_name(id, szName, charsmax(szName)); new iKey = str_to_num(szData); switch(iKey) { case 1: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_m4a1"); cs_set_user_bpammo(id, CSW_M4A1, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_M4A1", string, szName); } case 2: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_ak47"); cs_set_user_bpammo(id, CSW_AK47, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_AK47", string, szName); } case 3: { if(g_Round >= cvar_awplimit) { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_awp"); cs_set_user_bpammo(id, CSW_AWP, 30); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_AWP", string, szName); } else ChatColor(id, "%L", id, "VIP_WARNING7", string, cvar_awplimit); } case 4: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_famas"); cs_set_user_bpammo(id, CSW_FAMAS, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_FAMAS", string, szName); } case 5: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_scout"); cs_set_user_bpammo(id, CSW_SCOUT, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_SCOUT", string, szName); } case 6: { FirstMenu(id); } } menu_destroy(iMenu); return PLUGIN_HANDLED; } public FirstMenu(id){ if(!is_user_connected(id)) return; new i_Menu = menu_create("\rЧто вы предпочитаете?", "FirstMenu_Handler"); menu_additem(i_Menu, "\yDeagle", "1", 0); menu_additem(i_Menu, "\yGlock", "2", 0); menu_additem(i_Menu, "\rUsp", "3", 0); menu_setprop(i_Menu, MPROP_EXITNAME, "Выход"); menu_display(id, i_Menu, 0); } public FirstMenu_Handler(id, iMenu, item){ if(item == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; } new szData[6], szName[60], iAccess, iCallback; menu_item_getinfo(iMenu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback); new iKey = str_to_num(szData); for(new i = 0; i < 6; i++) fm_strip_user_gun(id, g_iPistols[i]); switch(iKey) { case 1: { g_Chosen[id] = true; g_iWeapon[id] = 1; fm_give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); } case 2: { g_Chosen[id] = true; g_iWeapon[id] = 3; fm_give_item(id, "weapon_glock18"); cs_set_user_bpammo(id, CSW_GLOCK18, 120); } case 3: { g_Chosen[id] = true; g_iWeapon[id] = 2; fm_give_item(id, "weapon_usp"); cs_set_user_bpammo(id, CSW_USP, 100); } } menu_destroy(iMenu); return PLUGIN_CONTINUE; } public msgScoreAttrib(const MsgId, const MsgType, const MsgDest){ if(cvar_tab) { if(IsUserCool(get_msg_arg_int(1)) && !get_msg_arg_int(2)) set_msg_arg_int(2, ARG_BYTE, VIP_TAG); } } public vip_online(id){ g_iVip = 0; new Len, message[512], name[32]; new iPlayer; for(iPlayer = 1; iPlayer <= g_iMaxPlayers; iPlayer++) { if(IsUserCool(iPlayer)) { g_iVip++; get_user_name(iPlayer, name, charsmax(name)); if(g_iVip == 1) Len += format(message[Len], 511 - Len, "%s", name); else Len += format(message[Len], 511 - Len, " , %s", name); } } if(g_iVip < 1) ChatColor(id, "%L", id, "VIP_ONLINE", string); else ChatColor(id, "%s: !t%s", string, message); } stock ChatColor(const id, const input[], any:...){ new iCount = 1, iPlayers[32]; static szMsg[191]; vformat(szMsg, 190, input, 3); replace_all(szMsg, 190, "!g", "^4"); // Green Color replace_all(szMsg, 190, "!y", "^1"); // Default Color replace_all(szMsg, 190, "!t", "^3"); // Team Color if (id) iPlayers[0] = id; else get_players(iPlayers, iCount, "ch"); { for(new iPlayer = 0; iPlayer < iCount; iPlayer++ ) { if( is_user_connected(iPlayers[iPlayer]) ) { message_begin(MSG_ONE_UNRELIABLE, msgSayText, _, iPlayers[iPlayer]); write_byte(iPlayers[iPlayer]); write_string(szMsg); message_end(); } } } } stock IsBlockMap(){ new got_line, line_num, len; new cfgdir[MAX_TEXT_LENGTH]; new cfgpath[MAX_TEXT_LENGTH]; new mapname[MAX_NAME_LENGTH]; new txt[MAX_TEXT_LENGTH]; get_localinfo("amxx_configsdir", cfgdir, charsmax(cfgdir)); get_mapname(mapname, MAX_NAME_LENGTH-1); format(cfgpath, MAX_TEXT_LENGTH, "%s/ideal_block_maps.ini", cfgdir); if (file_exists(cfgpath)) { got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len); while (got_line>0) { if (equali(txt, mapname)) return 1; line_num++; got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len); } } return 0; } stock bool: IsUserCool(const id){ if(!is_user_connected(id)) return false; if((get_user_flags(id) & vip_flag)) return true; return false; }
Testo modificato
Apri file
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <dhudmessage> #define PLUGIN "Edit" #define VERSION "1.0" #define AUTHOR "Edit" #define VIP_TAG (1<<2) // vip в таблицу //#define vip_flag ADMIN_BAN // флаг доступа //#define EXP_SHOW // раскомментируйте чтобы показать срок випки #define music // Если звук при входе админа не нужен, то поставьте // перед #define #define MAX_TEXT_LENGTH 200 #define MAX_NAME_LENGTH 40 #pragma semicolon 1 new bool:g_bBlockMap; new g_Round, g_iWeapon[33], g_iVip ; new g_iPlayerBomb[33] = false; new cvar_connect, Float: cvar_x, Float: cvar_y; new cvar_prefix; new cvar_round, cvar_open, cvar_show, cvar_chat, cvar_pistols, cvar_funk, cvar_tab; new Float: cvar_health, Float: cvar_health_head, Float: cvar_health_max; new cvar_money, cvar_money_head; new cvar_music; #if defined EXP_SHOW native admin_expired(index); #endif new vip_opened[33]; new g_iMaxPlayers = 0; new msgSayText; new g_iPistols[6] = {CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_FIVESEVEN, CSW_P228, CSW_DEAGLE}; new bool: g_Chosen[33] = false; new string[32]; public plugin_precache(){ if(IsBlockMap()) { g_bBlockMap = true; return; } #if defined(music) precache_sound("vipmenu/ideal_sound.wav"); #endif } public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR); register_dictionary("vipmenu.txt"); g_iMaxPlayers = get_maxplayers(); register_message(get_user_msgid( "ScoreAttrib" ), "msgScoreAttrib"); register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0"); register_event("TextMsg", "EventRoundRestart", "a", "2=#Game_will_restart_in","2=#Game_Commencing"); RegisterHam(Ham_Killed, "player", "HamPlayerKilled_Post", 1); RegisterHam(Ham_Spawn, "player", "HamSpawn_Post", 1); register_clcmd("say /menu", "MainMenu"); register_clcmd("say_team /menu", "MainMenu"); register_clcmd("say /vmenu", "MainMenu"); register_clcmd("say_team /vmenu", "MainMenu"); register_clcmd("vipmenu", "MainMenu"); register_clcmd("say /vipsonlinee", "vip_online"); register_clcmd("say_team /vipsonlinee", "vip_online"); register_clcmd("say /admin", "admin_motd"); register_clcmd("say_team /admin", "admin_motd"); register_clcmd("say /vip", "vip_motd"); register_clcmd("say_team /vip", "vip_motd"); msgSayText = get_user_msgid("SayText"); } public plugin_cfg(){ new szConfigDir[128]; cvar_round = get_pcvar_num(register_cvar("amx_vipround", "2")); cvar_open = get_pcvar_num(register_cvar("amx_vipzaround", "2")); cvar_show = get_pcvar_num(register_cvar("amx_vipshow","1")); cvar_chat = get_pcvar_num(register_cvar("amx_chatshow", "0")); cvar_pistols = get_pcvar_num(register_cvar("amx_vipautopistols", "1")); cvar_funk = get_pcvar_num(register_cvar("amx_vipautoset", "1")); cvar_health = get_pcvar_float(register_cvar("amx_viphealth", "5.0")); cvar_health_head = get_pcvar_float(register_cvar("amx_viphealth_head", "10.0")); cvar_health_max = get_pcvar_float(register_cvar("amx_viphealth_max", "120.0")); cvar_money = get_pcvar_num(register_cvar("amx_vipmoney", "300")); cvar_money_head = get_pcvar_num(register_cvar("amx_vipmoney_head", "500")); cvar_tab = get_pcvar_num(register_cvar("amx_viptab", "1")); cvar_connect = get_pcvar_num(register_cvar("amx_showconnect", "0")); cvar_x = get_pcvar_float(register_cvar("amx_vipXcoord", "-1.0")); cvar_y = get_pcvar_float(register_cvar("amx_vipYcoord", "0.6")); cvar_prefix = register_cvar("amx_vip_prefix", "!g[!tVIP SYSTEM!g]"); #if defined(music) cvar_music = get_pcvar_num(register_cvar("amx_vipMusic", "1")); #endif get_pcvar_string(cvar_prefix, string, charsmax(string)); get_localinfo("amxx_configsdir", szConfigDir, charsmax(szConfigDir)); server_cmd("exec %s/vipmenu.cfg", szConfigDir); } public admin_motd(id, level, cid){ if(!cmd_access(id, level, cid, 1)) return PLUGIN_CONTINUE; show_motd(id, "buy.txt", "Как да купите АДМИН"); return PLUGIN_CONTINUE; } public vip_motd(id, level, cid){ if(!cmd_access(id, level, cid, 1)) return PLUGIN_CONTINUE; show_motd(id, "buy.txt", "Как да купите ВИП"); return PLUGIN_CONTINUE; } public client_putinserver(id){ g_iWeapon[id] = 0; if(IsUserCool(id)) set_task(0.5, "vip_connect", id + 132); } public client_disconnect(id){ g_iWeapon[id] = 0; g_Chosen[id] = false; } public vip_connect(TASKID){ new id = TASKID - 132; #if defined(music) if(cvar_music) client_cmd(0, "spk vipmenu/ideal_sound.wav"); #endif new name[32]; get_user_name(id, name, charsmax(name)); new g_iRed = random_num(1,255),g_iGreen = random_num(1,255),g_iBlue = random_num(1,255); //рандомные цвета для HUD и DHUD switch(cvar_connect) { case 1: { ChatColor(0, "%L", id, "VIP_CONNECT", string, name); } case 2: { set_hudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 0, 0.0, 6.0, 0.0, 0.0, -1); if(get_user_flags(id) & ADMIN_BAN) show_hudmessage(0, "%L", id, "VIP_CONNECT2", name); else show_hudmessage(0, "%L", id, "VIP_CONNECT2", name); } case 3: { set_dhudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, false); if(get_user_flags(id) & ADMIN_BAN) show_dhudmessage(0, "%L", id, "VIP_CONNECT2", name); else show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name); } case 4: { ChatColor(0, "%L", id, "VIP_CONNECT", string, name); set_hudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, -1); show_hudmessage(0, "%L", id, "VIP_CONNECT1", name); } case 5: { ChatColor(0, "%L", id, "VIP_CONNECT", string, name); set_dhudmessage(g_iRed, g_iGreen, g_iBlue, cvar_x, cvar_y, 1, 0.0, 6.0, 0.0, 0.0, false); show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name); } } } public EventRoundStart() g_Round++; public EventRoundRestart() g_Round = 0; public HamSpawn_Post(id){ g_iPlayerBomb[id] = false; vip_opened[id] = 0; if(!g_bBlockMap) { if(IsUserCool(id)) { if(g_Round == 0) FirstMenu(id); if(is_user_alive(id)) { if(cvar_funk == 1) task_funk(id); if(cvar_show == 1 && g_Round >= cvar_round) MainMenu(id); } } } } public HamPlayerKilled_Post(iVictim, iKiller, corpse){ static const m_LastHitGroup = 75; if(!g_bBlockMap) { if(IsUserCool(iVictim)) if(!g_Chosen[iVictim]) set_task(1.0, "FirstMenu", iVictim); } if(IsUserCool(iKiller)) { if(is_user_alive(iKiller)) { if( get_pdata_int( iVictim, m_LastHitGroup ) == HIT_HEAD) { set_pev(iKiller, pev_health, pev(iKiller, pev_health) + cvar_health_head); if(get_user_health(iKiller) > cvar_health_max) set_pev(iKiller, pev_health, cvar_health_max); cs_set_user_money(iKiller, cs_get_user_money(iKiller) + cvar_money_head); } else { set_pev(iKiller, pev_health, pev(iKiller, pev_health) + cvar_health); if(pev(iKiller, pev_health) > cvar_health_max) set_pev(iKiller, pev_health, cvar_health_max); cs_set_user_money(iKiller, cs_get_user_money(iKiller) + cvar_money); } } } } GiveDefaultItems( id, secondary_weapon, strip_and_task = 1 ) { if( strip_and_task ) { fm_strip_user_weapons(id); task_funk(id); } switch( secondary_weapon ) { case 0: { FirstMenu(id); } case 1: { fm_give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); } case 2: { fm_give_item(id, "weapon_usp"); cs_set_user_bpammo(id, CSW_USP, 100); } case 3: { fm_give_item(id, "weapon_glock18"); cs_set_user_bpammo(id, CSW_GLOCK18, 120); } } } public task_funk(id){ fm_give_item(id, "weapon_knife"); fm_give_item(id, "item_thighpack"); fm_give_item(id, "weapon_hegrenade"); fm_give_item(id, "weapon_flashbang"); fm_give_item(id, "item_assaultsuit"); if(g_iPlayerBomb[id]) { fm_give_item(id, "weapon_c4"); cs_set_user_plant(id); g_iPlayerBomb[id] = false; } if(cvar_pistols) { for(new i = 0; i < 6; i++) fm_strip_user_gun(id, g_iPistols[i]); GiveDefaultItems( id, g_iWeapon[id], .strip_and_task = 0 ); } } public MainMenu(id){ if(g_bBlockMap) { ChatColor(id, "%L", id, "VIP_WARNING6", string); } else { if(IsUserCool(id)) { if(is_user_alive(id)) { if(vip_opened[id] < cvar_open || cvar_open == 0) { if(g_Round >= cvar_round) { new szTitle[64], szName[32], szPistol[32], szMenuMulti[64]; get_user_name(id, szName, charsmax(szName)); switch(g_iWeapon[id]) { case 0: szPistol = "Deagle"; case 1: szPistol = "Usp"; case 2: szPistol = "Glock"; } #if defined EXP_SHOW new exp = admin_expired(id); if(exp > 0) { new systime = get_systime(); if(exp - systime > 0) { if((exp - systime) / 86400 > 0) formatex(szTitle, charsmax(szTitle), "\w Ostavat \r%d \wdni ot vashite \rVIP \wPrivilegii ^n^n", ((exp - systime) / 86400)); else formatex(szTitle, charsmax(szTitle), "\r Posleden \wden ot vashite \rVIP \wPrivilegii ^n^n"); } } else if(exp == 0) formatex(szTitle, charsmax(szTitle), " \rVIP \w- Privilegiite sa \rneopredeleni ^n^n"); #else formatex(szTitle, charsmax(szTitle), "%L", id, "VIP_MENU", szName); #endif new i_Menu = menu_create(szTitle, "MainMenu_Handler", 1); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU1", szPistol); menu_additem(i_Menu, szMenuMulti, "1", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU2", szPistol); menu_additem(i_Menu, szMenuMulti, "2", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU3", szPistol); menu_additem(i_Menu, szMenuMulti, "3", 0); formatex(szMenuMulti, charsmax(szMenuMulti), "%L", id, "ITEM_MENU4"); menu_additem(i_Menu, szMenuMulti, "4", 0); menu_addblank(i_Menu, 1); menu_setprop(i_Menu, MPROP_EXITNAME, "Izhod"); menu_display(id, i_Menu, 0); } else { if(cvar_round == 2) { ChatColor(id, "%L", id, "VIP_WARNING5", string, cvar_round); return PLUGIN_HANDLED; } else { ChatColor(id, "%L", id, "VIP_WARNING1", string, cvar_round); return PLUGIN_HANDLED; } } } else ChatColor(id, "%L", id, "VIP_WARNING2", string); } else ChatColor(id, "%L", id, "VIP_WARNING3", string); } else ChatColor(id, "%L", id, "VIP_WARNING4", string); } return PLUGIN_HANDLED; } public MainMenu_Handler(id, iMenu, item){ if(item == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; } new szData[6], szName[60], iAccess, iCallback; menu_item_getinfo(iMenu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback); get_user_name(id, szName, charsmax(szName)); new iKey = str_to_num(szData); switch(iKey) { case 1: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_m4a1"); cs_set_user_bpammo(id, CSW_M4A1, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_M4A1", string, szName); } case 2: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_ak47"); cs_set_user_bpammo(id, CSW_AK47, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_AK47", string, szName); } case 3: { vip_opened[id]++; if(user_has_weapon(id, CSW_C4)) g_iPlayerBomb[id] = true; GiveDefaultItems( id, g_iWeapon[id] ); fm_give_item(id, "weapon_famas"); cs_set_user_bpammo(id, CSW_FAMAS, 90); if(cvar_chat == 1) ChatColor(0, "%L", id, "VIP_FAMAS", string, szName); } } menu_destroy(iMenu); return PLUGIN_HANDLED; } public FirstMenu(id){ if(!is_user_connected(id)) return; new i_Menu = menu_create("\rIzberete Pistolet", "FirstMenu_Handler"); menu_additem(i_Menu, "\wDeagle", "1", 0); menu_additem(i_Menu, "\wGlock", "2", 0); menu_additem(i_Menu, "\wUsp", "3", 0); menu_setprop(i_Menu, MPROP_EXITNAME, "Izhod"); menu_display(id, i_Menu, 0); } public FirstMenu_Handler(id, iMenu, item){ if(item == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; } new szData[6], szName[60], iAccess, iCallback; menu_item_getinfo(iMenu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback); new iKey = str_to_num(szData); for(new i = 0; i < 6; i++) fm_strip_user_gun(id, g_iPistols[i]); switch(iKey) { case 1: { g_Chosen[id] = true; g_iWeapon[id] = 1; fm_give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); } case 2: { g_Chosen[id] = true; g_iWeapon[id] = 3; fm_give_item(id, "weapon_glock18"); cs_set_user_bpammo(id, CSW_GLOCK18, 120); } case 3: { g_Chosen[id] = true; g_iWeapon[id] = 2; fm_give_item(id, "weapon_usp"); cs_set_user_bpammo(id, CSW_USP, 100); } } menu_destroy(iMenu); return PLUGIN_CONTINUE; } public msgScoreAttrib(const MsgId, const MsgType, const MsgDest){ if(cvar_tab) { if(IsUserCool(get_msg_arg_int(1)) && !get_msg_arg_int(2)) set_msg_arg_int(2, ARG_BYTE, VIP_TAG); } } public vip_online(id){ g_iVip = 0; new Len, message[512], name[32]; new iPlayer; for(iPlayer = 1; iPlayer <= g_iMaxPlayers; iPlayer++) { if(IsUserCool(iPlayer)) { g_iVip++; get_user_name(iPlayer, name, charsmax(name)); if(g_iVip == 1) Len += format(message[Len], 511 - Len, "%s", name); else Len += format(message[Len], 511 - Len, " , %s", name); } } if(g_iVip < 1) ChatColor(id, "%L", id, "VIP_ONLINE", string); else ChatColor(id, "%s: !t%s", string, message); } stock ChatColor(const id, const input[], any:...){ new iCount = 1, iPlayers[32]; static szMsg[191]; vformat(szMsg, 190, input, 3); replace_all(szMsg, 190, "!g", "^4"); // Green Color replace_all(szMsg, 190, "!y", "^1"); // Default Color replace_all(szMsg, 190, "!t", "^3"); // Team Color if (id) iPlayers[0] = id; else get_players(iPlayers, iCount, "ch"); { for(new iPlayer = 0; iPlayer < iCount; iPlayer++ ) { if( is_user_connected(iPlayers[iPlayer]) ) { message_begin(MSG_ONE_UNRELIABLE, msgSayText, _, iPlayers[iPlayer]); write_byte(iPlayers[iPlayer]); write_string(szMsg); message_end(); } } } } stock IsBlockMap(){ new got_line, line_num, len; new cfgdir[MAX_TEXT_LENGTH]; new cfgpath[MAX_TEXT_LENGTH]; new mapname[MAX_NAME_LENGTH]; new txt[MAX_TEXT_LENGTH]; get_localinfo("amxx_configsdir", cfgdir, charsmax(cfgdir)); get_mapname(mapname, MAX_NAME_LENGTH-1); format(cfgpath, MAX_TEXT_LENGTH, "%s/vipmenu_block_maps.ini", cfgdir); if (file_exists(cfgpath)) { got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len); while (got_line>0) { if (equali(txt, mapname)) return 1; line_num++; got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len); } } return 0; } stock bool: IsUserCool(const id){ if(!is_user_connected(id)) return false; if((get_user_flags(id) )) return true; return false; }
Trovare la differenza