Skocz do zawartości
  • 0

Rangi sklep gui


Lemonyt30

Pytanie

11 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
5 godzin temu, Lemonyt30 napisał:

Witam chciałbym aby ktoś mi pomógł. chcę aby do mojego sklepu dodać że jak ktoś np. Kupi vip to już drugi raz tej samej rangi nie może i np. Ktoś kupi Vip+ to nie może drugi raz kupić tej samej rangi i nie może kupić niższej rangi

Pokaż swój obecny kod.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
7 minut temu, Lemonyt30 napisał:

nie wiem zbytnio jak to zrobić

Pokażę ci na przykładzie jednej rangi, a resztę sobie dorzucisz.

if arg-1 is "kupvip":
	if player's groups contains "twoja_ranga_VIP":
		send "&cJuż zakupiłeś rangę VIP!" to player
		stop
	if {coins.%player%} is less than 10.00:
		send "" to player
		send "&c&lBŁAD: &4Nie posiadasz wystarczajaco pieniedzy !" to player
		send "" to player
	else:
		execute console command "pex user %player% group set Vip"
		remove 10.00 from {coins.%player%}
		send "" to player
		send "&8» &cZakupiles Rangę &8[&6VIP&8] &7!" to player
		send "&8» &7Z konta odjeto &610.00 &7zł" to player
		send "" to player

Czyli znaczenie ma fragment między linijkami 2. i 4.

Mimo wszystko skrypt brzydko wygląda ze względu na: 

  • użycie zbugowanego 'format slot', zalecam użyć 'set slot' pochodzący ze Skripta
  • zły sposób nazewnictwa zmiennych, który uniemożliwia łatwe manipulowanie nimi (zalecam zmienić na listy zmiennych):
    # Zamiast używania zwykłych zmiennych:
    {coins.%player%}
    # Zalecam używac list zmiennych:
    {coins::%player%}

    Pozwalają na o wiele łatwiejsze zarządzanie wieloma zmiennymi:

    # Możesz wyczyścić coinsy wszystkim graczom:
    clear {coins::*}
    
    # Możesz sprawdzić ile wszyscy gracze posiadają coinsów (czyli zapętlić i wykonywać na nich złożone operacje):
    loop {coins::*}:
    	send "%loop-index% posiada %loop-value% coinsów!"
        
    # Możesz sprawdzić rozmiar listy (ilu graczy posiada jakiekolwiek coinsy, 0.00 również będzie się zaliczało, liczy się jedynie, że informacja jest zapisana)
    send "%size of {coins::*}% graczy posiada coinsy!"

     

  • wielokrotne wysyłanie pustych linijek pod sobą, a można by to zrobić o wiele prościej:
    send "" and "" and ""

     

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