Dołącz do HYPIXEL.PL (połączony serwer MCSURVI + MINEFOX + MINESERVER)!

Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
MrSandKing[Poradnik] Jak pisać skrypty? Dodatki.
#1
Cześć,

po dość długiej przerwie stwierdziłem, iż warto napisać kolejny poradnik dot. pisania skryptów. Więc tak, tematem dzisiejszego poradnika są dodatki do pluginu Skript. Zanim przejdziemy do listy dodatków, która jest dość długa przejdę najpierw do czego są i co one wnoszą do naszego pluginu Skript.

1. Czym są dodatki?
Są to dodatkowe pluginy, które służą do napisania, stworzenia czegoś czego w samym Skript nie zrobimy. Można powiedzieć, że jest to składania, która umożliwia nam właśnie wykonania czegoś czego po prostu nie zrobimy w zwykłym Skript, gdyż nie ma tego w jego dokumentacji. Co chcę przez to powiedzieć? Chcę powiedzieć, że nie zrobimy GUI bez żadnych dodatków, ponieważ sam Skript po prostu nie posiada tego, potrzebuje on np. dodatku SkQuery lub TuSKe, aby zrobić takowe GUI. Jeśli chcemy, aby gracz automatycznie się odrodził również musimy skorzystać z dodatku np. z Skeleton. (Od wersji 2.3.1 Skript posiada już w sobie Respawn Effect).

2. Czy one są potrzebne do dobrego skryptu?
Wobec tego punktu mam dwie strony, tak oraz nie.

Dlaczego nie są potrzebne do dobrego skryptu?
Ponieważ możemy napisać nierozbudowany skrypt.

- Nierozbudowany; jeśli nie jesteś osobą, która nie ma obszernej wiedzy na temat dokumentacji Skript'a, któregoś z jego dodatku, wówczas nierozbudowany skrypt jest dosyć dobry.

Ale co to za sobą niesie?
1) Skrypt nie wniesie dużo na serwer.
2) Ograniczenie samego Skript'a.
3) Brak konfiguracji.
4) Skrypt nie będzie aż tak obciążał serwera. (Jeśli nie posiada zbędnych pętli, every x seconds itp.)

Ograniczenia:
1) Brak możliwości tworzenia GUI z funkcjami.
2) Brak możliwości sprawdzania, edytowania, tworzenia, usuwania plików/folderów.
3) Odtwarzanie dźwięków. W samym Skript jest ono bodajże od wersji 2.2-dev28, jednak w wersji 2.4 zostały dodane kategorie, jednak jeśli się nie mylę to w tym przypadku jest wymagana wersja 1.11+. Odtwarzanie dźwięków na starszej wersji możliwe jest tylko poprzez komendę, czyli coś takiego:
Kod:
execute console command "playsound <sound> <player> [x] [y] [z] [volume] [pitch] [minimumVolume]"
make player execute "playsound <sound> <player> [x] [y] [z] [volume] [pitch] [minimumVolume]"

Dlaczego są potrzebne do dobrego skryptu?
Ponieważ możemy napisać rozbudowany skrypt.

- Rozbudowany; jeśli chodzi o ten punkt to tutaj będzie dłuższa wypowiedź. Rozbudowany skrypt jest przeważnie bardziej użyteczny niż nierozbudowany i nie, nie chcę powiedzieć, że nierozbudowane skrypty są gorsze od tych rozbudowanych. Możemy więcej w takim skrypcie napisać, zrobić, po prostu ograniczenia, które są przy tych mniej rozbudowanych skryptach po prostu zostają zniesione. Oczywiście jest to zależne od dodatku, ponieważ dodatki nie są identyczne.

Podsumowując ten punkt - dodatki do pluginu Skript są potrzebne, aby skrypt był rozbudowany, posiadał w sobie więcej możliwości oraz ułatwień.

3. Czy ilość dodatków ma znaczenie?
Ilość dodatków na serwerze jest już bardziej preferencją dla tego kto będzie korzystał z nich, ale moim zdaniem ilość dodatków ma dosyć duże znaczenie. Jakie? Niektóre dodatki "gryzą" się ze sobą przez co mogą występować błędy na serwerze. Niektóre zaś nie są już wspierane. Co więc powinniśmy zrobić?
1. Jeśli nie korzystamy z jakiegoś dodatku - wyrzućmy go.
2. Jeśli dodatek jest pod wersję 1.7, a nasz serwer 1.12 również go wyrzućmy. Taki dodatek nie będzie poprawnie działał, zupełnie tak jak wersja pluginu 2.1.2 na wersji 1.11+.

