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

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

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

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

[Zp 4.3] Extra Items | Ограничение на покупку по времени. (Лимит)

Статус пользователя uya1999
сообщение 9.5.2020, 14:05
Сообщение #1
Стаж: 3 года 10 месяцев

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

Добрый день, подскажите как сделать ограничение на покупку предмета в [Extra Items] по времени.
К примеру: Можно купить "Buy HP!" 1 раз, в 60 секунд.
Если игрок пытается купить "Buy HP!" не дождавшись окончания лимита на покупку, то ему в чат выводит сообщение с цветным текстом о том, что необходимо подождать "n" секунд.
Значение "n" меняется в зависимости от того, сколько времени осталось до следующей покупки.
Лимит на покупку у каждого игрока свой.
То есть, если "Игрок№1" купил предмет, то его покупка никак не влияет на покупку того же предмета "Игроку№2"

Если можно, подскажите на примере этого Плагина:
Прикрепленный файл  zp_buy_health_points.sma ( 750 байт ) Кол-во скачиваний: 36

Прикрепленные файлы:
Прикрепленный файл  zp_buy_health_points.sma ( 750 байт ) Кол-во скачиваний: 29
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя SelmarT
сообщение 12.5.2020, 21:00
Сообщение #2
Стаж: 5 лет 5 месяцев

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

Код:

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>

#define MAX_CLIENTS 32

new Float:g_fNextItemUse[MAX_CLIENTS + 1];

new g_iItemIdHealth;
new g_pTimeWait, g_pHealth;

public plugin_init()
{
register_plugin("[ZP] Buy Health Points", "1.0", "Night_Guest");

g_pTimeWait = register_cvar("zp_time_wait", "20.0");
g_pHealth = register_cvar("zp_buy_health", "1000.0");

g_iItemIdHealth = zp_register_extra_item("Buy HP!", 10, ZP_TEAM_ZOMBIE);
}

public zp_extra_item_selected(id, itemid)
{
if(itemid != g_iItemIdHealth)
return PLUGIN_HANDLED;

if(!is_user_alive(id))
return ZP_PLUGIN_HANDLED;

new Float:fCurrentTime = get_gametime();

if(g_fNextItemUse[id] > fCurrentTime)
{
client_print(id, print_chat, "Для покупки необходимо подождать %.0f сек.", g_fNextItemUse[id] - fCurrentTime);
return ZP_PLUGIN_HANDLED;
}

g_fNextItemUse[id] = fCurrentTime + get_pcvar_float(g_pTimeWait);

set_pev(id, pev_health, pev(id, pev_health) + get_pcvar_float(g_pHealth));

return PLUGIN_HANDLED;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SelmarT
сообщение 14.5.2020, 21:46
Сообщение #3
Стаж: 5 лет 5 месяцев

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

P.S Автор кода я указал Night_Guest так как это мой новый ник
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ghuf
сообщение 17.8.2021, 19:58
Сообщение #4
Стаж: 2 года 7 месяцев

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

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