-
Ilość zawartości
1471 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
40
Treść opublikowana przez PanMaruda
-
pierwsza sprawa jest taka, że skrócimy kod i poprawimy go wizualnie, ale patrząc bardziej praktycznie druga - skript jest jaki jest - ma swoje słabe i gorsze strony - trzeba je analizować i skutecznie omijać \ eliminować żeby nie wsadzić sobie na serwer wielkiego, zasobożernego kloca pamiętaj na przyszłość - im więcej mniejszych operacji tym gorzej: (załóżmy że mamy 10 graczy na serwerze) twój kod zapętli ich wszystkich i do każdego z nich wyśle 256 wiadomości - daje nam to 2500 pojedynczych operacji, więcej przesłanych pakietów i tak dalej - w skrócie mówiąc chujnia jeżeli stworzymy sobie zmienną z listą 100 pustych wiadomości (czyli tak jak w kodzie podałem) to wykonamy 100 operacji w pętli jeżeli wyślemy do gracza tą listę, to zostanie ona (a przynajmniej tak mi się wydaje) wysłana w postaci jednego pakietu - zatem wychodzi nam 10 operacji (pakietów) - w sumie daje nam to 110 operacji 2500 i 110 - jest różnica kolejna sprawa - zauważyłem niejednokrotnie że jeżeli w składni można podać listę zamiast pojedynczej wartości - to lepiej jest ją podać, zamiast ją zapętlać i wykonywać kod dla każdej z jej wartości, czyli np. #zamiast loop all players: loop {_lista::*}: send loop-value to loop-player #lepiej użyć send {_lista::*} to all players jeżeli zrobimy swoją pętlę to znowu - kod wygląda mniej czytelnie oraz procesor jest bardziej obciążany
-
nie mam pojęcia jak dokładnie działa bugneecord, aczkolwiek z tego co się orientuję to na serwerze lobby będziesz musiał wgrać plugin skript oraz dodatek obsługujący właśnie bugneecorda - potem musisz już normalnie korzystając z tego poradnika zrobić sobie skrypt tylko zamiast (przykładowo) liczby graczy z lobby, musisz pobrać liczbę graczy ze wszystkich pod-serwerów zsumować ją i dopiero wyświetlić - ot, cała filozofia.
-
wymienisz te "feature'y"? bo ja niestety żadnych nie widzę. innowacja dla ciebie - zwykła sprawa dla obcujących w temacie oczywiście: im więcej działań wykonuje skrypt, tym bardziej obciążamy procesor, tym mniej skrypt jest optymalny, dlatego: zamiast 256 iteracji w pętli zrób ich gdzieś 50-100 - tyle wiadomości wystarczy żeby zakryć chat zamiast wysyłać za każdym razem osobno te 100 wiadomości do każdego gracza - dodaj 100 pustych wiadomości do zmiennej i wyślij ją do wszystkich graczy loop 100 times: add "" to {_lista::*} send {_lista::*} to all players #ewentualnie można dodać warunek sprawdzający permisję (https://skriptlang.github.io/Skript/expressions.html#ExprFilter) #send {_lista::*} to all players where [input has permission "chat.bypass"] żeby nie bawić się z nullem (<none>) lepiej użyć wyrażenia "SENDER", które nie może być nullem - zwróci albo nick gracz, albo konsolę, którzy użyli komendy - wtedy nie będziesz musiał w kodzie bawić się z takimi warunkami
-
spawn w losowym miejscu(ograniczone) skały
PanMaruda odpowiedział(a) na Bodziusiu2 pytanie w Zlecenia
every 5 minutes: set {_} to (random element out of {randomStones::*}) set block at {_} to stone command /saves: trigger: add location of block at player to {randomStones::*} send "&aPomyślnie dodano lokalizację bloku na koordynatach &6%location of the player%&a." to player -
Przyjacielu, ale wiadomości spoza tego świata się do niego dostaną - zablokowałeś tylko wyjście wiadomości
-
send "%join all players with "",""%"
-
chat: world of player is "Poczekalnia": loop all players: world of loop-player is not "Poczekalnia": remove loop-player from chat recipients else: loop all players in world "Poczekalnia": remove loop-player from chat recipients
-
skoro zmiennej nigdzie nie zdefiniowałeś to jak ma ci cokolwiek wyświetlić? Musisz nadać zmiennej jakąś wartość, żeby później móc coś na niej działać
-
pluginem protocol support spróbuj
-
jak może dobrze działać, skoro piszesz że ??
-
Można coś odtworzyć z plików serwera, o ile dźwięk jest w formacie nbt (dźwięki z notebloków)
-
spróbuj użyć mojego skryptu mGUI (link w sygnaturze)
-
Witam szanownych użytkowników, może ogólnie zacznę tak jak w tytule - pierwszy raz wziąłem się za coś innego niż Skript, akurat padło na Kotlina postawiłem sobie na początek przepisać jeden z moich skryptów na losowe kody (marudaCode) - no i jakoś coś wyszło, po kilku godzinach wypociłem trochę kodu... tutaj dochodzimy do sedna tematu - byłbym wdzięczny, gdyby ktoś z was (a najlepiej tych bardziej zorientowanych w temacie) spojrzał w to moje cudo i powiedział co jest źle, niepoprawnie, staroświecko i najlepiej wytłumaczył jak zrobić to lepiej i optymalniej.
-
wystarczy zapisać współrzędne bloku w którym stoi gracz command /pos1: trigger: set {zadanie1} to (location of block at player) execute player command "hd create zadanie1 &uZadanie nr1 | Użyj komendy /zadanie1 aby wykonać zadanie" command /zadanie1: trigger: if (location of block at player) = {zadanie1}: send "SIEMA" else: send "Stań w dokładnej pozycji zadania1"
-
świat Skrypt na kity (bez potrzeby używania essentialsa)
PanMaruda odpowiedział(a) na KrychaMC09 temat w Skrypty
a najlepiej jeżeli o gui chodzi to pobaw się moim skryptem mGUI (link w sygnaturze)- 12 odpowiedzi
-
- ważne
- skrypt miesiąca
-
(i 2 więcej)
Oznaczone tagami:
-
wedle życzenia: command zaproszony <offline player>: trigger: if arg has played before: if {zaproszenie::%arg%} is not true: set {zaproszenie::%arg%} to true send "dostajesz nagrodę" else: send "dostałeś nagrodę" else: send "nie ma takiego gracza"
-
Prośba o napisanie skryptu na Action Bar.
PanMaruda odpowiedział(a) na dragon5585 pytanie w Zlecenia
błędu żadnego nie ma bo ten kod działa poprawnie, wina leży po stronie twojego serwera. -
Prośba o napisanie skryptu na Action Bar.
PanMaruda odpowiedział(a) na dragon5585 pytanie w Zlecenia
death: attacker = player: victim != player: send action bar "&6Exp: {EXP_GIVE}" to attacker -
można, można zrobić wszystko... ale skrypt będzie miał pierdyliard linijek skrypt będzie lagował 100 razy bardziej niż dobry plugin ktoś się jeszcze powiesi jak będzie musiał to pisać nie dostaniesz takiego skryptu za darmo jeszcze się przekręcisz jak usłyszysz kwotę za takie zlecenie po co robić coś co już jest zrobione w kilku pluginach i działa szybko, lekko i zajebiście? zainteresuj się pluginem TAB od użytkownika Neznamy
-
a zatem mamy do czynienia z opcją numer jeden - za stare wersje: jeżeli ten kod poniżej wywala ci unknown command to raczej nic z tym nie zrobisz - takie błędy są standardem wśród kilkuletnich wersji pluginów, które już od dawna nie otrzymują wsparcia od twórców command /chat [<text>]: permission: chat.admin permission message: &4>>Ty &cjestes &4chyba &cgłupi trigger: if arg 1 is not set: send "&0[&bF&eM&bC&0] &4Coś nie pykło" stop if arg 1 is set: if arg 1 is "on" or "off" or "clear" or "c": if arg 1 is "on": send "&0[&bF&eM&bC&0] &2Pomyślnie włączyłeś czat!" broadcast "&0[&bF&eM&bC&0] &7Czat został &2Włączony&7 przez &2%player%" set {chat.status} to true if arg 1 is "off": send "&0[&bF&eM&bC&0] &2Pomyślnie wyłączyłeś czat!" broadcast "&0[&bF&eM&bC&0] &7Czat został &cWyłączony&7 przez &c%player%" set {chat.status} to false if arg 1 is "clear" or "c": loop all players: loop 100 times: send "" to loop-player broadcast "&0[&bF&eM&bC&0] &7Czat zostal &cwyczyszczony&7 przez &c%player%" Najlepsze co teraz możesz zrobić to przenieść się na wersję 1.16.3 (najlepiej na silniku Paper), zaktualizować pluginy do najnowszych dostępnych wersji i wtedy wgrać te skrypty - raczej nie będą więcej sprawiać problemów.
-
ten błąd z unknown command pojawia się często gdy: wersja gry (jak i pluginów jest za stara) pluginy są niekompatybilne z wersją korzystasz z craftbukkita plugin ma problem ze składnią (i sypie errorami do konsoli) najlepiej będzie jeżeli wypiszesz nam tutaj wszystko z poniższej listy: wersja serwera nazwa silnika wersja skripta (pod komendą /ver Skript) wersja Skelleta (/ver Skellet) [opcjonalnie] lista pozostałych dodatków do skripta
-
to ja może tak od serduszka dodam, że dopóki będziesz korzystał ze starych wersji pluginów, lub dziwnych silników pokroju bukkita, to takie błędy będą się pojawiały non stop i większość skryptów po prostu działać nie będzie proponuję zaktualizować serwer do wersji 1.15+ zaopatrzyć się w najnowsze pluginy i nie będzie żadnych problemów.
-
według wzoru command /komenda: cooldown: 30 minutes aliases: aliasy permission: permisje trigger: kod
-
dlaczego nie użyjesz skryptu kKits od knugiego?
