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

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

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

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

Ограничение функции по времени

Статус пользователя DRIVE37
сообщение 10.11.2016, 17:17
Сообщение #1


Стаж: 11 лет

Сообщений: 146
Благодарностей: 14
Полезность: 69

Привет всем, подскажите пожалуйста, как можно ограничить пункт (кейс) в меню по времени, к примеру минут на 5 ? Т.е нажал на этот пункт, следующее нажтие будет доступно через 5 минут и так по кругу. Спасибо заранее.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Bloo
сообщение 10.11.2016, 17:26
Сообщение #2


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

DRIVE37, я конечно нихрена в этом не понимаю, но таском же можно?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя DRIVE37
сообщение 10.11.2016, 17:31
Сообщение #3


Стаж: 11 лет

Сообщений: 146
Благодарностей: 14
Полезность: 69

Цитата(Bloo @ 10.11.2016, 18:26) *
DRIVE37, я конечно нихрена в этом не понимаю, но таском же можно?

Можно, я уже думал об этом, но это не совсем правильно, да и к тому же хотелось бы чтобы игрока оповещало когда он нажмет на пункт (Пункт будет доступен через % секунд), с таском такое не провернешь
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 10.11.2016, 17:55
Сообщение #4


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

используй
get_systime()

1. записываешь время первого вызова функции
2. проверяешь прошедшее время путем сравнения (записанного времени + 5*60) >= get_systime()

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя DRIVE37
сообщение 13.11.2016, 19:12
Сообщение #5


Стаж: 11 лет

Сообщений: 146
Благодарностей: 14
Полезность: 69

Не стал создавать новую тему, нашел код ограничения, все работает, но только он действует для всех, как сделать чтобы он действовал только для того игрока, который выбрал пункт с этим ограничением? Заранее спасибо.

Код:
static iNextTime
new iSystime = get_systime()
new iRemaining = iNextTime - iSystime





case 0:
{
if( iRemaining > 0 )
{
Color_Print(id, "%s !yКоманда будет недоступна еще^4 %d ^3Секунд!y!", PREFIX, iRemaining)
return PLUGIN_HANDLED
}

if(is_user_alive(id))
{
new iLimit = 300
iNextTime = iSystime + iLimit

Color_Print(id, "%s !yКоманда будет недоступна^4 %d ^3Секунд!y!", PREFIX, iLimit)

g_szInvisPlayer[id] = true
Color_Print(id, "%s !tИгрок!g %s !tВключил !gПрозрачность !y:)", PREFIX, name)
} else Color_Print(id, "%s !yВы должны быть !tЖивы !y!", PREFIX)

return PLUGIN_HANDLED
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 13.11.2016, 22:56
Сообщение #6


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

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