Ranking
Popularna zawartość
Treść z najwyższą reputacją w 07/31/20 w Odpowiedzi
-
code.skript.pl - Wspólny projekt
neQYT oraz jeden pozostały przyznał(a) reputację Libter za temat
20 głosów i robimy ( ͡° ͜ʖ ͡°)2 punkty -
AxCooldown - Zarządzanie cooldownem
Mordziotymoja przyznał(a) reputację xAxee za temat
Cześć Chciałbym wam przedstawić pewien system funkcji. Mianowicie chodzi o system zarządzania cooldownem. Funkcje udostępniam ponieważ wiele użytkowników nie wie jak poprawnie stworzyć cooldown a ten system funkcji powinien im to ułatwić. Funkcje są dostępne tutaj Środowisko: - skript min 2.6 - serwer 1.18.1 Jak używać? Najpierw trzeba stworzyć nasz cooldown funckją createCooldown(nazwa cooldowna, czas) np: on load: createCooldown("heal", 10 second) Następnie w kodzie musimy sprawdzić status cooldowna gracza funkcją: getCooldown(gracz, "nazwa cooldowna") np: command /heal [<text>]: trigger: if getCooldown(player, "heal"): Nastepnie gdy wykonamy kod musimy ustawic cooldown gracza funkcją: setCooldown(gracz, "nazwa cooldowna") np: setCooldown(player, "heal") Opis wszystkich funkcji: createCooldown(%string%, %time span%, %boolean-2%) - Tworzy cooldown deleteCooldown(%string%) - Usuwa cooldown setCooldown(%player%, %boolean%) - Ustawia status cooldownu getCooldown(%player%, %string%) - Zwraca status cooldownu w booleanie (np true) getCooldownBoolean(%player%, %string%) - Zwraca status cooldownu w booleanie (np false) getCooldownDate(%player%, %string%) - Zwraca date wygaśnięcia cooldownu (np 22.08.19 15:00) getCooldownTime(%player%, %string%) - Zwraca czas wygaśnięcia cooldownu (np 10 second) getCooldownText(%player%, %string%, %format%) - Zwraca przetłumaczony czas cooldownu (np 10 minut i 2.34 sekund) Małe wyjaśnienie: %string% - nazwa cooldownu (np "poradnik") %time span% - czas cooldownu (np 10 second) %player% - gracz (np player) %boolean% - status cooldownu (np true) %boolean-2% - czy automatycznie ma ustawić cooldown na true (np true) %boolean-3% - Włączenie bypassa do ominięcia cooldownu (np false) %format% - Customowa lista tłumaczeń (np "lat" and "rok", "miesiecy"...) Przykładowe skrypty z użyciem tych funkcji: Automatyczna aktualizacja Jeżeli chcesz aby ten skrypt aktualizował ci się automatycznie pobierz skrypt AxAutoUpdate1 punkt -
Ilość osób grających nie zależy od tego co ma serwer tylko od fejmu. Czy mc4u ma coś nowego? Nie, Arivi? Nie, DragonSurvival? Nie Oceniać serwer tylko po tym, że nie ma nic "innowacyjnego" to po prostu Dlaczego? Serwer może mieć te innowacje, ale być niedopracowany Te innowacje mogą być totalnie nie przemyślane Dużo graczy wbija na megadropy, żeby szybko seta ogarnąć i iść się klepać i nie zwracają raczej uwagi na inne rzeczy A co do serwera to wbiłem i niestety tragedia. Wiele prostych blędów związanych z chatem, serwer zapewne na skryptach i to ranomtp co mnie 3x na spawna tepło. Podstawowe biomy nie wyglądają na 1.8 zbyt dobrze ;/ Bardzo słabe zabezpieczenia, serwer tkzw. na "hita" Ogółem słabo1 punkt
-
Dobra, a więc odniosę się do mojej wypowiedzi. 1. Faktycznie, te "else:" jest podpięte pod if statementa, więc mój błąd. 2. Co do playera w argumencie funkcji wywoływanej w innej funkcji, było to błędem, ale widzę, że usunąłeś tę funkcję, więc mniejsza o to. Dobra, teraz co do twojego nowego skryptu: Początek skryptu jest dobry, nic złego nie widzę, lecz co do optymalizacji... Używasz w funkcji tp_lobby() dwukrotnie składni od komend przez konsolę, lepiej zrób to poprzez playera np. execute player command "mvtp %{_p}% world" as op Co do on chat:, powinieneś tam przynajmniej dodać warunek sprawdzający, czy gracz jest wyciszony, bo tak to każdy będzie mógł pisać niezależnie od tego, czy ma mute'a, czy też nie. Co do funkcji, po pierwsze, funkcje na górze kodu! Po drugie, funkcja nie może zwracać czegoś takiego jak loop-value, ustaw loop-value do argumentu funkcji, to samo tyczy się typu zwracanej wartości, nie ma czegoś takiego jak loop-number. W linijce 65 masz procent w niewłaściwym miejscu w zmiennej, powinien być przed klamrą. Linijka 66, brak zamykającej klamry. Linijka 67, brak zamykającej klamry. Procentów używa się tylko w tekście i kiedy potrzebujesz jednej zmiennej w drugiej, same procenty nic nie dają. Wszystkie funkcje (poza funkcją od scoreboarda) do solidnej poprawy. Linijka 94, brak zamykającego nawiasu + niepotrzebny loop-number. Na górze kodu powinieneś zrobić variables: i tam do zmiennych takich jak {bridge.stats.wins::%{_uuid}%} przypisać 0, czyli variables: {bridge.stats.wins::%{_uuid}%} = 0 {bridge.stats.goals::%{_uuid}%} = 0 itd. Oraz na koniec, w zmiennych lepiej używać podwójnych dwukropków niż kropek. Dzięki temu zamiast czyścić {bridge.stats.goals::*} możesz zrobić clear {bridge:stats::*}. I tutaj też pojawia się kolejny problem, w tych zmiennych uuid powinno być przed konkretną statystyką, czyli {bridge::stats::%{_uuid}%::goals}, dzięki czemu możesz zrobić clear {bridge::stats::%{_uuid}%::*} i tak właśnie możesz wyczyścić jednemu graczowi wszystkie statystyki. To tyle ode mnie, popraw co masz do poprawy i do dzieła! EDIT: Co do błędów w konsoli, masz do poprawy wytabowanie/wcięcia w funkcji level_bossbar() od linijki 73, po prostu cofnij wszystko od tej linijki + ją samą o 1 tab w lewo. Właśnie dlatego masz warna z 72 linijki "[Skript] Empty configuration section! You might want to indent one or more of the subsequent lines to make them belong to this section or remove the colon at the end of the line if you don't want this line to start a section. (stuff.sk, line 72: if {_ps} is set:')". A funkcje wywalają błędy, bo źle zrobiłeś zwracanie wartości.1 punkt
-
Tuske, jako jedyny ma opcję przejścia do funkcji po kliknięciu jakiegoś przedmiotu w jednej linicje. Dodatkowo nie musisz używać jakiś eventów on inventory click, żeby blokować wyciąganie itemów - tuske robi to od razu = )1 punkt
-
Dobra, mniej więcej sobie przejrzałem twoje załączone skrypty i zauważyłem parę błędów: 1. W pierwszej funkcji lobby_scoreboard() nic złego raczej nie widzę (aczkolwiek niezbyt znam się na składni ze scoreboardów, więc może ktoś mnie poprawi), poza jednym małym szkopułem, w linijce 24 masz "else: stop", lepiej gdybyś użył "else: exit 1 loop", gdyż podejrzewam, że chcesz tylko zakończyć pętlę, a nie zatrzymać całą funkcję (co zresztą i tak nie ma zbyt wielkiego sensu, tym bardziej, że jest na końcu funkcji). Dodatkowo, w linijkach kolejno 14 i 15 nie masz wywoływanych funkcji w procentach, daj je między procenty, w przeciwnym wypadku funkcja się nie wykona i będzie zwykłym tekstem. 2. W funkcji bungee_money_srt() masz "bungee_money_prt(player)", tymczasem tego nie możesz zrobić, ponieważ tam nie jesteś w stanie zdobyć playera, użyj playera zapisanego w {_p} z nadrzędnej funkcji. 3. W kolejnych funkcjach odwołujesz się do lokalnych zmiennych z poprzednich funkcji, czego nie możesz zrobić, ponieważ lokalne zmienne się nie zapisują, one służą tylko w danym fragmencie kodu (triggerze, funkcji itd.). Spróbuj wywołać następną funkcję w poprzedniej funkcji, której argumentami będą lokalne zmienne. Podam ci przykład z twojego kodu: masz lokalną zmienną {_m} w bungee_money_srt() i próbujesz jej użyć w bungee_money_prt(), zresztą w ogóle nie wiem po co ci funkcje bungee_money_prt() i bungee_portfel_btw(), one tylko próbują użyć lokalnej zmiennej z innego kodu, chociaż nawet słowo "próbują" jest lekką przesadą. Czy aby przypadkiem ta funkcja nie powinna zwracać jakiejś wartości czy coś? 4. Używasz funkcji bungee_money_prt() w kodzie funkcji lobby_scoreboard(), możliwe, że to nie zadziała, gdyż funkcje muszą być zdefiniowane w odpowiedniej kolejności (tutaj mogę się mylić, ale miałem kilkukrotnie problem z funkcjami w niewłaściwej kolejności), w tym wypadku funkcja lobby_scoreboard() powinna być raczej na samym dole. 5. Jak zobaczyłem funkcję na level, to tak trochę omniemiałem, jestem pewien, że mógłbyś to o wiele optymalniej zrobić, np. na podstawie procentów i bez tylu warunków, a przynajmniej nie rób w jednej kolumnie 10 if statementów, tylko 1 niech będzie "if", a każdy kolejny "else if", dzięki temu jeżeli 1 warunek się nie spełni, to dopiero do kolejnego przechodzi, a tak jak masz teraz to wszystkie naraz warunki sprawdza. Dobra, to chyba tyle, jakby coś jeszcze, to pytaj, ale od razu mówię, nie jestem dobrym skrypterem, więc nie myśl, że pomogę ci z wszystkim1 punkt
-
1 punkt
-
użyj mózgu i wymyśl co można dodać - właśnie na tym etapie kończy się kreatywność dzieci tworzących megadropa na śmiesznych hostingach co do prezentacji, to jedyne co mogę powiedzieć to meh.1 punkt
Ten Ranking jest ustawiony na Warszawa/GMT+02:00
-
Najwięcej postów w tygodniu
-
Najwięcej tematów w tygodniu
-
Aktywni użytkownicy
-
1
-
2
-
