Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Таймер в меню

, помогите сделать таймер в нужном месте
Статус пользователя liroy
сообщение 26.4.2016, 14:39
Сообщение #1
Стаж: 10 лет

Сообщений: 28
Благодарностей: 1
Полезность: < 0

Доброго времени суток господа кулибины..

Прошу помощи с одним не сложным вопросом, надеюсь найдуться те кого не затруднит помочь решить мне такой момент:

помогите сделать так чтобы case 4 тобишь пункт скорость+невидимость был доступен только через 90 секунд от начала карты и если нажимался до того как истечет время выдавалось сообщение о том что осталось ждать N секунд.

Код:
#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};

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") /*Отлов начало раунда*/


register_clcmd("vipmenu","vipmenu") /*Вызов админменю*/
RegisterHam(Ham_Killed, "player", "killnoob") /*Отлов смерти игрока*/
register_event("CurWeapon", "WeaponChange", "be", "1=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(blockset[id][5] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id))
{
vipmenu(id)
}
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
}


буду очень признателен за помощь

ПС: что код - мусор я знаю, переделал как смог из обычного меню для паблика. не акцентируйте на этом внимание пожалуйста
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Unknown
сообщение 26.4.2016, 14:54
Сообщение #2
Стаж: 10 лет

Сообщений: 291
Благодарностей: 70
Полезность: < 0

лучше бы выложили исходник (сма файл)


Аткажитесъ от плагенов бес исходника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя APTEM
сообщение 26.4.2016, 15:13
Сообщение #3


Стаж: 10 лет

Сообщений: 165
Благодарностей: 49
Полезность: 203

liroy, Код:
#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 StartTimer;

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") /*Отлов начало раунда*/


register_clcmd("vipmenu","vipmenu") /*Вызов админменю*/
RegisterHam(Ham_Killed, "player", "killnoob") /*Отлов смерти игрока*/
register_event("CurWeapon", "WeaponChange", "be", "1=1") /*Отлов смены оружки*/

StartTimer = get_systime();
}

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(get_systime() - StartTimer < 90)
{
if(blockset[id][5] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id))
{
vipmenu(id)
}
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)
}
}
else
{
ChatColor(id, "^1[^4Сервер^1] ^3Функция доступная спустя^4 90 сек ^3от начала карты.");
}
}
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
}

stock ChatColor(const id, const szMessage[], any:...)
{
static pnum, players[32], szMsg[190], IdMsg;
vformat(szMsg, charsmax(szMsg), szMessage, 3);

if(!IdMsg) IdMsg = get_user_msgid("SayText");

if(id)
{
if(!is_user_connected(id)) return 0;
players[0] = id;
pnum = 1;
}
else get_players(players, pnum, "ch");

for(new i; i < pnum; i++)
{
message_begin(MSG_ONE, IdMsg, .player = players[i]);
write_byte(players[i]);
write_string(szMsg);
message_end();
}
return 1;
}


Личность творится не тем, что человек слышит и говорит, а трудом и деятельностью.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя liroy
сообщение 26.4.2016, 15:30
Сообщение #4
Стаж: 10 лет

Сообщений: 28
Благодарностей: 1
Полезность: < 0

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
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Unknown
сообщение 26.4.2016, 15:57
Сообщение #5
Стаж: 10 лет

Сообщений: 291
Благодарностей: 70
Полезность: < 0

У вас таск работает один раз.
Бедный сервер. Перестаньте износиловать павн выложите исходник возможно сделаю.


Аткажитесъ от плагенов бес исходника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 26.4.2016, 16:29
Сообщение #6


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Есть несколько вариантов реализации:
1. В функции выполнять проверку на время.
2. В функции выполнять проверку на время и в меню не выводить пункт 4
3. В функции выполнять проверку на время и в меню выводить пункт 4 неактивным.
4. В функции выполнять проверку на время и в меню выводить пункт 3 неактивным с пометкой что время вышло.


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя liroy
сообщение 26.4.2016, 17:33
Сообщение #7
Стаж: 10 лет

Сообщений: 28
Благодарностей: 1
Полезность: < 0

Цитата(Unknown @ 26.4.2016, 16:57) *
У вас таск работает один раз.
Бедный сервер. Перестаньте износиловать павн выложите исходник возможно сделаю.


а я что выложил ? я исходный код плагина и выложил

что значит таск работает один раз ?
мне и надо чтобы он работал один раз

ксдм + бесконечный раунд + фраглимит(получается победа)/таймлимит(не выиграл карту никто)
это для сентри мода!

задача стояла сделать задержку от начала карты по таймеру на использование определенного пункта меню я уже во всем разобрался и сделал сам
работает именно так как надо мне.
вот окончательный вариант может кому то пригодиться
Код:

case 4:
{
if((CheckFunc == 0) || blockset[id][5] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id))
{
set_dhudmessage(0, 255, 255, -1.0, 0.80, 0, 2.0, 2.0)
show_dhudmessage(id, "Еще недоступно! ЖДИ 2.5 мин от начала карты!")
vipmenu(id)
}
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)
}
}


единственное было бы еще здорово если бы кто то сказал еще как сделать так чтобы в пункте меню еще тикал таймер отсчета в скобочках
помимо дхуда - было бы супер

Отредактировал: liroy, - 26.4.2016, 17:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: