Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Jak wgrać Quest. Tut Quest Maker ;)


Rekomendowane odpowiedzi

Opublikowano

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Wiele osób kopiuje sobie questy z różnych for z myślą: "O! Jakie fajne! Muszę to mieć na swoim!". Co z tego jak nie wiedzą co z nim zrobić?

Otóż. kiedy mamy już tego questa po nazwie dopisujemy kropkę "." i dopisujemy "quest". Wygląda to tak: jakis.quest

Następnie musimy wrzucić takiego questa do odpowiedniej ścieżki przez FTP*.

Nasze wszystkie questy znajdują się w ścieżce: /usr/home/xx/share/locale/xxx/quest

W miejscach xx oraz xxx mogą być różne nazwy katalogów. Np. xx może mieć nazwę mt lub mt2 lub jeszcze inną. xxx natomiast może mieć nazwę poland, germany lub inną.

Kopiujemy naszego questa do tego katalogu. 

Następnie musimy wejść do putty. Logujemy się na serwer i komendą: cd /usr/home/xx/share/locale/xxx/quest

Następnie wpisujemy komendę: ./qc nazwaquesta.quest

Jeśli nie wyświetli Nam core dumped quest wgrał się prawidłowo. (Czasami może wyświetlić inny błąd)

Brawo! Wgraliśmy właśnie naszego questa!

Teraz aby móc się nim cieszyć wystarczy wpisać /reload q. I można się bawić. 

 

*W celu połączenia ftp używamy programów np: FileZilla, WinSC

 

                               OD ZERA DO QUEST MAKERA :D

 

Witajcie, kiedyś już tworzyłem taki tutorial i postanowiłem napisać nowy.

Słowem wstępu: Nie jestem jakimś "super pro elo, elo" questerem. Jestem zwykłym User'em, który kiedyś pracował przy prywatnym serwerze metina i uczyłem się wszystkiego sam. Nie nauczę Was pisać Bóg wie jakich rzeczy, ani dungeonów ani skomplikowanych questów z użyciem query. Pokaże Wam same podstawy. Po zaznajomieniu się z tym Tutorialem będzie potrafili zidentyfikować niektóre błędy składniowe, będzie potrafili napisać własnego quest krótszego/dłuższego. Tutorial na tą chwilę tworzę sam i będę go update'ował do czasu, aż uznam, że jest już wszystko z podstaw. Mile widziane są pytania oraz sugestie co do Tut'a.

Jak to będzie wyglądać?: Otóż cały tut będzie opierał się na mini questach. W każdym postaram się powtórzyć poprzednie zagadnienia i wprowadzać nowe. Na początku będzie Lekkie wprowadzenie o co chodzi w tym temacie. Następnie będzie przykładowy quest. Wytłumaczenie co się pojawiło i co to daje. I znowu ten sam quest, jednakże z komentarzem dla tych najbardziej opornych.