4. Czy warto korzystać z dodatków?
Podsumowując - tak, warto korzystać z dodatków, ponieważ możemy zrobić dzięki nim ciekawe i rozbudowane skrypty.

A więc tak... Przejdźmy teraz do listy wszystkich dodatków do pluginu Skript:
AdvancementsAddon, AlkaSK, AuthMeSkAddon, Baskup, BentenCore, Biosphere, Biosphere2, BoringSK, BunchSk, BungeeAddon, BungeeMaster, Conquer, DSSkriptAddon, Ersatz, EventSK, ExertSK, ExpressionsPlus, ExterSK, ExstrasSK, FacSK, Fawesk, FileSK, FunkySk, GameBuSK, Gangar, GattSK, GuiSk, HolographicDisplaysAddon, HookSk, IdkSk, jNBT, LargeSk, LiteBansSk, MarSK, MineLuaSK, mmSkriptAddon, MundoSk, MySkript, Netrozor, NpcAddon, OaSkriptEvents, OpenAudioMcSkript, OpenAudiomcSkriptEvents, PAPISkriptExpansion, PirateSK, ProtocolPing, PurpleSk, QuarSK, RandomSK, RediSK, Repuska, reqn, ScoreboardTags, SharpSK, SkAction, SkAddonLib, skAliasesVerCheck, SkAngelTool, skDragon, sKeeland, Skellett, SkellettProxy, Sketch, SkExtras, SkGet, skGlide, skLib, SkMorkaz, SkMusic, Skore, SKPermissionsEx, skProfession, SkQuery, SkQuery-Lime, SkRambled, Skraper, skRayFall, skript-db, skript-hack, skript-json, skript-math, skript-mirror, skript-npc, skript-ping, skript-votifier-hook, skript-yaml, SkriptEvolved, SkriptPlus, skRPG, skRPG-Lime, SkSpigotAdditions, SkStuff, Skuared, Skungee, skUnity, SkUniversal, skUtilities, SkVault, SKVoice, SkWaze, skWhitelist, SkWorldBorder, SpectateHook, SQLibrary, TeamSkript, Ticker, Tortoise, TraderSk, TuSKe, TwitterSK, Umbaska, UmbaskaCord, uSkAddon, Vectors-Skript, Vixio, WebAddon, WildSkript, WolvSK, SkriptHubDocsTool, Beamer, skript-logs, SkDisplay, SkEmail, Skematic, LeafSK, Sk-NBeeT, Skript-Paper, GameAPI, Kosmos, Tablisknu, WebSKT, HyperSK, Kosmos-1.0-BETA.3, MorkazSk, Sk-Perm, ASkAddon, PirateSK2, SkRolis, skript-holo, Misk, Skent, ThatPacketAddon, Khoryl, skript-placeholders, TranSKator, SkBee, SkBoard i skester.

Jak widzicie dodatków jest masa, niektóre są Reworkiem starych projektów.
To tyle w tym poradniku, myślę, że się może do czegoś przydać.
Pozdrawiam.
Odpowiedz
#2
W następnym poradniku, zrób GUI. Tylko nie na zwykłym formacie, które można łatwo zbugować i na większych serwerach by się to nie sprawdziło. 



Kod:
set player's current inventory's slot 0 to leather boots named "anty-bug" with lore "Dawaj, zbuguj mnie"


Do tego eventy, żeby nie można było wyciągać itemków

Kod:
on inventory click:

    if inventory name of current inventory of player is "ODPOWIEDNIA NAZWA TWOJEGO GUI RAZEM Z KOLORKAMI":
        if player's current inventory's slot 0 is leather boots:
            send "Nie wyciagniesz" to player
            cancel event

W jeszcze następnym możesz zrobić zastępowanie wysłanego zdania na chacie. np:

Kod:
on chat:

        if player don't have permission "admin.chat":
                replace all "WIADOMOSC" with "Nie możesz wysłać wiadomości z taką treścią!" in the message


Swoje poradniki możesz zrobić lepiej kolorystycznie i opisywać lepiej kod, rzeczy w poradniku Big Grin
Odpowiedz
#3
Jeśli chodzi o GUI to od dłuższego czasu planuję wykonać takie coś, ale na ten moment zajmuję się kolejnym poradnikiem dot. dodatku (taki mały spoiler), ale wezmę to pod uwagę. Jeśli chodzi o ostatnie zdanie, a dokładnie o lepsze opisywanie i kolorystykę; nie lubię się bawić kolorami, tym bardziej, że dużo jest zabawy przy obu stylach forum, dlatego wolę nie dokładać kolorków. Może za jakiś czas spróbuję coś dołożyć, ale musiałbym się bardziej nad tym zastanowić.
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości