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

[Quest]Sprawdz Gracza


Rekomendowane odpowiedzi

Opublikowano

Witam.

 

Wiele ludzi chciało by quest, taki jak na AnimeMT2.

 

Wpisujemy nazwę gracza i mamy o nim dane.

 

 

Quest polega na tym, że :

 

*aby sprawdzić gracza idziemy do NPC o ID 20004 i klikamy "Sprawdz Gracza",

*wpisujemy nazwę gracza, jeśli gracz istnieje wyskakują o nim dane.

 

Aby pobrać :

 

Kliknij Tutaj

 

Lub :

 

 

quest sprawdz_gracza begin
       state start begin
			when 20004.chat."Sprawdz Gracza" begin
			        say_title(mob_name(20004)..": ")
					say("")
					say("Witaj, mam dobra pamiec.")
					say("Pamietam wiele graczy.")
					say("Wpisz nazwe gracza, ktorego")
					say("Chcesz sprawdzic.")
					local p_kujacy = input()
					if p_kujacy =="" then
					say_title(mob_name(20004)..": ")
					say("")
					say("Musisz podac nazwe gracza.")
					else
					local find = find_pc_by_name(p_kujacy)
					if find == 0 then
					say_title(mob_name(20004)..": ")
					say("")
					say("Nie ma takiego gracza.")
					else
					local wyjscie = pc.select(find)
					local name = pc.get_name()
					local lvl = pc.get_level()
					local dos = pc.get_exp()
					local ranga = pc.get_real_alignment() 
					local kon = pc.get_horse_level()
					pc.select(wyjscie)
					say_title("Sprawdz gracza")
					say("")
					say("Nazwa : "..name)
					say("Lv. : "..lvl)
					say("Punkty Doswiadczenia : "..dos)
					say("Punkty Rangi : "..ranga)
					say("Poziom Konia : "..kon)
					end
					end
			end
	end
end

 

 

Quest w 100% napisałem JA.

 

Liczę na +.

 

@Edit

 

Quest poprawiony, nie generuje już rekordów w tabeli quest.

 

W pewnej sprawie pomógł mi WoJjTeK

Opublikowano

Quest z AnimeMT2 działa na innej zasadzie. Ten ma jednak minus że będzie zaśmiecał bazę.

Saying Java is good because it works on all operating systems is like saying anal sex is good because it works on all genders.

Opublikowano

WoJjTeK w jakim sensie zaśmieca bazę ?

wyskoczył core dumped przy wgrywaniu ...

@EDit wszystko OK już

Piszę poprawnie po polsku

Człowiek nie wie sam, co dla niego dobre,

Pozorny raj, na przykład życie modne,

Pozorny świat, w którym czujesz się dobrze,

Im szybciej runie Farsa ta tym później będzie pogrzeb,

 

witchersigforpiotrekxxd.png

Sygnaturka by RedWolf

Opublikowano

WoJjTeK w jakim sensie zaśmieca bazę ?

wyskoczył core dumped przy wgrywaniu ...

@EDit wszystko OK już

W takim, że każdy gracz będzie generował 5 rekordów w tabeli quest.

Opublikowano

ah.. to źle ... thx za odp

Piszę poprawnie po polsku

Człowiek nie wie sam, co dla niego dobre,

Pozorny raj, na przykład życie modne,

Pozorny świat, w którym czujesz się dobrze,

Im szybciej runie Farsa ta tym później będzie pogrzeb,

 

witchersigforpiotrekxxd.png

Sygnaturka by RedWolf

Opublikowano

Dokładnie tak jak napisał Xavi, wygodniej jest użyć funkcji pc.select()

 

@Down

 

Lepiej sam wymyśl gdzie ta funkcja już była użyta ;>

Saying Java is good because it works on all operating systems is like saying anal sex is good because it works on all genders.

Opublikowano

no prawie Ci się udało zrobić taki jak mój Quest tylko jeszcze brakuje kilku rzeczy

^^..

