Skocz do zawartości
  • 0

Maksymalna Statystyka


Pytanie

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
23 minuty temu, Żelazio napisał:

chodzi mi o to że jesli placeholder %dropsmp_speed% bedzie powyzej 210 to żeby konsola robila komende  dropsmp player %nazwa gracza% set szybkosc 200

Nie wiem skąd Pan wziął wyrażenie 'placeholder %text% from %players%', więc zakładam, że pochodzi ono z jakiegoś dodatku (najpewniej Skellett).

on join:
	set {kasa::%player's uuid%} to placeholder "dropsmp_speed" from player
	if {kasa::%player's uuid%} >= 210:
		execute console command "dropsmp player %player's name% set szybkosc 200"

Proszę uprzejmie. Wydaje mi się, że dobrze zrozumiałem Pana zlecenie.

Jedynie zastanawiałem się nad Pana sformułowaniem "będzie powyżej 210", bo Pan napisał warunek sprawdzający czy zmienna jest większa, bądź równa 210. Mimo to, zostawiłem tak jak Pan napisał.

Na koniec powiem o błędach w Pana kodzie.

  1. Nie ma potrzeby rozdzielania tak prostego kodu na dwa listenery zdarzenia 'on join'. Takie działanie czyni kod mniej czytelnym.
  2. W pierwszym listenerze zdarzenia 'on join' zabrakło apostrofu w wyrażeniu 'player's UUID'.
  3. Niezrozumiałym dla mnie jest dlaczego Pan próbował zapisać wartości tego placeholderu wszystkich graczy do zmiennej jednego konkretnego gracza.

EDIT:

@Żelazio

Dodam, że jeśli Pan nie wykorzystuje w jakimkolwiek innym kodzie wartości zmiennej {kasa::%player's uuid%}, zbędnym jest jej tworzenie. Lepiej w takiej sytuacji wykorzystać zmienne lokalne.
Podam przykład.

# Jeżeli potrzebujemy tej zmiennej w jakimś innym kodzie, tak jest w porządku.
set {kasa::%player's uuid%} to placeholder "dropsmp_speed" from player

# Jeżeli nie wykorzystujemy w jakimkolwiek innym kodzie tej zmiennej, lepiej zrobić tak jak jest pokazane poniżej.
set {_kasa} to placeholder "dropsmp_speed" from player

Nie ma potrzeby zapełniania sobie pliku variables.csv (czy też przeznaczonej do zapisu zmiennych bazy danych) niepotrzebnymi nam zmiennymi globalnymi. Zmienne lokalne są tworzone tylko na potrzebę danego kodu - gdy on się zakończy, wszystkie zmienne lokalne są czyszczone.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/57464-maksymalna-statystyka/#findComment-342183
Udostępnij na innych stronach

  • 0

Chodziło o to że jesli dany placeholder gracza %dropsmp_speed% jest wiekszy od 210 to jest komenda dropsmp player %player's name% set szybkosc 200
i przetestowałem i kiedy wejde na serwer jak mam 220 dropsmp_speed to komenda nie zostaje wykonana

Odnośnik do komentarza
https://skript.pl/temat/57464-maksymalna-statystyka/#findComment-342186
Udostępnij na innych stronach

  • 0
11 minut temu, Żelazio napisał:

Chodziło o to że jesli dany placeholder gracza %dropsmp_speed% jest wiekszy od 210 to jest komenda dropsmp player %player's name% set szybkosc 200
i przetestowałem i kiedy wejde na serwer jak mam 220 dropsmp_speed to komenda nie zostaje wykonana

W takim wypadku proszę sprawdzić poniższą komendą co zwraca wyrażenie 'placeholder %text% from %player%'.

command /smpplaceholdertest:
	executable by: players
	trigger:
		set {_value} to placeholder "dropsmp_speed" from player
		send "Kasa: %{_value}%" to player

Jest Pan pewien, że to jest placeholder, o który Panu chodzi?
Moja intuicja podpowiada mi, że placeholder "dropsmp_speed" zwraca wartość szybkości gracza ustawioną komendą, którą Pan podał, a nie jego stan konta (zakładając, że temu ma odpowiadać zmienna {kasa::*}).

Odnośnik do komentarza
https://skript.pl/temat/57464-maksymalna-statystyka/#findComment-342187
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ę...