Jump to content

Mission book Quests (Need clean copies)


Recommended Posts

they are in questscrollX.quest files, where x is in range from 1 to 4. All I have is in polish

special.questscroll = -- type, description, short_description, object, count
{
        { QUEST_SCROLL_TYPE_KILL_MOB, "Brązowe niedźwiedzie są co raz częściej widywane w okolicach bram miasta. Prawdopodobnie przyciąga je zapach miodu z pobliskiej restauracji. Nie możemy czekać, aż ktoś stanie się ich ofiarą.[ENTER][ENTER] Zapoluj na Brązowe Niedźwiedzie. Kiedy zabijesz wszystkie, otrzymasz nagrodę:",        "Zabij 25 Brązowych Niedźwiedzi",        "Brąz. Niedźw.",        25},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Każdy w Królestwie już o tym mówi. Ogromny problem stanowią Białe Tygrysy. Ostatnimi czasy widuje się je zbyt blisko wioski. Ostatnio nawet zaatakowały dziecko! Nie możesz dopuścić do rozlewu krw, chyba, że jest to krew Białego Tygrysa.[ENTER][ENTER]Zapoluj na Białe Tygrysy. Gdy zabijesz wystarczającą ilość, wdzięczni mieszkańcy wioski ofiarują Ci nagrodę:",        "Zabij 20 Białych Tygrysów.",        "Biały Tygrys",        20},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Rybacy, którzy łowili ryby nad rzeką niedaleko wioski, zauważyli ostatnio bardzo dziwne stworzenie, które przypominało trochę wilka. Miejscowy Zielarz twierdzi, że może to być Lykos, władca wszystkich wilków. Pasterze skarżą się, że cały czas ktoś pożera ich owce.[ENTER][ENTER] Zabij Lykosa. W zamian mieszkańcy wioski ufundują Ci nagrodę:",        "Dorwij Lykosa.",        "Lykos",        1},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Rybacy, którzy łowili ryby nad rzeką niedaleko wioski, zauważyli ostatnio bardzo dziwne stworzenie, które przypominało trochę zmutowanego dzika. Tubylcy twierdzą, że to może być Scrofa. Rolnicz skarżą się, że ktoś cały czas niszczy ich uprawy.[ENTER][ENTER] Zabij Scrofę. Miejscowi rolnicy w przypływie euforii są skłonni Ci podarować:",        "Dorwij Scrofę.",        "Scrofa",        1},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Wszystkie wyprawy poza wioskę zostały odwołane. Powodem są nieustanne ataki na ludność przez przerośniętego niedźwiedzia. Prawdopodobnie winna jest Bera, władczyni niedźwiedzi. Musimy się jej szybko pozbyć.[ENTER][ENTER] Zabij Berę, a dostaniesz:",        "Dorwij Berę.",        "Bera",        1},
        { QUEST_SCROLL_TYPE_KILL_MOB, "W okolicach wioski co raz częściej zauważany jest ogromny, żółty tygrys. Miejscowi ludzie padają ofiarami jego brutalnych ataków.[ENTER][ENTER] Proszę, zajmij się tym, a otrzymasz nagrodę:",        "Dorwij Tigrisa.",        "Tigris",        1},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Klan Białogłowych zrzesza kobiety, które są brutalne. Mogą wydawać się biedne i wzbudzać współczucie, ale to tylko pozory. Ostatnio ukamieniowały starszego mężczyznę, zupełnie bez powodu! To szczyt okrucieństwa.[ENTER][ENTER] Zabij 100 Generałów Białych Zaprzysiężonych. Po wykonaniu misji dostaniesz nagrodę:",        "Zabij Generaów Białych Zaprzysiężonych",        "Zaprzys. Generał ",        20},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Złodzieje z Klanu Czarnego Wiatru co raz częściej napadają na okolicznych handlarzy. Musimy pokazać im, że jesteśmy od nich silniejsi. Najlepiej będzie, jeśli zaatakujemy cały klan.[ENTER][ENTER] Zabij 20 Gu-Ryung Czarnego Wiatru. Jeśli ci się uda, otrzymasz nagrodę:",        "Zabij Gu-Ryung",        "Gu-Ryung Czarnego Wiatru",        20},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Dzicy Piechurzy ostatnio pozwalają sobie na zbyt wiele i musimy im pokazać, kto rządzi w tym imperium. Takie zachowanie nie będzie dłużej tolerowane.[ENTER][ENTER] Jeśli uda Ci się ukończyć misję, Twoją nagrodą będzie:",        "Zabij Dzikich Piechurów.",        "Dziki Żołnierz Piechoty",        25},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Nie możesz określić ich jako ludzi. Ale również nie możesz tego zaprzeczyć. Ich oślizgłe ciała węży są zwieńczone ludzką głową. Ostatnio atakują ludzi na pustyni.[ENTER][ENTER] Zabij 20 Wężowych Mieczników, a otrzymasz nagrodę:",        "Wężowi Miecznicy...",        "Wężowy Miecznik",        20},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Nie możesz określić ich jako ludzi. Ale również nie możesz tego zaprzeczyć. Ich oślizgłe ciała węży są zwieńczone ludzką głową. Ostatnio atakują ludzi na pustyni.[ENTER][ENTER] Zabij 20 Wężowych Łuczników, a otrzymasz nagrodę:",        "Wężowi Łucznicy...",        "Wężowy Łucznik",        20},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Wchodzą w drogę praktycznie każdemu. Ostatnio zamordowali wysokiego ministra w naszym rządzie! Tak dalej być nie może. Udaj się na pustynie i pokaż im, co to znaczy zemsta![ENTER][ENTER] Zabij 10 Pustynnych Zawadiaków, a otrzymasz nagrodę:",        "Ci Zawadiacy...",        "Pustynny Zawadiaka",        10},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Gdzieś na tym świecie żyją przedziwne stworzenia. Mówi się, że są stworzone z Ognia, w ich żyłach płynie lawa, a serca mają zrobione z obsydianu. Odnajdź je i dowiedz się, czy to, co mówią wszyscy, to prawda.[ENTER][ENTER] Zabij 20 Sług Walczącego Tygrysa, a otrzymasz nagrodę:",        "Zabij Sługi Walczącego Tygrysa!",        "Sługa Walczącego Tygrysa",        20},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Czerwone oczy, wysoki, dobrze zbudowany i nie bojący się niczego. Taki rysopis podają handlarze podróżujący przez Ognistą Ziemię. Pozbądź się Ognistych Wojowników, by handlarze spokojnie mogli jeździć tamtymi drogami.[ENTER][ENTER] Za wykonanie misji otrzymasz:",        "Ogniści Wojownicy",        "Ognisty Wojownik",        20},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Czerwone oczy, wysoki, dobrze zbudowany i nie bojący się niczego. Taki rysopis podają handlarze podróżujący przez Ognistą Ziemię. Pozbądź się Ognistych Wojowników, by handlarze spokojnie mogli jeździć tamtymi drogami.[ENTER][ENTER] Za wykonanie misji otrzymasz:",        "Ogniści Wojownicy",        "Ognisty Wojownik",        40},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Dolina Smoka dawniej znana była jako Dolina Seungryong. Teraz niestety nosi niechlubną nazwę Dolina Orków. Wszystko przez zbyt szybko rozrastającą się populację Czarnych Orków.[ENTER][ENTER] Jeśli zajmiesz się tą sprawą, otrzymasz nagrodę:",        "Czarne Orki w Dolinie",        "Czarny Ork",        25},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Dolina Smoka dawniej znana była jako Dolina Seungryong. Teraz niestety nosi niechlubną nazwę Dolina Orków. Wszystko przez zbyt szybko rozrastającą się populację Czarnych Orków, którzy ostatnio wyewoluowali w prawdziwe Olbrzymy. Stali się też bardzo agresywni.[ENTER][ENTER] Przewidziana nagroda:",        "Zabij Olbrzymie Czarne Orki!",        "Olbrz. Łysy Czar. Ork",        20},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Kiedyś w Górach Sohan istniała spora wioska. Niestety, wydarzyło się tam coś dziwnego i wioska została zrównana z ziemią. Podróżujący tamtymi drogami kupcy donoszą, że widzieli coś dziwnego kryjącego się za drzewami.[ENTER][ENTER] Przewidziana nagroda:",        "Zabij Zarażonych Włóczników!",        "Zarażony Włócznik",        25},
        { QUEST_SCROLL_TYPE_KILL_MOB, "Kiedyś w Górach Sohan istniała spora wioska. Niestety, wydarzyło się tam coś dziwnego i wioska została zrównana z ziemią. Podróżujący tamtymi drogami kupcy donoszą, że widzieli coś dziwnego kryjącego się za drzewami.[ENTER][ENTER] Przewidziana nagroda:",        "Zabij Zarażonych Włóczników!",        "Zarażony Łucznik",        25},
        { QUEST_SCROLL_TYPE_KILL_ANOTHER_EMPIRE, "I am afraid Irquote m finished! My view is blurring already... When you read this letter my body will be already in pieces. These bastards captured me and carried me off. I could escape but the wound was too deep and I broke down I don't know you. But please revenge me![ENTER][ENTER] Kill 4 enemies at the place of the Battle. If you are successful you'll get as a reward:",        "Kill 4 enemies.",        "",        4},
}
 
locale.questscroll={}
locale.questscroll.exist = "Nie możesz przyjąć kolejnego zadania!"
locale.questscroll.finish = "Pomyślnie wykonałeś zadanie![ENTER]Twoja nagroda to:"
locale.questscroll.finish_button = "Zadanie zakończone!"

You have to replace it in your locale.lua file. For the quests, here they are:

questscroll1.quest

quest questscroll1 begin
    state start begin
	when questscroll1.use begin
	    local idx = item.get_socket(0)
	    if idx == 0 then
		idx = number(1,2)
		item.set_socket(0, idx)
	    end
	    if idx>table.getn(special.questscroll) or idx <= 0 then
		item.remove()
	    elseif table.getn(special.questscroll[idx])!=5 then
	    else
		local table = special.questscroll[idx]
		local rt = special.questscroll_reward[idx]
		local t = table[1]
		if  t == QUEST_SCROLL_TYPE_KILL_MOB then
		    say(table[2])
		    say(color(1,1,0),rt[2],locale.gold," ",locale.exp,rt[3]," ",(rt[4] != 0) and item_name(rt[4]) or ""," ",(rt[5] != 0) and item_name(rt[5]) or ""," ", (rt[6] != 0) and item_name(rt[6]) or "", color(1,1,1))
 
		    pc.setqf("idx", idx)
		    pc.setqf("count", table[5])
		    pc.setqf("target", mob_vnum(table[4]))
		    q.set_title(table[3])
		    q.set_counter(table[4],table[5])
		    --q.set_clock("剩下的時間", 24*60*60)
		    --loop_timer("timeupdate", 3)
		    q.start()
		    pc.setqf("timer", 24*60*60)
		    setstate(kill_mob)
		    item.remove()
		    char_log(0, "QUEST", "questscroll1 start");
		elseif t == QUEST_SCROLL_TYPE_KILL_ANOTHER_EMPIRE then
		    --say(special.questscroll[idx][2])
		    --setstate(kill_another_empire)
		    --say("體現.")
		    say(table[2])
		    pc.setqf("idx", idx)
		    pc.setqf("count", table[5])
		    q.set_title(table[3])
		    q.set_counter(table[4],table[5])
		    --q.set_clock("剩下的時間", 24*60*60)
		    --loop_timer("timeupdate", 3)
		    q.start()
		    pc.setqf("timer", 24*60*60)
		    setstate(kill_another_empire)
		    item.remove()
		else
		    -- ??? ???
		    item.remove()
		end
	    end
	end
    end
    state kill_mob begin
	--when timeupdate.timer begin
	    --local t= pc.getqf("timer")-3
	    --pc.setqf("timer", t)
	    --if t<0 then
		--cleartimer("timeupdate")
		--say("任務時間超過,因此任務失敗.")
		--setstate(start)
		--q.done()
		--pc.setqf("idx", 0)
		--char_log(0, "QUEST", "questscroll1 timeover")
	    --end
	--end

	when questscroll1.use begin
	    say(locale.questscroll.exist)
	end

	when kill begin
	    if npc.race == pc.getqf("target") then
		pc.setqf("count", pc.getqf("count")-1)
		q.set_counter_value(pc.getqf("count"))
		if pc.getqf("count")>=0 then
		    char_log(0, "QUEST", "questscroll1 kill "..pc.getqf("count"));
		end
		if pc.getqf("count") <= 0 then
		    makequestbutton(locale.questscroll.finish_button)
		end
		setskin(NOWINDOW)
	    end
	end
	when login begin
	    if pc.getqf("count") <= 0 then
		makequestbutton(locale.questscroll.finish_button)
	    else
		local table = special.questscroll[pc.getqf("idx")]
		q.set_title(table[3])
		q.set_counter(table[4],pc.getqf("count"))
		--q.set_clock("剩下的時間", pc.getqf("timer"))
		--loop_timer("timeupdate", 3)
		q.start()
	    end
	    setskin(NOWINDOW)
	end
	when button begin
	    setstate(start)
	    q.done()
	    local rt = special.questscroll_reward[pc.getqf("idx")]
	    say(locale.questscroll.finish)
	    say(rt[2],locale.gold)
	    pc.changegold(rt[2])
	    say(locale.exp, " ", rt[3])
	    pc.give_exp2(rt[3])
		   set_quest_state("levelup","run")
		set_quest_state("levelup","run")
	    if rt[4] != 0 then say(item_name(rt[4])) pc.give_item2(rt[4]) end
	    if rt[5] != 0 then say(item_name(rt[5])) pc.give_item2(rt[5]) end
	    if rt[6] != 0 then say(item_name(rt[6])) pc.give_item2(rt[6]) end
	    pc.setqf("idx", 0)
	    char_log(0, "QUEST", "questscroll1 done")
	end
    end
    state kill_another_empire begin
	--when timeupdate.timer begin
	    --local t= pc.getqf("timer")-3
	    --pc.setqf("timer", t)
	    --if t<0 then
		--cleartimer("timeupdate")
		--say("任務時間超過,因此任務失敗.")
		--setstate(start)
		--q.done()
		--pc.setqf("idx", 0)
	    --end
	--end
	when questscroll1.use begin
	    say(locale.questscroll.exist)
	end
	when kill begin
	    if npc.is_pc() and npc.empire != pc.empire then
		pc.setqf("count", pc.getqf("count")-1)
		q.set_counter_value(pc.getqf("count"))
		if pc.getqf("count")>=0 then
		    char_log(0, "QUEST", "questscroll1 kill "..pc.getqf("count"));
		end
		if pc.getqf("count") <= 0 then
		    makequestbutton(locale.questscroll.finish_button)
		end
		setskin(NOWINDOW)
	    end
	end
	when login begin
	    if pc.getqf("count") <= 0 then
		makequestbutton(locale.questscroll.finish_button)
	    else
		local table = special.questscroll[pc.getqf("idx")]
		q.set_title(table[3])
		q.set_counter(table[4],pc.getqf("count"))
		--q.set_clock("剩下的時間", pc.getqf("timer"))
		--loop_timer("timeupdate", 3)
		q.start()
	    end
	    setskin(NOWINDOW)
	end
	when button begin
	    setstate(start)
	    local rt = special.questscroll_reward[pc.getqf("idx")]
	    say(locale.questscroll.finish)
	    say(rt[2],locale.gold)
	    pc.changegold(rt[2])
	    say(locale.exp, " ", rt[3])
	    pc.give_exp2(rt[3])
		set_quest_state("levelup","run")
	    if rt[4]!=0 then say(item_name(rt[4])) pc.give_item2(rt[4]) end
	    if rt[5]!=0 then say(item_name(rt[5])) pc.give_item2(rt[5]) end
	    if rt[6]!=0 then say(item_name(rt[6])) pc.give_item2(rt[6]) end
	    q.done()
	    pc.setqf("idx", 0)
	end
    end
