Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 1 из 1
  1. #1
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±

    /settime - меняем время

    SETTIME

    Хаю-хай, хочу представить вам два простых варианта одной команды, которые меняют время как время для игроков, так и время абсолютно.

    • Этот вариант команды абсолютно меняет время на сервере и меняет внутриигровое время суток. Подробнее о функции settime() можно прочитать вот тут (перейти).
      Не сложно понять, но тут нам понадобится sscanf(). При его отсутствии скачать плагин можно здесь (перейти).

      PHP код:
      CMD:settime(playeridparams[])
      {
          const 
      SIZE_PACKED_STRING 31;
          const 
      AMOUNT_SIZE_TIME_STRING 9;

          new 
      hourseminutesseconds;
          if (
      sscanf(params, !"dD(-1)D(-1)"hourseminutesseconds))
          {
              
      SendClientMessage(playerid, -1,  !"Использование: /settime (0-23) (0-59) (0-59)");
              return 
      SendClientMessage(playerid, -1,  !"* использование минут и секунд не обязательно !");
          }
          if (
      minutes == -1)
              
      gettime(_minutes_);
          if (
      seconds == -1)
              
      gettime(__seconds);
          new 
      str_time[AMOUNT_SIZE_TIME_STRING];
          
      format(str_timesizeof(str_time), "%02d:%02d:%02d"hourseminutesseconds);
          if ((!(
      <= hourse <= 23) && (!(<= minutes <= 59)) && (!(<= seconds <= 59))))
              return 
      SendClientMessage(playerid, -1,  !"Ошибка в указании времени !");
          new 
      str[SIZE_PACKED_STRING] = !"Администратор ({48FC23}"name[MAX_PLAYER_NAME];
          
      GetPlayerName(playeridnamesizeof(name));
          
      strcat(strname);
          
      strcat(str, !"{ffffff}) сменил время на сервере. Текущее время: {48FC23}");
          
      strcat(strstr_time);
          
      strcat(str, !"{ffffff}.");
          
      SetWorldTime(hourse);
          
      settime(hourseminutesseconds);
          return 
      SendClientMessageToAll(-1str);

    • Этот вариант команды просто изменит внутриигровое время суток. Здесь я постарался писать без зависимостей.

      PHP код:
      CMD:settime(playeridparams[])
      {
          const 
      SIZE_PACKED_STRING 31;

          if (
      isnull(params))
              return 
      SendClientMessage(playerid, -1,  !"Использование: /settime (0-23)");
          
      // Если ввели не число - strval вернет ноль.
          // А магическое получение нуля никому не хочется :c.
          
      if (!('0' <= params[0] <= '9'))
              return 
      SendClientMessage(playerid, -1,  !"Ошибка в указании времени !");
          new 
      hourse strval(params);
          if (!(
      <= hourse <= 23))
              return 
      SendClientMessage(playerid, -1,  !"Время может быть в пределах 0-23 !");
          new 
      str[SIZE_PACKED_STRING] = !"Администратор ({48FC23}"name[MAX_PLAYER_NAME];
          
      GetPlayerName(playeridnamesizeof(name));
          
      strcat(strname);
          
      strcat(str, !"{ffffff}) сменил время на сервере. Текущее время: {48FC23}");
          
      strcat(strparams);
          
      strcat(str, !"{ffffff} час(а).");
          
      SetWorldTime(hourse);
          return 
      SendClientMessageToAll(-1str);



    Автор Anton Styazhkin (Untonyst).
    Всем бай-бай!
    Последний раз редактировалось Desulaid; 27.06.2016 в 13:03.

  2. Пользователь сказал cпасибо:
    Profyan (01.07.2016)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •