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

Pisanie / Poprawa Questów !


PoczatKujacy

Rekomendowane odpowiedzi

Opublikowano

superfacepalm.jpg

 

Ja pierdole, ludzie..

 

quest shops begin
state start begin
	when 20349.chat."Sklep" begin
		set_skin(NOWINDOW)
		npc.open_shop(101)
	end
end
end

 

z4z0l, wystarczy

local czas = (pc.getqf("time")-get_time())/60
math.floor(czas)

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

  • Odpowiedzi 8,7 tys.
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Sunshi dasz radę :

 

Widziałam kiedyś quest/funkcję, który polegał na tym iż dana osoba(konkretna) klikając na item, npc będzie miała dodatkowe funkcje niż zwykła osoba np.

 

Zwykły gracz: kup wędkę

 

Dany gracz: kup wędkę, odśwież listę gildii itd..

 

Plosie ;> ;****

Pomogłam? Daj: "Lubie to"

Opublikowano

when xx.chat."Kup wędkę " with pc.get_name() == "NICK" begin 

lub inny sposób i inne działanie

when xx.chat."TEST" begin
if pc.get_name() == "nick" then
say("DANY GRACZ")
else
say("KAŻDY INNY GRACZ")
end--if
end--when

Sunushi - math.floor odgrywa tutaj wielką rolę :P Tej funkcji nie znam, bo jestem noobem więc dzięki.

 

umarł

Opublikowano

z4z0l, nie każdy ma obowiązek znać funkcje LUA :D

 

Sunushi !!!

Ważna sprawa, game.drop_item odpowiada za wypadanie itemu na ziemię ?

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

Opublikowano

W takim razie, da się zrobić tak, aby item dropił z przypisanym właścicielem ?

koniecznie potrzebuję tego w queście.

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

Opublikowano

game.drop_item_with_ownership(id, ilosc)

 

Koniecznie musisz dodać to do quest_functions bo inaczej nie będzie Ci działać quest (nie będzie przechodził przez kompilator). Na samym końcu dopisz sobie

game.drop_item_with_ownership

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

z4z0l, nie każdy ma obowiązek znać funkcje LUA :D

W końcu człowiek uczy się całe życie ... :P Mój sposób działa, jest napisany w 20 linijek a wystarczą dwie :P Chociaż jak już mówiłem próbowałem robić z dzieleniem przez 60 ale wychodziło 3.00045 powiedzmy. Tłumacząc funkcję - usuwa ona zera po przecinku (kropce) bądź coś w ten deseń ?

 

umarł

Opublikowano

z4z0l, floor czyli podłoga. Podłoga jest na dole więc zaokrągla w dół ;) Znam tą funkcję jako jedyną (tj. jej działanie), jest jeszcze kilka:

math.ceil
math.floor
math.max
math.min
math.mod
math.random

 

Możesz się bawić :P

 

Zekron, chcesz koreańskiego?

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Sunushi !! Jeszcze jedno pytanie, jak już dużo sayów dałem i chciałbym żeby była następna strona (w grze oczywiście), to się samo zrobi z przyciskiem "kontynuuj" czy trzeba tam coś dać ?

 

#Dziękuję =3

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

Opublikowano

Kolejne pytanie.

Banalne ale mam wątpliwości.

 

Jeśli w state a mam send_letter(x)

to w state b gdzie nie mam send_letter(x) mogę użyć when button or info i będzie on działał z send_letter(x) z state a ?

jeśli nie, to powiedz mi o ile możesz, jak to zrobić w innym state, dać taki sam send_letter(x) czy jeszcze inaczej kombinować?

quest który aktualnie piszę składać się będzie zapewne z 15+ state, dlatego jest to dla mnie ważne.

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

Opublikowano

newjaa, w takiej sytuacji lepiej jest nie stosować nowego state. Już Ci pokażę o co chodzi. Np masz za zadanie zdobyć item z jakiegoś tam moba.

 

state start begin
 when letter begin
  send_letter("Zdobądź tego itema")
  if pc.count_item(123) > 0 then
local v = find_npc_by_vnum(n00b)
if v != 0 then
 target.vid("__TARGET__", v, "n00b")
