Skocz do zawartości
  • 0
ZelekCraft

Kod na czacie

Pytanie

Użytkownik

Cześć,

Ostatnio spotkałem się z pewną ciekawą rzeczą na jednym z serwerów, mianowicie chodzi o kod na czacie. Nie jest to zwykły kod, po wpisaniu komendy /kod ABC123 pojawia się na czacie czas w jakim pierwsza osoba go przepisała. Teraz pytanie, czy da się zrobić coś takiego w skrypcie i czy da się zrobić "topke" z czasami? Jeśli tak to w jaki sposób?

Z góry dziękuję za pomoc, z poważaniem ZelekCraft

 

P.S. Nie byłem pewien, w którym dziale to umieścić, czy w zleceniach czy problemach, jakby co przepraszam za błąd.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Użytkownik
  • 0
2 godziny temu, ZelekCraft napisał:

Teraz pytanie, czy da się zrobić coś takiego w skrypcie i czy da się zrobić "topke" z czasami? Jeśli tak to w jaki sposób?

Tak da się zrobić coś takiego w Skript, tak da się zrobić topkę z najlepszymi czasami. A robisz to mój drogi w taki sposób:

  • tworzysz sobie (najlepiej) dwie komendy:
    • jedną, która będzie dla administratora aby mógł wysłać swój (lub losowy) kod na chat
    • drugą, dla graczy, aby mogli wpisywać kod.
  • przy wysyłaniu kodu potrzebujesz dwie rzeczy:
    • owy kod zawarty w zmiennej tekstowej
    • zmienną zawierającą aktualny dla danej chwili czas
  • podczas wpisania przez gracza komendy z kodem sprawdzasz czy jego kod = twój kod ze zmiennej:
    • jeżeli tak:
      • nagradzasz gracza
      • sprawdzasz różnicę czasów między zmienną z czasem wysłania a czasem wpisania poprawnego kodu przez gracza
      • każdy z graczy potrzebuje swoją własną zmienną z najlepszym czasem przy przepisywaniu, jeżeli zmienna istnieje to sprawdzasz czy nowa wartość jest mniejsza niż stara i wtedy ją podmieniasz
    • jeżeli nie:
      • nie dzieje się nic
  • topka będzie wyglądać tak samo jak każda inna z tym wyjątkiem że tutaj użyjesz sobie zmiennej z czasem, a nie jak w większości z liczbą.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
12 godzin temu, LuckyPotato napisał:

Tak da się zrobić coś takiego w Skript, tak da się zrobić topkę z najlepszymi czasami. A robisz to mój drogi w taki sposób:

  • tworzysz sobie (najlepiej) dwie komendy:
    • jedną, która będzie dla administratora aby mógł wysłać swój (lub losowy) kod na chat
    • drugą, dla graczy, aby mogli wpisywać kod.
  • przy wysyłaniu kodu potrzebujesz dwie rzeczy:
    • owy kod zawarty w zmiennej tekstowej
    • zmienną zawierającą aktualny dla danej chwili czas
  • podczas wpisania przez gracza komendy z kodem sprawdzasz czy jego kod = twój kod ze zmiennej:
    • jeżeli tak:
      • nagradzasz gracza
      • sprawdzasz różnicę czasów między zmienną z czasem wysłania a czasem wpisania poprawnego kodu przez gracza
      • każdy z graczy potrzebuje swoją własną zmienną z najlepszym czasem przy przepisywaniu, jeżeli zmienna istnieje to sprawdzasz czy nowa wartość jest mniejsza niż stara i wtedy ją podmieniasz
    • jeżeli nie:
      • nie dzieje się nic
  • topka będzie wyglądać tak samo jak każda inna z tym wyjątkiem że tutaj użyjesz sobie zmiennej z czasem, a nie jak w większości z liczbą.

Nie rozumiem, nie potrafię tego napisać :/ Gdybym to rozumiał nie pisałbym tematu na tym forum... Mógłbyś napisać mi coś takiego czy jest to zbyt skomplikowane? A i chyba się nie zrozumieliśmy, mi chodziło o kod, który wyświetla się na czacie co na przykład 10 minut i ten kto go pierwszy przepisze dostaje nagrodę plus do tego jego czas wyświetla się na czacie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
variables:
    {kod} = 0
    {wr} = true
    {akod} = false
options:
    # Tag wiadomosci
    tag: &b&lNR&a&lworld
    # Wiadomosc informujaca o kodzie
    msg1: &7&k:&3&lNine&6&lkod&7&k: &9&lNowy kod Szybko wpisoj! &3&l/kod &c&l%{kod}%
    # Wiadomosc gdy nikt nie przepisze kodu
    msg2: &7&k:&3&lNine&6&lkod&7&k: &9&lNikt nie przepisal kodu, kolejny za &c&n10 minut!
    # Wiadomosc gdy aktualnie nie ma kodu do przepisania
    msg3: &7&k:&3&lNine&6&lkod&7&k: &9&lNie ma zadnego kodu!
    # Wiadomosc gdy gracz przepisze kod
    msg4: &7&k:&3&lNine&6&lkod&7&k: &9&lGracz &f%name of player%&2 &9&lpierwszy przepisal/a kod!
    &7&k:&b&lNR&a&lworld&7&k:  &9&lWiadomosc gdy kod jest nieprawidlowy
    msg5: &7&k:&3&lNR&6&lkod&7&k: &9&lKod jest nieprawidlowy!
    # Ilosc itemu ktora ma dac po wpisaniu kodu
    ilosc: 1
    # Item ktory ma dac np kox lub diax
    item: golden apple
    # Czas w minutach co jaki ma losowac kod
    czas: 20
