Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Masquer les espaces
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Styles de texte
Modifier l’apparence
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
Untitled Diff
Créé
il y a 5 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
130 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
642 lignes
Copier tout
73 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
592 lignes
Copier tout
#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>
Copier
Copié
Copier
Copié
#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
"
Copier
Copié
Copier
Copié
#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;
Copier
Copié
Copier
Copié
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)
Copier
Copié
Copier
Copié
precache_sound("
IDEAL_VIP
/ideal_sound.wav");
precache_sound("
vipmenu
/ideal_sound.wav");
#endif
#endif
}
}
Copier
Copié
Copier
Copié
public plugin_init(){
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR);
register_plugin(PLUGIN, VERSION, AUTHOR);
Copier
Copié
Copier
Copié
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);
Copier
Copié
Copier
Copié
register_clcmd("vipmenu", "MainMenu");
register_clcmd("vipmenu", "MainMenu");
Copier
Copié
Copier
Copié
register_clcmd("say /
vip
menu", "MainMenu");
register_clcmd("say /
menu", "MainMenu");
register_clcmd("say_team /
vip
menu", "MainMenu");
register_clcmd("say_team /
menu", "MainMenu");
Copier
Copié
Copier
Copié
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");
Copier
Copié
Copier
Copié
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");
Copier
Copié
Copier
Copié
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];
Copier
Copié
Copier
Copié
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)
Copier
Copié
Copier
Copié
cvar_music
=
get_pcvar_num(register_cvar("amx_vipMusic", "1"));
cvar_music
=
get_pcvar_num(register_cvar("amx_vipMusic", "1"));
#endif
#endif
Copier
Copié
Copier
Copié
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));
Copier
Copié
Copier
Copié
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;
Copier
Copié
Copier
Copié
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;
Copier
Copié
Copier
Copié
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)
Copier
Copié
Copier
Copié
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:
{
{
Copier
Copié
Copier
Copié
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);
Copier
Copié
Copier
Copié
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);
Copier
Copié
Copier
Copié
show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name);
show_dhudmessage(0, "%L", id, "VIP_CONNECT1", name);
}
}
}
}
}
}
Copier
Copié
Copier
Copié
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);
Copier
Copié
Copier
Copié
}
}
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");
Copier
Copié
Copier
Copié
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)
{
{
Copier
Copié
Copier
Copié
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])
{
{
Copier
Copié
Copier
Copié
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";
}
}
Copier
Copié
Copier
Copié
#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)
Copier
Copié
Copier
Copié
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");
}
}
}
}
Copier
Copié
Copier
Copié
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);
Copier
Copié
Copier
Copié
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);
Copier
Copié
Copier
Copié
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);
Copier
Copié
Copier
Copié
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
Copier
Copié
Copier
Copié
{
{
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);
Copier
Copié
Copier
Copié
}
}
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));
Copier
Copié
Copier
Copié
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)
Copier
Copié
Copier
Copié
ChatColor(0, "%L", id, "VIP_AK47", string, szName);
ChatColor(0, "%L", id, "VIP_AK47", string, szName);
}
}
case 3:
case 3:
{
{
Copier
Copié
Copier
Copié
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)
Copier
Copié
Copier
Copié
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;
Copier
Copié
Copier
Copié
new i_Menu = menu_create("\
rЧто вы предпочитаете?
", "FirstMenu_Handler");
new i_Menu = menu_create("\
rIzberete Pistolet
", "FirstMenu_Handler");
Copier
Copié
Copier
Copié
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);
Copier
Copié
Copier
Copié
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);
Copier
Copié
Copier
Copié
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;
Copier
Copié
Copier
Copié
if((get_user_flags(id)
& vip_flag
))
if((get_user_flags(id)
))
return true;
return true;
return false;
return false;
Copier
Copié
Copier
Copié
}
}
Différences enregistrées
Texte d'origine
Ouvrir un fichier
#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; }
Texte modifié
Ouvrir un fichier
#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; }
Trouver la différence