APTEM, спасибо что откликнулись АРТЕМ, скомпилил ваш код - но ничего не изменилось берется прям сразу
почитал матчасть, попытался разобраться сам (уже не впервый раз попытался :D)
сделал вот как то так
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta_util>
#define PLUGIN "vipmenu"
#define VERSION "1.0"
#define AUTHOR "Super VipMenu Creator"
#define VIP_FLAG ADMIN_LEVEL_H
#define ITEM1 0 //1 пункт будет доступен через 0 раунд
#define ITEM2 0 //2 пункт будет доступен через 0 раунд
#define ITEM3 0 //3 пункт будет доступен через 0 раунд
#define ITEM4 0 //4 пункт будет доступен через 0 раунд
#define ITEM5 0 //5 пункт будет доступен через 0 раунд
#define ITEM6 0 //6 пункт будет доступен через 0 раунд
#define ITEM7 0 //7 пункт будет доступен через 0 раунд
#define ITEM8 0 //8 пункт будет доступен через 0 раунд
#define ITEM9 0 //9 пункт будет доступен через 0 раунд
new KEYSMENU = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9);
new blockset[33][10]
new bool:adminpeed[33] = false;
new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18};
new CheckFunc;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("Menu", KEYSMENU, "MenuFunc"); /*Меню админки*/
register_event("ResetHUD", "ResetHUD", "be");
register_logevent("RoundStart", 2, "1=Round_Start") /*Отлов начало раунда*/
CheckFunc = 0
set_task(30.0,"func_on")
register_clcmd("vipmenu","vipmenu") /*Вызов админменю*/
RegisterHam(Ham_Killed, "player", "killnoob") /*Отлов смерти игрока*/
register_event("CurWeapon", "WeaponChange", "be", "1=1") /*Отлов смены оружки*/
}
public func_on()
{
CheckFunc = 1
}
public RoundStart()
{
for(new id = 1; id <= get_maxplayers(); id++)
{
if (!is_user_connected(id)) continue
for(new i;i < 9;i++)
{
if (!blockset[id][i]) continue
blockset[id][i]--
}
}
}
public killnoob(id)
{
adminpeed[id] = false;
}
public WeaponChange(id)
{
if(adminpeed[id])
{
set_user_maxspeed(id, 400.0)
}
}
/*===Админ Менюшка===*/
public vipmenu(id)
{
static menu[1024], len
len = 0
len = formatex(menu[len], charsmax(menu) - len, "VIP МЕНЮ^n^n");
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][1] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r1.\dВинтовка Мосина \rНедоступно^n" : "\r1.\wВинтовка Мосина^n", blockset[id][1])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][2] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r2.\dВИП ПИСТОЛЕТ \rНедоступно^n" : "\r2.\wВИП ПИСТОЛЕТ^n", blockset[id][2])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][3] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r3.\dЗОЛОТОЙ АКx2 \rНедоступно^n" : "\r3.\wЗОЛОТОЙ АКx2^n", blockset[id][3])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][4] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r4.\dЗОЛОТАЯ М4А1х2 \rНедоступно^n" : "\r4.\wЗОЛОТАЯ М4А1х2^n", blockset[id][4])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][5] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r5.\dСКОРОСТЬ+НЕВИДИМКА \rНедоступно^n" : "\r5.\wСКОРОСТЬ+НЕВИДИМКА^n", blockset[id][5])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][6] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r6.\dГРАВИТАЦИЯ \rНедоступно^n" : "\r6.\wГРАВИТАЦИЯ^n", blockset[id][6])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][7] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r7.\dВИП ЛАЗЕР [2ШТ] \rНедоступно^n" : "\r7.\wВИП ЛАЗЕР [2ШТ]^n", blockset[id][7])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][8] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r8.\dВзять ПКМ \rНедоступно^n" : "\r8.\wВзять ПКМ^n", blockset[id][8])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][9] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r9.\dВзять АКС 74у \rНедоступно^n" : "\r9.\wВзять АКС 74у^n", blockset[id][9])
len += formatex(menu[len], charsmax(menu) - len, "\r0.\yВыход");
show_menu(id, KEYSMENU, menu, -1, "Menu");
}
/*===Фукций и т.д===*/
public MenuFunc(id, key)
{
switch(key)
{
case 0:
{
if(blockset[id][1] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id) || client_cmd(id, "mosin"))
{
vipmenu(id)
}
else
{
}
}
case 1:
{
if(blockset[id][2] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id) || client_cmd(id, "give_skull1"))
{
vipmenu(id)
}
else
{
}
}
case 2:
{
if(blockset[id][3] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id) || client_cmd(id, "goldenak"))
{
vipmenu(id)
}
else
{
}
}
case 3:
{
if(blockset[id][4] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id) || client_cmd(id, "say /goldm4a1"))
{
vipmenu(id)
}
else
{
}
}
case 4:
{
if(CheckFunc == 0)
{
client_print(id,print_chat,"Еще не прошло 30 сек")
}
else
{
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 55)
set_user_maxspeed(id, 425.0)
client_cmd(id,"cl_forwardspeed 425") //снятия ограничения у игрока
client_cmd(id,"cl_backspeed 425") //снятия ограничения у игрока
client_cmd(id,"cl_sidespeed 425") //снятия ограничения у игрока
adminpeed[id] = true;
blockset[id][5]=ITEM5
vipmenu(id)
}
}
case 5:
{
if(blockset[id][6] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id))
{
vipmenu(id)
}
else
{
set_user_gravity(id, 0.5)
set_user_maxspeed(id, 400.0)
client_cmd(id,"cl_forwardspeed 400") //снятия ограничения у игрока
client_cmd(id,"cl_backspeed 400") //снятия ограничения у игрока
client_cmd(id,"cl_sidespeed 400") //снятия ограничения у игрока
adminpeed[id] = true;
blockset[id][6]=ITEM6
vipmenu(id)
}
}
case 6:
{
if(blockset[id][7] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id) || client_cmd(id, "laser_h"))
{
vipmenu(id)
}
else
{
}
}
case 7:
{
if(blockset[id][8] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id) || client_cmd(id, "give_pkm"))
{
vipmenu(id)
}
else
{
}
}
case 8:
{
if(blockset[id][9] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id) || client_cmd(id, "give_aks74u"))
{
vipmenu(id)
}
else
{
}
}
}
}
public ResetHUD(id)
{
set_task(0.5, "VIP", id + 6910)
}
public VIP(TaskID)
{
new id = TaskID - 6910
if (get_user_flags(id) & VIP_FLAG)
{
for (new i = 0; i < 6; i++)
{
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
give_item( id,"weapon_hegrenade" )
give_item( id, "weapon_flashbang" );
give_item( id, "weapon_flashbang" );
give_item( id, "weapon_smokegrenade" );
give_item( id, "item_assaultsuit" );
// give_item( id, "item_thighpack" );
// give_item( id, "weapon_deagle")
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
}
}
return PLUGIN_HANDLED
}
все получилось именно так как надо мне - но мне почемуто кажется что это какое то тупое решение я придумал =)
Отредактировал: liroy, - 26.4.2016, 15:31