end
  end
 end

 when button or info begin
  if pc.count_item(123) > 0 then
say("Zdobyłeś itema, wróć do tego nooba")
return
  end
  say("Zdobądź danego itema z tych a tych mobów")
 end

 when xx.kill begin
  local n = number(1,2)
  if n == 1 then
pc.give_item2(123, 1)
send_letter("Zdobyłeś itema")
  end
 end

 when __TARGET__.target.click or n00b.chat."Mam itema" with pc.count_item(123) > 0 begin
  ...
 end
end

 

 

W ten sposób rozwiązane jest zdobywanie kamienia po oddaniu danych itemów u biologa ;)

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Moglbym prosić o dodanie tego tematu do tematu 1 od założyciela ? aby ludzią było łatwiej ,nam i wam

by nie prosili o questy które są już dawno napisane ! :)

http://www.mpcforum.pl/topic/550296-spis-wszystkich-questow-jakie-byly-na-mpc/

8 godzin robiłem ten spis :P pozdro :)

Opublikowano

Pisz do moderatora, założyciel tego tematu już dawno nie odwiedza MPC.

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

Opublikowano

Czy jest ktoś w stanie sprawdzić mi, czemu nie działa? - misję zabieram u staruszki po czym idę na maniaków i nie zlicza mi ich.

 

 

 

quest dzicy begin
   state start begin
       when login or levelup with pc.get_level() >= 25 begin
           setstate(jeden)
       end
   end
   state jeden begin
       when letter begin
           send_letter("Idz do "..mob_name(9006).." ")
               local v = find_npc_by_vnum(9006)
                   if v != 0 then
                       target.vid("__TARGET__", v, "9006")
                   end
       end
       when button or info begin
           say("Idz do "..mob_name(9006)..". ")
           say("Ma dla ciebie misje. ")
           say("")
       end
       when __TARGET__.target.click begin
           say_title(mob_name(9006)..":")
           say("Witaj... ")
           say("Zabij dla mnie 60 maniaków czarnego wiatru ")
           say(mob_name(402).." .")
           say("")
           say("Nagroda będzie odpowiednia.")
           say("Powodzenia. ")
           say("")
           setstate(dwa)
       end
   end
   state dwa begin
       when letter begin
           send_letter("Maniacy")
       end
       when 402.kill begin
           local c = pc.setqf("maniacy")+1
               if c < 60 then
                   pc.setqf("maniacy", c)
               else
                   setstate(trzy)
               end
       end
       when button or info begin
           say("Zabiłeś już "..pc.getqf("maniacy").." z 60 ")
           say("")
       end
   end
   state trzy begin
       when letter begin
           local c = find_npc_by_vnum(9006)
               if c != 0 then
                   target.vid("__TARGET2__", c, "9006")
               end
           send_letter("Zabiłeś maniaków")
       end
       when button or info begin
           say("Zabiłeś 60 maniaków ")
           say("Wroc do "..mob_name(9006).." !")
           say("")
       end
       when __TARGET2__.target.click begin
           target.delete("__TARGET2__")
           say_title(mob_name(9006)..":")
           say("Gratuluje! ")
           say("")
           say("Oto nagroda ")
           say("")

           if pc.job == 0 then
           pc.give_item2( 295 )
           horse.set_level(horse.get_level()+1)

           end
           if pc.job == 1 then
           pc.give_item2 ( 1175 )
           horse.set_level(horse.get_level()+1)

           end
           if pc.job == 2 then
           pc.give_item2 ( 295 )
           horse.set_level(horse.get_level()+1)

           end
           if pc.job == 3 then
           pc.give_item2 ( 5115 )
           horse.set_level(horse.get_level()+1)
           end
           setstate(koniec)
       end
   end
   state koniec begin
   end
end

 

 

 

tak samo się dzieje z tą misją.

 

 

 

