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

Event Marmur Duszy


Rekomendowane odpowiedzi

Opublikowano

Witajcie ! Coraz więcej osób udziela się w tym podziale, daje swoje questy i poradniki i ja postanowiłem podzielić się prostym questem a dokładniej eventem. Jeśli quest wam się nie spodoba i uznacie go za "gówno" to przepraszam

^^


 

Opis questa:

 

 

A więc gdy wydarzenie jest aktywne z potworów możemy wydropić Marmur Polimorfii a z danych Bossów Duszę Władcy.

1356815212-U263278.jpg

Gdy dropniemy potrzebne itemy możemy udać się do NPC i zamienić je na Marmur Duszy.

1356815270-U263278.jpg

Istnieje pewne ale technika umieszczania duszy w marmurze jest jeszcze nie doskonała dlatego musimy oczyścić marmur z pozostałych dusz. Aby tego dokonać trzeba przenieś Marmur Dusz na NPC i upuścić. Po oczyszczeniu w marmurze zostaje jedna losowa dusza bossa.

1356815869-U263278.jpg1356815482-U263278.jpg

Gdy otrzymamy marmur możemy go użyć, a wtedy zostaniemy przemienieni w potwora którego dusza ukryta jest w marmurze.

1356815624-U263278.jpg

Gdy wydarzenie jest aktywne a my zalogujemy się do gry(zmiana mapy, zalogowanie na postać, itp) na czacie pojawi się informacja, że wydarzenie jest aktywne.

1356816071-U263278.jpg

 

 

 

Menu questa:

 

 

Gdy klikniemy na NPC naszym oczom ukarze się menu. Nie muszę chyba tłumaczyć ,że gdy przed tekstem jest GM to może kliknąć na to tylko gm ;).

1356816278-U263278.jpg

 

Funkcje GM:

  • Gdy wydarzenie jest aktywne:

1356816449-U263278.jpg

Gdy zakończymy wydarzenie na czacie pojawi się informacja.

1356816899-U263278.jpg

  • ​Gdy wydarzenie jest nieaktywne:

1356816756-U263278.jpg

Gdy aktywujemy wydarzenie na czacie pojawi się odpowiednia informacja.

1356816625-U263278.jpg

 

Funkcje gracza/rozmowa:

1356817075-U263278.jpg

1356817125-U263278.jpg

1356817224-U263278.jpg

lub

1356817375-U263278.jpg

1356817676-U263278.jpg

1356817816-U263278.jpg

lub

1356817749-U263278.jpg

1356818011-U263278.jpg

 

Drop:

1356818070-U263278.jpg

1356818144-U263278.jpg

 

 

 

Część techniczna:

 

 

Edycja questa:

Jeśli chcemy zmienić listę bósów z których ma dropić dusza wystarczy edytować tą linijkę

1356818375-U263278.jpg

np

local moby = {101, 691, 1901, 2091, 2206, 1093, 1093, 105...}

Aby zmienić szansę na drop Marmuru Duszy edytujemy

1356818515-U263278.jpg

np

if number(1, 1000) <= 50 then

Jeśli chcemy zmienić szansę na drop Duszy Władcy edytujemy

1356818674-U263278.jpg

np

if number(1, 100) <= 40 then

Jeśli chcemy edytować listę potworów które mogą znaleźć się w Marmurze Duszy edytujemy

1356818805-U263278.jpg

np

local tab = {101,105,503,102,103,104}

 

Czy trzeba coś dodać ?

 

Tak aby quest poprawnie się wgrał musimy zrobić trzy rzeczy.

 

1) Do quest_functions dodać tą funkcję:

npc.get_level

 

2) Do questlib dodajemy to:

 

 

function npc.get_level()
local id = npc.get_race()
local mobLevels = {
[101] = 1, [102] = 3, [103] = 4, [104] = 6, [105] = 9, [106] = 13, [107] = 16, [108] = 7, [109] = 10, [110] = 12, [111] = 15, [112] = 19,
[113] = 21, [114] = 18, [115] = 24, [131] = 8, [132] = 9, [133] = 11, [134] = 14, [135] = 18, [136] = 21, [137] = 12, [138] = 15, [139] = 17,
[140] = 20, [141] = 24, [142] = 26, [143] = 24, [144] = 29, [151] = 9, [152] = 16, [153] = 10, [154] = 21, [155] = 24, [171] = 1, [172] = 3,
[173] = 4, [174] = 6, [175] = 9, [176] = 13, [177] = 16, [178] = 7, [179] = 10, [180] = 12, [181] = 15, [182] = 19, [183] = 21, [184] = 18,
[185] = 24, [191] = 30, [192] = 31, [193] = 33, [194] = 35, [301] = 18, [302] = 20, [303] = 25, [304] = 25, [331] = 18, [332] = 20, [333] = 25,
[334] = 25, [351] = 18, [352] = 20, [353] = 25, [354] = 25, [391] = 23, [392] = 26, [393] = 28, [394] = 31, [395] = 23, [396] = 26, [397] = 28,
[398] = 31, [401] = 26, [402] = 27, [403] = 29, [404] = 30, [405] = 33, [406] = 35, [431] = 31, [432] = 33, [433] = 35, [434] = 36, [435] = 38,
[436] = 40, [451] = 26, [452] = 27, [453] = 29, [454] = 30, [455] = 33, [456] = 35, [491] = 32, [492] = 37, [493] = 39, [494] = 45, [501] = 29,
[502] = 32, [503] = 35, [504] = 36, [531] = 35, [532] = 37, [533] = 40, [534] = 42, [551] = 29, [552] = 32, [553] = 35, [554] = 36, [591] = 42,
[595] = 42, [601] = 26, [602] = 29, [603] = 31, [604] = 33, [631] = 34, [632] = 36, [633] = 39, [634] = 40, [635] = 44, [636] = 46, [637] = 49,
[651] = 34, [652] = 36, [653] = 39, [654] = 40, [655] = 44, [656] = 46, [657] = 49, [691] = 50, [692] = 50, [693] = 50, [701] = 35, [702] = 38,
[703] = 41, [704] = 44, [705] = 48, [706] = 49, [707] = 51, [731] = 52, [732] = 53, [733] = 54, [734] = 54, [735] = 55, [736] = 56, [737] = 57,
[751] = 35, [752] = 38, [753] = 41, [754] = 44, [755] = 48, [756] = 49, [757] = 51, [771] = 52, [772] = 53, [773] = 54, [774] = 54, [775] = 55,
[776] = 56, [777] = 57, [791] = 54, [792] = 62, [793] = 54, [794] = 62, [795] = 54, [796] = 62, [901] = 49, [902] = 51, [903] = 53, [904] = 55,
[905] = 58, [906] = 58, [907] = 59, [931] = 49, [932] = 51, [933] = 53, [934] = 55, [935] = 58, [936] = 58, [937] = 59, [991] = 59, [992] = 60,
[993] = 61, [1001] = 57, [1002] = 58, [1003] = 59, [1004] = 60, [1031] = 67, [1032] = 69, [1033] = 70, [1034] = 71, [1035] = 72, [1036] = 73,
[1037] = 71, [1038] = 72, [1039] = 73, [1040] = 74, [1041] = 75, [1061] = 67, [1062] = 69, [1063] = 70, [1064] = 71, [1065] = 72, [1066] = 73,
[1067] = 71, [1068] = 72, [1069] = 73, [1070] = 74, [1071] = 75, [1091] = 75, [1092] = 75, [1093] = 78, [1094] = 75, [1095] = 78, [1101] = 62,
[1102] = 63, [1103] = 64, [1104] = 64, [1105] = 65, [1106] = 66, [1107] = 66, [1131] = 81, [1132] = 81, [1133] = 82, [1134] = 83, [1135] = 83,
[1136] = 84, [1137] = 85, [1151] = 52, [1152] = 53, [1153] = 54, [1154] = 54, [1155] = 55, [1156] = 56, [1157] = 56, [1171] = 62, [1172] = 63,
[1173] = 64, [1174] = 64, [1175] = 65, [1176] = 66, [1177] = 66, [1191] = 70, [1192] = 70, [1301] = 57, [1302] = 59, [1303] = 58, [1304] = 75,
[1305] = 61, [1306] = 75, [1307] = 75, [1331] = 57, [1332] = 59, [1333] = 58, [1334] = 75, [1335] = 61, [1401] = 66, [1402] = 73, [1403] = 77,
[1501] = 69, [1502] = 72, [1503] = 76, [1601] = 68, [1602] = 70, [1603] = 75, [1901] = 72, [1902] = 72, [1903] = 72, [2001] = 43, [2002] = 45,
[2003] = 48, [2004] = 50, [2005] = 52, [2031] = 50, [2032] = 52, [2033] = 54, [2034] = 56, [2035] = 58, [2036] = 58, [2051] = 43, [2052] = 45,
[2053] = 48, [2054] = 50, [2055] = 52, [2061] = 60, [2062] = 62, [2063] = 64, [2064] = 66, [2065] = 68, [2071] = 50, [2072] = 52, [2073] = 54,
[2074] = 56, [2075] = 58, [2076] = 58, [2091] = 60, [2092] = 65, [2093] = 60, [2101] = 19, [2102] = 37, [2103] = 39, [2104] = 44, [2105] = 47,
[2106] = 48, [2107] = 51, [2108] = 54, [2131] = 60, [2132] = 62, [2133] = 64, [2134] = 66, [2135] = 68, [2151] = 19, [2152] = 37, [2153] = 39,
[2154] = 44, [2155] = 47, [2156] = 48, [2157] = 51, [2158] = 54, [2191] = 67, [2192] = 67, [2201] = 69, [2202] = 69, [2203] = 70, [2204] = 71,
[2205] = 72, [2206] = 73, [2207] = 73, [2231] = 69, [2232] = 69, [2233] = 70, [2234] = 71, [2235] = 72, [2291] = 75, [2301] = 65, [2302] = 67,
[2303] = 69, [2304] = 70, [2305] = 71, [2306] = 84, [2307] = 86, [2311] = 74, [2312] = 76, [2313] = 77, [2314] = 80, [2315] = 82, [2401] = 87,
[2402] = 89, [2403] = 89, [2404] = 90, [2411] = 91, [2412] = 93, [2413] = 95, [2414] = 97, [2431] = 80, [2432] = 82, [2433] = 82, [2434] = 83,
[2451] = 84, [2452] = 86, [2453] = 88, [2454] = 90, [2491] = 93, [2492] = 95, [2493] = 97, [5001] = 1, [5002] = 60, [5003] = 1, [5004] = 80,
[5101] = 22, [5102] = 25, [5103] = 27, [5104] = 29, [5111] = 35, [5112] = 37, [5113] = 39, [5114] = 40, [5115] = 41, [5116] = 42, [5121] = 45,
[5122] = 47, [5123] = 49, [5124] = 52, [5125] = 53, [5126] = 54, [5127] = 54, [5131] = 22, [5132] = 25, [5133] = 27, [5134] = 29, [5141] = 35,
[5142] = 37, [5143] = 39, [5144] = 40, [5145] = 41, [5146] = 42, [5151] = 45, [5152] = 47, [5153] = 49, [5154] = 52, [5155] = 53, [5156] = 54,
[5157] = 54, [5161] = 30, [5162] = 43, [5163] = 55, [7001] = 52, [7002] = 53, [7003] = 54, [7004] = 54, [7005] = 55, [7006] = 56, [7007] = 56,
[7008] = 52, [7009] = 53, [7010] = 54, [7012] = 52, [7013] = 53, [7014] = 54, [7015] = 54, [7016] = 55, [7017] = 56, [7018] = 56, [7019] = 59,
[7020] = 59, [7021] = 60, [7022] = 61, [7023] = 62, [7024] = 64, [7025] = 66, [7026] = 67, [7027] = 70, [7028] = 72, [8001] = 5, [8002] = 10,
[8003] = 15, [8004] = 20, [8005] = 25, [8006] = 30, [8007] = 35, [8008] = 40, [8009] = 45, [8010] = 50, [8011] = 55, [8012] = 60, [8013] = 65,
[8014] = 70, [8015] = 50, [8016] = 55, [8017] = 60, [8018] = 65, [8019] = 70, [8020] = 1, [8021] = 1, [8022] = 1, [8023] = 1, [8024] = 75,
[8025] = 80, [8026] = 85, [8027] = 90, [8101] = 5, [8102] = 10, [8103] = 15, [8104] = 20, [8105] = 25, [8106] = 30, [8107] = 35, [8108] = 40,
[8109] = 45, [8110] = 50, [8111] = 55, [8112] = 60, [8113] = 65, [8114] = 70, [8501] = 35, [8502] = 30, [8503] = 25, [8504] = 5, [8505] = 10,
[8506] = 12, [8507] = 15, [8508] = 20, [8509] = 25, [8510] = 21, [8511] = 11,
}
return mobLevels[id]
end

 

 

