Skocz do zawartości
  • 0

pytanie


giteczek12PL

Pytanie

Witam, jak okreslic spacje pomiedzy argumentami?
Mam kod na wyplacanie tokenow, i chcialbym aby pomiedzy niego dalo sie wpisac spacje. Przyklad: 1 000 000.  Wychwytuje jedynie 1 argument, reszty juz nie.

command /wyplactokeny [<text>] [<text>] [<text>] [<text>]:
    trigger:
        if arg 1 is set:
            set {_x} to arg 1 parsed as integer
            set {_y} to arg 2 parsed as integer
            set {_z} to arg 3 parsed as integer
            set {_d} to arg 4 parsed as integer
            if {_x} is a integer:
                remove {_x} from {money::%player%} 
                replace all " " with "" in {_x}
                replace all " " with "" in {_y}
                replace all " " with "" in {_z
                replace all " " with "" in {_d}

 

Edytowane przez xNightPower_
Nieaktywny

Umieszczam kod w code.

Odnośnik do komentarza
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Teraz, giteczek12PL napisał:

Witam, jak okreslic spacje pomiedzy argumentami?
Mam kod na wyplacanie tokenow, i chcialbym aby pomiedzy niego dalo sie wpisac spacje. Przyklad: 1 000 000.  Wychwytuje jedynie 1 argument, reszty juz nie.

Taki jest problem z argumentami typu 'text'.

W twoim przypadku zostawiłbym tylko jeden argument typu 'text' i na samym początku dzieliłbym go na spacji.

set {_args::*} to arg-1 split at " "

Następnie możesz korzystać z tego do woli. Przykład:

if {_args::1} is "nagroda":

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
command /wyplactokeny [<text>]:
    trigger:
        if arg 1 is set:
            set {_args::*} to arg-1 split at " "
            if {_args::*} < {money::%player%}:
                remove {_args::*} from {tokeny::%player%} 
            else:
                send "es12"
        else:
            send "es1"

 

 

Widze ze popelnilem tam blad, ale dalej nie wychwytuje kolejnych argumentow.

Nieaktywny

Umieszczam kod w code, łączę posty.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, giteczek12PL napisał:

Widze ze popelnilem tam blad, ale dalej nie wychwytuje kolejnych argumentow.

Jeżeli chcesz po prostu przerwy w tej liczbie, to nawet ta lista jest zbędna. Wystarczy parse'ować arg-1 na liczbę całkowitą (integer).

Możliwe, że spacje przeszkodzą w parse'owaniu. W takim wypadku musisz ustawić argument do zmiennej lokalnej (tymczasowej) i zamienić w nim wszystkie spacje na (brak znaku?).

replace all " " with "" in {_arg1}

 

Edytowane przez Kormic
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ę...