Jump to content
×
×
  • Create New...
  • 0

need help with DragonSoul quest [drop rate-dragon eye]


SlayerPro

Question

Version of Files XXX

[[ Hi / Hello / Hey... ]]

 

 

1. Description of the problem / Question :

please any one can help me with the dragon soul quest

because my drop rate is like 100% each mob drop it and the Dragon eyes power is only 10

i need the drop rate like 50% and the eye limit per day 100 

thanx in advance 

 

 

 

 

2. Screenshots ?

 

GMKtc1I.jpg?1

 

 

Thanks, Sincerly,
 

 

 

define gemstone 30270
define alchemist 20001
define reward_box 50255
define gemstone_need_count 10
define gemstone_trade_max_per_day 10
define dragon_soul_can_use_level 30
define drop_flag "ds_drop"

quest dragon_soul begin
	state start begin
		when levelup or letter with pc.level >= dragon_soul_can_use_level begin
			send_letter_ex(gameforge.dragon_soul._1010_sendLetter, "blue,blink,ex", "scroll_open_blue.tga")
			local v = find_npc_by_vnum(alchemist)
			
			if 0 != v then
				target.vid("__TARGET__", v, mob_name(alchemist))
			end
		end
		when info or button begin
			say(gameforge.dragon_soul._1020_say)
		end

		when alchemist.chat.gameforge.dragon_soul._1030_npcChat with pc.level >= dragon_soul_can_use_level begin
			target.delete("__TARGET__")

			say_title(mob_name(alchemist))
			say(gameforge.dragon_soul._1040_say)
			set_state(state_learning)
		end
	end
	state state_learning begin
		when letter begin
			send_letter_ex(gameforge.dragon_soul._1050_sendLetter, "blue,blink,ex", "scroll_open_blue.tga")
		end
		when info or button begin
			say(gameforge.dragon_soul._1060_say)
		end
		when kill begin
			if npc.is_pc() then
				return
			end
			
			if pc.count_item(gemstone) < gemstone_need_count then
				if drop_gamble_with_flag(drop_flag) then
					game.drop_item_with_ownership(gemstone, 1, 80)
				end
			end
		end
		when alchemist.chat.gameforge.dragon_soul._1050_sendLetter begin
			say_title(mob_name(alchemist))
			if pc.count_item(gemstone) >= gemstone_need_count then
				say(gameforge.dragon_soul._1070_say)
				pc.remove_item(gemstone, gemstone_need_count)
				ds.give_qualification()
				char_log(pc.get_player_id(), 'DS_QUALIFICATION', 'SUCCESS')
				pc.give_item2(reward_box)
				local today = math.floor(get_global_time() / 86400)
				pc.setf("dragon_soul", "eye_timestamp", today)
				pc.setf("dragon_soul", "eye_left", 9)
				set_state(state_farming)
			else
				say(gameforge.dragon_soul._1080_say)
			end
		end
	end
	state state_farming begin
		when letter begin
			send_letter_ex(gameforge.dragon_soul._1090_sendLetter, "blue,blink,ex", "scroll_open_blue.tga")
		end
		when info or button begin
			say(string.format(gameforge.dragon_soul._1100_say, pc.getf("dragon_soul", "eye_left")))
		end
		when kill begin
			if npc.is_pc() then
				return
			end
			
			if drop_gamble_with_flag(drop_flag) then
				local eye_left = pc.getf("dragon_soul", "eye_left")
				local haved_gemstone_number = pc.count_item(gemstone)
				
				if eye_left > haved_gemstone_number / gemstone_need_count then
					game.drop_item_with_ownership(gemstone, 1, 80)
				end
			end
		end
		when gemstone.pick begin
			local eye_left = pc.getf("dragon_soul", "eye_left")
			if eye_left <= 0 then
				return
			end

			if pc.count_item(gemstone) >= gemstone_need_count then
				pc.setf("dragon_soul", "eye_left", eye_left - 1)
				pc.remove_item(gemstone, gemstone_need_count)
				pc.give_item2(reward_box)
				if 1 == eye_left then
					notice_multiline(gameforge.dragon_soul._1110_notice, notice)
					set_state(state_closed_season)
				end
			end
		end
		when alchemist.chat.gameforge.dragon_soul._1120_npcChat begin
			say_title(mob_name(alchemist))
			local today = math.floor(get_global_time() / 86400)
			if today == pc.getf("dragon_soul", "eye_timestamp") then
				say(gameforge.dragon_soul._1130_say)
			else
				say(gameforge.dragon_soul._1140_say)
				pc.setf("dragon_soul", "eye_timestamp", today)
				pc.setf("dragon_soul", "eye_left", 10)
			end	
		end
	end
	state state_closed_season begin
		when letter begin
			send_letter(gameforge.dragon_soul._1150_sendLetter)
		end
		when info or button begin
			say(gameforge.dragon_soul._1160_say)
			local today = math.floor(get_global_time() / 86400)
			if today == pc.getf("dragon_soul", "eye_timestamp") then
				say(gameforge.dragon_soul._1170_say)
			else
				say(gameforge.dragon_soul._1180_say)
			end
		end
		
		when alchemist.chat.gameforge.dragon_soul._1090_sendLetter begin
			say_title(mob_name(alchemist))
			local today = math.floor(get_global_time() / 86400)
			if today == pc.getf("dragon_soul", "eye_timestamp") then
				say(gameforge.dragon_soul._1130_say)
			else
				say(gameforge.dragon_soul._1140_say)
				pc.setf("dragon_soul", "eye_timestamp", today)
				pc.setf("dragon_soul", "eye_left", 10)
				set_state(state_farming)
			end
		end
	end
	-- deprecated states. so, jump to new state.
	state state_1 begin
		when login begin
			set_state(state_learning)
		end
	end
	state state_2 begin
		when login begin
			set_state(state_learning)
		end
	end
	state state_3 begin
		when login begin
			set_state(state_closed_season)
		end
	end