3) Podziękować Sunushi za ów funkcję

 

 

 


 

Część właściwa czyli quest ^^

 

 

---------------
--PonLok--
---------------
quest event_poli begin
state start begin
when 20087.chat."GM: Event Marmur Duszy" with pc.is_gm() begin
say_title(mob_name(20087)..":")
say("Witaj "..pc.get_name().." !")
say("")
if game.get_event_flag("marmur") == 1 then
say_reward("Event Marmur Duszy jest aktywny !")
say("")
say("Czy chcesz zakończyć wydarzenie ?")
if select("Tak", "Nie") == 1 then
game.set_event_flag("marmur", 0)
notice_all("[EVENT] Wydarzenie Marmur Dusz zaostało zakończone !")
end
else
say_reward("Event Marmur Duszy jest nieaktywny !")
say("")
say("Czy chcesz aktywować Wydarzenie Marmur Duszy ?")
if select("Tak", "Nie") == 1 then
game.set_event_flag("marmur", 1)
notice_all("[EVENT] Wydarzenie Marmur Duszy zaostało rozpoczęte !")
end
end
end

when kill with not npc.is_pc() and game.get_event_flag("marmur") == 1 begin
local mob_level = npc.get_level()
local level = pc.get_level()
if level - mob_level <= 10 and level - mob_level >= -10 then
if number(1, 1000) <= 10 then
game.drop_item_with_ownership(70104)
end
end
end

