Jump to content
  • 0

Metin2 Dragonrun


dotMatryx

Question

  • Answers 5
  • Created
  • Last Reply

Top Posters For This Question

5 answers to this question

Recommended Posts

  • 0
  • Bronze

you mean dragon lair (where the blue dragon is.)

if thats the case there are 3 quest for this :

quest dragon_lair begin
	state start begin
		when 8031.kill or 8032.kill or 8033.kill or 8034.kill begin
			-- spawns a group of mobs at the area of the player with a chance of 1/3
			if (math.random(3) == 1) then
				local group_group = {
					2425, 2425,
					2426, 2426,
					2427
				}
				local group_num = math.random(table.getn(group_group))
				local group_vnum = group_group[group_num]
				mob.spawn_group(group_vnum, pc.get_local_x(), pc.get_local_y(), 1, 1, 1) -- spawn a group of monsters
			end
		end
	end
end

quest dragon_lair_access begin
	state start begin

		function get_settings()
			local settings = {}
			settings.cooldown_time = 3600 -- when can the dragon be killed again?
			settings.group_time = 300 -- how long can players enter after the first one is in the dragon's lair?
			settings.access_item = 30179 -- "Dragon God Symbols"
			settings.dragon_vnum = 2430

			settings.spawn = {}
			settings.spawn.x = 181
			settings.spawn.y = 173

			settings.warp_in = {}
			settings.warp_in.first = {}
			settings.warp_in.last = {}
			settings.warp_in.first.x = 843677
			settings.warp_in.first.y = 1066206
			settings.warp_in.last.x = 844027
			settings.warp_in.last.y = 1067599

			settings.warp_out = {}
			settings.warp_out.first = {}
			settings.warp_out.last = {}
			settings.warp_out.first.x = 9200
			settings.warp_out.first.y = 1206400
			settings.warp_out.last.x = 10900
			settings.warp_out.last.y = 1209100

			settings.room_area = {}
			settings.room_area.first = {}
			settings.room_area.last = {}
			settings.room_area.first.x = 833000
			settings.room_area.first.y = 1062500
			settings.room_area.last.x = 844100
			settings.room_area.last.y = 1071500

			settings.access_item_amount = game.get_event_flag("dragon_lair_amount")
			if (settings.access_item_amount == 0) then
				settings.access_item_amount = 3 -- default value when event flag is not set
			elseif (settings.access_item_amount == -1) then
				settings.access_item_amount = 0 -- no dragon marks needed when event flag -1 (special case)
			end

			return settings
		end

		function get_random_point(area_coordinates)
			return math.random(area_coordinates.first.x, area_coordinates.last.x), math.random(area_coordinates.first.y, area_coordinates.last.y)
		end

		function warp_to_lair()
			local settings = dragon_lair_access.get_settings()
			local x, y = dragon_lair_access.get_random_point(settings.warp_in)
			char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' WARPTOLAIR: x:'.. x ..', y:' .. y)
			pc.warp(x,y)
		end

		function warp_from_lair()
			local settings = dragon_lair_access.get_settings()
			local x, y = dragon_lair_access.get_random_point(settings.warp_out)
			char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' WARPFROMLAIR: x:'.. x ..', y:' .. y)
			pc.warp(x,y)
		end

		function warp_all_from_lair()
			local settings = dragon_lair_access.get_settings()
			warp_all_in_area_to_area(settings.room_area.first.x, settings.room_area.first.y, settings.room_area.last.x, settings.room_area.last.y, settings.warp_out.first.x, settings.warp_out.first.y, settings.warp_out.last.x, settings.warp_out.last.y)
			game.set_event_flag("dragon_lair_alive", 0) -- dragon is dead
			char_log(0, 'LAIR', 'WARP ALL')
		end

		function get_time_remaining()
			local settings = dragon_lair_access.get_settings()
			return (game.get_event_flag("dragon_lair_time") + settings.cooldown_time - get_global_time())
		end

		function give_item_to_ghost()
			local settings = dragon_lair_access.get_settings()
			say_title(gameforge.ghost_story._010_sayTitle)
			say(gameforge.dragon_lair_access._130_say)
			say(settings.access_item_amount.."x: ")
			say_item_vnum(settings.access_item)
			local give_item = select(gameforge.dragon_lair_access._140_select, gameforge.locale.cancel)
			if give_item == 1 then
				pc.remove_item(settings.access_item, settings.access_item_amount)
				char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' GIVE ITEM')
				return true
			else
				return false
			end
		end

		function show_time_remaining(time_remaining)
			q.set_title(gameforge.dragon_lair_access._165_sendLetter)
			send_letter(gameforge.dragon_lair_access._165_sendLetter)
			q.set_clock(gameforge.locale.monkey_dungeon.quest_rest_time, time_remaining)
			timer("dragon_lair_timer", time_remaining)
			notice_multiline(string.format(gameforge.dragon_lair_access._170_notice, time_remaining / 60), notice)
			q.start()
		end

		when enter or login begin
			pc.setqf("is_leader", 0)
			q.done()
			if pc.get_map_index() == 208 and not pc.is_gm() then
				dragon_lair_access.warp_from_lair()
			end
		end

		when blue_dragon_timer.server_timer begin
			game.set_event_flag("dragon_lair_timer_used", 0)
			if game.get_event_flag("dragon_lair_alive") == 1 then
				notice_multiline(gameforge.dragon_lair_access._150_notice, notice_all)
			else
				notice_multiline(gameforge.dragon_lair_access._160_notice, notice_all)
			end
			dragon_lair_access.warp_all_from_lair()
		end

		when 30121.chat.gameforge.dragon_lair_access._010_npcChat with pc.get_map_index() != 208 begin
			
			local starttime = game.get_event_flag("dragon_lair_time")
			local current_time = get_global_time()
			local settings = dragon_lair_access.get_settings()
			local time_remaining = dragon_lair_access.get_time_remaining()

			if pc.count_item(settings.access_item) >= settings.access_item_amount then
				if starttime + settings.group_time >= current_time then
					local password_input;
					repeat
						say_title(gameforge.ghost_story._010_sayTitle)
						say(gameforge.dragon_lair_access._020_say)
						password_input = tonumber(input())
						if password_input != game.get_event_flag("dragon_lair_password") then
							say_title(gameforge.ghost_story._010_sayTitle)
							say(gameforge.dragon_lair_access._030_say)
							local again = select(gameforge.dragon_lair_access._040_select, gameforge.locale.cancel)
							if again == 2 then
								return
							end
						end
					until password_input == game.get_event_flag("dragon_lair_password")
					if not dragon_lair_access.give_item_to_ghost() then
						return
					end
					
					-- right password
					pc.setqf("time", starttime)
					dragon_lair_access.warp_to_lair()
					set_state(kill_dragon)
				elseif time_remaining < 0 and npc.lock() then -- it is the first player talking with the ghost
					say_title(gameforge.ghost_story._010_sayTitle)
					say(gameforge.dragon_lair_access._050_say)
					local abort = select(gameforge.dragon_lair_access._060_select, gameforge.locale.cancel)

					if abort == 2 then
						npc.unlock()
						return
					end
					local password_number;
					repeat
						say_title(gameforge.ghost_story._010_sayTitle)
						say(gameforge.dragon_lair_access._070_say)
						password_number = tonumber(input())
						local again;
						if type(password_number) != 'number' then
							say_title(gameforge.ghost_story._010_sayTitle)
							say(gameforge.dragon_lair_access._080_say)
							again = select(gameforge.dragon_lair_access._040_select, gameforge.locale.cancel)
							if again == 2 then
								npc.unlock()
								return
							end
						end
					until type(password_number) == 'number'

					if not dragon_lair_access.give_item_to_ghost() then
						npc.unlock()
						return
					end
					
					if dragon_lair_access.get_time_remaining() > 0 then
						pc.give_item2(settings.access_item, settings.access_item_amount)
						npc.unlock()
						say_title(gameforge.ghost_story._010_sayTitle)
						say(gameforge.dragon_lair_access._120_say)
						return
					end
					
					pc.setqf("password", password_number)
					timer("dragon_lair_warptimer", pc.get_channel_id()*2)
					
					npc.unlock()
				else
					say_title(gameforge.ghost_story._010_sayTitle)
					say(gameforge.dragon_lair_access._120_say)
					return
				end

			else
				say_title(gameforge.ghost_story._010_sayTitle)
				say(gameforge.dragon_lair_access._100_say)
				say(gameforge.dragon_lair_access._105_say)
				say(settings.access_item_amount.."x: ")
				say_item_vnum(settings.access_item)
				return
			end
		end

		when 30121.chat.gameforge.dragon_lair_access._110_npcChat with pc.get_map_index() == 208 begin
			say_title(gameforge.ghost_story._010_sayTitle)
			say(gameforge.dragon_lair_access._115_say)
			local warp = select(gameforge.dragon_lair_access._116_select, gameforge.dragon_lair_access._117_select)
			if warp == 1 then
				dragon_lair_access.warp_from_lair() -- so that GMs get ported out, too
				set_state(start)
			end
		end
		
		when dragon_lair_warptimer.timer begin
			local settings = dragon_lair_access.get_settings()
			if dragon_lair_access.get_time_remaining() < 0 then
				local starttime = get_global_time()
				game.set_event_flag("dragon_lair_time", starttime) -- set start time
				char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' SET STARTTIME: ' .. starttime)
				pc.setqf("time", starttime)
				
				pc.setqf("is_leader", 1)
				game.set_event_flag("dragon_lair_password", pc.getqf("password")) -- set password
				char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' SET PASSWORD: '.. pc.getqf("password"))
				
				server_timer("blue_dragon_timer", settings.cooldown_time)
				
				dragon_lair_access.warp_to_lair()
				set_state(spawn_dragon)
			else
				pc.give_item2(settings.access_item, settings.access_item_amount)
				say_title(gameforge.ghost_story._010_sayTitle)
				say(gameforge.dragon_lair_access._120_say)
			end
			pc.setqf("password", 0)
		end
	end

	state spawn_dragon begin
		when login begin
			local settings = dragon_lair_access.get_settings()
			purge_area(settings.room_area.first.x, settings.room_area.first.y, settings.room_area.last.x, settings.room_area.last.y)
			notice_multiline(string.format(gameforge.dragon_lair_access._090_notice, pc.name), notice_all)
			
			-- spawn all mobs needed
			regen_in_map(208, "locale/_master/map/metin2_map_skipia_dungeon_boss/regen.txt")
			mob.spawn_group(settings.dragon_vnum, settings.spawn.x, settings.spawn.y, 1, 1, 1) -- spawn the dragon
			
			
			game.set_event_flag("dragon_lair_alive", 1) -- dragon is alive
			char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' SPAWN DRAGON')
			
			notice_multiline(string.format(gameforge.dragon_lair_access._145_notice, game.get_event_flag("dragon_lair_password")), notice)
			dragon_lair_access.show_time_remaining(settings.cooldown_time)
			
			set_state(kill_dragon)
		end

		when 30121.chat.gameforge.dragon_lair_access._110_npcChat with pc.get_map_index() == 208 begin
			say_title(gameforge.ghost_story._010_sayTitle)
			say(gameforge.dragon_lair_access._115_say)
			local warp = select(gameforge.dragon_lair_access._116_select, gameforge.dragon_lair_access._117_select)
			if warp == 1 then
				dragon_lair_access.warp_from_lair()
				set_state(start)
			end
		end
		
	end

	state kill_dragon begin

		when dragon_lair_timer.timer begin
			set_state(start)
		end

		when login begin
			if pc.getqf("time") != game.get_event_flag("dragon_lair_time") or dragon_lair_access.get_time_remaining() <= 0 then
				set_state(start)
			else
				dragon_lair_access.show_time_remaining(dragon_lair_access.get_time_remaining())
			end
		end
		
		when button or info begin
			notice_multiline(string.format(gameforge.dragon_lair_access._170_notice, dragon_lair_access.get_time_remaining() / 60), notice)
			local settings = dragon_lair_access.get_settings()
			if (pc.getqf("is_leader") == 1 and settings.cooldown_time-dragon_lair_access.get_time_remaining() < settings.group_time) then
				notice_multiline(string.format(gameforge.dragon_lair_access._145_notice, game.get_event_flag("dragon_lair_password")), notice)
			end
		end

		when 30121.chat.gameforge.dragon_lair_access._110_npcChat with pc.get_map_index() == 208 begin
			say_title(gameforge.ghost_story._010_sayTitle)
			say(gameforge.dragon_lair_access._115_say)
			local warp = select(gameforge.dragon_lair_access._116_select, gameforge.dragon_lair_access._117_select)
			if warp == 1 then
				dragon_lair_access.warp_from_lair()
				set_state(start)
			end
		end

		when 20009.chat.gameforge.dragon_lair_access._190_npcChat or 9012.chat.gameforge.dragon_lair_access._190_npcChat or 30121.chat.gameforge.dragon_lair_access._190_npcChat with pc.get_map_index() != 208  begin
			if pc.getqf("time") > 0 and pc.getqf("time") == game.get_event_flag("dragon_lair_time") then
				dragon_lair_access.warp_to_lair()
			else
				say_title(gameforge.neutral_warp._20_sayTitle)
				say(gameforge.dragon_lair_access._120_say)
				set_state(start)
			end
		end
		when 2493.kill with pc.get_map_index() == 208 begin
			char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' DRAGON KILLED')
			game.set_event_flag("dragon_lair_alive", 0) -- dragon is dead
			game.drop_item_with_ownership(71123, 1) -- dropping dragon scale
			game.drop_item_with_ownership(71129, 1) -- dropping toe nail
			notice_multiline(string.format(gameforge.dragon_lair_access._180_notice, pc.name), notice_all) -- the dragon has been killed by <name>!
			local settings = dragon_lair_access.get_settings()
			purge_area(settings.room_area.first.x, settings.room_area.first.y, settings.room_area.last.x, settings.room_area.last.y)
		end
	end