Co potrzebujemy?: Umiejętność czytania i analizowania. Program notepad ++ (klikamy składnia, wybieramy "L" i "Lua"

Enjoy!

quest jeden begin

       state start begin

             when login begin

             say("Witaj!")

            end

      end

end

1. Quest. Co to jest i z czym to się je.

Co to właściwie jest ten quest? Questy to są, że tak ujmę skrypty pisane w języku Lua. Mogą być one różne, jedne mogą odpowiadać za teleportacje, drugie są misjami od biologa, lub fabularnymi, a inne mogą automatyzować różne eventy. Aby rozpocząć swoją przygodę jako Quester, należy znać język metina Lua oraz mieć pomysł. A więc. To przykładowy quest.

 

O co tutaj chodzi? Pierwsza linijka "quest jeden begin" to nazwanie naszego questa i rozpoczęcie go, możecie zmienić nazwę "jeden" na cokolwiek innego. Od tego zaczynacie każdego questa. "state start begin" - to odpala nam pierwszego state, odpowiada to za pojawienie się tego w grze, ale nie do końca, o tym w punkcie "x". "when login begin" czytamy to jako: "kiedy zaloguje rozpocznij". Innymi słowy, kiedy się zalogujemy wtedy coś, patrz następna linijka. "say("Witaj!")" Wywali nam okienko w grzej, gdzie będzie pisało "Witaj". Say odpowiada za to, co chcecie napisać np. w misji. Pamiętajcie aby nie robić jednego długiego "say" tylko kilka mniejszych w treści, wtedy wszystko się zmieści. Następnie są trzy "end" po co to jest? W lua, pewne rzeczy musimy "zamknąć" a raczej zakończyć. Zamykamy "quest", "state", "if", "when". Stąd mamy trzy endy. Zastanawiacie się pewnie czemu są te spacje? To są tak zwane taby. Wystarczy kliknąć tab i przeskakujemy nieco w prawo. Pomoże to nam nie zgubić się w "end'ach". Inaczej mówiąc, po każdej instrukcji która wymaga end, robimy taba przy następnej linijce.

quest jeden begin -- rozpoczynamy questa

       state start begin -- rozpoczynamy state'a

             when login begin -- kiedy zalogujemy się rozpocznij

             say("Witaj!") -- powiedz - czytaj napisz "Witaj!"

           end -- zamknij when

      end  -- zamknij state

end -- zamknij quest

jeżeli w linijce w queście dopiszemy "-- coś" to jest tzw. komentarz. Nie jest to odczytywane więc możemy pisać co chcemy.

 

 

2. Zróbmy questa z tablicą tylko dla Nas!

quest dwa begin
         state strat begin
               when login with pc.get_name() == "Fallen" then
               say("Co wybierasz?")
               local x = select("Cześć ", "Witaj")
                   if x == 1 then
                   say("Cześć ")
                   end
                   if x ==2 then
                   say("Witaj")
                   end
              end
       end
end

Spokojnie, to się z początku wydaje trudne. "when login with pc.get_name() == "Fallen" then" Ta linijka oznacza: kiedy zalogujesz się z nickiem "Fallen" wtedy coś. pc.get_name() == "nick" możecie tutaj wpisać dowolny nick i od razu jak się zalogujecie wyskoczy Wam ten quest. UWAGA, nie musimy tutaj pisać "begin" możem to zamienić jak widać wyżej na "then".
"local x = select("Cześć ", "Witaj") local to jest tablica (o tym dalej później), pozwala nam ona wybrać coś ze zbioru który tutaj nazwaliśmy "x", możecie użyć dowolnie innej nazwy. "= select("Cześć", "Witaj")" tutaj mamy określenie co jest w tym zbiorze "x". "Select" mówi nam o tym, że możemy wybrać coś lub coś, a "("Cześć ", "Witaj") to są elementy tego zbioru. Numerujemy je od prawej do lewej zaczynając od 1 przy liczbach całkowitych. Tutaj mamy 1 i 2. *po "cześć" specjalnie jest spacja, inaczej nie byłoby polskich liter."if x == 1 then" - jeśli element ze zbioru x jest równy 1 wtedy coś. W tym przypadku kiedy wybierzemy "Cześć" dostaniemy odpowiedź "Cześć". If'a zawsze musimy zamknąć kiedy skończy on swoją rolę, dlatego po "say("Cześć")" mamy znowu end. To chyba tyle co do wyjaśnień.

quest dwa begin -- otwieramy questa
        state start begin -- otwieramy state'a 
                when login with pc.get_name() == "Fallen" then -- kiedy mamy nick "Fallen" wtedy.
                local x = select("Cześć ", "Witaj") -- deklaracja elementów i dodanie zbioru
                        if x == 1 then -- Jeśli wybierzemy 1 element ze zbioru wtedy..
                        say("Cześć ") -- pokaże nam "Cześć"
                        end -- zamykamy if
                        if x == 2 then -- Jeśli wybierzemy 2 element ze zbioru wtedy..
                        say("Witaj") -- pokaże nam "Witaj"
                        end -- zamykamy if
                end -- zamykamy when
         end -- zamykamy state'a
end -- zamykamy questa

3. Stwórzmy quest dla Nas z nagrodą i bonusem!

quest trzy begin
          state start begin
                   when login with pc.get_name() == "Fallen" then
                    say_title("Mrok: ")
                    say("Witaj Fallen! Jaką chcesz otrzymać nagrodę?")
                    local n = select("Miecz +9", "Miecz +7")
                         if n == 1 then
                         say_title("Mrok: ")
                         say("Otrzymujesz miecz +9")
                         pc.give_item2(19,1)
                        end
                        if n == 2 then
                        say_title("Mrok: ")
                        say("Otrzymujesz miecz +7")
                        pc.give_item2(17,1)
                       end
                end
        end
end
Quest straszny? Nie, skądże znowu! Quest nie wnosi prawie nic nowego. "say_title(
"Mrok: ") to nic innego jak tytuł naszego okienka który wyskakuje, możemy wpisać 
cokolwiek. "pc.give_item2(19,1)" odpowiada za danie nam itemu o id 19 w ilości 1.
W nawiasie na początku określamy id itemu z item_proto a po przecinku jego ilość.

quest trzy begin -- rozpoczynamy quest trzy 
          state start begin -- rozpoczynamy state
                   when login with pc.get_name() == "Fallen" then -- kiedy się zalogujesz z nickiem "Fallen" wtedy
                    say_title("Mrok: ") -- tytuł okienka "Mrok: "
                    say("Witaj Fallen! Jaką chcesz otrzymać nagrodę?") -- co nam wyświetli
                    local n = select("Miecz +9", "Miecz +7") -- tablica, do wyboru dwa elemnty. 1 to "Miecz+9", 2 "Miecz +7"
                         if n == 1 then -- jeśli wybierzemy element 1 ze zbioru wtedy 
                         say_title("Mrok: ") -- tytuł okienka "Mrok: "
                         say("Otrzymujesz miecz +9") -- zwykły say
                         pc.give_item2(19,1) -- dostaniemy item o id 19, 1 sztukę
                        end -- zamykamy if'a
                        if n == 2 then -- jeśli wybierzemy element 2 ze zbioru wtedy
                        say_title("Mrok: ") -- tytuł okienka "Mrok: "
                        say("Otrzymujesz miecz +7") -- zwykły say
                        pc.give_item2(17,1)  -- dostaniemy item o id 17, 1 sztukę
                       end -- zamykamy if'a
                end -- zamykamy when
        end -- zamykamy state
