Skocz do zawartości

Skrypt na kity (bez potrzeby używania essentialsa)


Rekomendowane odpowiedzi

2 minuty temu, KrychaMC09 napisał:

Wymagane pluginy Skript,SkQuery , WildSkript Zalecana wersja 1.8.8!

Zmień te format slot na format gui slot (z TuSKe) lub set player's current inventory slot (z czystego skripta) bo format slot z skquery się buguje, również rób komendy na argumentach, a nie dodajesz kilka komend, bez sens... 

 

 

Mam nadzieję, że przyjmiesz tą opinie jako poradę 

Edytowane przez Michix
Odnośnik do odpowiedzi
Udostępnij na innych stronach
Teraz, KrychaMC09 napisał:

Tak wiem wiem ale nie wiem kto by siedzial i probowal bugowac to ustawilem tak ze trudniej da sie zbugowac

 

Nie da się ustawić żeby trudniej bugowac i tyle, gui z skquery jest bugowalne i tego nie zmienisz niczym, jedyna opcja to gui z tuske i gui z skripta 

Odnośnik do odpowiedzi
Udostępnij na innych stronach
Teraz, KrychaMC09 napisał:

No niech ci będzie następna wersja tych kitow bedzie z set  player's current inventory slot

 

 

Dobrze, tylko to dobrze zabezpiecz bo jak zablokujesz wyciąganie, to będzie również opcja wyciągania z shiftem więc to również zablokuj. Najłatwiej będzie zrobić gui z TuSKe 

Odnośnik do odpowiedzi
Udostępnij na innych stronach

Już tyle tych kitów było i jeszcze się ludziom nie znudziło. Postępy idą do przodu, nowe metody itd, a niektórzy jacyś zacofani -_-

Format slot - rly

Po co te komendy /svipgui -_-

            set {kitvip:%player%} to no 
            wait 3600 seconds
            set {kitvip:%player%} to yes

...

Odnośnik do odpowiedzi
Udostępnij na innych stronach
9 godzin temu, kerpson napisał:

Już tyle tych kitów było i jeszcze się ludziom nie znudziło. Postępy idą do przodu, nowe metody itd, a niektórzy jacyś zacofani -_-

Format slot - rly

Po co te komendy /svipgui -_-

            set {kitvip:%player%} to no 
            wait 3600 seconds
            set {kitvip:%player%} to yes

...

A jak myslisz po co svipgui zeby ludzie wiedzieli jakie so itemy w tych kitach

a Jesli chodzi o format slota to mowilem ze bedzie 2 wersja tego skryptu i to poprawie

Odnośnik do odpowiedzi
Udostępnij na innych stronach
8 godzin temu, KrychaMC09 napisał:

A jak myslisz po co svipgui zeby ludzie wiedzieli jakie so itemy w tych kitach

 

no i co jakby widzieli? Niepotrzebne komendy, warto używać argumentów.

8 godzin temu, KrychaMC09 napisał:

a Jesli chodzi o format slota to mowilem ze bedzie 2 wersja tego skryptu i to poprawie

To do tej 2 wersji weź się za to porządnie i ogarnij cały skrypt a nie tylko format slot

Odnośnik do odpowiedzi
Udostępnij na innych stronach
19 godzin temu, KrychaMC09 napisał:

Wymagane pluginy Skript,SkQuery , WildSkript Zalecana wersja 1.8.8!

Dobrze, a teraz wymienię wszystkie błędy występujące w tym skrypcie. Z góry przepraszam moich poprzedników, jeżeli przypadkiem kogoś powtórzę.

