Skocz do zawartości
  • 0

Przechodzenie parkoura tylko raz na 24h


Pytanie

Siema, robię serwer parkour. Chciałbym żeby level za 1 parkour można było dostać tylko raz na 24h. Napisałem taki skrypt:

on rightclick on sign:	line 3 is "&lKoniec"	if {pkk.%line 1 of clicked block%.%player%} is false:		set {pkk.%line 1 of clicked block%.%player%} to true		execute console command "spawn %name of player%"		execute console command "playsound random.levelup %name of player%"		send "{@tag} Gratulacje, przeszedles parkour z czasem &d%{czas.%player%}% sekund&2!"		add 1 to {lvl.%player%}		add 1 to {pks::%player%}		set {czaslicz.%player%} to false		clear {czas.%player%}		wait 24 hours		set {pkk.%line 1 of clicked block%.%player%} to false	if {pkk.%line 1 of clicked block%.%player%} is true:		send "{@tag} Aby dostac lvl za ten parkour musza uplynac 24h od ostatniego przejscia!"		execute console command "spawn %name of player%"

Oczywiście to nie jest cały, tylko część odpowiedzialna za kończenie parkoura. Niby wszystko działa, ale gdy daję:

variables:        {pkk.%argument%.%player%} = false

Wyskakuje mi taki błąd:

'pkk.%argument%.%player%' is not a valid name for a default variable (Parkour.sk, line 11: '{pkk.%argument%.%player%} = false}'

Wiem co znaczy ten błąd, ale nie wiem jak go naprawić. Proszę o pomoc, bardzo mi to potrzebne.

Odnośnik do komentarza
https://skript.pl/temat/25-przechodzenie-parkoura-tylko-raz-na-24h/
Udostępnij na innych stronach

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Nie możesz zdefiniować zmiennej, która zawiera argument. Domyślam się, że argumentem jest numer parkouru, czyli możesz to zrobić tak:

variables:	{pkk.1.%player%} = false

Jeżeli chcesz zrobić więcej parkourów możesz dodawać zmienne lub użyć tego kodu:

options:	ilosc.parkourow: 10on join:	if {pkk.1.%player%} is not set:		set {_x} to 0		loop {@ilosc.parkourow} times:			add 1 to {_x}			set {pkk.%{_x}%.%player%} to false
Odnośnik do komentarza
https://skript.pl/temat/25-przechodzenie-parkoura-tylko-raz-na-24h/#findComment-49
Udostępnij na innych stronach

  • 0

Definiując zmienne nie możesz użyć %argument%, gdyż zmienne te są definiowane przy starcie skryptu, a nie przy pierwszym odwołaniu się do nich. Prościej: %arg% może być używany tylko w kodzie komendy, nigdzie indziej.

Rozwiązanie problemu:
dodaj w kodzie, przed pierwszym odwołaniem się do tej zmiennej linijkę:
- jeśli używasz tego w komendzie (x - w zależności który argument przechowuje pożądaną wartość):

{pkk.%arg x%.%player%} is not set:	set {pkk.%arg x%.%player%} to false

- jeśli używasz tego po kliknięciu w tabliczkę (x - w zależności w której linii przechowywana jest pożądana wartość):

{pkk.%line x of clicked block%.%player%} is not set:	set {pkk.%line x of clicked block%.%player%} to false

- w kodzie który podałeś wyżej:

on rightclick on sign:	line 3 is "&lKoniec"	{pkk.%line 1 of clicked block%.%player%} is not set:		set {pkk.%line 1 of clicked block%.%player%} to false	#dalszy kod
Odnośnik do komentarza
https://skript.pl/temat/25-przechodzenie-parkoura-tylko-raz-na-24h/#findComment-51
Udostępnij na innych stronach

  • 0

Nie rozumiem. :F Zmienna która przechowuje parkoury u mnie to {pk.%arg%}, teleportować się można na nie za pomocą tabliczki lub komendy. Może mi ktoś bliżej wyjaśnić bo nie za bardzo rozumiem.

Odnośnik do komentarza
https://skript.pl/temat/25-przechodzenie-parkoura-tylko-raz-na-24h/#findComment-73
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ę...