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

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

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

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

Ограничение в использовании ножа

, Описание ниже
Статус пользователя Captain
сообщение 25.8.2016, 15:56
Сообщение #1
Стаж: 12 лет

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

Доброго времени суток. Обращаюсь к вам за помощью. Хотелось бы сделать так, чтобы 6-ой нож по списку возможно было брать только с 18:00 до 09:00. Пытался сам сделать это. Нашёл вроде как подходящие куски кода из других плагинов:

new Hours[3], HourWork[18] = {18,19,20,21,22,23, 00, 1, 2, 3, 4, 5, 6, 7, 8}
get_time("%H", Hours, sizeof(Hours)-1)

Помогите пожалуйста. Буду очень благодарен.

Прикрепленный файл  zp_addon_knife.sma ( 29,57 килобайт ) Кол-во скачиваний: 7




Думаю что здесь надо дописать код...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Captain
сообщение 25.8.2016, 18:51
Сообщение #2
Стаж: 12 лет

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

В plugin_init добавляю:
new CurrentTime[32]

get_time("%H",CurrentTime,31)

new num = str_to_num( CurrentTime )


Дальше так:

Код
public buy_knife6(id)
{
        if( (18 <= num <= 24) || ( 00 <= num <= 9 ) )
        {
                g_KNIFE1[id] = false
                g_KNIFE2[id] = false
                g_KNIFE3[id] = false
                g_KNIFE4[id] = false
                g_KNIFE5[id] = false
                g_KNIFE6[id] = true
                g_hasSpeed[id] = true

                engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

        }
        else
        {
                client_cmd(id, "/knife")
                ChatColor(id, "^4[ZP] ^1Вы не можете взять этот нож!")
        }
}


Вопрос. Почему всё равно не работает?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
csuser
сообщение 25.8.2016, 19:40
Сообщение #3
Стаж: 9 лет 10 месяцев

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

писать надо проще )))
if( (num>= 18) || (num <= 9 ) )
и перед условием выведите текстом для контроля, что там в этой num
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Captain
сообщение 25.8.2016, 19:42
Сообщение #4
Стаж: 12 лет

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

При компиляции ошибка. Именно в num

Отредактировал: Captain, - 25.8.2016, 19:42
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
csuser
сообщение 25.8.2016, 19:47
Сообщение #5
Стаж: 9 лет 10 месяцев

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

И учтите plugin_init выполняется разово, поэтому время будет обновляться только при смене карты.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Captain
сообщение 25.8.2016, 19:49
Сообщение #6
Стаж: 12 лет

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

Цитата(csuser @ 25.8.2016, 20:47) *
И учтите plugin_init выполняется разово, поэтому время будет обновляться только при смене карты.

а как тогда быть?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 26.8.2016, 16:41
Сообщение #7


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

Стаж: 16 лет

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

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

Код:

public buy_knife6(id)
{
new hour, minute, secound;
time(hour,minute,secound);

if (9 <= hour <= 18)
{
client_cmd(id, "/knife")
ChatColor(id, "^4[ZP] ^1Вы не можете взять этот нож!")
}
else
{
g_KNIFE1[id] = false
g_KNIFE2[id] = false
g_KNIFE3[id] = false
g_KNIFE4[id] = false
g_KNIFE5[id] = false
g_KNIFE6[id] = true
g_hasSpeed[id] = true

engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
csuser
сообщение 26.8.2016, 17:01
Сообщение #8
Стаж: 9 лет 10 месяцев

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

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