1. Nie używaj format slota. Jest zbugowany i niemalże każdy o tym wie. Widziałem również propozycję użycia TuSKe do formatowania GUI. Nie ma sensu operować na starym jak świat dodatku, w którym niewielka część funkcji poprawnie działała (chociaż ty używasz 1.8.8, być może znajdziesz dobrze funkcjonujące starsze wersje (istnieje jeszcze oczywiście fork TuSKe autorstwa TukeNuke'a, korzystałem z niego i szczerze... niewiele rzeczy tam poprawnie działało)). Jedyną rzeczą, którą polecam, jest 'set slot' z natywnego Skripta. Ewentualnie rzuć okiem na formatowanie GUI z pomocą skryptu mGUI Pana Marudy (tutaj niewiele mam do powiedzenia, gdyż nie miałem jeszcze okazji z niego skorzystać).

2. Co do tego...

open chest with 3 rows named "&8» &c&lDostepne zestawy:" to player
wait 5 ticks
if {kitgracz:%player%} is true:

Używanie delayów przy formatowaniu GUI jest niezwykle niebezpiecznym zabiegiem. W tym przypadku można dość łatwo to zbugować. Podczas gdy patrzysz się na skrzynkę, wpisujesz komendę z GUI, od razu je zamykasz i otwierasz wcześniej wspomnianą skrzynkę. No i voilà! Tym sposobem zbugowałeś GUI. Podejrzewam, że podobnie zadziała również w przypadku szybkiego otwarcia własnego ekwipunku.

3. Jeżeli chodzi o ten fragment kodu (oraz kilka innych mu podobnych):

set {kitgracz:%player%} to false 
wait 30 seconds
set {kitgracz:%player%} to true

Ten cooldown jedynie zadziała w przypadku gdy serwer w ciągu tych 30 sekund się nie zatrzyma. No a co jeśli jednak się zatrzyma? Cóż, wtedy ten delay się usunie, a gracz już nigdy nie będzie mógł ponownie odebrać kitu. Pomyśl co w przypadku delayów 'wait 3600 seconds'. Takich rzeczy z pewnością nie powinieneś robić. Jeżeli chcesz zrobić cooldowny, masz dwa wyjścia:

  1. Użycie 'cooldown' wbudowanego w komendę:
    command /kitgracz [<text>]:
    	cooldown: 30 seconds
    	cooldown message: &cMusisz odczekać &630 &csekund po każdym odebraniu kitu gracza!
    	cooldown storage: {kitgracz::%player%}
    	trigger:
    		#twój kod

    Jeśli chcesz wiedzieć więcej na ten temat, gorąco zachęcam do przeczytania poradnika Pana Marudy: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

  2.  

    Stworzenie własnego cooldownu poprzez obliczanie różnicy między wartością zmiennej, a zmienną 'now',

    command /kitgracz [<text>]:
    	trigger:
    		if {kitgracz::%player%} is set: #sprawdzanie czy zmienna z ostatnim czasem użycia komendy jest ustawiona
    			if difference between {kitgracz::%player%} and now is less than 30 seconds: #czy różnica między czasem w zmiennej {kitgracz::%player%} a 'now' (teraz) jest mniejsza niż 30 sekund. Jeśli tak, skrypt zostaje zatrzymany, a gracz otrzymuje informację, iż nie może odebrać kitu.
    				send "&cNie możesz jeszcze odebrać kitu gracza!" to player
    				stop
    		set {kitgracz::%player%} to now #ustawianie ostatniego czasu użycia do 'now' (teraz).
    		#dalszy kod

    W skrypcie po # masz komentarze wyjaśniające co i jak.

4. Mała wskazówka - zamiast dawania pojedynczo elementów zbroi, które posiadają te same parametry, możesz to zrobić o wiele szybciej.

Zamiast tego:

give 1 iron helmet of protection 4 and unbreaking 3 to player
give 1 iron chestplate of protection 4 and unbreaking 3 to player
give 1 iron leggings of protection 4 and unbreaking 3 to player
give 1 iron boots of protection 4 and unbreaking 3 to player

możesz zrobić to w jednej linijce:

give all iron armour of protection 4 and unbreaking 3 to player

5. Nie ustawiaj pojedynczo slotów tymi samymi itemami. Możesz to zrobić znacznie szybciej i schludniej za pomocą pętli.

To:

format slot 0 of player with black stained glass pane named "&6&lSPACE&f&lDROP.PL" to close
format slot 1 of player with black stained glass pane named "&6&lSPACE&f&lDROP.PL" to close
format slot 2 of player with black stained glass pane named "&6&lSPACE&f&lDROP.PL" to close
format slot 3 of player with black stained glass pane named "&6&lSPACE&f&lDROP.PL" to close
format slot 4 of player with black stained glass pane named "&6&lSPACE&f&lDROP.PL" to close
# i tak dalej...

możesz zastąpić tym:

loop 54 times:
	set slot loop-number - 1 of player's current inventory to white stained glass pane named "twoja_nazwa"

'loop-number' oznacza ile razy pętla już się wykonała. Od tej liczby odejmujemy 1, gdyż sloty w Minecraft'cie jak wszyscy wiemy, zaczynają się od zera.

6. W skrypcie masz pełno niepotrzebnych przerw. Między różnymi komendami i eventami wystarczy 1 linijka odstępu.

 

Jak więc widzisz, masz wiele do zrobienia, a więc do roboty. Mam nadzieję, że zrozumiałeś wszystkie ww. błędy, w razie czego pytaj śmiało. Powodzenia z tym skryptem ;)

Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

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

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...