[EXCLUSIV] Eveniment Crăciun

Avatar utilizator
NoRulesS
Utilizator interzis !

Utilizator interzis !
Mesaje: 70
Membru din: 08 Aug 2014, 02:12
Aprecieri: 0
Mulţumiri: 5  
Medalii

Salutare dragă comunitate, având în vedere că se aproprie crăciunul am să vă dau questul full pentru evenimentul de crăciun de pe official.
Sursa este din serverfiles metin2sg, tradus în limba română de mine.
Am depus ceva ''muncă'' la traducere, dar gestul contează.

Cod: Selectaţi tot

 quest xmas_2012 begin
	state start begin
		function has_santa()
		   if game.get_event_flag("xmas_event_2012") < 1 then
				return false
			else
				return true
			end
		end
		
		function is_xmas()
			if game.get_event_flag("christmas_eve") < 1 then
				return false
			else
				return true
			end
		end
		
		function gift()
			local n = number (1,100)
			if n <= 4 then
				pc.give_item2(25100,1)
			elseif n <= 8 then
				pc.give_item2(71084,1)
			elseif n <= 12 then
				pc.give_item2(71085,1)
			elseif n <= 16 then
				pc.give_item2(71109,1)
			elseif n <= 21 then
				pc.give_item2(25040,1)
			elseif n <= 26 then
				pc.give_item2(71101,5)
			elseif n <= 31 then
				pc.give_item2(71107,1)
			elseif n <= 40 then
				pc.give_item2(50513,1)
			elseif n <= 50 then
				pc.changegold (2500000)
			elseif n <= 61 then
				pc.changegold (1500000)
			elseif n <= 73 then
				pc.changegold (1000000)
			elseif n <= 86 then
				pc.changegold (500000)
			elseif n <= 90 then
				local costume_items = {41137,41138,41139,41140,41141,41142,41143,41144,45075,45076,45077,45078,45079,45080}
				local rand = number(1,14)
				pc.give_item2(costume_items[rand])
			else
				pc.changegold (250000)
			end
		end
		
		
		-- Quest Flag "event_state"
		-- 0 = Uninitiated.
		-- 1 = can accept first quest
		-- 2 = first quest
		-- 3 = first quest done, second available, resting state
		-- 4 = second quest
			
		when login or enter with xmas_2012.has_santa() == true begin
			q.set_icon("scroll_open_blue.tga")
			send_letter("*It's Christmas Time!")
			if pc.get_map_index() == 1 or pc.get_map_index() == 21 or pc.get_map_index() == 41 then
				if find_npc_by_vnum(20384) == 0 then
					if pc.get_map_index() == 1 then
						mob.spawn(20384, 625, 676, 0, 0 )
					elseif pc.get_map_index() == 21 then
						mob.spawn(20384, 542, 551, 0, 0)
					elseif pc.get_map_index() == 41 then
						mob.spawn(20384, 442, 717, 0, 0)
					end
				end
			end
		end
		
		when button or info begin
			if pc.getqf("state") == 2 then
				say_title("Puiul pierdut de ren")
				say("")
				say("Mos Craciun te-a rugat sa gasesti renul")
				say("Care s-a pierdut in Muntii Inghetati.")
				say("")
				say("Ar trebui sa-l gasesti repede,fiecare secunda decide")
				say("intre un miracol de Craciun sau o tragedie de Craciun")
				say("")
				say("Utilizeaza fluierul pentru a chema reni!")
				say("Cand te afli in raza de actiune ar trebui sa reactioneze.")
				say("")
			else
				say_title("E timpul Craciunului.")
				say("")
				say("Salut dragi jucatori ai serverului Metin2 Sapphire.")
				say("Este timpul Craciunului si avem ceva special pentru voi")
				say("msiuni si aventuri noi penntru voi.")
				say("Mosul te asteapta in partea nordica a")
				say("Muntelui Inghetat - Grabestete la el!")
				say("")
				say_reward("Un Craciun fericit din partea echipei Metin2 Sapphire!")
				say("")
			end
		end
	
		when 20126.click begin
			local selTab = {}
			local pos = 1 
			table.insert(selTab, pos, "Merry Christmas!")
			pos = pos + 1
			if pc.getqf("init_nog") != nil then
				table.insert(selTab, pos, "A Christmas Meal")
				pos = pos + 1
			end
			if pc.getqf("state") == 3 then
				table.insert(selTab, pos, "The Sock Hunt")
				pos = pos + 1
			end
			if pc.getqf("state") == 6 then
				table.insert(selTab, pos, "The mother reindeer...")
				pos = pos + 1
			end
			table.insert(selTab, pos, "Close")
			
			local s = select_table( selTab )
			
			if selTab[s] == "Merry Christmas!" then
				say_title("Santa Clause:")
				say("")
				say("Ho ho ho! Merry Christmas young adventurer!")
				say("")
				if pc.get_level() < 30 then
					return
				end
				if pc.getqf("state") > 2 then
					say("Ai gasit o soseta deja?")
					say("")
					say("Acum sosetele se dropeza la monstri apropiati de nivelul tau.")
					say("Odata ce ati gasit o soseta o puteti duce la")
					say("Pomul de Craciun din orasul tau.Acest lucru va fi")
					say("docada pentru mine ca tu te-ai dedicat")
					say("pentru Craciun.Cu mare efort vine")
					say("o mare rasplata si in ziua de craciun veti primi")
					say("un cadou pentru munca depusa.")
					say("Pana atunci bucurati-va de ce va fi!")
					say("")
				elseif pc.getqf("state") < 2 or pc.getqf("state") == nil then
					say("I need to ask you a favour!")
					say("It's very, very important!")
					say("")
					say("If you have time for me please talk to me.")
					say("")
					local init = select("Vorbeste cu mosul","Nu am timp in acest moment")
					if init == 1 then
						say_title("Mos Craciun:")
						say("")
						say("Salut tinere aventurier!")
						say("Am o cerere pentru tine...")
						say("Unu dintre reni mei a fugit!")
						say("")
						say("M-am uitat in toate grajdurile,)
						say("dar ma tem sa nu se fi ratacit adanc in Muntii Inghetati.")
						say("Elfii ar fi foarte ingroziti sa se duca sa caute renul,")
						say("deoarece le e frica sa nu dea peste Noua Cozi.")
						say("")
						wait()
						say_title("Mos Craciun:")
						say("")
						say("Ea e pe cale de a da nastere")
						say("la un pui de ren!")
						say("")
						say("As merge eu,dar dupa cum vezi am o foarte")
						say("mare lista pentru a livra cadouri ."
						say("")
						say("Te rog,poti sa imi gasesti renul?")
						say("Asta s-a intamplat cu multe ore in urma si ma tem")
						say("pentru siguranta ei."
						say("")
						local init2 = select("Desigur!","Sorry, sunt ocupat")
						if init2 == 1 then
							say_title("Mos Craciun:")
							say("")
							say("Oh, iti multumesc foarte mult!")
							say("Te rog grabestete sa o gaseste,cu cat o gasesti mai repde, cu atat mai bine.")
							say("Poti folosi acest fluier pentru a o atrage.")
							say("")
							say_white("El iti da un fluier cu decor de Craciun pe el... ")
							say("")
							say("Fluiera in timp ce o cauti,daca ea te aude,")
							say("va veni la tine.De asemenea fii atent acolo,")
							say("Noua Cozi este foarte feroce in timpul acestui sezon.")
							say("")
							say("Spiritul Craciunului te poate ajuta in calatoria ta!")
							say("")
							pc.give_item2(90080,1)
							pc.setqf("target",number(1,25))
							pc.setqf("state",2)
						else
							say_title("Mos Craciun:")
							say("")
							say("Asta este foarte rau...")
							say("Poate ii pot convinge pe Elfi sa o caute.")
							say("")
							say("Imi pare rau ca te-am deranjat.")
							say("")
						end
					end
				else
					wait()
					say_title("Mos Craciun:"
					say("")
					say("Mult succes pentru a gasi mama ren.")
					say("Spiritul Craciunului o sa te ajute in calatoria ta.")
					say("")
				end
				if pc.getqf("init_nog") < 1 then
					pc.setqf("init_nog",1)
					pc.setqf("first_nog",1)
				end
			elseif selTab[s] == "A Christmas Meal" then
				if pc.getqf("first_nog") == 1 then
					say_title("Mos Craciun:")
					say("")
					say("Ho,ho,ho tinere erou.")
					say("Ti-au cam inghetat urechile.")
					say("Cred ca nu esti obisnuit cu vremurile reci de iarna")
					say("cum sunt eu. Ho,ho,ho!")
					say("")
					say("Uite, i-a asta ,ar trebui sa te incalzeasca.")
					say("")
					say_reward("Ai primit Vin Fiert (x6)")
					say("")
					wait()
					pc.give_item2(50216,6)
					pc.setqf("last_nog_give_time", get_global_time())
					pc.setqf("first_nog",0)
					say_title("Santa Clause:")
					say("")
					say("Este o bautura traditionala care te va incalzi")
					say("in cel mai scurt timp.Ho,ho,ho.")
					say("Si iti creste chiar viteza de atac si de miscare")
					say("putin.")
					say("")
					say("Vino maine la mine daca ai nevoie de mai mult.")
					say("")
				else
					say_title("Mos Craciun:")
					say("")
					say("Ho,ho,ho incep sa se incalzeasca spiritele din nou?"
					say("")
					if get_global_time() - pc.getqf ("last_nog_give_time") >= 86400 then
						say("Here you go! Enjoy!")
						say("")
						pc.setqf ("last_nog_give_time", get_global_time())
						pc.give_item2(nog_pocket,6)
					else
						say("Te rog asteapta umpic mai mult prietene drag.")
						say("Nu a trecut inca o zi."
						say("Asteapta pana vine randul tau.")
						say("")
					end
				end
			elseif selTab[s] == "The Sock Hunt" then
				if pc.getqf("q_init") < 1 then
					say_title("Mos Craciun:"
					say("")
					say("Salut tinere luptator!")
					say("")
					say("Multumesc ca ai participat la acest miracol de Craciun,copilul")
					say("este la fel de sanatos, ca ar putea fi plimbat fericit prin"
					say("Muntii Inghetati.Dar nu de asta te-am chemat aici")
					say("am nevoie din nou de o favoare de la tine.Sosetele")
					say("Din Bradul de Craciun au fost furate de monstri.")
					say("")
					wait()
					say_title("Mos Craciun:)
					say("")
					say("Te superi daca cauti sosetele")
					say("si le pui inapoi in Bradul de Craciun?")
					say("Puiul meu de ren de poate ajuta,de fapt ar fi")
					say("posibil sa faci asta si fara el.")
					say("")
					say("Dupa ce ai gasit sosete,dule")
					say("la Bradul de Craciun,s-ar putea sa te binecuvanteze pentru faptele tale!")
					say("")
					say_reward("Important: Puiul de ren va fi obosit dupa 4 ore.")
					say_reward("Va trebui sa astepti o zi pentru urmatoarea vanatoare.")
					say("")
					pc.give_item2_select(53007,1)
					item.set_socket(0,get_global_time()+14400)
					pc.setqf("last_reindeer_give_time", get_global_time())
					pc.setqf("state",4)
					pc.setqf("q_init",1)
				else
					if pc.count_item(53007) > 0 then
						say_title("Mos Craciun:")
						say("")
						say("Mult noroc la vanatoarea de sosete!")
						say("Spiritul Craciunului te va ajuta in calatoria ta.")
						say("")
						return
					end
					if get_global_time() - pc.getqf("last_reindeer_give_time") < 86400 then
						say_title("Santa Clause:")
						say("")
						say("Puiul de ren este inca epuizat.")
						say("Incearca din nou in cateva ore.")
						say("")
					else
						say_title("Mos Craciun:")
						say("")
						say("Ho,ho,ho tinere erou!")
						say("Puiul de ren este din nou in forma.")
						say("Astefel incat sa poti merge mai mult de patru ore azi.")
						say("Vrei sa te duci la alta vanatoare de sosete acum?")
						say("")
						local a = select("Yes.","No.")
						if a == 1 then
							pc.give_item2_select(53007,1)
							item.set_socket(0,get_global_time()+14400)
							pc.setqf("last_reindeer_give_time", get_global_time())
							pc.setqf("state",4)
						end
					end
				end
			elseif selTab[s] == "The mother reindeer..." then
				local my_x = pc.get_local_x()
				local my_y = pc.get_local_y()
				say_title("Mos Craciun:")
				say("")
				say("Ho,ho,ho!De ce ai fata asta trista prietene?")
				say("")
				say("Ah, stii ce sa intamplat cu"
				say("renul?")
				say("")
				say("A ho,ho,ho ! Nu trebuie sa te ingrijorezi prietene,")
				say("ai fost extraordinar acest sigiliu este al tau")
				say("cel mai mare ren,care este in mare forma.")
				say("Doar apeasa pe sigiliu si te va pune pe ren.")
				say("")
				wait()
				say_title("Tu concentreaza-ti gandurile asuprea aceea ce sa intamplat...")
				say("")
				say_white("Dintr-o data renul este aproape de tine")
				say_white("si ea este la fel de potrivita ca niciodata.")
				say("")
				say("Ea este in siguranta acum,deci nu trebuie sa te mai ingrijorezi.")
				say("Ca un semn de recunostinta vom raspandi Spiritul ")
				say("Craciunului in intreaga lume ,dar sa iau unu din reni mei adulti")
				say("renul-acesta va fi de mare avantaj pentru tine!")
				say("")
				say_reward("Ai primit 2.500.000 yang")
				say_reward("Ai primit mount (20 ore)")
				say("")
				wait()
				pc.setqf("state",3)
				pc.remove_item(90080)
				pc.give_item2_select(71164,1)
				pc.change_gold(2500000)
				if game.get_event_flag("christmas_spawn") < 50 then
					mob.spawn(34010,my_x-1,my_y-1,0,0)
					say_title("Mos Craciun:")
					say("")
					say("Ho,ho,ho... ce pui de ren frumos")
					say("a devenit!")
					say("Ea trebuie sa fie o mama norocoasa.")
					say("Vino inapoi aici in fiecare Craciun si")
					say("joaca-te cu puiul de ren.")
					say("")
					game.set_event_flag("christmas_spawn",game.get_event_flag("christmas_spawn")+1)
				end
			else
			end
		end
		
		when kill with npc.is_pc() == false and pet.is_summon(34010) == true and xmas_2012.has_santa() == true begin
			if pc.get_level() - get_mob_level[npc.get_race()] < 11 then
				local chance = number(1,80)
				if chance == 1 then
					game.drop_item_with_ownership(50010,1)
				end
			end
		end
		
		when 34010.chat."Pet the baby reindeers" with xmas_2012.is_xmas() == true begin
			say_title("Pet pui de ren.")
			say("")
			say("Se pare sa se bucure de mana ta calda pe pielea ei.")
			say("")
			if pc.getqf("got_gold") < 4 and pc.getqf("state") > 2 then
				say("Poti sa iti intorci mana inapoi se simte umpic mai greu.")
				say("In mana ta este yang solid.")
				local amount = number(100000,1000000)
				say("")
				say_reward("Ai primit "..amount.." Yang.")
				say("")
				pc.change_gold(amount)
				pc.setqf("got_gold",pc.getqf("got_gold")+1)
			end
		end
		
		when 71144.use begin
			xmas_2012.gift()
			item.remove()
		end
		
		when 20384.chat."The Christmas Stockings" with pc.getf("xmas_2012","state") == 4 begin
			local p = pc.count_item(50010)
			pc.setqf("socks_count",pc.getqf("socks_count")+p)
			local q = pc.getqf("socks_count")
			pc.remove_item(50010,p)
			say_title("Ai atarnat sosete in brad...")
			say("")
			say("Buna treaba, el functioneaza mai bine acum.")
			say("")
			if q > 4 then
				say("Hei...acesta este un cadou sub brad.:)
				say("Nu a existat inainte...este pentru mine?")
				say("")
				say_reward("Christmas Gift Box received.")
				say("")
				pc.give_item2(71144,1)
				pc.setqf("socks_count",pc.getqf("socks_count")-5)
				pc.setqf("state",3)
			else
				say("Poate ar trebui sa adune mai multe sosete maine.")
				say("")
				pc.setqf("state",3)
			end
		end
			
		when 90080.use with pc.getf("xmas_2012","state") == 2 begin
			local reindeer_tab = {
				{1437,1341},
				{1267,1389},
				{1248,1273},
				{1437,1052},
				{1283,916},
				{1431,742},
				{252,1427},
				{146,1222},
				{258,1268},
				{131,1018},
				{140,517},
				{416,375},
				{397,151},
				{1377,410},
				{1463,530},
				{1183,157},
				{992,660},
				{1117,1012},
				{449,991},
				{419,1360},
				{485,1345},
				{577,1335},
				{268,850},
				{1257,671},
				{1249,1013},
			}
			local my_x = pc.get_local_x()
			local my_y = pc.get_local_y()
			if pc.get_map_index() != 61 then
				chat("You are not in the Ice Mountains - The baby reindeer has to be in there!")
				return
			elseif math.abs(my_x-reindeer_tab[pc.getqf("target")][1]) > 20 or math.abs(my_y-reindeer_tab[pc.getqf("target")][2]) > 20 then
				chat("You blow the training whistle, but nobody reacts, the mother reindeer must be someplace else.")
				return
			else
				chat("You see an animal frozen in the snow, it seems to be the lost mother reindeer!")
				mob.spawn(20216,my_x+1, my_y+1,0,0)
				pc.setqf("state",5)
			end
		end
		
		when 20216.chat."Pet the Reindeer" with pc.getf("xmas_2012","state") == 5 begin
			say_title("Pe masura ce mangii reni...")
			say("")
			say("Renul este zambitor,ea incearca sa exprime")
			say("ca se simte bine,dar va putea simti durerea lui.")
			say("")
			say("[DELAY value=200]. . .[/DELAY]")
			say("")
			wait()
			npc.purge()
			say("")
			say_white("In timp ce incerca sa-si pastreze pentru el,temandu-se cel mai rau")
			say_white("se dizolva intr-o hoarda de lumini stralucitoare."_
			say_white("Este un sigiliu pe teren-poate ar trebui"_
			say_white("sa il dau lui Mos Craciun si sa-i spun ce s-sa intampalt."_
			say("")
			pc.setqf("state",6)
		end
	end
end		
		

Tutorial instalare quest:
1. Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu nume_quest.quest .
2. Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
3. Îl puneţi acolo (să fie .quest) şi da-ţi permisiuni 777.
4. Te loghezi în FreeBSD / putty şi scrii în felul următor: cd /usr/home/game/share/locale/germany/quest apoi ./qc nume_quest.quest
5. Intraţi pe server şi scrieţi /reload q.
6. Testaţi quest-ul.
Pentru acest mesaj, NoRulesS a primit 2 (de) mulţumiri
d3MenTuL • xIulian95
yolo
Afișează semnătura
Avatar utilizator
C. Petrisor
Utilizator interzis !

Utilizator interzis !
Mesaje: 547
Membru din: 03 Sep 2013, 08:45
Server: Cox
Regat: Jinno
Aprecieri: 0
Mulţumiri: 17  
Medalii

O sa-l incerc azi !
Avatar utilizator
M.Seby
Utilizator interzis !

Utilizator interzis !
Mesaje: 2685
Membru din: 10 Sep 2013, 15:00
Server: Not Found
Regat: Jinno
Aprecieri: 0
Mulţumiri: 16  
 Contact:
Medalii

Mutat în Quest-uri!
Imagine
Afișează semnătura
Răspunde
Răspunsuri
6
Vizualizări
687
Răspunsuri
0
Vizualizări
129
Răspunsuri
16
Vizualizări
2499

Înapoi la “Quest-uri”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 5 vizitatori