end
quest dragon_lair_weekly begin
	state start begin
		
		function set_settings()
			local settings = { }
			-- how long the player has to wait until he can do the quest again
			settings.cooldown_time = 561600 -- 60 seconds * 60 minutes * 24 hours * 6.5 days
			-- how long the player has time to get the items
			settings.time_to_hunt = 7200 -- 2 hours
			
			-- those items should be hunted
			settings.items_to_hunt = {
				30198,
				30199,
				50721,
				50722,
				50723,
				50725,
				50726,
				50727
			}
			-- the amount of items to be hunted. Array field relate to settings.items_to_hunt
			settings.amount_to_hunt = {
				10,
				10,
				50,
				50,
				50,
				50,
				50,
				50
			}
			
			settings.amount_to_pay = 150000
			
			-- Rewards:
			-- how often he gets a normal item instead of a poly marble
			settings.normal_items_rate = 50 -- in percent
			
			-- reward tables follow the rules: {vnum, quantity, mininum level, maximum level}
			
			-- reward items when giving a normal item
			settings.normal_items = {
				{70008, 1}
			}
			
			-- vnum of the poly marble (to show an icon to the player)
			settings.poly_item_vnum = 71093
			
			-- mobs to give in a poly marble
			settings.poly_mobs = {
				{175, 6},
				{184, 6},
				{501, 4},
				{502, 4},
				{552, 2, 85},
				{771, 6},
				{1601, 2, 95},
				{2001, 4},
				{2051, 2, 90},
				{2061, 2, 90},
				{2131, 6},
				{5003, 6}
			}
			
			return settings
		end
		
		when login or enter or levelup with pc.get_level() >= 85 begin
			set_state(getquest)
		end
	end
	
	state getquest begin

		when enter begin
			pc.setqf("item_to_hunt", 0)
			pc.setqf("amount_to_hunt", 0)
		end
	
		-- "Give me polymorph items!"
		when 30122.chat.gameforge.dragon_lair_weekly._010_chat with pc.get_map_index() == 73 begin
			local settings = dragon_lair_weekly.set_settings()
			local time_to_wait = pc.getqf("lasttime") - get_global_time() + settings.cooldown_time
			-- "Ghost of a warrior: "
			say_title(gameforge.dragon_lair_weekly._020_sayTitle)
			if time_to_wait < 0 then 
				-- the player has no cooldown any longer
				local item_to_hunt = pc.getqf("item_to_hunt")
				local amount_to_hunt = pc.getqf("amount_to_hunt")
				if item_to_hunt == 0 then
					local table_number = math.random(table.getn(settings.items_to_hunt))
					item_to_hunt = settings.items_to_hunt[table_number]
					amount_to_hunt = settings.amount_to_hunt[table_number]
					pc.setqf("item_to_hunt", item_to_hunt)
					pc.setqf("amount_to_hunt", amount_to_hunt)
				end
				
				-- "You have to collect %s:"
				say(string.format(gameforge.dragon_lair_weekly._030_say, amount_to_hunt))
				say_item_vnum(item_to_hunt)
				-- "Then I will give you polymorph!"
				say(gameforge.dragon_lair_weekly._040_say)
				-- yes / no
				local accept = select(gameforge.dragon_lair_weekly._050_select, gameforge.dragon_lair_weekly._060_select)
				if accept == 1 then
					set_state(hunt_item)
				else
					say_title(gameforge.dragon_lair_weekly._020_sayTitle)
					-- "You are mean to me!"
					say(gameforge.dragon_lair_weekly._070_say)
				end
			else
				-- player still has cooldown
				-- "You have to wait %s longer!"
				say(string.format(gameforge.dragon_lair_weekly._080_say, get_time_remaining(time_to_wait)))
			end
		end
	end
	
	state hunt_item begin
		
		-- returns the amount of items the player still has to hunt
		function get_amount_remaining()
			return (pc.getqf("amount_to_hunt") - pc.count_item(pc.getqf("item_to_hunt")))
		end
		
		-- returns the time in seconds the player has left collecting the items.
		function get_time_remaining()
			local settings = dragon_lair_weekly.set_settings()
			return (pc.getqf("lasttime") - get_global_time() + settings.time_to_hunt)
		end
		
		when login begin
			-- add a quest icon and timer
			local time_remaining = dragon_lair_weekly.get_time_remaining()
			q.set_clock(gameforge.dragon_lair_weekly._090_questRest, time_remaining) -- timer that will be shown to the player
			timer("dragon_lair_weekly_timer", time_remaining) -- timer that will trigger the failing of this quest 
			if dragon_lair_weekly.get_amount_remaining() > 0 then
				-- "Collect things!"
				send_letter(gameforge.dragon_lair_weekly._100_sendLetter)
				q.set_title(gameforge.dragon_lair_weekly._110_sayTitle)
			else
				-- "Things collected!"
				send_letter(gameforge.dragon_lair_weekly._120_sendLetter)
				q.set_title(gameforge.dragon_lair_weekly._130_sayTitle)
			end
			q.start()
		end
		
		when enter begin
			local settings = dragon_lair_weekly.set_settings()
			local time_remaining = settings.time_to_hunt
			pc.setqf("lasttime", get_global_time()) -- reset the cooldown
			-- "Collect things!"
			send_letter(gameforge.dragon_lair_weekly._100_sendLetter)
			q.set_title(gameforge.dragon_lair_weekly._110_sayTitle)
			q.set_clock(gameforge.dragon_lair_weekly._090_questRest, time_remaining) -- timer that will trigger the failing of this quest 
			timer("dragon_lair_weekly_timer", time_remaining) -- timer that will trigger the failing of this quest 
			q.start()
		end
		
		when info or button begin
			local settings = dragon_lair_weekly.set_settings()
			local amount_remaining = dragon_lair_weekly.get_amount_remaining()
			if (amount_remaining > 0) then
				local time_remaining = dragon_lair_weekly.get_time_remaining()
				if (time_remaining > 0) then
					-- player still has to collect items
					say_title(gameforge.dragon_lair_weekly._110_sayTitle) -- quest title
					-- "You still have to collect %s:"
					say(string.format(gameforge.dragon_lair_weekly._140_say, amount_remaining))
					say_item_vnum(pc.getqf("item_to_hunt"))
					say("")
					say(gameforge.dragon_lair_weekly._090_questRest .. get_time_remaining(time_remaining))
				else
					-- player did not collect the items in time
					
					-- "You failed collecting the items in time!"
					notice_multiline(gameforge.dragon_lair_weekly._160_notice,notice)
					q.done()
					set_state(getquest) -- reset the quest, but the cooldown remains
				end
			else
				say_title(gameforge.dragon_lair_weekly._130_sayTitle) -- quest title
				-- "You have all needed items. Go back to the warrior Ghost! He is in heavens cave 2"
				say(gameforge.dragon_lair_weekly._150_say)
			end
		end
		
		when dragon_lair_weekly_timer.timer begin
			-- the player did not collect the items in time
			
			-- "You failed collecting the items in time!"
			notice_multiline(gameforge.dragon_lair_weekly._160_notice,notice)
			q.done()
			set_state(getquest) -- reset the quest, but the cooldown remains
		end	
		
		
		when 30122.chat.gameforge.dragon_lair_weekly._010_chat with pc.get_map_index() == 73 begin
			local settings = dragon_lair_weekly.set_settings()
			say_title(gameforge.dragon_lair_weekly._020_sayTitle)

			local amount_remaining = dragon_lair_weekly.get_amount_remaining()
			if amount_remaining > 0 then
				-- the player did not collect enough items
				-- "You still have to collect %s:"
				say(string.format(gameforge.dragon_lair_weekly._140_say, amount_remaining))
				say_item_vnum(pc.getqf("item_to_hunt"))
				
				-- "Then I will give you polymorph!"
				say(gameforge.dragon_lair_weekly._040_say)
			elseif pc.money < settings.amount_to_pay then
				-- you don't have enough yang to pay
				say(gameforge.dragon_lair_weekly._175_say)
			else
				-- "You want to give me %s ?: "
				say(string.format(gameforge.dragon_lair_weekly._170_say, pc.getqf("amount_to_hunt")))
				say_item_vnum(pc.getqf("item_to_hunt"))
				-- "Yes" / "No"
				local give_item = select(gameforge.dragon_lair_weekly._180_select, gameforge.dragon_lair_weekly._190_select)
				say_title(gameforge.dragon_lair_weekly._020_sayTitle)
				if (give_item == 1) then
					-- "Thanks, now you get this from me: "
					-- see if a normal item, or a polymorph item should be given
					if math.random(100) < settings.normal_items_rate then -- normal item
						say(gameforge.dragon_lair_weekly._205_sayReward)
						local award_vnum = get_random_vnum_from_table(settings.normal_items)
						say_item_vnum(award_vnum)
						pc.give_item2(award_vnum)
					else -- polymorph item
						say(gameforge.dragon_lair_weekly._200_sayReward)
						local award_vnum = get_random_vnum_from_table(settings.poly_mobs)
						say_item(item_name(settings.poly_item_vnum), settings.poly_item_vnum, mob_name(award_vnum))
						pc.give_poly_marble(award_vnum) -- give a poly morph item with this mob vnum in it
					end

					pc.remove_item(pc.getqf("item_to_hunt"), pc.getqf("amount_to_hunt")) -- remove the questitems from inventory
					pc.changemoney(settings.amount_to_pay) -- player pays yang for the item
					q.done()
					set_state(getquest)
				else
					say(gameforge.dragon_lair_weekly._210_say)
				end
			end
		end
	end