quest demony begin
   state start begin
       when login with pc.get_level() >= 65 begin
           setstate(jeden)
       end
   end
   state jeden begin
       when letter begin
           send_letter("Zagłada demonów ")
               local v = find_npc_by_vnum(20355)
                   if v != 0 then
                       target.vid("__TARGET__", v, "20355")
                   end
       end
       when __TARGET__.target.click or 20355.chat."Zagłada demonów " begin
           say_title(mob_name(20355)..":")
           say("Witaj "..pc.get_name().." !")
           say("")
           say("Mam dla ciebie zadanie! ")
           say("Od bardzo długiego czasu we wieży demonów ")
           say("dzieją się dziwne rzeczy! ")
           say("")
           say("Demony buntują się i zabijają naszych strażników, ")
           say("oraz siebie nazwajem.. ")
           say("")
           say("Trzeba to skonczyc! ")
           say("Tak więc musisz co? dla mnie, dla nas wszystkich, zrobić.. ")
           say_reward("Zabij 3000 demonów! ")
           say("")
           say("Powodzenia! ")
           say("")
           setstate(kill)
       end
   end
   state kill begin
       when letter begin
           send_letter("Zabij 3000 demonow")
       end
       when kill with mob_vnum >= 1001 and mob_vnum() <= 1036 begin
           local c = pc.getqf("demony")+1
               if c < 3000 then
                   pc.getqf("demony", c)
               if c >= 3000 then
                   chat("")
                   chat("Wróć do "..mob_name(20355)..". Ma dla ciebie nagrode! ")
                   chat("")
                   setstate(dwa)
               end
               end
       end
       when button or info begin
           say_title("Zabij 3000 demonow ")
           say("")
           say("Zabiles: "..pc.getqf("demony"))
           say("")
       end
   end
   state dwa begin
       when letter begin
           send_letter("Wroc do Kapitana")
               local v = find_npc_by_vnum(20355)
                   if v != 0 then
                       target.vid("__TARGET__", v, "20355")
                   end
       end
       when __TARGET_.target.click or 20355.chat."Zabilem psy" begin
           say_title(mob_name(20355)..":")
           say("Gratuluje przyjacielu! ")
           say("")
           say_reward("Wybierz nagrode! ")
           local s = select("+100 wartosci ataku", "+80 wartosci magicznego ataku", "+150 obrony", "+4000 HP")
               if s == 1 then
                   affect.add_collect(apply.ATT_GRADE_BONUS, 100, 60*60*24*365*60)
                   notice("+100 Wartosci ataku - bonus zostal pomyślnie dodany. ")
               end
               if s == 2 then
                   affect.add_collect(apply.MAGIC_ATT_GRADE, 80, 60*60*24*365*60)
                   notice("+80 Wartosci magicznego ataku - bonus zostal pomyślnie dodany. ")
               end
               if s == 3 then
                   affect.add_collect(apply.DEF_GRADE_BONUS, 150, 60*60*24*365*60)
                   notice("+150 Wartosci obrony - bonus zostal pomyślnie dodany. ")
               end
               if s == 4 then
                   affect.add_collect(apply.MAX_HP, 4000, 60*60*24*365*60)
                   notice("+4000 Wartosci HP - bonus zostal pomyślnie dodany. ")
               end
           setstate(koniec)
       end
   end
   state koniec begin
   end
end

 

 

Opublikowano

z4z0l, floor czyli podłoga. Podłoga jest na dole więc zaokrągla w dół ;) Znam tą funkcję jako jedyną (tj. jej działanie), jest jeszcze kilka:

math.ceil
math.floor
math.max
math.min
math.mod
math.random

 

Możesz się bawić :P

 

Zekron, chcesz koreańskiego?

Mam taki zapierdol że nie mam kiedy, ale na pewno się pobawię i poczytam coś na necie jeżeli będzie możliwość.

 

@UP

local c = pc.getqf("maniacy")
if c < 60 then
pc.setqf("maniacy", c+1)   

Chyba zadziała

 

umarł

Opublikowano

Proszę o napisanie qustu ma zawiera:

nazwa questu: Odpoczynek

Quest ma zawierać:Lvl:75

Rozmowa:

Idziesz do kapitana(id 20354)

on muwi:Drogi graczu(nick gracza)

Nadszedł czas na odpoczynek po tak

długiej walce i wbiciu wysokiego lvl

masz zadanie.

Idz i złów 100 karasi i mandaryny.

Nagroda: 150kk,jeden tęczowy kamień

 

Proszę o napisanie qustu daje 5 i +

www

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...