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

[Problem]Funkcja


Rekomendowane odpowiedzi

Opublikowano

Hejka. Postanowiłem stworzyć quest, kierowałem się poradnikiem:

 

http://www.mpcforum.pl/topic/124484-tutpisanie-questow/

 

I w quest'cie jest takie coś:

20016.chat."Teczowy Kamien" begin

 

To oznacza, że klikamy na npc i wybieramy opcję ,,Tenczowy Kamien".

Jaką nazwę musi mieć plik, który odpowiada za funkcję? Albo żeby było tak, że się klika na npc, i wyskakuje quest, a nie wybieranie funkcji.

Da się tak? Proszę o pomoc.

 

Za poprawną odpowiedź limit +.

 

Pozdro, liczę na pomoc.

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

Pierw ustawiasz target.

 

Potem dajesz zamiast:

 

when 20016.chat."Teczowy Kamien" begin

Dajesz:

 

when __TARGET__.target.click begin

Opublikowano

Pierw ustawiasz target.

 

Potem dajesz zamiast:

 

when 20016.chat."Teczowy Kamien" begin

Dajesz:

 

when __TARGET__.target.click begin

Dziękuję ci za pomoc. +.

A możecie odpowiedzieć na to pytanie?

To oznacza, że klikamy na npc i wybieramy opcję ,,Tenczowy Kamien".
Jaką nazwę musi mieć plik, który odpowiada za funkcję?

 

To mi będzie potrzebne np. przy oddawaniu przedmiotów, tak jak u biologa.

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

Trochę funkcji masz w:

 

questlib.lua

W folderze quest.

 

Reszta wbudowana w plik GAME.

 

@Down

 

Nie mam kompa z metkiem.

 

Pomagam ludziom tylko. :)

 

Nie chce, żadnego konta VIP.

Daj je komuś innemu.

Opublikowano

Trochę funkcji masz w:

 

questlib.lua

W folderze quest.

 

Reszta wbudowana w plik GAME.

Dziękuję! Łap limit + ;) Jako iż Lookakku odpowiedział na wszystkie pytania, po rejestracji na naszym serwerze otrzyma konto ViP.

Pozdrawiam, do zamknięcia.

 

