[STOCK] is_current_time (HAPPY HOUR)

В този раздел можете да намерите полезни кодове и уроци свързани с PAWN скриптинга.
Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

[STOCK] is_current_time (HAPPY HOUR)

Мнение от OciXCrom » 19 Фев 2017, 20:07

С този код можете правилно да проверите дали в момента е активен happy hour или подобни събития.

Вариант 1: проверка само с час.

Код за потвърждение: Избери целия код

bool:is_current_time(const iStart, const iEnd)
{
    static iHour; time(iHour)
    return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour <= iEnd))
}
Пример за happy hour от 19:00 до 23:00:

Код за потвърждение: Избери целия код

if(bool:is_current_time(19, 23))
{
    // кодът тук...
}

Вариант 2: проверка с час и минути.

Код за потвърждение: Избери целия код

bool:is_current_time(const iStart, const iEnd)
{
	static const TIME_FORMAT[] = "%H:%M"

	new szTime[sizeof(TIME_FORMAT)]
	get_time(TIME_FORMAT, szTime, charsmax(szTime))
	replace(szTime, charsmax(szTime), ":", "")

	new iTime = str_to_num(szTime)

	return (iStart < iEnd ? (iStart <= iTime <= iEnd) : (iStart <= iTime || iTime <= iEnd))
}
Пример за happy hour от 19:30 до 01:45:

Код за потвърждение: Избери целия код

if(bool:is_current_time(1930, 145))
{
    // кодът тук...
}

Аватар
SmirnoffBG
Извън линия
Потребител
Потребител
Мнения: 267
Регистриран на: 27 Ное 2016, 19:43
Местоположение: nz
Се отблагодари: 77 пъти
Получена благодарност: 38 пъти
Обратна връзка:

Re: [STOCK] is_happy_hour

Мнение от SmirnoffBG » 19 Фев 2017, 23:56

А ако щастливият час е от 22 до 01 ще бачка ли щото други кодове на подобен принцип маи не бачкаха.
Днес преправих един чрез метода

Код за потвърждение: Избери целия код

 if(start < hour < krai) { }
и ако края е по малък от началото krai е +24 или ако чесът е по малък от края, :Д

Код за потвърждение: Избери целия код

if((get_end - get_start)>0){
		if(get_start < get_hour < get_end){
			if(!is_hfh_start)
				is_hfh_start = true
		}else is_hfh_start = falsе
} else {
		if( get_start < get_hour < get_end+24 || get_hour < get_end){ 
			if(!is_hfh_start)
				is_hfh_start = true
		}else is_hfh_start = false
}
El-Super Respawn = 87.121.54.85:27016
BG Trewa Respawn = 91.92.137.205:27015

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Re: [STOCK] is_happy_hour

Мнение от OciXCrom » 20 Фев 2017, 01:00

Какви неща си правил... Бачка си с всякакви часове. Точно за тази цел съм го направил, понеже доста хора го правят неправилно.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

[STOCK] is_current_time (HAPPY HOUR)

Мнение от OciXCrom » 26 Апр 2020, 15:47

Up. Добавил съм вариант и за проверка с минути.

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Полезни кодове/уроци”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 8 госта