end -- zamykamy quest

Daj " Lubię To " Dzięki serdeczne JP

Opublikowano

Wiedziałem, że beka będzie.

"local x = select("Cześć ", "Witaj") local to jest tablica (o tym dalej później),

ale to to mnie rozjebało.

Opublikowano

Nie ma nic gorszego niż nauczenie kogoś złych nawyków. Już czuję, że te piękne if'y i super tablice z local select będą mi się śniły po nocach...

 

Poradnik słaby, bo więcej nauczy gotowy quest i kolejne analizowanie każdego fragmentu, następnie wykorzystywanie nabytej wiedzy w pisaniu swoich questów. Kompilator nie wybacza, więc taka osoba pozna błędy w nim występujące i nie pisze w przyszłości głupich postów na forum "co oznacza ten błąd?" - oczywiście wzorowanie się na dobrych questach i uczenie się poprawnie używać danych funkcji.

Opublikowano

Wiedziałem, że beka będzie.


"local x = select("Cześć ", "Witaj") local to jest tablica (o tym dalej później),

ale to to mnie rozjebało.

 

Przy tym poście będzie zaraz 23434214 LAJKUF, a połowa z nich nie będzie wiedziała o co dokładnie się rozchodzi xD

da5e9f82fbb05240438e374847f4a6f9.gif

Opublikowano

SzefuPlayGame, Ty lepiej nie rób kolejnych poradników tylko skorzystaj z wujaszka google i poczytaj sobie troszkę o LUA.

Napisz do mnie, jeżeli potrzebujesz patcher'a.

Opublikowano

Gdyby byli moderatorzy, którzy choć trochę zaglądają w ten dział, nawet troszkę się znając na edycji serwerów - to nie zdjęliby punktów za ten post oraz wywalili temat od razu do kosza. (jak widać na samej górze po prawej stronie, % zostały zdjęte)

Niestety, wybiera się modów, którzy piszą 500 postów bez sensu, nie znając się na rzeczy. Żaden nie zagląda w ten dział.

Opublikowano

bardzo biedny ten poradnik. Wpisujemy komendę ./qc blablabla. Gdzie ją wpisujemy? W grze? w google? w konsoli navicat do wgrywania query?

Nie poruszyłeś pętli, nie poruszyłeś tablic, nie poruszyłeś tematu różnic, bugów i tony innych ważnych informacji.

57199140501148694665.png

Opublikowano

 

Jeśli ten tut to wszystko co wiesz o questach to proszę Cię naucz się trochę więcej i dopiero pisz poradniki.

Napisałeś że czasami może wyświetlić się inny błąd niż core dumped tak więc wypisz te błędy i napisz jak im zaradzić.

Dopisz gdzie wpisać "./qc blabla.quest" i jak odpalić to okno w ftp.

Fakt że chciało Ci się pisać już jest dużym plusem lecz na drugi raz bardziej się postaraj.

Nie wiem za co zmniejszyli Ci ten % ostrzeżeń ale w sumie to jest MPCForum.

"Lepiej umrzeć stojąc, niż żyć na kolanach"


 


 


https://www.twitch.tv/belgijskamalina   Taki tam stream :P

Opublikowano

Zapewne mało z was nie napisało by takiego poradnika. Bo takowego poradnika nie ma, ale ja napisałem chociaż ciut, ciut. I komuś się przydało. Skoro zdjęli mi 5%

to poradnik jak najbardziej na to zasłużył. Nawet nie kumaci wiedzą gdzie wpisać komendę.

Daj " Lubię To " Dzięki serdeczne JP

Opublikowano

Bardzo trochę biedny ten poradnik. Wpisujemy komendę ./qc blablabla. Gdzie ją wpisujemy? W grze? w google? w konsoli navicat do wgrywania query?

w6qirs.jpg

Opublikowano

Zapewne mało z was nie napisało by takiego poradnika. Bo takowego poradnika nie ma, ale ja napisałem chociaż ciut, ciut. I komuś się przydało. Skoro zdjęli mi 5%

to poradnik jak najbardziej na to zasłużył. Nawet nie kumaci wiedzą gdzie wpisać komendę.

Dodaj coś z epvp to też Ci zdejmą 5%.

 

Faktycznie nie ma 

http://www.mpcforum.pl/topic/841012-nauka-pisania-questow-w-metin2/

"Lepiej umrzeć stojąc, niż żyć na kolanach"


 


 


https://www.twitch.tv/belgijskamalina   Taki tam stream :P

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...