Skocz do zawartości
  • 0

[Skript] Problem


SzymoonDev

Pytanie

Siema, 
piszę skrypt na drop na mój serwer i napotkałem na problem.
Mój kod wygląda tak:

		if {Drop::perla::%player%} is true:
			chance of %yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml"%%:
				if player can hold 1 ender pearl:
					add 1 ender pearl to player
				else:
					drop 1 ender pearl

Wszystko spoko, tylko w konsoli pokazuje się błąd:

[13:36:47 ERROR]: '%yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml"%' is not a number (SDrop.sk, line 260: chance of %yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml"%%:')
[13:36:47 INFO]: [Skript] Encountered 1 error while reloading SDrop.sk!

Próbowałem zrobić tak:
chance of %yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml"% parsed as number%:
lecz wtedy też nie działa, pokazuje się błąd:

[13:32:46 ERROR]: 'number%' is not a type (SDrop.sk, line 260: chance of %yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml" parsed as number%%:')
[13:32:46 INFO]: [Skript] Encountered 1 error while reloading SDrop.sk!

Odrazu mówię, iż nie chce tworzyć żadnych zmiennych.

Z góry dzięki za wszystkie odpowiedzi.
Proszę o pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

16 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
chance of (yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml") parsed as number:

lub

set {_v} to yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml" parsed as number
chance of {_v}:

w ostateczności:

set {_v} to yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml"
set {_v} to {_v} parsed as number
chance of {_v}:

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Chciałbym bez jakiejkolwiek zmiennej. Zastosowałem się do pierwszej propozycji, nie działa. Błąd:

[16:28:54 ERROR]: 'chance' is not a number (SDrop.sk, line 260: chance of (yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml") parsed as number:')
[16:28:54 INFO]: [Skript] Encountered 1 error while reloading SDrop.sk!

 

Mój config.yml:

Spoiler

drop:
  gracz:
    defaultNonFortune:
      perla: 0.2
      slime: 0.2
    default:
      diament: 1.8
      emerald: 3.4
      zloto: 4.3
      zelazo: 1.7
      tnt: 0.5
      redstone: 1.2
      wegiel: 1.7
      biblioteczka: 0.6
      jablko: 0.6
      obsydian: 2.1
    fortune1:
    # +0.2% do dropu
      diament: 2
      emerald: 3.6
      zloto: 4.5
      zelazo: 1.9
      tnt: 0.7
      redstone: 1.4
      wegiel: 1.9
      biblioteczka: 0.8
      jablko: 0.8
      obsydian: 2.3
    fortune2:
    # +0.4% do dropu
      diament: 2.2
      emerald: 3.8
      zloto: 4.7
      zelazo: 2.1
      tnt: 0.9
      redstone: 1.6
      wegiel: 2.1
      biblioteczka: 1
      jablko: 1
      obsydian: 2.5
    fortune3:
    # +0.6% do dropu
      diament: 2.4
      emerald: 4
      zloto: 4.9
      zelazo: 2.3
      tnt: 1.1
      redstone: 1.8
      wegiel: 2.3
      biblioteczka: 1.2
      jablko: 1.2
      obsydian: 2.7

 

Edytowane przez SzymoonDev
Poprawka.
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Konfiguracja nie ma nic do rzeczy. Po prostu nawiasy i powinno działać

 

chance of ((yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml") parsed as number)%:

 

A w ostateczności zmienna lokalna wiele nie niszczy (poza dodatkową linijką kodu :V), więc nie widzę innej opcji. Mimo wszystko postaram się pomóc

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
			if {Drop::perla::%player%} is true:
				chance of ((yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml") parsed as number)%:
					if player can hold 1 ender pearl:
						add 1 ender pearl to player
					else:
						drop 1 ender pearl

 

Nadal nie działa.

Błąd:

[16:34:00 ERROR]: '((yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml") parsed as number)%' is not an item stack (SDrop.sk, line 260: chance of ((yaml value "drop.gracz.defaultNonFortune.perla" from file "SDrop/config.yml") parsed as number)%:')
[16:34:00 INFO]: [Skript] Encountered 1 error while reloading SDrop.sk!

 

Skript 2.1 bo 2.2 nie działa na wersji silnika 1.7.10

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Nadal nie działa. 

Błąd:

[16:45:23 ERROR]: '(yaml value "drop.gracz.defaultNonFortune.perla" from "SDrop/config.yml" parsed as number)/100' is not an item stack (SDrop.sk, line 260: chance of (yaml value "drop.gracz.defaultNonFortune.perla" from "SDrop/config.yml" parsed as number)/100:')
[16:45:23 INFO]: [Skript] Encountered 1 error while reloading SDrop.sk!

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Nie, ponieważ ta zmienna to zmienna lokalna i w dodatku tymczasowa. Istnieje tylko w obrębie jednego eventu, a potem się "usuwa" (czy co tam się z nią dzieje; po prostu nie ma wpływu na nic po zakończeniu pojedynczego eventu).

Oczywiście nie możemy dla każdego dropu dać tej samej zmiennej, więc po prostu dla perly niech będzie {_perla}, dla diamentu {_diament}, itd.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Nie bój się, kilka zmiennych nie laguje, ani nie przeciąża, zwłaszcza gdy są to zmienne tymczasowe.

 

Plugin Skript jest tak skonstruowany, że nawet skrypty opierające się w 100% na zmiennych nie powodują problemów, jeśli kod zostało prawidłowo napisany.

Edytowane przez DαrϰVεnuς
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ę...