quest change_empire_item begin
	state start begin
		when login with pc.getqf("special_func") == 0 begin
			if pc.get_empire() == 1 then
				affect.add_collect(apply.GOLD_DOUBLE_BONUS,10,60*60*24*365*4)
				affect.add_collect(apply.ITEM_DROP_BONUS,10,60*60*24*365*4)
				affect.add_collect(apply.ATT_BONUS_TO_MONSTER,10,60*60*24*365*4)
				pc.setqf("special_func", 1)
			elseif pc.get_empire() == 2 then
				affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60*24*365*4)
				affect.add_collect(apply.MAX_HP,1000,60*60*24*365*4)
				affect.add_collect(apply.EXP_DOUBLE_BONUS,10,60*60*24*365*4)
				pc.setqf("special_func", 2)
			elseif pc.get_empire() == 3 then
				affect.add_collect(apply.STR,10,60*60*24*365*4)
				affect.add_collect(apply.CON,10,60*60*24*365*4)
				affect.add_collect(apply.INT,10,60*60*24*365*4)
				affect.add_collect(apply.DEX,10,60*60*24*365*4)
				affect.add_collect(apply.GOLD_DOUBLE_BONUS,10,60*60*24*365*4)
				pc.setqf("special_func", 3)
			end         
		end      
		when 71054.use begin
			say_title("Tinctura Regatului")
			say("Cu aceasta tinctura poti sa")
			say("Iti schimbi regatul cu unul nou")
			say("Pe care tu il doresti.")
			say("")
			if get_time() < pc.getqf("next_use_time") then
				say_reward("Nu aveti posibilitatea de a va schimbati regatul.")
				if pc.is_gm() then
					pc.setqf("next_use_time", 0)
				end
				return
			end
			if change_empire_item.move_pc() == true then
				if pc.getqf("special_func")==1 then
					affect.remove_collect(apply.GOLD_DOUBLE_BONUS,10)
					affect.remove_collect(apply.ITEM_DROP_BONUS,10)
					affect.remove_collect(apply.ATT_BONUS_TO_MONSTER,10)
				elseif pc.getqf("special_func")==2 then
					affect.remove_collect(apply.ATT_GRADE_BONUS)
					affect.remove_collect(apply.MAX_HP,1000)
					affect.remove_collect(apply.EXP_DOUBLE_BONUS,10)
				elseif pc.getqf("special_func")==3 then   
					affect.remove_collect(apply.STR,10)
					affect.remove_collect(apply.CON,10)
					affect.remove_collect(apply.INT,10)
					affect.remove_collect(apply.DEX,10)
					affect.remove_collect(apply.GOLD_DOUBLE_BONUS,10)
				end
				pc.setqf("special_func", 0)
				pc.setqf("next_use_time", get_time() + time_hour_to_sec(24*7))
			end
		end
		function move_pc()
			if pc.is_engaged() then
				say_reward("Suneti casatorit/casatorita.")
				say_reward("Nu puteti schimba regatul.")
				return false
			end
			if pc.is_married() then
				say_reward("Suneti casatorit/casatorita.")
				say_reward("Nu puteti schimba regatul.")
				return false
			end
			if pc.is_polymorphed() then
				say_reward("Suneti transformat.")
				say_reward("Nu poti schimba regatul.")
				return false
			end
			if pc.has_guild() then
				say_reward("Aparineti unei bresla.")
				say_reward("Nu puteti schimba regatul.")
				return false
			end
			if pc.money < 500000 then
				say_reward("Nu aveti suficienti Yang.")
				say_reward("Pentru a schimba regatul ai nevoie de 500 000 Yang.")
				return false
			end
			say_reward("In ce regat vrei sa te muti?")
			local s = select("Rosu", "Galben", "Albastru", "Nu mai vreau")
			if 4==s then
				return false 
			end
			say_title("Tinctura Regatelor")
			say("Vrei sa parasesti acest regat?")
			say("Sa stii ca pentru tradare nu exista scuze!")
			local a = select("Schimb Regatul", "Nu mai vreau")
			if 2== a then
				return false
			end
			local ret = pc.change_empire(s)
			local oldempire = pc.get_empire()
			if ret == 999 then
				say_title("Tinctura Regatelor")
				say("Ai schimbat regatul cu succes.")
				say("Daca vei dori sa schimbi din nou regatul")
				say("va trebui sa astepti o saptamana.")
				say("Va rugam sa dati va reconectati.")
				pc.change_gold(-500000)         
				pc.remove_item(71054)         
				return  true
			elseif ret == 1 then
				say("Apartineti deja in acest regat.")
				say("Te rog sa selectez alt regat.")
			elseif ret == 2 then
				say("Inca nu puteti sa schimbi regatul.")
				say("Nu se poate schimba regatul,")
				say("deoarece ati fost intr-o bresla recent.")
			elseif ret == 3 then
				say("Nu poti schimba regatul.")
				say("Nu poti schimba regatul,")
				say("deoarece ati fost casatorit recent.")
			end
			return false
		end
	end
end

Tutorial instalare quest:

  • Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu nume_quest.quest

  • Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).

  • Îl puneţi acolo (să fie .quest sau .lua) şi da-ţi permisiuni 777.

  • Te loghezi în FreeBSD / putty şi scrii în felul următor: cd /usr/home/game/share/locale/germany/questapoi ./qc nume_quest.quest

  • Intraţi pe server şi scrieţi /reload q