←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Sprawdzenie czy w danym dniu...


Najlepsza odpowiedź BlackPerfum 13.06.2014 14:40


i to pobiera numer dnia tygodnia licząc od 0 (poniedzialek).
Sprawdzam to dzi i pokazuje ze dzis jest piaty dzien (sobota). A to nieprawda. Czyli liczy od 1 tak?
Czy blednie rozumuje?
0-niedziela,1-poniedzialek,...,6-sobota Bodajże tak to idzie (ale 6 na pewno to sobota) :D

(Polecam ci użyć mojego sposobu bo 1-poniedzialek,...,7-niedziela :D)

Przejdź do postu
Zablokowany

  • +
  • -
Rivit - zdjęcie Rivit 12.06.2014

Witam.
Jak sprawdzic czy w danym dniu jest sobota?
Myslalem nad get_systime() zeby dodawac wartosc jaką stanowi tydzien ale to bez sensu. Wtedy musialbym zapisywac ta wartosc do pliku itd itp.

A jesli jest sobota to jak sprawdzic czy jesto godzina 2.00? Taskiem sprawdzac co jakis czas czy jak?
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 12.06.2014

date time
Odpowiedz

UTeam - zdjęcie UTeam 12.06.2014

@up

 

Czyli wystarczy zrobic cos takiego ?

new rok, miesiac, dzien;
date(rok, miesiac, dzien);

new godzin, minut, sekund;
new unix = time(godzin, minut, sekund);

Czyli na przykladzie Sobota 2:00 to bedzie tak ?

if(dzien == 6 && godzin == 2)
Odpowiedz

  • +
  • -
BlackPerfum - zdjęcie BlackPerfum 12.06.2014

Czyli wystarczy zrobic cos takiego ?

Nie gdyż dzień to jest dzień danego miesiąca (1-31) a nie tygodnia (1-7)

 

 

Do obliczenia dnia tygodnia możesz użyć algoytmu zeller'a :D

 

Funkcja oparta na nim:



ObliczDzienTygodnia(r,m,d)
{
	new x,y,q
	x = 1+(9+m)%12
	y = r-(x>10)
	q = y%100
	return (((13*x-1)/5+q+q/4+6*y/100+d+5)%7)+1
}

TwojaFunkcja()
{
	new rok, miesiac, dzien,h
	date(rok, miesiac, dzien)
	time(h)

	if(ObliczDzienTygodnia(rok,miesiac,dzien) == 6 && h == 2) // Jee jest teraz 2 godz w sobotę :D
}
Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 13.06.2014

Uzywam czegos takiego:
new szData[2];
   get_time("%w", szData, charsmax(szData));

   log_to_file(FILE, "%s", szData)
i to pobiera numer dnia tygodnia licząc od 0 (poniedzialek).
Sprawdzam to dzi i pokazuje ze dzis jest piaty dzien (sobota). A to nieprawda. Czyli liczy od 1 tak?
Czy blednie rozumuje?
Odpowiedz

  • +
  • -
Najlepsza odpowiedź BlackPerfum - zdjęcie BlackPerfum 13.06.2014


i to pobiera numer dnia tygodnia licząc od 0 (poniedzialek).
Sprawdzam to dzi i pokazuje ze dzis jest piaty dzien (sobota). A to nieprawda. Czyli liczy od 1 tak?
Czy blednie rozumuje?
0-niedziela,1-poniedzialek,...,6-sobota Bodajże tak to idzie (ale 6 na pewno to sobota) :D

(Polecam ci użyć mojego sposobu bo 1-poniedzialek,...,7-niedziela :D)

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 13.06.2014

Dobra. Pokombinuje jeszcze coś i napisze co jest co.

Ale dzis pokazuje 5 (piatek). Zobacze w niedziele
Odpowiedz

  • +
  • -
BlackPerfum - zdjęcie BlackPerfum 13.06.2014


Ale dzis pokazuje 5 (piatek). Zobacze w niedziele
Czyli jest tak jak napisałem
Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 26.06.2014

Niedziela - 0

Pon - 1

...

Sobota - 6

 

Odpowiedz
Zablokowany