Skocz do zawartości
  • 0

Problem ze sklepem w Gui


wujszczmek
 Udostępnij

Pytanie

Cześć !

Mam problem z dodaniem czynności  podczas kliknięcia slotu w gui. 

Problem wygląda w ten sposób że chcę dodać sklep w którym można kupić particle.

Chciałem żeby działał w sposób że gdy kliknę w gui w traile to osobie kupującej odbierze 15k i doda permisje a gdy ta osoba jeszcze raz kliknie w traile to wyskoczy mu komunikat na czacie że już zakupił ten przedmiot .

Próbowałem to zrobić lecz nie potrafię i nie wiem co zrobić żeby to działało :/

(Mam nadzieję że w miarę dobrze opisałem swój problem)

 

Odnośnik do komentarza
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 1
1 minutę temu, wujszczmek napisał:

Cześć !

Mam problem z dodaniem czynności  podczas kliknięcia slotu w gui. 

Problem wygląda w ten sposób że chcę dodać sklep w którym można kupić particle.

Chciałem żeby działał w sposób że gdy kliknę w gui w traile to osobie kupującej odbierze 15k i doda permisje a gdy ta osoba jeszcze raz kliknie w traile to wyskoczy mu komunikat na czacie że już zakupił ten przedmiot .

Po pierwsze, niepotrzebnie używasz dwukrotnie tego samego eventu. Zresztą, ten drugi event jest całkowicie zbędny, gdyż jego rolę wypełnia już pierwszy event.

Po drugie, zamiast używać komend poprzez konsolę, zaopatrz się w plugin Vault i zmieniaj stan konta gracza poprzez czyste, skriptowe efekty.

remove 15000 from player's balance

Po trzecie, nie wiem skąd masz efekt 'add permission'. Dodam, że jest w nim literówka, gdyż 's' powinno być podwojone.

Po czwarte, z tego co widzę, to gracz nie powinien móc zakupić drugi raz tego efektu. Dodam, że jeżeli ustawiasz zmienne na 0 i 1 to lepiej nie ustawiać zmiennej lub ustawiać na 'true'. Mam nadzieję, że zmienna {tkolo.%player%} jest jakkolwiek ustawiana wcześniej w kodzie. Należy pamiętać, że 0 już jest pewną wartością, więc jeżeli zmienna nie będzie ustawiona, to w takim wypadku nie będzie równa ani 0, ani 1.

Po piąte, w przypadku zmiennych, których będzie (najprościej ujmując) dużo, to w takim wypadku lepiej użyć list zmiennych, tzn. zamienić kropkę w nazwie zmiennej na podwójny dwukropek ("::"). Dzięki takiemu zabiegowi będziesz mógł później o wiele łatwiej manipulować wszystkimi zmiennymi.

{tkolo.%player%} - żeby wyczyścić wszystkie takie zmienne od wszystkich graczy, musiałbyś zapętlić wszystkich graczy, którzy kiedykolwiek byli na serwerze

{tkolo::%player%} - tutaj możesz to wyczyścić w bardzo prosty sposób:

clear {tkolo::*} - gwiazdka oznacza, że może być tam cokolwiek, liczy się jedynie, że zmienna będzie zaczynała się na "tkolo::"

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
16 minut temu, Kormic napisał:

Po pierwsze, niepotrzebnie używasz dwukrotnie tego samego eventu. Zresztą, ten drugi event jest całkowicie zbędny, gdyż jego rolę wypełnia już pierwszy event.

Po drugie, zamiast używać komend poprzez konsolę, zaopatrz się w plugin Vault i zmieniaj stan konta gracza poprzez czyste, skriptowe efekty.


remove 15000 from player's balance

Po trzecie, nie wiem skąd masz efekt 'add permission'. Dodam, że jest w nim literówka, gdyż 's' powinno być podwojone.

Po czwarte, z tego co widzę, to gracz nie powinien móc zakupić drugi raz tego efektu. Dodam, że jeżeli ustawiasz zmienne na 0 i 1 to lepiej nie ustawiać zmiennej lub ustawiać na 'true'. Mam nadzieję, że zmienna {tkolo.%player%} jest jakkolwiek ustawiana wcześniej w kodzie. Należy pamiętać, że 0 już jest pewną wartością, więc jeżeli zmienna nie będzie ustawiona, to w takim wypadku nie będzie równa ani 0, ani 1.

Po piąte, w przypadku zmiennych, których będzie (najprościej ujmując) dużo, to w takim wypadku lepiej użyć list zmiennych, tzn. zamienić kropkę w nazwie zmiennej na podwójny dwukropek ("::"). Dzięki takiemu zabiegowi będziesz mógł później o wiele łatwiej manipulować wszystkimi zmiennymi.


{tkolo.%player%} - żeby wyczyścić wszystkie takie zmienne od wszystkich graczy, musiałbyś zapętlić wszystkich graczy, którzy kiedykolwiek byli na serwerze

{tkolo::%player%} - tutaj możesz to wyczyścić w bardzo prosty sposób:

clear {tkolo::*} - gwiazdka oznacza, że może być tam cokolwiek, liczy się jedynie, że zmienna będzie zaczynała się na "tkolo::"

 

Dzięki twoja odpowiedź jest bardzo pomocna tylko w takim razie jak dodać permisje i zamienić  {tkolo::%%player} = false na  true 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1
11 minut temu, wujszczmek napisał:

w takim razie jak dodać permisje

Tutaj możesz spróbować z SkQuery. Z tego co pamiętam to kiedyś próbowałem tej metody i nie zadziałała, ale spróbować nie zaszkodzi.

# Daj to gdzieś na początek skryptu:
script options:
	$ use permissions
	
# Następnie dodajesz permisję w kodzie:	
	
add "jakas.permisja" to player's permissions

 

11 minut temu, wujszczmek napisał:

zamienić  {tkolo::%%player} = false na  true 

Tutaj wystarczy sprawdzać czy zmienna jest ustawiona, czy też nie.

if {tkolo::%player%} is not set:
	# Twój kod
	set {tkolo::%player%} to true
else:
	# Twój drugi kod (wiadomość, że gracz nie może zakupić efektu)

 

Edytowane przez Kormic
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
4 minuty temu, Kormic napisał:

Tutaj możesz spróbować z SkQuery. Z tego co pamiętam to kiedyś próbowałem tej metody i nie zadziałała, ale spróbować nie zaszkodzi.


# Daj to gdzieś na początek skryptu:
script options:
	$ use permissions
	
# Następnie dodajesz permisję w kodzie:	
	
add "jakas.permisja" to player's permissions

 

Tutaj wystarczy sprawdzać czy zmienna jest ustawiona, czy też nie.


if {tkolo::%player%} is not set:
	# Twój kod
	set {tkolo::%player%} to true
else:
	# Twój drugi kod (wiadomość, że gracz nie może zakupić efektu)

 

Dzięki już wszystko rozumiem :D

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

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

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