Skocz do zawartości
  • 0

Wysyłanie wiadomości po czasie


sula008

Pytanie

Witam, pisze skrypt podobny do Simple Region Market i napotkałem się z jednym problemem którego nie umiem rozwiązać, a mianowicie, jak sie robi region czasowy to po upływie czasu usuwa gracza z regiony i zmienia tabliczkę oraz wysyła graczowi ze jego region już nie jest jego i tu mam problem jak to zrobić że np po 7 dniach czy tam 3 (do ustawienia) wykonywało daną czynność, próbowałem kiedyś to zrobić kiedyś lecz się poddałem.

 

z góry dziękuje za odpowiedzi i oczywiście plusiki czy tam lajki będą za pomoc ;-)

Odnośnik do komentarza
Udostępnij na innych stronach

18 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Nie wiem, czy zadziała, ale przy zajmowaniu regionu dopisz

set {czas.region.%player%} to 0set {czas.region.%player%.bool} to true

a później

every 1 real day:    loop all players:    {czas.region.%loop.player%.bool} is true    add 1 to {czas.region.%loop-player%}    if {czas.region.%loop-player%} is 7:        set {czas.region.%loop-player%.bool} to false        #kod
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
every second:    "%now%" is "15:00:00":        loop all players:            {region.%loop-player%} is true:	            add 1 to {czasregionu.%loop-player%}                {czasregionu.%loop-player%} is 7: 		           set {region.%loop-player%} to false	                #Twoj Kod

Minusy:

Sprawdzanie nastąpi codziennie o 15, więc zalecałbym, dodanie komunikatu, żeby kupować po określonej godzinie, albo gdy gracz kupuje region set {czas.count.%player%} to now i wtedy tak kod:

every second:    loop all players:        "%now%" is "{czas.count.%loop-player%}":            {region.%loop-player%} is true:	            add 1 to {czasregionu.%loop-player%}                {czasregionu.%loop-player%} is 7:		        set {region.%loop-player%} to false	            #Twoj Kod
Edytowane przez PoweredDragon
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

zacząłem własnie prace nad tą częścią skriptu i jednak jest mały błąd "now" zapisywanie jest "data, godzina" więc tutaj nigdy "now" nie będzie sie równać z "{czas.count.%loop-player%}" bo będzie inna data :/

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

nie wiem czy zadziała ale zrobiłbym coś takiego 

set {_hotel} to nowsubtract 7 day from {_hotel}set {czas.count.%player%} to {_hotel}

Ustawiam czas potem odejmuje dni na ile będzie wynajęty np Hotel i chyba będzie działało :P jak myślisz?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Na początku skryptu dodaj:

every second:    set {zegar.czas} to subtext of "%now%" between 13 and 20

Sprawdzanie:

{czas.count.%loop-player%} is {zegar.czas}
efekt:
 
set {czas.count.%loop-player%} to {zegar.czas}
Edytowane przez PoweredDragon
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

To nie jest ważne, ale na przyszłość - to odliczanie które znaki ze zmiennej Now ma pobierać zmienna {czas.count.%player%}. Format zmiennej %now% to:

dd.MM.yyyy, HH.mm.ssDzień:Miesiąc:Rok Godzina:Minuta:Sekundad - 1d - 2. - 3M - 4M - 5. - 6y - 7y - 8y - 9y - 10, - 11<Spacja> - 12H -13H - 14. - 15m - 16m - 17. - 18s - 19s - 20

Pobiera poprostu czas spomiędzy "13" i "20" czyli od pierwszego "H" do ostatniego "s" :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Dzięki za wyjaśnienie, przyda się pewnie kiedyś i skrypta testowałem działa jak powinien więc do zamknięcia a Tobie PoweredDragon dałem plusiki :-)

 

tutaj cały kod który działa:

every 30 seconds:	clear {godzina}	set {godzina} to subtext of "%now%" between 13 and 20#^- Ustawia godzine co 30 sekund -^#every 31 seconds:	loop all players:		loop-player has permission "pg.rp":			{hotel.odliczanie.%loop-player%} is {godzina}:				{hotel.%loop-player%} is true:					add 1 to {hotel.czas.%loop-player%}					{hotel.czas.%loop-player%} is 3:						set {hotel.%loop-player%} to false						clear {hotel.czas.%loop-player%}						#dalszy kod do np usuwania tabliczki czy cos##^- Sprawdza czy godzina jest równa czasowi wykupienia hotelu sprawdzanie jest co 31 sekund aby się nie dublowało-^#command /qwerty [<text&gt]:	trigger:		if arg 1 is "1":			set {_zegar} to subtext of "%now%" between 13 and 20			set {hotel.%player%} to true			set {hotel.odliczanie.%player%} to {_hotel}			set {_displayname} to name of player			set {hotel.osoba.%player%} to {_displayname}#^- a tutaj np wykupienie hotelu czy cos -^# 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Automatycznie wygenerowana wiadomość.

Ten temat został zamknięty przez moderatora lub osobę, która posiada do tego uprawnienia.

Powód: @up

Jeżeli nie zgadzasz się z tą decyzją skontaktuj się z moderatorem, który zamknął ten temat.

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...