function mob()
local moby = {691, 1901, 2091, 2206, 1093, 1092}
for g = 1, table.getn(moby) do
if npc.get_race() == moby[g] then
return true
else
return false
end
end
end

when kill with game.get_event_flag("marmur") == 1 and event_poli.mob() == true begin
if number(1, 100) <= 90 then
game.drop_item_with_ownership(70011)
end
end

when login with game.get_event_flag("marmur") == 1 begin
notice_all("[EVENT] Wydarzenie Marmur Duszy jest aktywne !")
end

when 20087.chat."Event Marmur Duszy" begin
say_title(mob_name(20087)..":")
say("Event Marmur Duszy jest unikatowym wydarzeniem w ")
say("którym możesz zamienić się w bosa poprzez ")
say("stowrzenie unikatowego Marmuru Polimorfii. ")
say_item_vnum(70105)
wait()
say_title(mob_name(20087)..":")
say("Aby stworzyć specjalny Marmur będziesz potrzebował ")
say("")
say_item_vnum(70104)
say("")
say_item_vnum(70011)
wait()
say_title(mob_name(20087)..":")
say("Pewnie zastanawiasz się jak zdobyć te przedmioty ")
say("nic trudnego Marmur Polimofii wypada zabitych")
say("potworów. Natomiast Dusza Władcy wypada tylko ")
say("z wybranych bossów. ")
say("")
say_title("Lista bosów")
say(mob_name(691))
say(mob_name(1901))
say(mob_name(2091))
say(mob_name(2206))
say(mob_name(1093))
say(mob_name(1092))
if game.get_event_flag("marmur") == 1 then
say("")
say_reward("Aktualnie wydarzenie jest aktywne. ")
wait()
say_title(mob_name(20087)..":")
say("")
say("Czy chcesz coś zrobić ?")
if select("Wymień przedmioty", "Tak tylko zaglądam") == 1 then
say_title(mob_name(20087)..":")
say("Chcesz otrzymać Marmur Dusz ?")
say_item_vnum(70105)
say("Nic trudnego daj mi tylko Marmur Polimorfii i ")
say("Duszę Władcy.")
say("")
local d = pc.count_item(70011)
local e = pc.count_item(70104)
say_reward("Posiadasz: " ..d.. " Dusza Władcy.")
say_reward("Posiadasz: " ..e.. " Marmur Polirofrmii.")
say("")
if pc.count_item(70011) >= 1 and pc.count_item(70104) >= 1 then
if select("Wymień ", "Anuluj") == 1 then
say_title(mob_name(20087)..":")
say("Już się biorę do pracy. ")
say("Nie wiem czy Ci wspominałem lecz ")
say("nie potrafimy do jednego marmuru wsadzić ")
say("jednej duszy dlatego gotowy Marmur Duszy ")
say("trzeba poddać działaniu oczyszczeniu wtedy ")
say("w marmurze zostaje tylko jedna losowa dusza. ")
say("")
say_reward("Aby oczyścić Marmur Dusz musisz ")
say_reward("przeciągnąć go nad " ..mob_name(20087))
pc.remove_item(70011, 1)
pc.remove_item(70104, 1)
pc.give_item2(70105, 1)
end
end
end
else
say("")
say_reward("Aktualnie wydarzenie jest nieaktywne. ")
end
end

