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

Kurs Pisania Questów by JachuPL


Rekomendowane odpowiedzi

  • Odpowiedzi 76
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy w tym temacie

Top użytkownicy w tym temacie

Opublikowano

Temat chyba wyczerpany dla początkującej osoby. Pewnie i tak nadal będą się pojawiały bezsensowne poradniki, ale może będzie ich trochę mniej. Oczywiście +.

Opublikowano (edytowane)

Czy użytkowników tego forum ostatnio pierdolnął piorun że robią poradniki do czegoś gdzie wymagane jest po prostu logiczne myślenie?

Dla ciebie logiczne, pomyśl sam jak to było gdy zaczynałeś? Też myśleniem logicznym pisałeś questa? Nie "sondze"

@Poradnik ładny czytelny, przyda się wielu zaczynającym. 

Edytowane przez ac_1
Opublikowano

Czy użytkowników tego forum ostatnio pierdolnął piorun że robią poradniki do czegoś gdzie wymagane jest po prostu logiczne myślenie?

 

czasami trzeba nawet uczyć logicznego myślenia ;)

57199140501148694665.png

Opublikowano

czasami trzeba nawet uczyć logicznego myślenia ;)

W programowaniu logiczne myślenie to podstawa. Najpierw opracowujesz sobie plan, dopiero potem zabierasz się za pisanie questa. Ale chuj - i tak powiedzą, że to photoshop. Świetna robota Jachu, jak zwykle profeska ;) 

 

umarł

Opublikowano

Czy użytkowników tego forum ostatnio pierdolnął piorun że robią poradniki do czegoś gdzie wymagane jest po prostu logiczne myślenie?

Widzę geniusz na forum. Pozdrawiam. 

Opublikowano

Prawdę mówiąc LUA używane w questach to tylko ziarenko tego ciekawego języka. Czasem bawi mnie gdy ktoś pisze, że programuje w LUA, a tak na prawdę tylko posługuje się funkcjami z Metin2 przy tworzeniu questów. Pisanie questów to w 90% wykorzystywanie funkcji z metina zgodnie z zasadami LUA. Pozostałe 10% to tablice, pętle etc, których i tak wiele osób nadal nie używa bo nie rozumie. I to właśnie dla tych osób jest ten poradnik, by zacząć robić questy trochę bardziej ogarnięte. Pozostali bardziej obyci w tym temacie mogą jedynie dać + pod tematem, wyjść z niego i liczyć na to, że nie przyjdzie znów do głowy komuś początkującemu pisanie pro elo elo poradników na podstawie... notatek z kartki kolegi. :D

Opublikowano (edytowane)

@up

Ty byś nawet 5 linijek nie napisał :D

 

@topic

Można rozwinąć temat o moduł typu string, dodać coś na temat tablic, ale na prawdę to i tak jest porządna robota.

 

Co do tablic, sam wykorzystuję na przykład taką formę(hejtujcie, śmiało):

To jest ukryta treść, proszę
 
table.concat zwiera dwa argumenty:
1. nazwę tablicy,
2. wartość, która pojawi się pomiędzy każdym z elementów tablicy.

Przykładowo, gdy mamy tablicę typu:
 
To jest ukryta treść, proszę
 
 
To po użyciu w/w przykładu wraz z table.concat(tablica, " TEKST ") otrzymamy w zmiennej wynik:
Dziki Pies TEKST Głodny Pies
Oczywiście można się bawić dalej, ale pozostawiam resztę dla was - wiadomo, jesteśmy na MPCshit. 
Edytowane przez z4z0l

 

umarł

Opublikowano (edytowane)

 

@up

Ty byś nawet 5 linijek nie napisał :D

 

@topic

Można rozwinąć temat o moduł typu string, dodać coś na temat tablic, ale na prawdę to i tak jest porządna robota.

 

Co do tablic, sam wykorzystuję na przykład taką formę(hejtujcie, śmiało):

To jest ukryta treść, proszę
 
table.concat zwiera dwa argumenty:
1. nazwę tablicy,
2. wartość, która pojawi się pomiędzy każdym z elementów tablicy.

Przykładowo, gdy mamy tablicę typu:

 
To jest ukryta treść, proszę
 
 
To po użyciu w/w przykładu wraz z table.concat(tablica, " TEKST ") otrzymamy w zmiennej wynik:
Dziki Pies TEKST Głodny Pies
Oczywiście można się bawić dalej, ale pozostawiam resztę dla was - wiadomo, jesteśmy na MPCshit. 

 

 

dodałem, dzięki ;)

Edytowane przez JachuPL
57199140501148694665.png

Opublikowano

