Skocz do zawartości
  • 0

Pieniadze problemy


UnioNS

Pytanie

Witam chciałem napisac skrypt na wplacanie kasy na inny plugin, ale problem jest bo jak wplacam 25$ To skrypt zabiera 25$ ale dostaje na plugin  2punkty bo daje tylko wartosci podzielne przez 10 a te drobne sobie zabiera (bo tam mam w linijce w skrypt bo nie znam innej funkcji do tego)
1. czy dalo by rade napisac jakos aby sprawdzało czy wartośc jest podzielna przez 10 i nie zostają ułamki np /punkty 25 to bedzie 2.5 - chodzi ze gracz wpisac tylko równe wartości z zerem 20,30,40,100,
2. lub aby zwracało graczowi te 5$ które plugin i tak nie wykorzysta jak gracz wplaci 25$ to 20 bierze a 5 zostawia lub zwraca.

 

 

Edytowane przez UnioNS
Odnośnik do komentarza
https://skript.pl/temat/57399-pieniadze-problemy/
Udostępnij na innych stronach

1 odpowiedź na to pytanie

Rekomendowane odpowiedzi

  • 0
W dniu 20.04.2024 o 20:19, UnioNS napisał:

Witam chciałem napisac skrypt na wplacanie kasy na inny plugin, ale problem jest bo jak wplacam 25$ To skrypt zabiera 25$ ale dostaje na plugin  2punkty bo daje tylko wartosci podzielne przez 10 a te drobne sobie zabiera (bo tam mam w linijce w skrypt bo nie znam innej funkcji do tego)
1. czy dalo by rade napisac jakos aby sprawdzało czy wartośc jest podzielna przez 10 i nie zostają ułamki np /punkty 25 to bedzie 2.5 - chodzi ze gracz wpisac tylko równe wartości z zerem 20,30,40,100,
2. lub aby zwracało graczowi te 5$ które plugin i tak nie wykorzysta jak gracz wplaci 25$ to 20 bierze a 5 zostawia lub zwraca.

Jeśli Pan pozwoli, zacznę od wypunktowania złych praktyk w Pana kodzie.

  1.  Umieszczenie instrukcji 'stop' przed instrukcją 'send' sprawia, że wiadomość nigdy nie zostanie wysłana do wykonującego komendę. Należy więc zamienić linijki 5 i 6 miejscami.
  2. Po zastosowaniu się do uwagi nr 1 nietrudno zauważyć, że otwieranie sekcji 'else' jest zbędne.
     
    if arg is not set:
    	send "" to player
    	stop
    if arg <= 0:
    	send "" to player
    	stop
    # Dalszy kod...

    Jak widać, kod stał się czytelniejszy, a sposób jego działania się nie zmienił.
     
  3. Analogiczna sytuacja do uwagi nr 2 jest w przypadku warunku 'if player's balance is less than arg-1' oraz następującej po nim sekcji 'else'.
  4. Proszę zauważyć, że Pan niepotrzebnie w linijce nr 17 stosuje zapis w formie tekstu - Pan już zapisał komendę w formie tekstu linijkę wyżej. Tak więc wystarczy w efekcie 'execute console command %texts%' wstawić zmienną z zapisaną ową komendą.

Dobrze, teraz możemy przejść do Pana problemu.
Najprostszym rozwiązaniem będzie sprawdzenie czy reszta z dzielenia argumentu komendy przez 10 jest równa 0. Tak więc należy użyć tutaj funkcji mod reprezentującej funkcję obliczającą resztę z dzielenia.

Odsyłam do dokumentacji Skripta w celu zapoznania się z wyżej wspomnianą funkcją.

Odnośnik do komentarza
https://skript.pl/temat/57399-pieniadze-problemy/#findComment-341898
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

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

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...