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

[Tut]Pisanie Questów...


xDeStRuCtx

Rekomendowane odpowiedzi

Opublikowano

Fajnei napisane.

Mam tylko jedno zastrzeżenie.

if pc.get_money()>=500 then --jezeli mamy DOKLADNIE 500yang to...

Tam chyba zamiast >= powinno być ==, nieprawdaż?

Opublikowano

Fajnei napisane.

Mam tylko jedno zastrzeżenie.

if pc.get_money()>=500 then --jezeli mamy DOKLADNIE 500yang to...

Tam chyba zamiast >= powinno być ==, nieprawdaż?

 

== czyli rowne 500 yang, >= czyli 500 i wiecej.

Opublikowano

Jak to powiedział adriank™ wprawy nie zdobędziesz z tutków...polecam pisać takie questy jakie wyobraźna wymyśli ^^

Ja się uczyłem sam na podstawie questów insomnii.

Tut dobrze napisany,tylko opisz bardziej wheny bo ich jest "troszkę" więcej : ) np.take,click,chat i ciekawe niespotykane die

GG:5542533

Bez jakichkolwiek danych,proszę nie pisać w sprawie pomocy...

Opublikowano

Jak to powiedział adriank™ wprawy nie zdobędziesz z tutków...polecam pisać takie questy jakie wyobraźna wymyśli ^^

Ja się uczyłem sam na podstawie questów insomnii.

Tut dobrze napisany,tylko opisz bardziej wheny bo ich jest "troszkę" więcej : ) np.take,kill i ciekawe niespotykane die

 

Dobrze mówisz, a co do tutka to dopisz też coś o endach, bo nic nie znalazłem tu (że wszystko musi być podomykane, etc.).

Opublikowano

Dodaj jeszcze mój wczorajszy błąd. Mianowicie, każdy pierwszy state musi zaczynać się "start" nie może być on nazwany powiedzmy "pierwszy". Super poradnik, czekam na jakieś aktualizacje.

 

umarł

Opublikowano

Przykład użycia whena die w queście "Znajdź doświadczonego żołnierza" .

when __TARGET__.target.die begin
    say("Niestety twój cel zginął")
    say("Ale Mistrzowie dają ci jeszcze jedną szanse,")
    say("")
    say("Podejmij zadanie jeszcze raz!")
    restart_quest()
end

Polega to na tym że gdy __TARGET__ zginie(my go nie zabijemy) pojawia się określona wiadomość i quest się restartuje(restart_quest).

Target działa na funkcji napisanej przez twórców 2006SF na potrzeby tego questa.(find_senior_soldier.find_target())

 

Nie wiem czy dobrze to opisałem,ale spróbowałem : )

 

@xDeStRuCtx W tym queście targetem jest gracz,dzięki zastosowaniu pewnej funkcji dostępnej tylko do tego questa(spróbuje znaleść w questlib'ie).

 

@WoJjTeK A czy przypadkiem die może zadziałać na siebie? tzn.jak zginiesz to coś się dzieje

GG:5542533

Bez jakichkolwiek danych,proszę nie pisać w sprawie pomocy...

Opublikowano

@UP

pc.getqf() przetrzymuje jakąś informację... W obrębie tylko tego, jednego questa i tylko dla tej jednej, jedynej osoby. Czyli jeżeli quest się włącza, to sprawdza, czy ten pc.getqf() ma wartość 0, czyli, że jeszcze nie był wykonywany i, jeżeli tak- quest się wykonuje i ustawia qf na 1, a - jeżeli nie, quest się nie wykonuje.


 

Opublikowano

mógłbys wytłumaczyć??

 

nie rozumie tych getqf i setqf

Funkcja pc.setqf() i pc.getqf() razem ze sobą współpracują. Nadając, odczytując jakąś wartość.

 

Krótko o funkcjach:

pc.setqf() - nadaje nam jakąś wartość liczbową pod wskazaną nazwę.

pc.getqf() - odczytuje nam jakąś wartość liczbową z podanej nazwy.

 

Więcej o pc.setqf()

pc.setqf("*nazwa*", *wartosc_liczbowa*)

Potrzebuje dwóch zmiennych:

*nazwa* - Nazwa pod jaką ma przechowywać wartość liczbową.

*wartosc_liczbowa* - wartość liczbowa ustalona przez nas dla danej nazwy setqf.

____________________________________________________________________

 

Więcej o pc.getqf()

Potrzebuje jednej zmiennej:

pc.getqf("*nazwa*")

*nazwa* - Nazwa z jakiej ma odczytać wartość liczbową o ile była taka ustawiona przez "pc.setqf" jeżeli nie była odczyta nam wartość 0.

 

Dzięki tym funkcją możesz sobie sprawdzać jakieś warunki.

Przykładowo ustawić, że gracz tylko raz może

użyć jakiegoś przedmiotu o id 666

 

quest use begin
state start begin
	when 666.use begin
		say("uzyc itemu?")
			local s = select("Tak", "Nie")

				if s != 1 then
					return
				end

			if pc.getqf("przedmiot_uzyty") == 0 then

					say("Przedmiot zostal uzyty!")
						pc.setqf("przedmiot_uzyty", 1)
			else
					say("Uzyles juz kiedys tego przedmiotu.")
			end
	end
end
end

307681428489538142351.png

Metin2 Balmora Staff

  • 1 miesiąc temu...
Opublikowano

Wymieni mi ktoś wszystkie Wheny?

Jan Paweł drugi ukradł mi dziecko.

Jan Paweł drugi ukradł mi dziecko.

Jan Paweł drugi ukradł mi dziecko.

Jan Paweł drugi ukradł mi dziecko.

Jan Paweł drugi ukradł mi dziecko.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...