Skocz do zawartości
  • 0

Jak wyciągnąć dany tekst ze zmiennej?


Pytanie

Tak jak w temacie.

 

Mam komendę i mam zmienną która zawiera z 5 "przedmiotów"

no i np. jak wpiszę /kup tik to sprawdza czy jest w tej zmiennej to (ten tik) i jak jest to dodaje mi ten przedmiot do zmiennej.

 

Jaki to będzie kod?

Odnośnik do komentarza
https://skript.pl/temat/8543-jak-wyci%C4%85gn%C4%85%C4%87-dany-tekst-ze-zmiennej/
Udostępnij na innych stronach

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

nie działa...

if arg 1 is "kup":   if arg 2 is set:    if {games::*} contains arg 2:	 send "Zakupiles gre %arg 2%"    else:	 send "Nie ma takiej gry"

w {games::*} są przechowywane one (te gry)

Odnośnik do komentarza
https://skript.pl/temat/8543-jak-wyci%C4%85gn%C4%85%C4%87-dany-tekst-ze-zmiennej/#findComment-66716
Udostępnij na innych stronach

  • 0

Contains jest mocno zbugowane w skript więc radze użyć:

if arg 1 is "kup":	if arg 2 is set:		loop {games::*}:			if loop-value is arg 2:				send "Zakupiles gre %arg 2%"								stop			else:				send "Nie ma takiej gry"								stop

Bo contains działa na zasadzie jeśli zmienna zawiera chociaż część kodu. Czyli jeśli miał byś w zmiennej {games::*} np. Shak*s & Fidget i Margo*em to jeśli arg 2 to będzie a to ci wyskoczy że Zakupiłeś gre a i wyśle to 2 razy.

Edytowane przez Arioner
Odnośnik do komentarza
https://skript.pl/temat/8543-jak-wyci%C4%85gn%C4%85%C4%87-dany-tekst-ze-zmiennej/#findComment-66731
Udostępnij na innych stronach

  • 0

Up, twój kod jest bez sensu, bo tylko przy pierwszej wartości sprawdzi czy jest równa arg 2. Lepiej to zrobić tak:

if arg 1 is "kup":	if arg 2 is set:		loop {games::*}:			if loop-value is arg 2:			    set {_zawiera} to true			    stop		    {_zawiera} is true:			    send "Zakupiles gre %arg 2%"			else:				send "Nie ma takiej gry"
Odnośnik do komentarza
https://skript.pl/temat/8543-jak-wyci%C4%85gn%C4%85%C4%87-dany-tekst-ze-zmiennej/#findComment-66746
Udostępnij na innych stronach

  • 0

Ty zrobiłeś jeszcze gorzej gdyż dajesz stop przed informacją czy zakupił czy nie :)

if arg 1 is "kup":    if arg 2 is set:        loop {games::*}:            if loop-value is arg 2:                set {_zawiera} to true        {_zawiera} is true:            send "Zakupiles gre %arg 2%"        else:            send "Nie ma takiej gry"

Jak już chcesz swój kod to taki musi być ;p

A co do mojego to popełniłem błąd z jedną rzeczą :)

Tu jest poprawiony

if arg 1 is "kup":    if arg 2 is set:        loop {games::*}:            if loop-value is arg 2:                send "Zakupiles gre %arg 2%"                stop        send "Nie ma takiej gry"
Odnośnik do komentarza
https://skript.pl/temat/8543-jak-wyci%C4%85gn%C4%85%C4%87-dany-tekst-ze-zmiennej/#findComment-66748
Udostępnij na innych stronach

  • 0

@Arioner, @herhor67 dobrze zrobił z tym stop, bo potem sprawdza (w innej linijce).... Zaraz przetestuje i zobaczę czy działa.

 

//Edit:

@Arioner, dzięki - działa. Lajk.

Odnośnik do komentarza
https://skript.pl/temat/8543-jak-wyci%C4%85gn%C4%85%C4%87-dany-tekst-ze-zmiennej/#findComment-66760
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ę...