• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Таймер

Redoreck

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

Вот так с помощью переменных передаем аргументы:

PHP:
new
    Marker_X[MAX_PLAYERS],
    Marker_Y[MAX_PLAYERS],
    Marker_Z[MAX_PLAYERS],

    Timer[MAX_PLAYERS] = {-1, ...}
;

stock GoToMark(playerid, Float: mX, Float: mY, Float: mZ){
    Marker_X[playerid] = mX;
    Marker_Y[playerid] = mY;
    Marker_Z[playerid] = mZ;
   
    if(Timer[playerid] != -1)
        KillTimer(Timer[playerid]);
   
    Timer[playerid] = SetTimerEx(!"@UPDATE_MARK", 100, true, !"i", playerid);
}

@UPDATE_MARK(playerid);
@UPDATE_MARK(playerid){
    new test_str[100];
   
    format(test_str, sizeof(test_str),
          "%.02f, %.02f, %.02f",
          Marker_X[playerid],
          Marker_Y[playerid],
          Marker_Z[playerid]
    );
    SendClientMessage(playerid, -1, test_str);
}
Или же так, без переменных, напрямую от аргументов таймера:
PHP:
new Timer[MAX_PLAYERS] = {-1, ...};

stock GoToMark(playerid, Float: mX, Float: mY, Float: mZ){
    if(Timer[playerid] != -1)
        KillTimer(Timer[playerid]);
       
    Timer[playerid] = SetTimerEx(!"@UPDATE_MARK", 100, true, !"ifff", playerid, mX, mY, mZ);
}

@UPDATE_MARK(playerid, Float: mX, Float: mY, Float: mZ);
@UPDATE_MARK(playerid, Float: mX, Float: mY, Float: mZ){
    new test_str[100];

    format(test_str, sizeof(test_str),
        "%.02f, %.02f, %.02f",
        mX,
        mY,
        mZ
    );
    SendClientMessage(playerid, -1, test_str);
}
 
Сверху Снизу