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

Rekomendowane odpowiedzi

Opublikowano

Witam. Czym są funkcje getqf i do czego one służą?

 

Mimo, że trochę ogarniam już te questy to tego za cholerę nie mogę pojąć, nawet, jeżeli to powinno być na poziomie 1.

wqdz690429546a.GIF Piszę poprawnie po polsku.

Opublikowano

setqf - Dla danego "stanu" określa wartość.

 

Łatwiej będzie to wytłumaczyć na przykładzie.

 

Wzór ogólny:

pc.setqf("coś", wartość)

przykład:

if pc.getqf ("rozdajeitemy") == 1 then 
pc.give_item2 ( 15201 ) 

Pc setqf ustala jakąś wartość, którą sobie wymyślisz w danym quescie i ona może być używana do manipulacji funkcjami.

NP. QUEST STARTOWY

 

Jeśli nie chcesz żeby wchodząc za każdym razem na serwer uaktywniał Ci się quest startowy wykorzystujesz funkcje pc.setqf.  Jak to zrobić..

 

ustalasz pc.setqf("Start", 1) w wierszu gdzie np. daje Ci itemy. wtedy serwer ustala Ci dla postaci "stan" o nazwie "Start" i wartości 1 . Ta wartość i ten stan nie zniknie nigdy. no chyba że funkcją go zmienisz. Ważne , że funkcja pc.getqf odczytuje wartość z setqf tylko w tym quescie w którym jest ustalony. Tzn w quescie np. biologu nie wywołasz pc.getqf dla "stanu" i wartości z questa startowego.

 

 

Po co to jest.

Korzystając z powyższego przykładu.

 

Ustalilismy już stan "Start" i wartość 1. Teraz robimy uzależnienie. Że quest włącza się tylko wtedy gdy stan "start" ma wartość równą 0. W ten sposób quest Uruchomi się tylko 1 raz, na samym początku gdy jeszcze quest nie ustali wartości 1. Jak to wygląda w quescie.

quest give_basic_weapon begin
	state start begin
		when login with pc.getqf("start") == 0 begin
			pc.give_item2(1901, 1)
			syschat("Witaj!")
			pc.setqf("start", 1)
			
		end
	

		
	end

W takim wypadku quest uruchomi się tylko raz w całej grze.

Troche pogmatwałem ale to nie łatwe do wytłumaczenia. :)

Licze na limit :D :D :yay:

jak jeszcze nie rozumiesz -PW​

Untitled-_sharhqs.png


Time-TS3.PL [iNSOMNIA] Serwer już wystartował!


 


Zapraszam!

Opublikowano

I jeszcze jedno. Wszystkie wartości qf zapisują się MySQL > player > quest

 

VIy1ini.png

 

dwPID - Id gracza dla którego jest ten qf zapisany.

szName - Nazwa questa.

szState - Nazwa state (chyba).

IValue - wartość.

 

Do czego to się może przydać... Np. kiedy Ci się quest zbuguje ponieważ ja robiłem questy i mi się nie poprawnie wyświetlały tzn. po ukończeniu jednego miał się odpalać drugi, a tak nie było. I własnie przez bazę danych usuwając odpowiednią wartość qf rozwiązałem problem :D

POSTY: [100] [200] [300] [400] [500] [600] [700] [800] [900] [1000]

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...