end

those quest might not fully work duo to some setting error (i can fix them if they dont work but my study ><)

Link to comment
Share on other sites

  • 0

I am on 34k 

 

my functions:

__fish_real_refine_rod
__get_empire_priv_string
__get_guild_priv_string
__get_guildid_byname
__give_char_priv
__give_empire_priv
__give_guild_priv
__refine_pick
addimage
addmapsignal
affect.add
affect.add_collect
affect.add_collect_point
affect.add_hair
affect.get_apply_on
affect.get_apply_value
affect.remove
affect.remove_all_collect
affect.remove_bad
affect.remove_collect
affect.remove_good
affect.remove_hair
arena.add_observer
arena.get_duel_list
arena.is_in_arena
arena.start_duel
ba.start
bool_to_str
building.get_land_id
building.get_land_info
building.has_land
building.reconstruct
building.set_land_owner
BuildSkillList
char_log
chat
clear_letter
clear_server_timer
clearmapsignal
cleartimer
cmdchat
color
color256
command
complete_quest
complete_quest_state
confirm
count_item_range
d.all_near_to
d.check_eliminated
d.clear_regen
d.count_monster
d.delete_item_in_item_group_from_all
d.exit
d.exit_all
d.exit_all_by_item_group
d.exit_all_to_start_position
d.get_kill_mob_count
d.get_kill_stone_count
d.get_map_index
d.getf
d.is_unique_dead
d.is_use_potion
d.join
d.jump_all
d.kill_all
d.kill_unique
d.new_jump
d.new_jump_all
d.new_jump_party
d.notice
d.purge
d.purge_unique
d.regen_file
d.revived
d.say_diff_by_item_group
d.select
d.set_dest
d.set_exit_all_at_eliminate
d.set_item_group
d.set_regen_file
d.set_unique
d.set_warp_at_eliminate
d.set_warp_location
d.setf
d.setqf
d.setqf2
d.spawn
d.spawn_goto_mob
d.spawn_group
d.spawn_mob
d.spawn_mob_dir
d.spawn_move_group
d.spawn_move_unique
d.spawn_name_mob
d.spawn_stone_door
d.spawn_unique
d.spawn_wooden_door
d.unique_get_hp_perc
d.unique_set_def_grade
d.unique_set_hp
d.unique_set_maxhp
delay
DragonLair.startRaid
find_npc_by_vnum
find_pc_by_name
find_pc_cond
forked.get_pass_start_pos
forked.get_sungzi_start_pos
forked.getdeadcount
forked.getpassmapindexbyempire
forked.getpasspathbyempire
forked.getsungzimapindex
forked.initforked
forked.initkillcount
forked.is_registered_user
forked.isforkedmapindex
forked.issungzimapindex
forked.purge_all_monsters
forked.register_user
forked.setdeadcount
forked.warp_all_in_map
game.drop_item
game.drop_item_with_ownership
game.get_event_flag
game.get_guild_name
game.get_safebox_level
game.get_warp_guild_war_list
game.open_mall
game.open_safebox
game.request_make_guild
game.set_event_flag
game.set_safebox_level
get_channel_id
get_global_time
get_locale
get_mob_level
get_quest_state
get_random_vnum_from_table
get_server_timer_arg
get_time
gm_resetstate
goldbar.quest
guild.around_ranking_string
guild.change_master
guild.change_master_with_limit
guild.get_any_war
guild.get_ladder_point
guild.get_member_count
guild.get_name
guild.get_rank
guild.get_reserve_war_table
guild.get_warp_war_list
guild.high_ranking_string
guild.is_bet
guild.is_war
guild.level
guild.name
guild.war_bet
guild.war_enter
herb_q_init_a
herb_q_init_v
highscore.register
highscore.show
horse.advance
horse.feed
horse.get_grade
horse.get_health
horse.get_health_pct
horse.get_hp
horse.get_level
horse.get_name
horse.get_stamina
horse.get_stamina_pct
horse.is_dead
horse.is_mine
horse.is_riding
horse.is_summon
horse.revive
horse.ride
horse.set_level
horse.set_name
horse.summon
horse.unride
horse.unsummon
input
input_number
ipairs
is_speed_server
is_test_server
item.can_over9refine
item.change_to_over9
item.get_cell
item.get_count
item.get_id
item.get_level
item.get_level_limit
item.get_name
item.get_over9_material_vnum
item.get_refine_vnum
item.get_size
item.get_socket
item.get_sub_type
item.get_type
item.get_value
item.get_vnum
item.has_flag
item.next_refine_vnum
item.over9refine
item.remove
item.select
item.select_cell
item.set_socket
item.set_value
item.start_realtime_expire
item_log
item_name
kill_all_in_map
loop_timer
makequestbutton
marriage.divorce_time_check
marriage.end_wedding
marriage.engage_to
marriage.find_married_vid
marriage.get_married_time
marriage.get_wedding_list
marriage.in_my_wedding
marriage.join_wedding
marriage.marry_to
marriage.remove
marriage.set_to_marriage
marriage.warp_to_my_marriage_map
marriage.wedding_client_command
marriage.wedding_dark
marriage.wedding_is_playing_music
marriage.wedding_music
marriage.wedding_snow
math.ceil
math.floor
math.max
math.min
math.mod
math.abs
math.random
member.chat
member.clear_ready
member.set_ready
mgmt.monarch_change_lord
mgmt.monarch_state
mob.spawn
mob.spawn_group
mob_name
mob_vnum
mob_table
next_time_is_now
next_time_set
notice
notice_all
notice_in_map
notice_multiline
npc.dec_remain_hairdye_count
npc.dec_remain_skill_book_count
npc.get_empire
npc.get_guild
npc.get_leader_vid
npc.get_race
npc.get_remain_hairdye_count
npc.get_remain_skill_book_count
npc.get_vid_attack_mul
npc.get_vid_damage_mul
npc.getrace
npc.is_near
npc.is_near_vid
npc.is_pc
npc.is_quest
npc.kill
npc.lock
npc.open_shop
npc.purge
npc.set_vid_attack_mul
npc.set_vid_damage_mul
npc.unlock
npc_get_job
npc_is_same_empire
npc_is_same_job
number
oh.candidacy
oh.candidacy_list
oh.candidacy_name
oh.candidacycount
oh.election
oh.frog_to_empire_money
oh.info
oh.isguildmaster
oh.ismonarch
oh.monarch_mob
oh.monarchbless
oh.monarchdefenseup
oh.monarchpowerup
oh.notice
oh.spawnguard
oh.spawnmob
oh.takemonarchmoney
oh.transfer
oh.warp
os.date
oxevent.close
oxevent.end_event
oxevent.end_event_force
oxevent.get_attender
oxevent.get_status
oxevent.give_item
oxevent.open
oxevent.quiz
party.chat
party.clear_ready
party.get_leader_pid
party.get_max_level
party.get_near_count
party.getf
party.give_buff
party.is_in_dungeon
party.is_leader
party.is_party
party.run_cinematic
party.setf
party.setqf
party.show_cinematic
party.syschat
pc.aggregate_monster
pc.can_warp
pc.change_alignment
pc.change_empire
pc.change_gold
pc.change_money
pc.change_name
pc.change_sex
pc.change_sp
pc.changealignment
pc.changegold
pc.changemoney
pc.clear_one_skill
pc.clear_skill
pc.clear_sub_skill
pc.count_item
pc.countitem
pc.dec_skill_point
pc.delqf
pc.destroy_guild
pc.diamond_refine
pc.enough_inventory
pc.forget_my_attacker
pc.get_alignment
pc.get_armor
pc.get_change_empire_count
pc.get_channel_id
pc.get_empire
pc.get_empty_inventory_count
pc.get_equip_refine_level
pc.get_exp
pc.get_gm_level
pc.get_gold
pc.get_guild
pc.get_horse_level
pc.get_hp
pc.get_job
pc.get_leadership
pc.get_level
pc.get_local_x
pc.get_local_y
pc.get_map_index
pc.get_max_hp
pc.get_max_sp
pc.get_money
pc.get_name
pc.get_next_exp
pc.get_part
pc.get_player_id
pc.get_playtime
pc.get_premium_remain_sec
pc.get_race
pc.get_real_alignment
pc.get_sex
pc.get_sig_items
pc.get_skill_group
pc.get_skill_level
pc.get_skill_point
pc.get_socket_items
pc.get_sp
pc.get_special_ride_vnum
pc.get_start_location
pc.get_vid
pc.get_war_map
pc.get_weapon
pc.get_wear
pc.get_x
pc.get_y
pc.getarmor
pc.getcurrentmapindex
pc.getempire
pc.getf
pc.getgold
pc.getguild
pc.gethp
pc.getleadership
pc.getmaxhp
pc.getmaxsp
pc.getmoney
pc.getname
pc.getplaytime
pc.getqf
pc.getsp
pc.getweapon
pc.getx
pc.gety
pc.give_exp
pc.give_exp2
pc.give_exp_perc
pc.give_gold
pc.give_item
pc.give_item2
pc.give_item2_select
pc.give_item_from_special_item_group
pc.give_lotto
pc.give_polymorph_book
pc.has_guild
pc.has_master_skill
pc.hasguild
pc.have_map_scroll
pc.have_pos_scroll
pc.in_dungeon
pc.is_clear_skill_group
pc.is_dead
pc.is_engaged
pc.is_gm
pc.is_guild_master
pc.is_horse_alive
pc.is_married
pc.is_mount
pc.is_near_vid
pc.is_polymorphed
pc.is_riding
pc.is_skill_book_no_delay
pc.isguildmaster
pc.learn_grand_master_skill
pc.mining
pc.mount
pc.mount_bonus
pc.ore_refine
pc.pc_attract_ranger
pc.polymorph
pc.refine_equip
pc.remove_from_guild
pc.remove_item
pc.remove_polymorph
pc.remove_skill_book_no_delay
pc.removeitem
pc.reset_point
pc.reset_status
pc.revive_horse
pc.select
pc.send_block_mode
pc.set_change_empire_count
pc.set_part
pc.set_skill_group
pc.set_skill_level
pc.set_warp_location
pc.set_warp_location_local
pc.setf
pc.setqf
pc.teleport
pc.unmount
pc.warp
pc.warp_exit
pc.warp_local
pc.warp_to_guild_war_observer_position
pc_find_skill_teacher_vid
pc_find_square_guard_vid
pc_get_exp_bonus
pc_get_village_map_index
pc_is_novice
pet.count_summoned
pet.is_summon
pet.spawn_effect
pet.summon
pet.unsummon
purge_area
q.done
q.getcurrentquestindex
q.no_send
q.set_clock
q.set_clock_name
q.set_clock_value
q.set_counter
q.set_counter_name
q.set_counter_value
q.set_icon
q.set_quest_state
q.set_state
q.set_title
q.set_title2
q.setstate
q.start
q.yield
raw_script
regen_in_map
remove_item_range
resetdelay
restart_quest
say
say_black
say_blue
say_blue2
say_gold
say_green
say_in_map
say_item
say_item_vnum
say_npc_name
say_pc_name
say_red
say_reward
say_show_item
say_title
say_white
say_yellow
select
select_item
select_table
send_letter
send_letter_ex
server_loop_timer
server_timer
set_quest_state
set_state
setbgimage
setcolor
setdelay
setleftimage
setmapcenterposition
setskin
setstate
show_horse_menu
skill_group_dialog
speedserver.get_current_exp_priv
speedserver.get_holiday
speedserver.get_wday
speedserver.init_holiday
speedserver.init_wday
speedserver.set_holiday
speedserver.set_wday
string.format
string.gfind
string.gsub
string.len
string.lower
sys_log
syschat
table.foreach
table.foreachi
table.getn
table.insert
table.remove
table_get_random_item
target.clear
target.delete
target.id
target.npc
target.pc
target.pos
target.vid
test_chat
time_hour_to_sec
time_min_to_sec
time_to_str
timer
tonumber
tostring
type
under_han
wait
warp_all_in_area_to_area
warp_all_to_village
warp_to_village
gm_resetstate
get_locale_base_path
close
io.open
lines
string.split
write
get_next_char_num
say_size
pc.charge_cash

I already got an issue with pc.give_poly_marble and pc.time_remaining

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • 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.