end 

 

questscroll2.quest

quest questscroll2 begin
    state start begin
	when questscroll2.use begin
	    local idx = item.get_socket(0)
	    if idx == 0 then
		idx = number(3,9)
		item.set_socket(0, idx)
	    end
	    if idx>table.getn(special.questscroll) or idx <= 0 then
		item.remove()
	    elseif table.getn(special.questscroll[idx])!=5 then
	    else
		local table = special.questscroll[idx]
		local rt = special.questscroll_reward[idx]
		local t = table[1]
		if  t == QUEST_SCROLL_TYPE_KILL_MOB then
		    say(table[2])
		    say(color(1,1,0),rt[2],locale.gold," ",locale.exp,rt[3]," ",(rt[4] != 0) and item_name(rt[4]) or ""," ",(rt[5] != 0) and item_name(rt[5]) or ""," ", (rt[6] != 0) and item_name(rt[6]) or "", color(1,1,1))
		    pc.setqf("idx", idx)
		    pc.setqf("count", table[5])
		    pc.setqf("target", mob_vnum(table[4]))
		    q.set_title(table[3])
		    q.set_counter(table[4],table[5])
		    --q.set_clock("剩下的時間", 24*60*60)
		    --loop_timer("timeupdate", 3)
		    q.start()
		    pc.setqf("timer", 24*60*60)
		    setstate(kill_mob)
		    item.remove()
		    char_log(0, "QUEST", "questscroll2 start");
		elseif t == QUEST_SCROLL_TYPE_KILL_ANOTHER_EMPIRE then
		    --say(special.questscroll[idx][2])
		    --setstate(kill_another_empire)
		    --say("體現.")
		    say(table[2])
		    pc.setqf("idx", idx)
		    pc.setqf("count", table[5])
		    q.set_title(table[3])
		    q.set_counter(table[4],table[5])
		    --q.set_clock("剩下的時間", 24*60*60)
		    --loop_timer("timeupdate", 3)
		    q.start()
		    pc.setqf("timer", 24*60*60)
		    setstate(kill_another_empire)
		    item.remove()
		else
		    -- ??? ???
		    item.remove()
		end
	    end
	end
    end
    state kill_mob begin
	--when timeupdate.timer begin
	--local t= pc.getqf("timer")-3
	--pc.setqf("timer", t)
	--if t<0 then
	--cleartimer("timeupdate")
	--say("任務時間超過,因此任務失敗.")
	--setstate(start)
	--q.done()
	--pc.setqf("idx", 0)
	--char_log(0, "QUEST", "questscroll2 timeover")
	--end
	--end
	when questscroll2.use begin
	    say(locale.questscroll.exist)
	end
	when kill begin
	    if npc.race == pc.getqf("target") then
		pc.setqf("count", pc.getqf("count")-1)
		q.set_counter_value(pc.getqf("count"))
		if pc.getqf("count")>=0 then
		    char_log(0, "QUEST", "questscroll3 kill "..pc.getqf("count"));
		end
		if pc.getqf("count") <= 0 then
		    makequestbutton(locale.questscroll.finish_button)
		end
		setskin(NOWINDOW)
	    end
	end
	when login begin
	    if pc.getqf("count") <= 0 then
		makequestbutton(locale.questscroll.finish_button)
	    else
		local table = special.questscroll[pc.getqf("idx")]
		q.set_title(table[3])
		q.set_counter(table[4],pc.getqf("count"))
		--q.set_clock("剩下的時間", pc.getqf("timer"))
		--loop_timer("timeupdate", 3)
		q.start()
	    end
	    setskin(NOWINDOW)
	end
	when button begin
	    setstate(start)
	    q.done()
	    local rt = special.questscroll_reward[pc.getqf("idx")]
	    say(locale.questscroll.finish)
	    say(rt[2],locale.gold)
	    pc.changegold(rt[2])
	    say(locale.exp, " ", rt[3])
	    pc.give_exp2(rt[3])
		set_quest_state("levelup","run")
	    if rt[4]!=0 then say(item_name(rt[4])) pc.give_item2(rt[4]) end
	    if rt[5]!=0 then say(item_name(rt[5])) pc.give_item2(rt[5]) end
	    if rt[6]!=0 then say(item_name(rt[6])) pc.give_item2(rt[6]) end
	    pc.setqf("idx", 0)
	    char_log(0, "QUEST", "questscroll2 done")
	end
    end
    state kill_another_empire begin
	--when timeupdate.timer begin
	--local t= pc.getqf("timer")-3
	--pc.setqf("timer", t)
	--if t<0 then
	--cleartimer("timeupdate")
	--say("任務時間超過,因此任務失敗.")
	--setstate(start)
	--q.done()
	--pc.setqf("idx", 0)
	--end
	--end
	when questscroll2.use begin
	    say(locale.questscroll.exist)
	end
	when kill begin
	    if npc.is_pc() and npc.empire != pc.empire then
		pc.setqf("count", pc.getqf("count")-1)
		q.set_counter_value(pc.getqf("count"))
		if pc.getqf("count")>=0 then
		    char_log(0, "QUEST", "questscroll2 kill "..pc.getqf("count"));
		end
		if pc.getqf("count") <= 0 then
		    makequestbutton(locale.questscroll.finish_button)
		end
		setskin(NOWINDOW)
	    end
	end
	when login begin
	    if pc.getqf("count") <= 0 then
		makequestbutton(locale.questscroll.finish_button)
	    else
		local table = special.questscroll[pc.getqf("idx")]
		q.set_title(table[3])
		q.set_counter(table[4],pc.getqf("count"))
		--q.set_clock("剩下的時間", pc.getqf("timer"))
		--loop_timer("timeupdate", 3)
		q.start()
	    end
	    setskin(NOWINDOW)
	end
	when button begin
	    setstate(start)
	    local rt = special.questscroll_reward[pc.getqf("idx")]
	    say(locale.questscroll.finish)
	    say(rt[2],locale.gold)
	    pc.changegold(rt[2])
	    say(locale.exp, " ", rt[3])
	    pc.give_exp2(rt[3])
		set_quest_state("levelup","run")
	    if rt[4]!=0 then say(item_name(rt[4])) pc.give_item2(rt[4]) end
	    if rt[5]!=0 then say(item_name(rt[5])) pc.give_item2(rt[5]) end
	    if rt[6]!=0 then say(item_name(rt[6])) pc.give_item2(rt[6]) end
	    q.done()
	    pc.setqf("idx", 0)
	end
    end
