Помощь по работе плагина

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
89
Реакции
6
Ошибка
Не могу добавить меню
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5234 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: Nov 3 2018 14:55:29
Built from: https://github.com/alliedmodders/amxmodx/commit/9eb1f42
Build ID: 5234:9eb1f42
Core mode: JIT+ASM32
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.4.0.668-dev
Build date: 09:47:42 Sep 29 2018 (1631)
Build from: https://github.com/dreamstalker/rehlds/commit/89be216
ReGamedll
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0cf2f70
Версия Metamod
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0cf2f70
Список метамодулей
[ 1] CStrike                 v1.9.0.5263  AMX Mod X Dev Team   running    
[ 2] dummy_csx v1.0 AGHL.RU Dev Team running
[ 3] ReAPI v5.19.0.211 Asmodai & s1lent running
[ 4] FakeMeta v1.9.0.5263 AMX Mod X Dev Team running
[ 5] MySQL v1.9.0.5263 AMX Mod X Dev Team running
[ 6] nVault v1.9.0.5263 AMX Mod X Dev Team running
[ 7] Ham Sandwich v1.9.0.5263 AMX Mod X Dev Team running
[ 8] Engine v1.9.0.5263 AMX Mod X Dev Team running
[ 9] ReAimDetector v0.2.2 ReHLDS Team running
[10] Fun 1.9.0.5263 AMX Mod X Dev Team running
Список плагинов
[  1] CSStatsX SQL            0.7.4+2     vserfreeman1337    aes_csstatsx_sq  running  
[ 2] Bypass Guard 1.0.1 vmx?! bypass_guard.am running
[ 3] Admin Loader 3.5 vneygomon admin_loader.am running
[ 4] FreshBans 1.4.2b vkanagava fresh_bans.amxx running
[ 5] Admin Chat 1.9.0.5263 vAMXX Dev Team adminchat.amxx running
[ 6] Admin Commands 1.9.0.5263 vAMXX Dev Team admincmd.amxx running
[ 7] Anti Flood 1.9.0.5263 vAMXX Dev Team antiflood.amxx running
[ 8] Commands Menu 1.9.0.5263 vAMXX Dev Team cmdmenu.amxx running
[ 9] Info. Messages 1.9.0.5263 vAMXX Dev Team imessage.amxx running
[ 10] Maps Menu v1.9.0.5263 AMXX Dev Team mapsmenu.amxx running
[ 11] Players Menu v1.9.0.5263 AMXX Dev Team plmenu.amxx running
[ 12] Plugin Menu v1.9.0.5263 AMXX Dev Team pluginmenu.amxx running
[ 13] Restrict Weapons v1.9.0.5263 AMXX Dev Team restmenu.amxx running
[ 14] TimeLeft v1.9.0.5263 AMXX Dev Team timeleft.amxx running
[ 15] Scrolling Message v1.9.0.5263 AMXX Dev Team scrollmsg.amxx running
[ 16] Admin Votes v1.9.0.5263 AMXX Dev Team adminvote.amxx running
[ 17] CS Misc. Stats v1.9.0.5263 AMXX Dev Team miscstats.amxx running
[ 18] CS Stats Logging v1.9.0.5263 AMXX Dev Team stats_logging.a running
[ 19] Stats Configuration v1.9.0.5263 AMXX Dev Team statscfg.amxx running
[ 20] [ReAPI] Healthnade v0.0.2 F@nt0M healthnade.amxx running
[ 21] Lite Translit v2.8 neygomon lite_translit_c running
[ 22] Map Manager v2.5.60 Mistrick mapmanager.amxx running
[ 23] Autoresponder/Advertis v0.5 MaximusBrood ad_manager.amxx running
[ 24] Rank Menu v0.1 h1k3 rankmenu.amxx running
[ 25] Demo Recorder v1.6 Sho0ter demorecorder.am running
[ 26] Parachute v1.0 maeStro parachute.amxx running
[ 27] Colored FITH ReAPI v1.2 CHEL74 colored_fith_an running
[ 28] ReAimDetector API v0.2.2 ReHLDS Team reaimdetector.a running
[ 29] Weapon Icon v1.2 hoboman313/Zenix weapon_icon.amx running
[ 30] GameName Changer v1.0.0 Nordic Warrior GameNameChanger running
[ 31] Reset Score v1.0 Silenttt resetscore.amxx running
[ 32] Menu v1.0 WaT_1 menu.amxx running
[ 33] Icon Color v1.0 AcE icon_color.amxx running
[ 34] [AMXX] Date and Time v0.2 ServerBy905 Team DateAndTime.amx running
[ 35] Change Team v1.1 neygomon changeteam.amxx running
[ 36] amxmodmenu_new v1.12 Russian MaFi9 menu2.amxx running
[ 37] VIPka v1.3.3 neygomon vip_system.amxx running
[ 38] New Plug-In v1.0 Kpoxa premium_menu.am running
[ 39] Weapon Skin System v0.6.0-50 Mistrick weapon_skin_sys running
[ 40] Kills Counter v1.0 Safety1st kills_counter.a running
[ 41] amxmodmenu_new v1.12 Russian MaFi9 amxmodmenu.amxx running
[ 42] SF Warn Menu v0.1.3 serfreeman1337 sf_admin_warns. running
[ 43] AMXX Gag v1.4.9 xPaw & Exolent amx_gag.amxx running
[ 44] Screen Shot Menu v1.2 Bonaqua | DimaS ss_menu.amxx running
[ 45] Teleport Menu v1.9.0.5235 AMXX Dev Team telemenu.amxx running
[ 46] Killa HP v1.6 jas0n killa_hp.amxx running
[ 47] Lite VoteBan v1.4 neygomon lite_voteban.am running
[ 48] mute v1.0 Aziz mute.amxx running
[ 49] Afk Control v0.5.1 neygomon afk_control.amx running
[ 50] Damager v2.0 Prayer damager.amxx running
[ 51] Admin-Check v5.5 p1Mp & S1n[L]Ss Admin-Check.amx running
[ 52] Ultimate Flags v29.10.19 by detu mou ultimate_flags. running
[ 53] Time Bonus v1.1 SKOBAR1K time_bonus.amxx running
[ 54] Top Round Damage v1.0.4 ReAP Dager* *.* -G- damage_round.am running
[ 55] [ReAPI] Custom Models v1.6.1 neugomon custom_models.a running
[ 56] say /me and /hp v0.3 neygomon say_me_and_hp.a running
[ 57] AES: StatsX Info Rank v0.1 serfreeman1337 aes_statsx_info running
[ 58] Steаm Bonus v1.0 Hypa_[KZ] steam_bonus.amx running
[ 59] Knives Shop v1.2 OverGame knives.amxx running
[ 60] [ReAPI] Top Awards v1.0 Dom1no_[KZ] Re_top_awards.a running
[ 61] unknown vunknown unknown show_changer_na running
[ 62] Blue Fade v0.1 Stimul blue_fade.amxx running
[ 63] ScoreBoard Title v1.0 xPaw ScoreBoardTitle running
[ 64] Advanced Experience Sy v0.5.9 [REA serfreeman1337/s aes_main.amxx running
[ 65] AES: StatsX v0.5.9 [REA serfreeman1337/s aes_statsx.amxx running
[ 66] AES: CStrike Addon v0.5.9 [REA serfreeman1337/s aes_exp_cstrike running
[ 67] AES: Informer v0.5.9 [REA serfreeman1337/s aes_informer.am running
[ 68] AES: Admin Tools v0.5.9 [REA serfreeman1337/s aes_exp_editor. running
[ 69] AES: Bonus System v0.5.9 Vega serfreeman1337/s aes_bonus_syste running
[ 70] AES: Bonus CSTRIKE v0.5.9.1 [R serfreeman1337/s aes_bonus_cstri running
70 plugins, 70 running
Автор плагина
neygomon
Версия плагина
1.3.3
Исходный код
#include <amxmodx>
#include <cstrike>
#include <fakemeta_util>
#include <hamsandwich>
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif

// #### Конфигурационные defines ####
#define VIP_ACCESS ADMIN_LEVEL_E // Флаг доступа VIP (по дефолту флаг "t" ADMIN_LEVEL_H)
#define CHATTAG "^3[^4Сервер^3]^4" // Префикс перед сообщениями || ^1 - желтый ^3 - цвет команды ^4 - зеленый
#define VIPROUND 2 // C какого раунда можно открыть вип меню
#define AWPM249RND 3 // С какого раунда доступны AWP и пулемет

#define ADDHP_HS 5 // Кол-во HP за убийство в голову
#define ADDHP 0 // Кол-во HP за убийство в тело
#define MAXHP 100 // Максимальное количество HP

#define AUTOVIPMENU // Автоматически открывать в начале рануда Вип меню (выключено по дефолту)
#define VIPAUTODEAGLE // В начале каждого раунда давать Дигл
#define VIPAUTOGRENADE // Давать в начале каждого раунда гранаты
#define VIPTAB // Показывать статус VIP в таблице на tab
// #### Конфигурационные defines ####

#define is_user_vip(%0) (get_user_flags(%0) & VIP_ACCESS)

new g_roundCount;

new bool:iUseWeapon[33], bool:bDefuse, bool:g_iBlockBonus;

new const PRIMARY_WEAPONS_BITSUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90);
new const SECONDARY_WEAPONS_BITSUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE);

new bool:iUserVip[33];

public plugin_init()
{
register_plugin("VIPka", "1.3.3", "neygomon");

register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w");
register_event("Damage","eventDamage","b","2!0","3=0","4!0");
register_event("DeathMsg","eventDeathMsg","a","1>0");
register_event("HLTV","eRoundStart","a","1=0","2=0");

#if defined VIPTAB
if(!engfunc(EngFunc_FindEntityByString,FM_NULLENT,"classname","func_vip_safetyzone"))
register_message(get_user_msgid("ScoreAttrib"),"MessageScoreAttrib");
#endif
if(engfunc(EngFunc_FindEntityByString,FM_NULLENT,"classname","func_bomb_target"))
bDefuse = true;

RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1);

register_clcmd("say /vipmenu", "CmdMenu");
register_clcmd("vipmenu", "CmdMenu");
register_clcmd("say", "hook_say");
register_clcmd("say_team", "hook_say");

register_menucmd(register_menuid("Vip Menu"), MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4, "handler");

new iMap_Name[32], iMap_Prefix[][] = { "awp_", "aim_", "35hp", "fy_" };
get_mapname(iMap_Name, charsmax(iMap_Name))
for(new i; i < sizeof iMap_Prefix; i++)
{
if(containi(iMap_Name, iMap_Prefix[i]) != -1)
g_iBlockBonus = true
}
}

public client_putinserver(id)
{
if(!is_user_vip(id)) return;
static name[32]; get_user_name(id, name, charsmax(name));
client_print_color(0, 0, "%s На сервер зашёл ^3VIP клиент ^1%s", CHATTAG, name);
}

public eRestart()
g_roundCount = 0;

public eRoundStart()
{
g_roundCount++;

arrayset(iUseWeapon, false, 33);
}

public eventDamage(id)
{
static attID; attID = get_user_attacker(id);
if(is_user_connected(attID) && iUserVip[attID])
{
set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
show_hudmessage(attID, "%i^n", read_data(2));
}
}

public eventDeathMsg()
{
static killerID; killerID = read_data(1);
if(iUserVip[killerID])
{
static killer_HP, addHP;
killer_HP = get_user_health(killerID);
addHP = ((read_data(3) == 1)) ? ADDHP_HS : ADDHP;
fm_set_user_health(killerID, ((killer_HP += addHP) > MAXHP)? MAXHP : killer_HP);
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1);
show_hudmessage(killerID, "Добавлено +%d HP", addHP);
}
}

public Player_Spawn(id)
{
if(g_iBlockBonus || !is_user_alive(id)) return 0;

if(is_user_vip(id)) iUserVip[id] = true;
else return iUserVip[id] = false;

#if defined VIPAUTOGRENADE
fm_give_item(id, "weapon_hegrenade");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_smokegrenade");
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
#endif
#if defined VIPAUTODEAGLE
give_item_ex(id,"weapon_deagle",35,1)
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
#endif
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
if(bDefuse && cs_get_user_team(id) == CS_TEAM_CT) cs_set_user_defuse(id, 1);

#if defined AUTOVIPMENU
return CmdMenu(id);
#else
return 0;
#endif
}

public hook_say(id)
{
static szMsg[128]; read_args(szMsg, 127); remove_quotes(szMsg);

if(szMsg[0] != '/') return 0;

static const szChoosedWP[][] = { "/ak47", "/m4a1", "/awp", "/b51" };
for(new a; a < sizeof szChoosedWP; a++)
{
if(!strcmp(szMsg, szChoosedWP[a]))
{
if(!is_allow_use(id)) break;
if(a > 1 && g_roundCount < AWPM249RND) return client_print_color(id, 0, "%s Данное оружие доступно только с^3 %d ^4раунда!", CHATTAG, AWPM249RND);
return handler(id, a);
}
}
return 0;
}

public CmdMenu(id)
{
if(!is_allow_use(id)) return 0;

static szMenu[512], iLen, iKey;

iKey = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2;
iLen = formatex(szMenu, 511, "\d< \y# \d> \wVIP Меню^n^n\d< \y1 \d> \wВзять AK47^n\d< \y2 \d> \wВзять M4A1^n");

if(g_roundCount < AWPM249RND)
iLen += formatex(szMenu[iLen], 511 - iLen, "\d< \y3 \d> \dВзять AWP \r[c %d раунда]^n\d< \y4 \d> \dВзять Пулемет \r[c %d раунда]^n^n", AWPM249RND, AWPM249RND);
else
{
iKey |= MENU_KEY_3|MENU_KEY_4;
iLen += formatex(szMenu[iLen], 511 - iLen, "\d< \y3 \d> \wВзять AWP^n\d< \y4 \d> \wВзять Пулемет^n^n");
}
formatex(szMenu[iLen], 511 - iLen, "\y0. \wВыход");
set_pdata_int(id, 205, 0);
return show_menu(id, iKey, szMenu, -1, "Vip Menu");
}

public handler(id, iKey)
{
if(iKey > 3 || iUseWeapon[id]) return 0;

static const szChoosedBP[] = { 90, 90, 30, 250 };
static const szChoosedWP[][] = { "weapon_ak47", "weapon_m4a1", "weapon_awp", "weapon_m249" };

iUseWeapon[id] = true;

return give_item_ex(id, szChoosedWP[iKey], szChoosedBP[iKey], 1);
}

stock give_item_ex(id,currWeaponName[],ammoAmount,dropFlag=0)
{
static weaponsList[32], weaponName[32], weaponsNum, currWeaponID;
currWeaponID = get_weaponid(currWeaponName);
if(dropFlag)
{
weaponsNum = 0;
get_user_weapons(id,weaponsList,weaponsNum);
for (new i;i < weaponsNum;i++)
{
if(((1 << currWeaponID) & PRIMARY_WEAPONS_BITSUM && (1 << weaponsList[i]) & PRIMARY_WEAPONS_BITSUM) | ((1 << currWeaponID) & SECONDARY_WEAPONS_BITSUM && (1 << weaponsList[i]) & SECONDARY_WEAPONS_BITSUM))
{
get_weaponname(weaponsList[i],weaponName,charsmax(weaponName));
engclient_cmd(id,"drop",weaponName);
}
}
}
fm_give_item(id,currWeaponName);
cs_set_user_bpammo(id,currWeaponID,ammoAmount);
return 1;
}

bool:is_allow_use(id)
{
if(!iUserVip[id])
{
client_print_color(id, 0, "%s ^3Только VIP-игрок ^4может пользоваться этой командой!", CHATTAG);
return false;
}
if(!is_user_alive(id))
{
client_print_color(id, 0, "%s Для использования данной команды вы должны быть ^3живы^4!", CHATTAG);
return false;
}
if(!g_roundCount)
{
client_print_color(id, 0, "%s Разминочный раунд. ^3Запрещено ^4пользоваться командой!", CHATTAG);
return false;
}
if(iUseWeapon[id])
{
client_print_color(id, 0, "%s Вы ^3уже брали ^4оружие в этом раунде!", CHATTAG);
return false;
}
if(g_roundCount < VIPROUND)
{
client_print_color(id, 0, "%s Оружия доступны только с^3 %d ^4раунда!", CHATTAG, VIPROUND);
return false;
}
return true;
}

#if defined VIPTAB
public MessageScoreAttrib(iMsgId, iDest, iReceiver)
{
static id; id = get_msg_arg_int(1);
if(is_user_vip(id) && !get_msg_arg_int(2))
{
set_msg_arg_int(2, ARG_BYTE, 4);
}
}
#endif
Ребят нужна помощь, можно ли в меню Vip добавить ещё один пункт который будет открывать другое меню(то есть как и в обычных менюшках)
Ну тип токого:
Len += formatex(menu[iLen], charsmax(menu) - iLen, "\y[2]. \wБан Меню^n")
keys |= MENU_KEY_2
case 1: client_cmd(id, "spec_ban")
Это просто пример!!!
Можно как-то в вип меню вставить ещё один пункт который будет открывать
 

Вложения

Ayk

Сообщения
763
Реакции
476
Помог
19 раз(а)
Ошибся разделом.
Тебе в "Заказы".
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу