Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Все о таймерах!

Статус
В этой теме нельзя размещать новые ответы.

White-RolePlay

Умник
Проьба администрацие тему не удалять, так как нету повода на удаления её




Здраствуйте пользователи!

Не нашел такого мануала о таймерах, думаю вам пригодится

Для тех кто незнал, для таймера всегда создается forward

Таймеры работают по принципу

PHP:
SetTimer(funcname[], interval, repeating);

Так вот теперь где funcname[] - Название функции которая вызывается
где interval - это время через которая сработает функция funcname[]
и где repeating - это обычно true или false, она отвечает за повтор таймера, будет повторятся - true, если же небудет то false

например как я говорил создаем forward

PHP:
forward Time();
теперь сам таймер можно вставить куда захочете, хоть в команду, хоть в любой паблик и т д!

я вставлю в


PHP:
public OnGameModeInit( )
{
    SetTimer("Time",5000,false); //если вместо false поставить true то тогда таймер будет повторяться каждые 5 сек
}

теперь сам паблик таймера


PHP:
public Time()
{
    print("Таймер сработал!");
}
Теперь как определить время таймера!

Каждая секунда = 1000 милисекунд! Тоесть я поставил таймер на 5 секунд и это равняется 5000 милисекунд, вот эти 5000 и вписываем в таймер!

--------------------------------------------------------------------

Теперь расмотрим остановка таймера

Это функция KillTimer
тоесть же
PHP:
KillTimer(timerid);
timerid это название таймера которое создасться вами с помошью переменной!

к примеру
PHP:
new timer;
форвард

PHP:
forward Time();
запускаем таймер

PHP:
public OnGameModeInit( )
{
    timer = SetTimer("Time",5000,false); //если вместо false поставить true то тогда таймер будет повторяться каждые 5 сек
}
паблик таймера

PHP:
public Time()
{
    print("Таймер сработал!");
    KillTimer(timer); //Отключаем таймер
}
заметьте что таймер уже находится в переменной timer (OnGameModeInit) и убили таймер мы функцией KillTimer(timer);



---------------------------------------------------------------------------------------
Теперь о функции SetTimerEx

Вот пример таймера

SetTimerEx (FuncName [], интервал, повторяя, строительства формате [], {Float, _}: ...)


теперь подрбнее

FuncName [] Имя функции общественного позвонить.
interval Интервал в миллисекундах (1 секунда = 1000 мс).
repeating Бывает (True / False (или 1/0)), который указывает,должен ли таймер быть вызван повторно (может быть остановлен только с KillTimer ) или только один раз.
format[] Специальный формат с указанием типов значений таймера пройдет.
{Float, _}: ... Неопределенное количество аргументов, которые передаются (должны следовать формат, указанный в предыдущих параметров).



Типы Параметров
Использование Описание
%b Вставка числа в двоичной системе счисления.
%c Вставка одного символа.
%d Вставка (целого) числа.
%f Вставка десятичного числа.
%i Вставка числа (integer).
%s Вставка строки.
%x Вставка числа в шестнадцатеричной системе счисления.
%% Вставка символа '%'



Пример таймера

PHP:
SetTimerEx("Time", 3000, false, "i", playerid);
как вы поняли таймер запускается по такому же методу почти что и обычный таймер SetTimer


также ещё возможен и такой вариант

PHP:
forward Time(second, msg[]);
 
public OnGameModeInit()
{
    print("Запуск таймера...");
    SetTimerEx("Time", 5000, false, "is", 7, "секунд пролетело");
}
 
public Time(second, msg[])
{
    printf("%i %s", second, msg); // "7 секунд пролетело" будет написано в консоли спустя 7 секунд
    return 1;
}
вы увидели is - это указывает что i - 7 а s - "секунд пролетело" так как i используется для чисел, а s для символов


на этом все, с вами был SULTAN
Тема будет дополняться!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу