Skocz do zawartości
  • 0

Skrypt resetuje zamiast dodawać wartość


Mev0u
 Udostępnij

Pytanie

Cześć,

Mam na moim serwerze skrypt na tzw. portfel lub skarbonke. Polega to na tym, że doładowujesz w itemshopie na stronie www pieniądze, i za te pieniądze możesz kupić np rangi, dodatki w specjalnym gui. Gui, oraz walute mam zrobione, ale mam problem. Chciałbym zrobić komendę /dodaj, która by dodawała graczom pieniądze do tej waluty.

Oto teraźniejszy skrypt:

command /dodaj [<offlineplayer>] [<text>]:
  permission: admin.dodaj
  permission message: &cBrak uprawnien! 
  trigger:
    if arg 1 is not set:
      send "&cUzycie: &7/dodaj (nick) (ilosc)" 
      stop
    set {_add} to arg 2 parsed as integer
    if {_add} is not set:
      send "&cUzycie: &7/dodaj (nick) (ilosc)" 
      stop
    set {_hajs} to yaml value "hajs" from file "plugins/Portfel/%arg 1%.yml!" 
    add {_add} to {_hajs} 
    send "&aDodano &7%{_add}%zl &agraczowi &7%arg 1%"

 

 

Problem polega na tym, że załóżmy:
Mam w portfelu 150 zł (waluta). Chce dodać sobie 10 zł, i po wpisaniu /dodaj <nick> 10, zamiast dodać mi 10 zł tak aby było 160, resetuje mi wszystko i mam tylko. 

Ps. przy zmianie set {_hajs} to yaml value "hajs" from file "plugins/Portfel/%arg 1%.yml!"  na add  {_hajs} to yaml value "hajs" from file "plugins/Portfel/%arg 1%.yml!"  tez ten problem wystepuje.

 

Edytowane przez wiktorm12
wiktorm12

Wstawiam w code + poprawiam tytuł

Notatka dodana przez wiktorm12

Odnośnik do komentarza
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Teraz, Mev0u napisał:

Problem polega na tym, że załóżmy:
Mam w portfelu 150 zł (waluta). Chce dodać sobie 10 zł, i po wpisaniu /dodaj <nick> 10, zamiast dodać mi 10 zł tak aby było 160, resetuje mi wszystko i mam tylko. 

Ps. przy zmianie set {_hajs} to yaml value "hajs" from file "plugins/Portfel/%arg 1%.yml!"  na add  {_hajs} to yaml value "hajs" from file "plugins/Portfel/%arg 1%.yml!"  tez ten problem wystepuje.

Problem leży w tym, że nie nadpisujesz tej wartości w tym pliku. Mimo wszystko robienie zmiennych w plikach YAML to okropny pomysł i szczerze ci go odradzam.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
6 minut temu, Kormic napisał:

Problem leży w tym, że nie nadpisujesz tej wartości w tym pliku. Mimo wszystko robienie zmiennych w plikach YAML to okropny pomysł i szczerze ci go odradzam.

Hmm, wiesz może jaka może byc alternatywa tego?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Na początek: 
- YAML zamiast zmiennych? Fatalny pomysł, lepiej zrobić to w normalnych zmiennych
 

on join:
	if {balance::%player%} is not set:
		set {balance::%player%} to 0
command /dodaj [<offlineplayer>] [<text>]:
	permission: admin.dodaj
	permission message: &cBrak uprawnien!
	trigger:
		if arg 1 is not set:
			send "&cUzycie: &7/dodaj (nick) (ilosc)"
			stop
		if arg 2 is not integer:
			send "&cUzycie: &7/dodaj (nick) (ilosc)"
			stop
		set {_add} to argument-2
		if {_add} is not set:
			send "&cUzycie: &7/dodaj (nick) (ilosc)"
			stop
		add {_add} to {balance::%player%}
		send "&aDodano &7%{_add}%zl &agraczowi &7%arg 1%"
command /stan [<text>]:
	trigger:
		send "%{balance::%player%}%"

(jeśli coś się źle wytabowało to Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!)

Edytowane przez CoFFeIN04
zmiana kodu (zastąpienie [<integer>] na [<text>]
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

@CoFFeIN04 wyjaśnił, dziękuje ;D

Jeszcze jedno, czy jest opcja zrobienia własnego placeholderu dla stanu konta? Próbowałem coś tam zrobic tylko problem w tym, że używam u siebie featherboarda. Jest to płatny plugin dlatego należy używac placeholderow mdvw

 

 

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

  • 0
21 minut temu, Mev0u napisał:

wyjaśnił, dziękuje ;D

Nie wyjaśnił, a dał ci gotowy kod :thinkcom:

21 minut temu, Mev0u napisał:

Jeszcze jedno, czy jest opcja zrobienia własnego placeholderu dla stanu konta? Próbowałem coś tam zrobic tylko problem w tym, że używam u siebie featherboarda. Jest to płatny plugin dlatego należy używac placeholderow mdvw

W tym celu użyj dodatku skript-placeholders.

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