every {@czas} seconds:
    set {wr} to true
    set {akod} to true
    set {a} to a random integer between 0 and 9
    set {b} to a random integer between 0 and 9
    set {c} to a random integer between 0 and 9
    set {d} to a random integer between 0 and 9
    set {e} to a random integer between 0 and 9
    set {f} to a random integer between 0 and 9
    set {g} to a random integer between 0 and 9
    set {h} to a random integer between 0 and 9
    set {i} to a random integer between 0 and 9
    set {kod} to "%{a}%%{b}%%{c}%%{d}%%{e}%%{f}%%{g}%%{h}%%{i}%"
    broadcast "{@msg1}"
    wait 1 minute
    if {wr} is true:
        broadcast "{@msg2}"
        set {akod} to false
 
command /kod [<text>]:
    trigger:
        arg 1 is empty:
            if {akod} is true:
                send "&7&k:&3&lNR&a&lworld&7&k: &cUzyj /kod <kod>"
            if {akod} is false:
                send "{@msg3}"
        arg 1 is "%{kod}%":
            if {akod} is false:
                send "{@msg3}"
            if {akod} is true:
                set {wr} to false
                broadcast "{@msg4}"
                add {@ilosc} {@item} to player
                set {akod} to false
        arg 1 is not "%{kod}%":
            if {akod} is false:
                send "{@msg3}"
            if {akod} is true:
                send "{@msg5}"
	
on chat:
    if {przepisz} is true:
        message is "%{_kod}%":
            cancel event
            set {przepisz} to false
            send "%player% wygral przepisujac kod" to all players

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
6 godzin temu, Legal95 napisał:
variables:
    {kod} = 0
    {wr} = true
    {akod} = false
options:
    # Tag wiadomosci
    tag: &b&lNR&a&lworld
    # Wiadomosc informujaca o kodzie
    msg1: &7&k:&3&lNine&6&lkod&7&k: &9&lNowy kod Szybko wpisoj! &3&l/kod &c&l%{kod}%
    # Wiadomosc gdy nikt nie przepisze kodu
    msg2: &7&k:&3&lNine&6&lkod&7&k: &9&lNikt nie przepisal kodu, kolejny za &c&n10 minut!
    # Wiadomosc gdy aktualnie nie ma kodu do przepisania
    msg3: &7&k:&3&lNine&6&lkod&7&k: &9&lNie ma zadnego kodu!
    # Wiadomosc gdy gracz przepisze kod
    msg4: &7&k:&3&lNine&6&lkod&7&k: &9&lGracz &f%name of player%&2 &9&lpierwszy przepisal/a kod!
    &7&k:&b&lNR&a&lworld&7&k:  &9&lWiadomosc gdy kod jest nieprawidlowy
    msg5: &7&k:&3&lNR&6&lkod&7&k: &9&lKod jest nieprawidlowy!
    # Ilosc itemu ktora ma dac po wpisaniu kodu
    ilosc: 1
    # Item ktory ma dac np kox lub diax
    item: golden apple
    # Czas w minutach co jaki ma losowac kod
    czas: 20
every {@czas} seconds:
    set {wr} to true
    set {akod} to true
    set {a} to a random integer between 0 and 9
    set {b} to a random integer between 0 and 9
    set {c} to a random integer between 0 and 9
    set {d} to a random integer between 0 and 9
    set {e} to a random integer between 0 and 9
    set {f} to a random integer between 0 and 9
    set {g} to a random integer between 0 and 9
    set {h} to a random integer between 0 and 9
    set {i} to a random integer between 0 and 9
    set {kod} to "%{a}%%{b}%%{c}%%{d}%%{e}%%{f}%%{g}%%{h}%%{i}%"
    broadcast "{@msg1}"
    wait 1 minute
    if {wr} is true:
        broadcast "{@msg2}"
        set {akod} to false
 
command /kod [<text>]:
    trigger:
        arg 1 is empty:
            if {akod} is true:
                send "&7&k:&3&lNR&a&lworld&7&k: &cUzyj /kod <kod>"
            if {akod} is false:
                send "{@msg3}"
        arg 1 is "%{kod}%":
            if {akod} is false:
                send "{@msg3}"
            if {akod} is true:
                set {wr} to false
                broadcast "{@msg4}"
                add {@ilosc} {@item} to player
                set {akod} to false
        arg 1 is not "%{kod}%":
            if {akod} is false:
                send "{@msg3}"
            if {akod} is true:
                send "{@msg5}"
	
on chat:
    if {przepisz} is true:
        message is "%{_kod}%":
            cancel event
            set {przepisz} to false
            send "%player% wygral przepisujac kod" to all players

 

Gdzie jest część z czasem w jakim gracz przepisał kod? 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
21 minut temu, ZelekCraft napisał:

Gdzie jest część z czasem w jakim gracz przepisał kod? 

Nie ma. Nie wiem w jaki sposób to zrobić. musiałbyś poprosić kogoś innego

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0

Błędy, to pisz.

 

Edytowane przez ShadowEk
Bad code ;p (Przy random object mogłem zastosować pętle, nie pomyślałem, skrypt by był krótszy, wydajniejszy.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Losowy awatar
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Maksymalnie dozwolone są tylko 75 emotikony.

×   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.


  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×