Skocz do zawartości
  • 0

Usprawnienie funkcji/skryptu na fortunkę


Pytanie

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
1 godzinę temu, xlemoida napisał:

Wie ktoś jak usprawnić tą funkcję 

Jak najbardziej można ją skrócić i w sumie to naprawić. Nietrudno zauważyć, że w każdym przypadku zachodzi mnożenie przez liczbę o 1 większą od poziomu zaklęcia szczęścia na kilofie, więc najkrótszym rozwiązaniem byłoby użycie poziomu zaklęcia powiększonego o 1.
Najlepszym rozwiązaniem natomiast byłoby sprawdzenie czy kilof gracza posiada w ogóle zaklęcie szczęścia. Jeśli tak, wykonujemy mnożenie przez (poziom zaklęcia + 1). Dlaczego najlepszym? Dlatego, że bardziej eleganckim wyjściem jest uprzednie sprawdzenie czy przedmiot jest zaklęty niż opieranie kodu na tym, że wyrażenie zwróci 0 jeśli przedmiot nie jest zaklęty.

Co więcej, każdy warunek kończy się wręczeniem graczowi monet, a wystarczy tę instrukcję wykonać raz na samym końcu funkcji.

Dlaczego powiedziałem "naprawić"? Proszę zauważyć, że warunki te będzie spełniał kilof z zaklęciem szczęścia, ale bez nazwy, lore i wszelkich innych informacji. Dlatego też nie należy porównywać narzędzia gracza, a sprawdzać jedynie poziom zaklęcia szczęścia.

Proszę się samemu zastanowić jak można to rozwiązać. Dokumentacja Skripta z pewnością się przyda.
Jeśli i ona nie pomoże, zostawiam swoją propozycję rozwiązania w spoilerze poniżej.

Spoiler

Najkrótsze rozwiązanie:

function dropmonet(p: player, i: integer, i2: number, i3: number):
	set {_c} to (level of fortune of {_p}'s tool) + 1
	set {_j} to {_c} * {_i} * {_i2} * {_i3}
	give {_j} of {moneta_} to {_p}

Najlepsze rozwiązanie:

function dropmonet(p: player, i: integer, i2: number, i3: number):
	set {_c} to 1
	if {_p}'s tool is enchanted with fortune:
		set {_c} to (level of fortune of {_p}'s tool) + 1
	set {_j} to {_c} * {_i} * {_i2} * {_i3}
	give {_j} of {moneta_} to {_p}

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57973-usprawnienie-funkcjiskryptu-na-fortunk%C4%99/#findComment-344355
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ę...