end 

 

questscroll3.quest

quest questscroll3 begin
    state start begin
	when questscroll3.use begin
	    local idx = item.get_socket(0)
	    if idx == 0 then
		idx = number(10,19)
		item.set_socket(0, idx)
	    end
	    if idx>table.getn(special.questscroll) or idx <= 0 then
		item.remove()
	    elseif table.getn(special.questscroll[idx])!=5 then
	    else
		local table = special.questscroll[idx]
		local rt = special.questscroll_reward[idx]
		local t = table[1]
		if  t == QUEST_SCROLL_TYPE_KILL_MOB then
		    say(table[2])
		    say(color(1,1,0),rt[2],locale.gold," ",locale.exp,rt[3]," ",(rt[4] != 0) and item_name(rt[4]) or ""," ",(rt[5] != 0) and item_name(rt[5]) or ""," ", (rt[6] != 0) and item_name(rt[6]) or "", color(1,1,1))
		    pc.setqf("idx", idx)
		    pc.setqf("count", table[5])
		    pc.setqf("target", mob_vnum(table[4]))
		    q.set_title(table[3])
		    q.set_counter(table[4],table[5])
		    --q.set_clock("剩下的時間", 24*60*60)
		    --loop_timer("timeupdate", 3)
		    q.start()
		    pc.setqf("timer", 24*60*60)
		    setstate(kill_mob)
		    item.remove()
		    char_log(0, "QUEST", "questscroll3 start");
		elseif t == QUEST_SCROLL_TYPE_KILL_ANOTHER_EMPIRE then
		    --say(special.questscroll[idx][2])
		    --setstate(kill_another_empire)
		    --say("體現.")
		    say(table[2])
		    pc.setqf("idx", idx)
		    pc.setqf("count", table[5])
		    q.set_title(table[3])
		    q.set_counter(table[4],table[5])
		    --q.set_clock("剩下的時間", 24*60*60)
		    --loop_timer("timeupdate", 3)
		    q.start()
		    pc.setqf("timer", 24*60*60)
		    setstate(kill_another_empire)
		    item.remove()
		else
		    -- ??? ???
		    item.remove()
		end
	    end
	end
    end
    state kill_mob begin
	--when timeupdate.timer begin
	    --local t= pc.getqf("timer")-3
	    --pc.setqf("timer", t)
	    --if t<0 then
		--cleartimer("timeupdate")
		--say("任務時間超過,因此任務失敗.")
		--setstate(start)
		--q.done()
		--pc.setqf("idx", 0)
		--char_log(0, "QUEST", "questscroll3 timeover")
	    --end
	--end
	when questscroll3.use begin
	    say(locale.questscroll.exist)
	end
	when kill begin
	    if npc.race == pc.getqf("target") then
		pc.setqf("count", pc.getqf("count")-1)
		q.set_counter_value(pc.getqf("count"))
		if pc.getqf("count")>=0 then
		    char_log(0, "QUEST", "questscroll3 kill "..pc.getqf("count"));
		end
		if pc.getqf("count") <= 0 then
		    makequestbutton(locale.questscroll.finish_button)
		end
		setskin(NOWINDOW)
	    end
	end
	when login begin
	    if pc.getqf("count") <= 0 then
		makequestbutton(locale.questscroll.finish_button)
	    else
		local table = special.questscroll[pc.getqf("idx")]
		q.set_title(table[3])
		q.set_counter(table[4],pc.getqf("count"))
		--q.set_clock("剩下的時間", pc.getqf("timer"))
		--loop_timer("timeupdate", 3)
		q.start()
	    end
	    setskin(NOWINDOW)
	end
	when button begin
	    setstate(start)
	    q.done()
	    local rt = special.questscroll_reward[pc.getqf("idx")]
	    say(locale.questscroll.finish)
	    say(rt[2],locale.gold)
	    pc.changegold(rt[2])
	    say(locale.exp, " ", rt[3])
	    pc.give_exp2(rt[3])
		 set_quest_state("levelup","run")
	    if rt[4]!=0 then say(item_name(rt[4])) pc.give_item2(rt[4]) end
	    if rt[5]!=0 then say(item_name(rt[5])) pc.give_item2(rt[5]) end
	    if rt[6]!=0 then say(item_name(rt[6])) pc.give_item2(rt[6]) end
	    pc.setqf("idx", 0)
	    char_log(0, "QUEST", "questscroll3 done")
	end
    end
    state kill_another_empire begin
	--when timeupdate.timer begin
	    --local t= pc.getqf("timer")-3
	    --pc.setqf("timer", t)
	    --if t<0 then
		--cleartimer("timeupdate")
		--say("任務時間超過,因此任務失敗.")
		--setstate(start)
		--q.done()
		--pc.setqf("idx", 0)
	    --end
	--end
	when questscroll3.use begin
	    say(locale.questscroll.exist)
	end
	when kill begin
	    if npc.is_pc() and npc.empire != pc.empire then
		pc.setqf("count", pc.getqf("count")-1)
		q.set_counter_value(pc.getqf("count"))
		if pc.getqf("count")>=0 then
		    char_log(0, "QUEST", "questscroll3 kill "..pc.getqf("count"));
		end
		if pc.getqf("count") <= 0 then
		    makequestbutton(locale.questscroll.finish_button)
		end
		setskin(NOWINDOW)
	    end
	end
	when login begin
	    if pc.getqf("count") <= 0 then
		makequestbutton(locale.questscroll.finish_button)
	    else
		local table = special.questscroll[pc.getqf("idx")]
		q.set_title(table[3])
		q.set_counter(table[4],pc.getqf("count"))
		--q.set_clock("剩下的時間", pc.getqf("timer"))
		--loop_timer("timeupdate", 3)
		q.start()
	    end
	    setskin(NOWINDOW)
	end
	when button begin
	    setstate(start)
	    local rt = special.questscroll_reward[pc.getqf("idx")]
	    say(locale.questscroll.finish)
	    say(rt[2],locale.gold)
	    pc.changegold(rt[2])
	    say(locale.exp, " ", rt[3])
	    pc.give_exp2(rt[3])
		 set_quest_state("levelup","run")
	    if rt[4]!=0 then say(item_name(rt[4])) pc.give_item2(rt[4]) end
	    if rt[5]!=0 then say(item_name(rt[5])) pc.give_item2(rt[5]) end
	    if rt[6]!=0 then say(item_name(rt[6])) pc.give_item2(rt[6]) end
	    q.done()
	    pc.setqf("idx", 0)
	end
    end