ps. jest mały tam błąd w pisowni ale już dawno na serwerze poprawiony =)

 

panelgracza.th.png

307681428489538142351.png

Metin2 Balmora Staff

Opublikowano

@UP

 

No dobra.

 

@Bambus

 

Dobra dopracuje go . :)

 

@Down

 

Dla wszystkich.

 

Funkcja :

 

find_pc_by_name()

Szuka gracza o nazwie jaką wpisaliśmy (nie musi być zalogowany).

Opublikowano

Nieprawda, gracz musi być zalogowany i chyba być na tej samej mapie.

 

@Down

 

Bambus go nie napisał tylko spolszczył. Prawdopodobnie nick nie zostałby zmieniony :)

Saying Java is good because it works on all operating systems is like saying anal sex is good because it works on all genders.

Opublikowano

@Up

 

To jak Bambus, kiedyś napisał questa z zmianą nicku.

 

Było :

 

find_pc_by_name()

To co jak była taka nazwa, ale gracz nie był zalogowany to ten co zmieniał mógł se wpisać taką samą nazwę?

 

W dodatku spotkali, by się i co ?

 

Były, by 2 osoby z tym samym nickiem ?

Opublikowano

Baza nie dopuści do zmiany nicku na istniejący już - po prostu pole name jest ustawione jako UNIQUE, nawet jakby gra chciała zmienić nick to przy UPDATE'owaniu rekordu by był błąd mysql i nick by się na stałe nie zmienił.

Opublikowano

@Edit

 

Quest poprawiony, nie generuje już rekordów w tabeli quest.

 

W pewnej sprawie pomógł mi WoJjTeK

A jak wyglądał quest przed tą poprawką?

jedcy.gif

Opublikowano

find_pc_by_name()

 

Działa wtedy gdy gracze są na tym samym porcie np. Dolina Orków i Pustynia. (game61)

 

@MrBocki

Ymir nie stworzył takiej funkcji... =)

307681428489538142351.png

Metin2 Balmora Staff

Opublikowano

Działa wtedy gdy gracze są na tym samym porcie np. Dolina Orków i Pustynia.

A co było wcześniej w queście nie tak że dodawał te rekordy do bazy?

I jak jakiej funkcji użyć aby działało na każdym porcie lub o ile się da nawet jak gracz jest offline?:)

jedcy.gif

Opublikowano

Dla osób wylogowanych można pobierać dane z tabelki player z bazy player - jak to zrobicie to już kwestia Waszej inwencji twórczej, można chociażby przez jakiś pośredniczący skrypt w czymkolwiek, pythonie, bashu, php.

Opublikowano

@MrBocki

 

Da się zrobić tak :

 

quest sprawdz_gracza begin
       state start begin
                               when 20004.chat."Sprawdz Gracza" begin
                                       say_title(mob_name(20004)..": ")
                                               say("")
                                               say("Witaj, mam dobra pamiec.")
                                               say("Pamietam wiele graczy.")
                                               say("Wpisz nazwe gracza, ktorego")
                                               say("Chcesz sprawdzic.")
                                               local p_kujacy = input()
                                               if p_kujacy =="" then
                                               say_title(mob_name(20004)..": ")
                                               say("")
                                               say("Musisz podac nazwe gracza.")
                                               else
                                               local find = find_pc_by_name(p_kujacy)
                                               local wyjscie = pc.select(find)
                                               local name = pc.get_name()
                                               local lvl = pc.get_level()
                                               local dos = pc.get_exp()
                                               local ranga = pc.get_real_alignment() 
                                               local kon = pc.get_horse_level()
                                               pc.select(wyjscie)
                                               say_title("Sprawdz gracza")
                                               say("")
                                               say("Nazwa : "..name)
                                               say("Lv. : "..lvl)
                                               say("Punkty Doswiadczenia : "..dos)
                                               say("Punkty Rangi : "..ranga)
                                               say("Poziom Konia : "..kon)
                                               end
                               end
               end
end

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...