Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Время до конца карты
Время до конца карты
daniil Дата: Вторник, 02.04.2013, 14:51:47 | Сообщение # 1
Сообщений: 100
Репутация: 0 [ +/- ]
Опираясь на basetriggers сделал так
Код

#include <sourcemod>

public OnPluginStart()
{
  RegConsoleCmd("time", time);
}

public Action:time(client, args)
{
  new timeleft;
  if (GetMapTimeLeft(timeleft))
  {
   new mins, secs;
   mins = timeleft / 60;
   secs = timeleft % 60;
   PrintToChatAll("До конца карты %d:%02d", mins, secs);
  }
}

но не понимаю этот момент:
mins = timeleft / 60;
secs = timeleft % 60;
%d:%02d
почему 02. почему timeleft % 60
Объясните

Добавлено (02.04.2013, 14:51:47)
---------------------------------------------
Объясните

 
Sunday Дата: Пятница, 05.04.2013, 23:10:22 | Сообщение # 2
Сообщений: 186
Репутация: 24 [ +/- ]
/ - Оператор деления.
% - Оператор деления с остатком. (формирует остаток от целочисленного деления)
%b - Передает в стоку целочисленный тип данных.

Добавлено (05.04.2013, 23:10:22)
---------------------------------------------
По поводу оператора деления с остатком, по подробнее:

new a = 24;
new b = 6 ;
new result;

result = (a + b) % 7; //result = 2

Как получилось 2? Все просто, складываем значения переменных, так как они в скобках и делим на 7. Мы получаем приблизительно 4,2. Если умножим 4 на 7, получим 28, ближайшее к 30 число. Если отнимем 30 от 28, получим тот самый остаток.



Сообщение отредактировал Sunday - Пятница, 05.04.2013, 22:44:32
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Время до конца карты
  • Страница 1 из 1
  • 1
Поиск: