Skocz do zawartości
  • 0

auto wiadomosci


Bartek123344

Pytanie

every {@czas} seconds:
    if {autoMessage::%player%} = false:
        stop
    else:
        {auto.spam} is 0:
            send "" to all players

ogolnie to chcialbym aby gracz mogl wylaczyc lub wlaczyc automatycznie wiadomosci lecz nie zabardzo wiem jak to sie robi c - :

Odnośnik do komentarza
https://skript.pl/temat/57388-auto-wiadomosci/
Udostępnij na innych stronach

4 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Jak juz tutaj napisalem to nie bede tworzyc nastepnego tematu
Jak moge zmienic: https://imgur.com/HQDjbSi aby zamiast seconds pisalo sekundy
kod: 

	cooldown: 60 seconds
	cooldown message: &cPoczekaj &f%remaining time%&c aby znowu napisac na helpopie
	trigger:

 

Odnośnik do komentarza
https://skript.pl/temat/57388-auto-wiadomosci/#findComment-341771
Udostępnij na innych stronach

  • 0
16 godzin temu, Bartek123344 napisał:

ogolnie to chcialbym aby gracz mogl wylaczyc lub wlaczyc automatycznie wiadomosci lecz nie zabardzo wiem jak to sie robi c - :

Implementacja takiego mechanizmu nie jest trudna, zresztą Pan ma już paradoksalnie lwią część wymaganego kodu. Wystarczy jedynie dodać kod jakiejś komendy, która zmieniałaby wartość zmiennej {autoMessage::%player%}.
Udostępniam poniżej przykład komendy umożliwiającej przełączanie pojawiania się automatycznych wiadomości na czacie.

command /toggleautomsg:
	executable by: players
	trigger:
		if {autoMessage::%player%} is true:
			set {autoMessage::%player%} to false
			send "Automatyczne wiadomości wyłączone." to player
			stop
		set {autoMessage::%player%} to true
		send "Automatyczne wiadomości włączone." to player

 

16 godzin temu, Bartek123344 napisał:

Jak juz tutaj napisalem to nie bede tworzyc nastepnego tematu
Jak moge zmienic: https://imgur.com/HQDjbSi aby zamiast seconds pisalo sekundy

Chciałbym zaznaczyć, że rozszerzanie tego wątku o kolejne pytanie miałoby sens tylko jeśli oba pytania dotyczyłyby tej samej sprawy. W tej sytuacji było to zbyteczne, gdyż przedstawił Pan dwa różne problemy.

Wracając do meritum, w tym przypadku niemożliwym jest przetłumaczenie "seconds" na "sekundy". Dla potwierdzenia mojej tezy można spróbować wstawić do pola "cooldown message" wywołanie jakiejs funkcji tłumaczącej timespan %remaining time%.

Jak więc można sobie z tym poradzić? Tutaj zalecam skonstruować samemu mechanizm cooldownu dla graczy - przykład poniżej.

command /komenda:
	executable by: players
	trigger:
		if {cooldowns::komenda::%player%} is set:
			set {_t} to difference between {cooldowns::komenda::%player%} and now
			if {_t} is less than 1 minute:
				send cooldownMessage(player, {_t})
				stop
		set {cooldowns::komenda::%player%} to now
		# dalszy kod

Funkcja cooldownMessage mogłaby zwracać wiadomość o cooldownie dla gracza z przetłumaczonymi jednostkami czasu. Takie tłumaczenie można zrealizować za pomocą instrukcji "replace" - odsyłam do dokumentacji.

Jeśli nie chce Pan samemu od podstaw tworzyć systemu cooldownów, polecam skrypt AxCooldown.

Odnośnik do komentarza
https://skript.pl/temat/57388-auto-wiadomosci/#findComment-341784
Udostępnij na innych stronach

  • 0
W dniu 19.04.2024 o 16:40, Kormic napisał:
W dniu 18.04.2024 o 23:33, Bartek123344 napisał:

ogolnie to chcialbym aby gracz mogl wylaczyc lub wlaczyc automatycznie wiadomosci lecz nie zabardzo wiem jak to sie robi c - :

Implementacja takiego mechanizmu nie jest trudna, zresztą Pan ma już paradoksalnie lwią część wymaganego kodu. Wystarczy jedynie dodać kod jakiejś komendy, która zmieniałaby wartość zmiennej {autoMessage::%player%}.
Udostępniam poniżej przykład komendy umożliwiającej przełączanie pojawiania się automatycznych wiadomości na czacie.

command /toggleautomsg:
	executable by: players
	trigger:
		if {autoMessage::%player%} is true:
			set {autoMessage::%player%} to false
			send "Automatyczne wiadomości wyłączone." to player
			stop
		set {autoMessage::%player%} to true
		send "Automatyczne wiadomości włączone." to player

Ogolnie to bardziej mi chodzilo o to ze wystepuje mi blad podlczas sk relaod
https://imgur.com/a/uxZbgkZ
 

every {@czas} seconds:
    if {autoMessage::%player%} = false:
        stop
    else:
        {auto.spam} is 0:
            send "" to all players

 

Odnośnik do komentarza
https://skript.pl/temat/57388-auto-wiadomosci/#findComment-341840
Udostępnij na innych stronach

  • 0
Godzinę temu, Bartek123344 napisał:

Ogolnie to bardziej mi chodzilo o to ze wystepuje mi blad podlczas sk relaod
https://imgur.com/a/uxZbgkZ

Błąd wprost mówi Panu, że w zdarzeniach typu "periodical" (na przykład "every x seconds:") nie ma informacji o graczu, gdyż jest to fragment kodu wykonujący się co jakiś czas. Jeśli Pan chce odnieść się do jakiegoś gracza, musi Pan zapętlić wszystkich graczy i dla każdego z nich sprawdzać wartość zmiennej {autoMessage::%loop-player%}.

Zamiast tego można jednak podejść do problemu nieco inaczej. W tej sytuacji estetyczniejszym rozwiązaniem będzie stworzenie listy graczy, którzy włączyli automatyczne wiadomości na czacie, a następnie wysyłanie do nich wiadomości. Przykład poniżej.

every 10 seconds:
	send "Wiadomość." to {autoMessage::players::*}

Do takiej listy wystarczy, że Pan będzie zapisywał tych graczy, bądź z niej usuwał jeśli wyłączą sobie ów wiadomości. Przełączanie opcji ich wysyłania można zaimplementować przy użyciu wcześniej wysłanej przeze mnie komendzie /toggleautomsg, którą należy nieco zmodyfikować.

Odnośnik do komentarza
https://skript.pl/temat/57388-auto-wiadomosci/#findComment-341841
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

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