end 

 

questscroll4.quest

quest questscroll4 begin
    state start begin
	when questscroll4.use begin
	    local idx = item.get_socket(0)
	    if idx == 0 then
		idx = 20
		item.set_socket(0, idx)
	    end
	    if idx>table.getn(special.questscroll) or idx <= 0 then
		item.remove()
	    elseif table.getn(special.questscroll[idx])!=5 then
	    else
		local table = special.questscroll[idx]
		local rt = special.questscroll_reward[idx]
		local t = table[1]
		if  t == QUEST_SCROLL_TYPE_KILL_MOB then
		    say(table[2])
		    say(color(1,1,0),rt[2],locale.gold," ",locale.exp,rt[3]," ",(rt[4] != 0) and item_name(rt[4]) or ""," ",(rt[5] != 0) and item_name(rt[5]) or ""," ", (rt[6] != 0) and item_name(rt[6]) or "", color(1,1,1))
		    pc.setqf("idx", idx)
		    pc.setqf("count", table[5])
		    pc.setqf("target", mob_vnum(table[4]))
		    q.set_title(table[3])
		    q.set_counter(table[4],table[5])
		    --q.set_clock("剩下的時間", 24*60*60)
		    --loop_timer("timeupdate", 3)
		    q.start()
		    pc.setqf("timer", 24*60*60)
		    setstate(kill_mob)
		    item.remove()
		    char_log(0, "QUEST", "questscroll4 start");
		elseif t == QUEST_SCROLL_TYPE_KILL_ANOTHER_EMPIRE then
		    --say(special.questscroll[idx][2])
		    --setstate(kill_another_empire)
		    --say("體現.")
		    say(table[2])
		    pc.setqf("idx", idx)
		    pc.setqf("count", table[5])
		    q.set_title(table[3])
		    q.set_counter(table[4],table[5])
		    --q.set_clock("剩下的時間", 24*60*60)
		    --loop_timer("timeupdate", 3)
		    q.start()
		    pc.setqf("timer", 24*60*60)
		    setstate(kill_another_empire)
		    item.remove()
		else
		    -- ??? ???
		    item.remove()
		end
	    end
	end
    end
    state kill_mob begin
	--when timeupdate.timer begin
	    --local t= pc.getqf("timer")-3
	    --pc.setqf("timer", t)
	    --if t<0 then
		--cleartimer("timeupdate")
		--say("任務時間超過,因此任務失敗.")
		--setstate(start)
		--q.done()
		--pc.setqf("idx", 0)
		--char_log(0, "QUEST", "questscroll4 timeover")
	    --end
	--end
	when questscroll4.use begin
	    say(locale.questscroll.exist)
	end
	when kill begin
	    if npc.race == pc.getqf("target") then
		pc.setqf("count", pc.getqf("count")-1)
		q.set_counter_value(pc.getqf("count"))
		if pc.getqf("count")>=0 then
		    char_log(0, "QUEST", "questscroll4 kill "..pc.getqf("count"));
		end
		if pc.getqf("count") <= 0 then
		    makequestbutton(locale.questscroll.finish_button)
		end
		setskin(NOWINDOW)
	    end
	end
	when login begin
	    if pc.getqf("count") <= 0 then
		makequestbutton(locale.questscroll.finish_button)
	    else
		local table = special.questscroll[pc.getqf("idx")]
		q.set_title(table[3])
		q.set_counter(table[4],pc.getqf("count"))
		--q.set_clock("剩下的時間", pc.getqf("timer"))
		--loop_timer("timeupdate", 3)
		q.start()
	    end
	    setskin(NOWINDOW)
	end
	when button begin
	    setstate(start)
	    q.done()
	    local rt = special.questscroll_reward[pc.getqf("idx")]
	    say(locale.questscroll.finish)
	    say(rt[2],locale.gold)
	    pc.changegold(rt[2])
	    say(locale.exp, " ", rt[3])
	    pc.give_exp2(rt[3])
		 set_quest_state("levelup","run")
	    if rt[4]!=0 then say(item_name(rt[4])) pc.give_item2(rt[4]) end
	    if rt[5]!=0 then say(item_name(rt[5])) pc.give_item2(rt[5]) end
	    if rt[6]!=0 then say(item_name(rt[6])) pc.give_item2(rt[6]) end
	    pc.setqf("idx", 0)
	    char_log(0, "QUEST", "questscroll4 done")
	end
    end
    state kill_another_empire begin
	--when timeupdate.timer begin
	    --local t= pc.getqf("timer")-3
	    --pc.setqf("timer", t)
	    --if t<0 then
		--cleartimer("timeupdate")
		--say("任務時間超過,因此任務失敗.")
		--setstate(start)
		--q.done()
		--pc.setqf("idx", 0)
	    --end
	--end
	when questscroll4.use begin
	    say(locale.questscroll.exist)
	end
	when kill begin
	    if npc.is_pc() and npc.empire != pc.empire then
		pc.setqf("count", pc.getqf("count")-1)
		q.set_counter_value(pc.getqf("count"))
		if pc.getqf("count")>=0 then
		    char_log(0, "QUEST", "questscroll4 kill "..pc.getqf("count"));
		end
		if pc.getqf("count") <= 0 then
		    makequestbutton(locale.questscroll.finish_button)
		end
		setskin(NOWINDOW)
	    end
	end
	when login begin
	    if pc.getqf("count") <= 0 then
		makequestbutton(locale.questscroll.finish_button)
	    else
		local table = special.questscroll[pc.getqf("idx")]
		q.set_title(table[3])
		q.set_counter(table[4],pc.getqf("count"))
		--q.set_clock("剩下的時間", pc.getqf("timer"))
		--loop_timer("timeupdate", 3)
		q.start()
	    end
	    setskin(NOWINDOW)
	end
	when button begin
	    setstate(start)
	    local rt = special.questscroll_reward[pc.getqf("idx")]
	    say(locale.questscroll.finish)
	    say(rt[2],locale.gold)
	    pc.changegold(rt[2])
	    say(locale.exp, " ", rt[3])
	    pc.give_exp2(rt[3])
		 set_quest_state("levelup","run")
	    if rt[4]!=0 then say(item_name(rt[4])) pc.give_item2(rt[4]) end
	    if rt[5]!=0 then say(item_name(rt[5])) pc.give_item2(rt[5]) end
	    if rt[6]!=0 then say(item_name(rt[6])) pc.give_item2(rt[6]) end
	    q.done()
	    pc.setqf("idx", 0)
	end
    end
end 

  • Love 2
Link to comment
Share on other sites

  • 4 months later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.