end

 

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

i fix this line 

 

define gemstone_trade_max_per_day 10

to 100 the eye of dragon it comes 100 

 

but the rate is still too much 

					game.drop_item_with_ownership(gemstone, 1, 80)

i changed this too to 35 and not working still 100% percent 

Edited by SlayerPro
Link to comment
Share on other sites

  • 0

You could do it like that:

 

		when kill begin
			if npc.is_pc() then
				return
			end
			
			if pc.count_item(gemstone) < gemstone_need_count then
				local drop = number(1, 100)
				if drop <= 10 then
					game.drop_item_with_ownership(gemstone, 1, 300)
				end
			end
		end

		when kill begin
			if npc.is_pc() then
				return
			end
			
			local drop = number(1, 100)
			if drop <= 10 then
				local eye_left = pc.getf("dragon_soul", "eye_left")
				local haved_gemstone_number = pc.count_item(gemstone)
				
				if eye_left > haved_gemstone_number / gemstone_need_count then
					game.drop_item_with_ownership(gemstone, 1, 300)
				end
			end
		end

 

  • Love 1
Link to comment
Share on other sites

  • 0
9 minutes ago, DrTurk said:

You could do it like that:

 

		when kill begin
			if npc.is_pc() then
				return
			end
			
			if pc.count_item(gemstone) < gemstone_need_count then
				local drop = number(1, 100)
				if drop <= 10 then
					game.drop_item_with_ownership(gemstone, 1, 300)
				end
			end
		end

		when kill begin
			if npc.is_pc() then
				return
			end
			
			local drop = number(1, 100)
			if drop <= 10 then
				local eye_left = pc.getf("dragon_soul", "eye_left")
				local haved_gemstone_number = pc.count_item(gemstone)
				
				if eye_left > haved_gemstone_number / gemstone_need_count then
					game.drop_item_with_ownership(gemstone, 1, 300)
				end
			end
		end

 

you mean i put this 

					game.drop_item_with_ownership(gemstone, 1, 300)

insted of this 

					game.drop_item_with_ownership(gemstone, 1, 80)

??

Link to comment
Share on other sites

  • 0

the 300 or 80 in your case is not the drop chance, the dropchance in this quest ist calaculated by the ds_drop flag

Just use this quest:

 

define gemstone 30270
define alchemist 20001
define reward_box 50255
define gemstone_need_count 10
define gemstone_trade_max_per_day 30
define dragon_soul_can_use_level 30
define dragon_soul_shop_vnum 131

quest dragon_soul begin
	state start begin
		when levelup or letter with pc.level >= dragon_soul_can_use_level begin
			send_letter(gameforge.dragon_soul._1010_sendLetter)
			local v = find_npc_by_vnum(alchemist)
			
			if 0 != v then
				target.vid("__TARGET__", v, mob_name(alchemist))
			end
		end
		when info or button begin
			say(gameforge.dragon_soul._1020_say)
		end

		when alchemist.chat.gameforge.dragon_soul._1030_npcChat with pc.level >= dragon_soul_can_use_level begin
			target.delete("__TARGET__")

			say_title(mob_name(alchemist))
			say(gameforge.dragon_soul._1040_say)
			set_state(state_learning)
		end
	end
	state state_learning begin
		when letter begin
			send_letter(gameforge.dragon_soul._1050_sendLetter)
		end
		when info or button begin
			say(gameforge.dragon_soul._1060_say)
		end
		when kill begin
			if npc.is_pc() then
				return
			end
			
			if pc.count_item(gemstone) < gemstone_need_count then
				local drop = number(1, 100)
				if drop <= 10 then
					game.drop_item_with_ownership(gemstone, 1, 300)
				end
			end
		end
		when alchemist.chat.gameforge.dragon_soul._1050_sendLetter begin
			say_title(mob_name(alchemist))
			if pc.count_item(gemstone) >= gemstone_need_count then
				say(gameforge.dragon_soul._1070_say)
				pc.remove_item(gemstone, gemstone_need_count)
				ds.give_qualification()
				char_log(pc.get_player_id(), 'DS_QUALIFICATION', 'SUCCESS')
				pc.give_item2(reward_box)
				local today = math.floor(get_global_time() / 86400)
				pc.setf("dragon_soul", "eye_timestamp", today)
				pc.setf("dragon_soul", "eye_left", 29)
				set_state(state_farming)
			else
				say(gameforge.dragon_soul._1080_say)
			end
		end
	end
	state state_farming begin
		when letter begin
			send_letter(gameforge.dragon_soul._1090_sendLetter)
		end
		when info or button begin
			say_title("Macht des Drachenauges")
			say(string.format(gameforge.dragon_soul._1100_say, pc.getf("dragon_soul", "eye_left")))
		end
		when kill begin
			if npc.is_pc() then
				return
			end
			
			local drop = number(1, 100)
			if drop <= 10 then
				local eye_left = pc.getf("dragon_soul", "eye_left")
				local haved_gemstone_number = pc.count_item(gemstone)
				
				if eye_left > haved_gemstone_number / gemstone_need_count then
					game.drop_item_with_ownership(gemstone, 1, 300)
				end
			end
		end
		when gemstone.pick begin
			local eye_left = pc.getf("dragon_soul", "eye_left")
			if eye_left <= 0 then
				return
			end

			if pc.count_item(gemstone) >= gemstone_need_count then
				pc.setf("dragon_soul", "eye_left", eye_left - 1)
				pc.remove_item(gemstone, gemstone_need_count)
				pc.give_item2(reward_box)
				if 1 == eye_left then
					notice_multiline(gameforge.dragon_soul._1110_notice, notice)
					set_state(state_closed_season)
				end
			end
		end
		when alchemist.chat.gameforge.dragon_soul_refine._010_npcChat with ds.is_qualified() != 0 begin
			say_title(mob_name(alchemist))
			say (gameforge.dragon_soul_refine._020_say)
			ds.open_refine_window()
		end

		when alchemist.chat.gameforge.dragon_soul._100_npcChat with ds.is_qualified() begin
			setskin(NOWINDOW)
			npc.open_shop(dragon_soul_shop_vnum)
		end
		when alchemist.chat.gameforge.dragon_soul._1120_npcChat begin
			say_title(mob_name(alchemist))
			local today = math.floor(get_global_time() / 86400)
			if today == pc.getf("dragon_soul", "eye_timestamp") then
				say(gameforge.dragon_soul._1130_say)
			else
				say(gameforge.dragon_soul._1140_say)
				pc.setf("dragon_soul", "eye_timestamp", today)
				pc.setf("dragon_soul", "eye_left", 30)
			end	
		end
	end
	state state_closed_season begin
		when letter begin
			send_letter(gameforge.dragon_soul._1150_sendLetter)
		end
		when info or button begin
			say(gameforge.dragon_soul._1160_say)
			local today = math.floor(get_global_time() / 86400)
			if today == pc.getf("dragon_soul", "eye_timestamp") then
				say(gameforge.dragon_soul._1170_say)
			else
				say(gameforge.dragon_soul._1180_say)
			end
		end
		
		when alchemist.chat.gameforge.dragon_soul._1090_sendLetter begin
			say_title(mob_name(alchemist))
			local today = math.floor(get_global_time() / 86400)
			if today == pc.getf("dragon_soul", "eye_timestamp") then
				say(gameforge.dragon_soul._1130_say)
			else
				say(gameforge.dragon_soul._1140_say)
				pc.setf("dragon_soul", "eye_timestamp", today)
				pc.setf("dragon_soul", "eye_left", 30)
				set_state(state_farming)
			end
		end
	end
	-- deprecated states. so, jump to new state.
	state state_1 begin
		when login begin
			set_state(state_learning)
		end
	end
	state state_2 begin
		when login begin
			set_state(state_learning)
		end
	end
	state state_3 begin
		when login begin
			set_state(state_closed_season)
		end
	end
end

 

  • Love 1
Link to comment
Share on other sites

  • 0
1 minute ago, DrTurk said:

the 300 or 80 in your case is not the drop chance, the dropchance in this quest ist calaculated by the ds_drop flag

would you please tell me how to edite the chance of drop ? 

Link to comment
Share on other sites

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.


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.