when 20087.take with item.vnum == 70105 and game.get_event_flag("marmur") == 1 begin
local tab = {691,1901,2091,2206,1093,1092}
local max = table.getn(tab)
local i = number(1, max)
item.set_socket(0, tab[i])
say_title(mob_name(20087)..":")
say("Oczyszczenie przebiegło pomyślnie. ")
say("W twoim Marmurze Duszy znajduje się dusza ")
say(mob_name(tab[i]))
say_item_vnum(70105)
end
end
end

 

 

http://wklej.to/5RBlw

 


 

Od Autora:

 

Tak jak już pisałem u góry jeśli uznacie quest za śmieć , gówno i niepotrzebny to przepraszam. ;]

Quest prosty do napisania więc nie hejtujcie. Jestem świadom tego ,że można było to napisać krócej lecz jakoś nie miałem weny. Takie małe ale jeśli macie diff'a na zamianę bonusów u NPC to marmurek się nie stworzy ponieważ diff używa funkcji item.set_socket który tworzy nam marmurek. Za wszelkie literówki w temacie jak i w quescie przepraszam. Nie chciało mi się podmieniać item_proto dlatego zamiast Duszy Władcy jest jakaś Ulepszona Butelka, ale to tam możecie sobie zmienić ^^

 

Pozdrawiam i życzę Szczęśliwego Nowego Roku

Nieregulaminowa sygnatura

Opublikowano

Takiego eventu jeszcze nie było :D

Świetnie opisane , quest przydatny na pewno wykorzystam .

Pozdrawiam <3

9bix.png


Zagraj na prawdziwym serverze medium ! NerviL.pl !


Opublikowano

Ciekawie to zaprezentowałeś. Prostota przy sklejeniu kilku questów w jeden, i wyszła dobra robota. Dzięki wielkie, gratulacje!

 

@edit

say_reward("Posiadasz: " ..e.. " Marmur Polirofrmii.")

Polimorfii :P

 

umarł

Opublikowano

@ z4z0

Dzięki, jest to dobry przykład ,że na mpc jest wszystko ^^. No ale do rzeczy z tymi tablicami gdy uczyłem się ich pomagał mi Bambus3k więc ta część questu

 

when 20087.take with item.vnum == 70105 and game.get_event_flag("marmur") == 1 begin
local tab = {691,1901,2091,2206,1093,1092}
local max = table.getn(tab)
local i = number(1, max)
item.set_socket(0, tab[i])

 

jest naprawdę stara. xD A to ,że quest powstał wśród dwóch questów o tematyce polimorfii to istny przypadek xD.

Nie powiem użyłem funkcji npc.get_level() z mpc ;]

 

p.S

Postaram się poprawić literówki w quescie.

Nieregulaminowa sygnatura

Opublikowano

Dokładnie takiego samego questa napisałem dwa dni temu, tylko to był event loteria. Widzę, jakoś wszyscy zaczęli robić selecty bez zmiennych (moja zasługa xD). Dobra robota.

ePc0b.jpg

mcn_cc.pl - banda złodziei

;)

Piszę questy na zamówienie - Zostanę questerem na serwerze dedykowanym - Na zlecenie napiszę questy - Zakoduję stronę HTML5/CSS3

Opublikowano

Hehe.

Nie widziałem tego questu Loteria ,ale spojrzę na niego. a co to if select tak można powiedzieć ,że nauczyłeś mnie, od dziś jest to mój nowy nawyk ^^ krótsze niż deklarowanie zmiennej xD.

 

Pozdrawiam

Nieregulaminowa sygnatura

Opublikowano

Nienie, event mogę zaraz wrzucić w sumie. Miło, że komuś pomogłem ;)

ePc0b.jpg

mcn_cc.pl - banda złodziei

;)

Piszę questy na zamówienie - Zostanę questerem na serwerze dedykowanym - Na zlecenie napiszę questy - Zakoduję stronę HTML5/CSS3

  • 5 miesięcy temu...
Opublikowano

Pierwszy f5

Chyba tylko miesiąc jest dopuszczalny do odświeżania. Skoro już, to dasz radę ogarnąć link do wklejki?

 

umarł

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...