MineServer.pl - Minecraft Serwer Serwery Minecraft

Pełna wersja: Skrypt by Ravcore | Questy #1 Sklep GUI
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam dzis chcialbym wam przedstawic skrypt ktory zdolalem sam napisac na questy.
Moze nie jest to jakas specjalnosc ale moze wam sie w jakis sposob spodoba. Od razu mowie ze nie jest to taki tradycyjny skrypt na questy ze podchodzicie do villagera klikacie PPM i macie zdanie.. nie.. to zupelnie inna rzecz.

Na poczatek pokaze wam jednak sklep tak aby mozna bylo "kupic" ten quest.

Kod:
options:
        cenaksiazki: 10000

on right click on entity:
    if name of clicked entity contains "&4&lSklep Quester":
        open chest with 2 row named "&4&lSklep Quester" to player
        wait 2 ticks
        format slot 4 of player with 1 book named "&b&lStarozytna Ksiega" with lore "&e&lCENA: &a{@cenaksiazki} $" to close then run [execute player command "/kupksiege"]

Teraz po kolei wytlumacze o co tu chodzi.
Po kliknieciu prawym przyciskiem myszki na moba o nazwie "&4&lSklep Quester" (w moim przypadku jest to iron golem ale wy mozecie stworzyc zupelnie innego ( tu przyda sie wam MythicMobs lub osobny skrypt)). Otwiera nam sie GUI gdzie mozemy zakupic ksiezke za cene 10000$.
Wazna rzecza jest by nasz entity byl niesmietelny gdyz inaczej gracze beda mogli go zabic. W tym przyda sie nam ten oto skrypt:

Kod:
on damage:
    if victim is a iron golem:
        if name of victim contains "&4&lSklep Quester":
            cancel event

Mysle ze tego tlumaczyc nie musze bo chyba kazdy wie o co biega.
Kolejna rzecza jest dzialanie tej ksiazki oraz komenda ktora byl zademonstrowana wczesniej przy Sklepie.
Zaczniemy od komendy by kupic ksiege.

Kod:
command /kupksiege:
    trigger:
        if player's balance is more or equal to {@cenaksiazki}:
            remove {@cenaksiazki} from player's balance
            give player 1 book named "&b&lStarozytna Ksiega" with lore "&3&oRozwiaz zagadke Starozytnych!"
            send "&fKupiles &b&lStarozyna Ksiege &f!"
            stop
        else:
            send "&cNie posiadasz tyle pieniedzy!"
            stop

Skrypt ten jest rowniez jasny i odwoluje sie do tej linijki:

Kod:
format slot 4 of player with 1 book named "&b&lStarozytna Ksiega" with lore "&e&lCENA: &a{@cenaksiazki} $" to close then run [execute player command "/kupksiege"]

Ale wytlumacze o co chodzi. Otoz po wybraniu Ksiegi ze sklepu lub tez po uzyciu tej komendy jestesmy w stanie zakupic ksiege jesli nasz stan konta wynosi 10000 $ lub wyzej. Jesli nie posiadamy wystarczajaco duzo pieniedzy - nie kupimy ksiegi.

No i teraz juz przychodzimy do akcji z ksiega ktora tu jest najwazniejszym przedmiotem.


Kod:
on rightclick with book:
    if name of player's tool is "&b&lStarozytna Ksiega":
        send "&b&oTo co sie stalo mialo okazac sie dla nas dobre..." to player
        wait 5 second
        send "&b&o[...] Wyladowali!... Jednak nie byli przyjaznie nastawieni" to player
        wait 5 second
        send "&b&oTo byl on! To on za tym stal!! Teraz giniemy jeden po drugim" to player
        wait 5 second
        send "&3&l{MISJA}: &b&oOdnajdz brakujace fragmenty wiadomosci! Skontaktuj sie se &4&lStarym Wojownikiem!" to player

Jak pewnie widac dodalem tu ciekawe wiadomosci ktore moga urozmaicic rozgrywke no i pierwsza misje ktora mamy wykonac. Wiadomosci te ktore widzicie pojawiaja sie co 5 sekund na chacie ale mozecie ustawic ile chcecie, tak samo z wiadomosciami. Tu jest wolny wybor.

W drugiej czesci poradnik napisze juz akcja z mobami, interakcje i ogolny ciag dalszy questa. Nie bede pisac calego skrypta gdyz ma on 1230 linijek i dosyc duzo sie nad tym napracowalem a nie chcialbym by potem wszytko bylo sciagniete w 100%. Tongue
Widzę tutaj kilka linijek kodu nie twoich. Skrypt jest bardzo łatwy do napisania, w półtorej minuty bym taki napisał. 4/10

@edit Ten Golem może uciec za zombie lub możemy go przesunąć. Może też sam wyjść.
@up nie moze. Golema mam stworzonego w MM i ustawionego tak ze nie mzoe sie ruszac.
A tak poza tym ciekawe czy bys napisal 1230 linijki w poltorej minuty jak takis hardcore zrob film i zobaczymy czy tak szybko po klawiaturze zamiatasz.
@up Nie widzę tutaj tych 1230 linijek Smile. Zapewne w takim kodzie celowo kopiował byś linijki. Golem może i ruszać, to normalny mob. Gdybyś dodał slowness wtedy nie miał by szans nawiać.
@Naselien: sam też posługiwałem się internetem i jakoś mi to nie przeszkadzało. Z resztą to właśnie z cudzych kodów wiele dzisiejsi amatorzy skripta się uczą a nóż jeśli chodzi o stronę źródłową, gdzie praktycznie masz wypisane każde możliwe do użycia funkcje w pluginie, tylko sztuka ich mądrze użyć...

A co do tych linijek, to się potwierdza. Skrypty które wymagają złączenia pewnych funkcji w całość i dopisywania tam multum warunków, interakcji to sporo do roboty a w w tym pluginie większość rzeczy które się ogarnia to małe pierdółki.

Co do samego tematu, rozbudowa wstępna bardzo ciekawa i wręcz przemyślana. Dla amatorów którzy wolą coś prostszego to odsyłam do mojego wątku: http://mineserwer.pl/Temat-PORADNIK-Pisa...ipt%C3%B3w

PS: tam tylko brak blokady na damage z obu stron, ale to nie problem, Citizens wystarczy by temu zapobiec ;p
Cytat:@up Nie widzę tutaj tych 1230 linijek
Najpierw naucz sie czytac potem pisz posty.
Cytat:Gdybyś dodał slowness wtedy nie miał by szans nawiać.
Glupi nie jestem, jak mowilem wczesniej ma ustwionego tak ze ruszac sie nie moze.
Cytat:Nie bede pisac calego skrypta gdyz ma on 1230 linijek i dosyc duzo sie nad tym napracowalem a nie chcialbym by potem wszytko bylo sciagniete w 100%.

Sam skrypt nie jest kopiuj wklej bo dotyczy tez ustwiania spawnowisk mobow , wszelkich interakcji, poprawnego dzialania itemow , sklep, portale, lokacje, ustawianie mobow itd.
Ja prezentuje tu najprostrze czesci w ktorych niektorych wzorowalem sie na internecie by kazdy mogl je zrozumiec cos odpatrzec ale widze ze co po niektorym sie nie podba.
Tak czy siak stworze jeszcze jedna czesc w ktorej beda interakcje z mobami ktore zrobilem na swoj sposob nie tak jak pokazal ironhide w swoim poradniku.
Przekierowanie