W zasadzie nic czego bym nie widział, ale props za chęci i inicjatywę, tutorial o wiele lepiej się czyta aniżeli ten kwiatmixa, dzięki. :)

Opublikowano

Wchodząc tu (pamiętając twoje questy) obawiałem się tablic, których używasz.. za dużo. Ale nie jest źle. Jest nawet dobrze. Świetny poradnik ;).

sygnatura2.png


Opublikowano (edytowane)

Dlaczego odradzasz pliki na windowsa?

u mnie QC nie zawsze pokazuje prawidłowe informacje w konsoli, często zamyka się bez powodu, wymagało pewnych przeróbek, które być może udostępnimy dziś/jutro na forum ;)

 

Wchodząc tu (pamiętając twoje questy) obawiałem się tablic, których używasz.. za dużo. Ale nie jest źle. Jest nawet dobrze. Świetny poradnik  ;).

myślisz, że sprzedałbym swoje sposoby za bezcen? :D
Edytowane przez JachuPL
57199140501148694665.png

Opublikowano

Deklaracja zmiennej lokalnej nie może wystąpić w instrukcji warunkowej, lecz przed nią.

Jeśli zdeklarujemy jakąś zmienną jako "local" i zrobimy to w instrukcji warunkowej (tzw. będzie ustawiana JEŚLI coś się stanie) system zwyczajnie nam zwariuje.

Przykład:

To jest ukryta treść, proszę

Użycie czegoś takie spowoduje dziwne, irracjonalne efekty.

Aby uniknąć tego typu problemu definiujemy zmienną przed instrukcją warunkową a jej wartość normalnie ustalamy w warunku.

Przykład:

To jest ukryta treść, proszę

Druga rzecz, która mi się rzuciła w oczy to drobny błąd w poradniku.

Zwykły timer możemy zatrzymać funkcję cleartimer(). Jaki byłby sens timerów w dungeonach, gdyby nie dało się ich zatrzymywać? :P

Po za tym poradnik bardzo ładny ;)

Opublikowano (edytowane)

@up

Nigdy nie miałem problemu z definiowaniem zmiennych po instrukcji warunkowej "if". Możesz bardziej przybliżyć problem?

Jedynym "problemem" jest porównywanie zmiennych. Przykładowo:

To jest ukryta treść, proszę

w tym momencie zmienna "ilosc" będzie miała nadal stan, który został zapisany przed rozpoczęciem instrukcji warunkowej "if", ponieważ taka wartość została tam zapisana, a nie AKTUALNA. 

 

Z innym przypadkiem "irracjonalnych efektów" się nie spotkałem.

 

I tak jak zostało napisane, możemy zatrzymać, a nawet wyłączyć timer.

 

cleartimer(nazwa_timera)

clear_server_timer(nazwa_timera)

Edytowane przez z4z0l

 

umarł

Opublikowano (edytowane)

Świetny poradnik! Przyda się początkującym, a nawet w drobnym stopniu zaawansowanym Lua-quester'om. Mi osobiście przypomniało mi jedną fajną pętle.
A w punkcie: 9. Tablica w MetinLua,
podpunkt: 1. Tablica jednowymiarowa
Tak ładniej wygląda? ^^
ttttpng_exaxxeq.png

Edytowane przez NukinTHC
Opublikowano (edytowane)

Co wam da że krócej skoro kompilator i tak to przekompiluje na swoje więc> polecam wam test.

Napisanie prostego qusta i po skompilowaniu go zajrzeć do object jak on wygląda ;)

I powiem wam że nawet lepiej pisać. when x.use 100 razy wtedy kompilator w danym przedmiocie czy co tam będzie miał tylko tą funkcje a nie całą tablice w każdym argumencie. 

Oczywiście to moje zdanie, nie pisze 200 x use. Też tablicą ale skoro już taki temat że krócej to wtedy quest jest długi, a w object jest 2x krócej. 

Edytowane przez ac_1
Opublikowano (edytowane)

No w sumie masz rację, to jest najkrótszy sposób zapisu w tym sposobie, ale napisz mi w ten sam sposób na więcej niż 4 przedmioty (nie ilość).. ;)

Po co skoro masz tylko 4 profesje? A jak chcesz dawać po więcej niż 1 różnych przedmiotów to robisz tablice dwuwymiarową.

To jest ukryta treść, proszę

Na upartego można to zrobić nawet w 1 wymiarowej tylko to bez sensu...

To jest ukryta treść, proszę
Edytowane przez Inkscape
Opublikowano


local job = {

[0] = {id, id},

[1] = {id, id},

[2] = {id, id},

[3] = {id, id}

}

for i = 1, table.getn(job[pc.job]) do

pc.give_item2(job[pc.job])

end

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...