EDIT: Nie o to mi chodziło. :(

Chodzi mi o to, że jak zrobię plik w notatniku który będzie zawierać: "Oh nie!". To jak chcę go włożyć np do 20084/chat (ścieżka), to jaką musi mieć nazwę, aby w trakcie zadania klikało się na biologa i będzie funkcja ,,Oh nie!"? Proszę o pomoc.

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

Możesz zrobić tak:

 

Wchodzisz w ścieżkę z questami i otwierasz plik:

 

locale_.lua

Na początku wpisujesz:

 

locale.OH_NIE = "Oh nie!"

W queście wpisujesz potem:

 

when 20016.chat.locale.OH_NIE begin

 

 

@Down

 

Masz tak:

 

local random = math.random(3)
if random == 6 then

W if, nie możesz dać więcej niż 3, ponieważ w math.random() wpisałeś 3.

Funkcja math.random() bierze pod uwagę liczbę 0 i od 1 do tyle ile wpisałeś w nawiasie.

 

Skoro już wpisujesz:

 

when __TARGET__.target.click begin with pc.countitem(50512)>0 begin

To daj, żeby trzeba było mieć więcej niż 4 itemki.

Ktoś dostanie pięć, a da 1 itemek.

Trochę nie logiczne.

Ogólnie jak na pierwszego questa, to drobne błędy.

Opublikowano

Możesz zrobić tak:

 

Wchodzisz w ścieżkę z questami i otwierasz plik:

 

locale_.lua

Na początku wpisujesz:

 

locale.OH_NIE = "Oh nie!"

W queście wpisujesz potem:

 

when 20016.chat.locale.OH_NIE begin

Dziękuję. A skoro już tak się tu wypowiadasz, możesz mi powiedzieć co w tym quest'cie jest źle? (Proszę o nie kopiowanie na swoje serwery):

 

quest stone begin
       state start begin
               when login or levelup with pc.level >= 2 begin
                       set_state(info)
               end
       end

       state info begin
               when letter begin
                       local v = find_npc_by_vnum(20020)
                       if v != 0 then
                               target.vid("__TARGET__", v, "Hae-Tung")
                       end
                       send_letter("Przywitanie z Hae-Tung")
               end

               when button or info begin
                       say_title("List")
                       say("")
                       say("Hae-Tung oczekuje twojej wizyty.")
                       say("Idź do jego namiotu.")
               end

when __TARGET__.target.click begin
                       target.delete("__TARGET__")
                               say("Hae-Tung:")
                                       say("Ohh, to naprawdę ty?!")
                                       say("Udało ci się przeżyć, cieszę się!")
                                       say("Widzę, że znalazłeś woreczek z ekwipunkiem.")
                                       say("Oj, nacieszę się tobą później.")
                                       say("Teraz oczekuję pomocy.")
                                       say("Widzisz, tworzę miksturę zabójczą na wilki.")
                                       say("Ciągle mnie gonią, jak zbieram różne kwiaty.")
                                       say("Mógłbyś mi przynieść futro wilka?")
                                       say("Starczy mi 5 sztuk.")
                               set_state(futro)
                               end
               end

               state futro begin
                               when letter begin
                               send_letter("Potrzebny składnik")
                       end
                       when button or info begin
                                       say_title("Potrzebny składnik")
                                       say("Hae-Tung potrzebuję:")
                                       say_reward("Futro wilka x5")
                                       say("Zdobędziesz je, zabijając wilki.")
                       end

                     when 102.kill with pc.countitem(30027)==0 begin
                          local random = math.random(3)
                          if random == 6 then
                          pc.give_item2(50512, 5)
                          say("Zdobyłeś futra wilka!")
                          say("To było łatwe zadanie...")
                       local v = find_npc_by_vnum(20016)
                       if v != 0 then
                               target.vid("__TARGET__", v, "Hae-Tung")
                       end
               end
       end
               	when __TARGET__.target.click begin with pc.countitem(50512)>0 begin
                               target.delete("__TARGET__")
                       say_title("Hae-Tung:")
                                       say("Masz futra wilka! Dziękuję ci z całego serca!")
                                       say("Teraz już żaden wilk mnie nie pogryzie!")
                                       say("Do 30 poziomu będziesz mieć u mnie zadania.")
                                       say("Będziesz za nie otrzymywać ciekawe nagrody.")
                                       say("To zadanie było łatwe?")
                                       say("Też tak uważam. A więc, zasługujesz na nagrodę!")
                                       say_reward("Otrzymujesz broń na 5 poziom +6!")
                                       say("")                                     
                                       pc.remove_item(30027, 5)
                                       pc.give_item2(26)
                                               set_state(__COMPLETE__)
                                               end
       end
       state __COMPLETE__  begin
       end
end

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

Refresh :huh: Można dać mi 10%, wisi mi to. Ktoś zna odpowiedź na powyższe pytanie?

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

@Down

 

Masz tak:

 

local random = math.random(3)
if random == 6 then

W if, nie możesz dać więcej niż 3, ponieważ w math.random() wpisałeś 3.

Funkcja math.random() bierze pod uwagę liczbę 0 i od 1 do tyle ile wpisałeś w nawiasie.

 

Skoro już wpisujesz:

 

when __TARGET__.target.click begin with pc.countitem(50512)>0 begin

To daj, żeby trzeba było mieć więcej niż 4 itemki.

Ktoś dostanie pięć, a da 1 itemek.

Trochę nie logiczne.

Ogólnie jak na pierwszego questa, to drobne błędy.

Dzięki. Ale mam jeszcze jeden problem, jak chcę wgrać quest to wyskakuje:

57503856.png

O ile się orientuję to oznacza błąd w quest'cie... Mógłbyś na to zerknąć?

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

Zmień:

 

pc.give_item2(26)

Na:

 

pc.give_item2(26, 1)

Nie pomogło... Ten błąd coś mówi że jest problem z state (futro).

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

Mały, biedny niewinny refresh... błagam ;(

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

refresh...

 

// odświeżamy dopiero po 24 godzinach

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano
  when __TARGET__.target.click begin with pc.countitem(50512)>0 begin

 

 

usuń begin bo click

  when __TARGET__.target.click  with pc.countitem(50512)>0 begin

Pomogłem? Proszę o +

Opublikowano

usuń begin bo click

  when __TARGET__.target.click  with pc.countitem(50512)>0 begin

Spróbuję, dam edit.

 

Edit: Dziękuję, działa! Jestem twoim dłużnikiem. Limit +.

 

 

Edit2: Teraz po zdobyciu futer nie ma opcji "Mam przedmioty!".

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

Zmień:

 

when __TARGET__.target.click begin with pc.countitem(50512)>0 begin

Na:

 

when 20016.chat."Mam futra!" with pc.countitem(50512)>0 begin

Opublikowano

Zmień:

 

when __TARGET__.target.click begin with pc.countitem(50512)>0 begin

Na:

 

when 20016.chat."Mam futra!" with pc.countitem(50512)>0 begin

Wciąż nic...

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

Ostatni refresh!!! Proszę o odpowiedź na pytanie!!

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

Autorze , nie korzystaj z szablonów bo to źle wiedzie , musisz sam poznać te wszystkie zagadkowe kody , ucz się a zrozumiesz bo jak będziesz szablony zmieniał to się zgubisz...

 

masz tutaj poprawiony ;)

 

quest stone begin
       state start begin
               when login or levelup with pc.level >= 2 begin
                       set_state(info)
               end
       end

       state info begin
               when letter begin
                       local v = find_npc_by_vnum(20020)
                       if v != 0 then
                               target.vid("__TARGET__", v, "Hae-Tung")
                       end
                       send_letter("Przywitanie z Hae-Tung")
               end

               when button or info begin
                       say_title("List")
                       say("")
                       say("Hae-Tung oczekuje twojej wizyty.")
                       say("Idź do jego namiotu.")
               end

       when __TARGET__.target.click begin
                                   	say("Hae-Tung:")
              	                 	target.delete("__TARGET__")
                                       say("Ohh, to naprawdę ty?!")
                                       say("Udało ci się przeżyć, cieszę się!")
                                       say("Widzę, że znalazłeś woreczek z ekwipunkiem.")
                                       say("Oj, nacieszę się tobą później.")
                                       say("Teraz oczekuję pomocy.")
                                       say("Widzisz, tworzę miksturę zabójczą na wilki.")
                                       say("Ciągle mnie gonią, jak zbieram różne kwiaty.")
                                       say("Mógłbyś mi przynieść futro wilka?")
                                       say("Starczy mi 5 sztuk.")
                               set_state(futro)
                               end
               end

               state futro begin
                               when letter begin
                               send_letter("Potrzebny składnik")
                       end
                       when button or info begin
                                       say_title("Potrzebny składnik")
                                       say("Hae-Tung potrzebuję:")
                                       say_reward("Futro wilka x5")
                                       say("Zdobędziesz je, zabijając wilki.")
                       end

                     when 102.kill with pc.countitem(30027)==0 begin
          				local random = math.random(3)
          				if random == 6 then
          				pc.give_item2(50512, 5)
          				say("Zdobyłeś futra wilka!")
          				say("To było łatwe zadanie...")
                       local v = find_npc_by_vnum(20016)
                       if v != 0 then
                               target.vid("__TARGET__", v, "Hae-Tung")
                       end
               end
       end
                       when __TARGET__.target.click begin with pc.countitem(50512)>0 begin
                                   	say_title("Hae-Tung:")
                                   	target.delete("__TARGET__")
                                       say("Masz futra wilka! Dziękuję ci z całego serca!")
                                       say("Teraz już żaden wilk mnie nie pogryzie!")
                                       say("Do 30 poziomu będziesz mieć u mnie zadania.")
                                       say("Będziesz za nie otrzymywać ciekawe nagrody.")
                                       say("To zadanie było łatwe?")
                                       say("Też tak uważam. A więc, zasługujesz na nagrodę!")
                                       say_reward("Otrzymujesz broń na 5 poziom +6!")
                                       say("")                     				
                                       pc.remove_item(30027, 5)
                                       pc.give_item2(26)
                                               set_state(__COMPLETE__)
                                               end
       end
       state __COMPLETE__  begin
       end
end

Your superman is here, bitch!

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...