Jump to content

Teleport System


Exygo

Recommended Posts

  • Bronze

M2 Download Center

This is the hidden content, please
( Internal )

 

Quote

I saw a guy who sells shit, so I decided to fuck  60 minutes of my life and time and do it free for you with my code shit because i write fast. 

VegaS 2016

 

Characteristics:

Spoiler

 

    - You can add / remove new maps to beam.

    - You can add checks for each beam for example:

        * You can not teleport unless you have level value.

        * You can not teleport unless you have value yang.

        * You can not teleport if passed x seconds / minutes / hours / days.

        * You can not teleport unless you have a special item for that map.

    These features can be added on request.

This features are already writen and added to the quest.

 

 

 

Description:

It's a teleport ring quest

 

You do the settings here:

 

 

54ba9e513c2d40e9aee59e1057887ab6.png

 

 

And on each error message you have a "Go back" button:

 

 

c697c53ca9b745af9835944c41854821.png

 

 

Link download:

This is the hidden content, please

 

How to use:

Just make the configs and translations and you're done

Another picture:

 

 

bc4fc8e3bbea4f149caa3c98ca0d21e5.png

Example of map1 configs:

 

 

6e4d18d2c4eb4a0396a4cb45e20d105c.png

 

Edited by Metin2 Dev
Core X - External 2 Internal
  • Metin2 Dev 91
  • kekw 1
  • Not Good 1
  • Sad 1
  • Confused 3
  • Good 41
  • Love 6
  • Love 70
Link to comment
Share on other sites

  • Bronze

c697c53ca9b745af9835944c41854821.png

After you warp in a map you can set how much the player needs to wait until can teleport again in that map

#UP, the condition "if not pc.can_warp()" is not included, add it by yourself before pc.warp function

 

 

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

  • 10 months later...
  • 2 weeks later...
  • 4 months later...
  • Bronze

You handle that, is not my priority.

 

F1-12 is a shitty oldschool idea, from the time when metin2 servers where primitive and nobody knew how to make it as button.

Link to comment
Share on other sites

  • 8 months later...
  • 3 weeks later...
  • 3 weeks later...

It isn't that great, but maybe will help someone:

 

quest teleportation_ring begin
	state start begin
		when 70007.use begin
			say_title(item_name(70007))
			say("")
			say("Alege unde vrei sã te teleportezi:")
			say("")
			local option = select("Teritorile comune", "Teritorile regatului", "Teritorile inamice", "Închide")
			if option == 4 then
				return
			elseif option == 1 then
				say_size(350, 380)
				say_title(item_name(70007))
				local map = pc.get_map_index()
				local level = pc.get_level()
				local empire = pc.get_empire()
				local cost = math.floor(pc.get_level()*1000)
				if map == 181 or map == 182 or map == 183 then
					cost = 0
				end
				
				if level < 10 then
					say("Hm... Cu nivelul actual,eºti încã[ENTER]prea slab pentru cãlãtorie în timp ºi spatiu.[ENTER]Vino înapoi atunci când sunteþi mai mari decât[ENTER]level 10. ")
					return
				end
				
				say("În cazul în care vrei sã fi teleportat? ")
				say_reward(string.format("Aceasta va costa %s Yang. ", cost))
				say("")
				local guild_map_names = {"Jungrang", "Waryong", "Imha"}
				local guild_map_name = guild_map_names[empire]
				local sub_set = 0
				
				
				if level < 30 then
					sub_set = select(guild_map_name, "Valea Seungryong(Lv.30)", "Deºertul Yongbi(Lv.35)", "Muntele Sohan(Lv.45)", "Închide")
					if sub_set == 5 then
						return
					end
				elseif level >= 30 and level < 45 then
					sub_set = select(guild_map_name, "Valea Seungryong(Lv.30)", "Deºertul Yongbi(Lv.35)", "Muntele Sohan(Lv.45)", "Temniþa pãianjenilor(Lv.50)", "Închide")
					if sub_set == 6 then
						return
					end
				elseif level >= 45 and level < 60 then
					sub_set = select(guild_map_name, "Valea Seungryong(Lv.30)", "Deºertul Yongbi(Lv.35)", "Muntele Sohan(Lv.45)", "Temniþa pãianjenilor(Lv.50)", "Turnul Demonilor(Lv.40)", "Închide")
					if sub_set == 7 then
						return
					end
				elseif level >= 60 and level < 70 then
					sub_set = select(guild_map_name, "Valea Seungryong(Lv.30)", "Deºertul Yongbi(Lv.35)", "Muntele Sohan(Lv.45)", "Temniþa pãianjenilor(Lv.50)", "Turnul Demonilor(Lv.40)", "Doyyumhwan(Lv.55)", "Pãdurea stafiilor(Lv.60)", "Închide")
					if sub_set == 9 then
						return
					end
				elseif level >= 70 and level < 75 then
					sub_set = select(guild_map_name, "Valea Seungryong(Lv.30)", "Deºertul Yongbi(Lv.35)", "Muntele Sohan(Lv.45)", "Temniþa pãianjenilor(Lv.50)", "Turnul Demonilor(Lv.40)", "Doyyumhwan(Lv.55)", "Pãdurea stafiilor(Lv.60)", "Tãrâmul Giganþilor(Lv.70)", "Pãdurea Roºie(Lv.70)", "Închide")
					if sub_set == 11 then
						return
					end
				elseif level >= 75 then
					sub_set = select(guild_map_name, "Valea Seungryong(Lv.30)", "Deºertul Yongbi(Lv.35)", "Muntele Sohan(Lv.45)", "Temniþa pãianjenilor(Lv.50)", "Turnul Demonilor(Lv.40)", "Doyyumhwan(Lv.55)", "Pãdurea stafiilor(Lv.60)", "Tãrâmul Giganþilor(Lv.70)", "Pãdurea Roºie(Lv.70)", "Grota Exilului(Lv.75)", "Închide")
					if sub_set == 12 then
						return
					end
				end

				if pc.get_gold() < cost then
					say_title(item_name(70007))
					say("")
					say("Nu ai suficient yang.")
					say("")
					return
				end
				if pc.can_warp() == false then
						say("")
						say("Nu te poþi teleporta acum.")
						say("")
					return
				end
				
				pc.change_gold(-cost)
				local warplist = {
									{{135600, 4300}, {179500, 1000}, {271800, 13000},},
									{{402100, 673900}, {270400, 739900}, {321300, 808000},},
									{{217800, 627200}, {221900, 502700}, {344000, 502500},},
									{{434200, 290600}, {375200, 174900}, {491800, 173600},},
									{{60000, 496200}, {60000, 496200}, {60000, 496200},},
									{{590500, 110500}, {590500, 110500}, {590500, 110500},},
									{{599400, 756300}, {597800, 622200}, {730700, 689800},},
									{{288400, 5800}, {288400, 5800}, {288400, 5800},},
									{{828400, 763500}, {828400, 763500}, {828400, 763500},},
									{{1119900, 70800}, {1119900, 70800}, {1119900, 70800},},
									{{284300, 810000}, {284300, 810000}, {284300, 810000},},
								}
				
				say_title(item_name(70007))
				say("")
				say("Imediat vei fi teleportat...")
				say("")
				wait()
				pc.warp(warplist[sub_set][empire][1], warplist[sub_set][empire][2])
			elseif option == 2 then
				local empire = pc.get_empire()
				local cost = math.floor(pc.get_level()*500)
				
				say_title(item_name(70007))
				say("")
				say("În cazul în care vrei sã fi teleportat? ")
				say("")
				say_reward(string.format("Aceasta va costa %s Yang. ", cost))
				say("")
				local sub_set2 = 3
				if empire == 1 then
					sub_set2 = select("Satul Yongan", "Satul Yayang", "Biologul regatului", "Închide")
				elseif empire == 2 then
					sub_set2 = select("Satul Joan", "Satul Bokjung", "Biologul regatului", "Închide")
				elseif empire == 3 then
					sub_set2 = select("Satul Pyungmoo", "Satul Bakra", "Biologul regatului", "Închide")
				end
				
				if sub_set2 != 4 then
					if pc.can_warp() == false then
						say("")
						say("Nu te poþi teleporta acum.")
						say("")
						return
					end
					if pc.get_gold() < cost then
						say_title(item_name(70007))
						say("")
						say("Nu ai suficient yang.")
						say("")
						return
					elseif sub_set2 == 1 then
						pc.changegold(-cost)
						
						say_title(item_name(70007))
						say("")
						say("Imediat vei fi teleportat...")
						say("")
						wait()
						if empire == 1 then
							pc.warp(474300, 954800)
						elseif empire == 2 then
							pc.warp(63800, 166400)
						elseif empire == 3 then
							pc.warp(959900, 269200)
						end
					elseif sub_set2 == 2 then
						pc.changegold(-cost)
						
						say_title(item_name(70007))
						say("")
						say("Imediat vei fi teleportat...")
						say("")
						wait()
						if empire == 1 then
							pc.warp(353100, 882900)
						elseif empire == 2 then
							pc.warp(145500, 240000)
						elseif empire == 3 then
							pc.warp(863900, 246000)
						end
					elseif sub_set2 == 3 then
						pc.changegold(-cost)
						
						say_title(item_name(70007))
						say("")
						say("Imediat vei fi teleportat...")
						say("")
						wait()
						if empire == 1 then
							pc.warp(498500, 957000)
						elseif empire == 2 then
							pc.warp(89300, 182300)
						elseif empire == 3 then
							pc.warp(951100, 233400)
						end
					end
				end
			elseif option == 3 then
				local empire = pc.get_empire()
				local cost = math.floor(pc.get_level()*2000)
				
				say_title(item_name(70007))
				say("")
				say("În cazul în care vrei sã fi teleportat? ")
				say("")
				say_reward(string.format("Aceasta va costa %s Yang. ", cost))
				say("")
				if pc.get_empire() == 1 then
					sub_set = select("Satul Joan", "Satul Pyungmoo", "Închide")
				elseif pc.get_empire() == 2 then
					sub_set = select("Satul Yongan", "Satul Pyungmoo", "Închide")
				elseif pc.get_empire() == 3 then
					sub_set = select("Satul Yongan", "Satul Joan", "Închide")
				end
				
				if sub_set == 3 then
					return
				elseif sub_set == 1 then
					say_title(item_name(70007))
					say("")
					if pc.get_gold() < cost then
						say("Nu ai suficient yang.")
						say("")
						return
					end
					if pc.can_warp() == false then
						say("")
						say("Nu te poþi teleporta acum.")
						say("")
						return
					end
					
					say("Imediat vei fi teleportat...")
					say("")
					wait()
					pc.change_gold(-cost)
					if pc.get_empire() == 1 then
						pc.warp(63800, 166400)
					elseif pc.get_empire() == 2 then
						pc.warp(474300, 954800)
					elseif pc.get_empire() == 3 then
						pc.warp(474300, 954800)
					end
				elseif sub_set == 2 then
					say_title(item_name(70007))
					say("")
					if pc.get_gold() < cost then
						say("Nu ai suficient yang.")
						say("")
						return
					end
					if pc.can_warp() == false then
						say("")
						say("Nu te poþi teleporta acum.")
						say("")
						return
					end
					
					say("Imediat vei fi teleportat...")
					say("")
					wait()
					pc.change_gold(-cost)
					if pc.get_empire() == 1 then
						pc.warp(959900, 269200)
					elseif pc.get_empire() == 2 then
						pc.warp(959900, 269200)
					elseif pc.get_empire() == 3 then
						pc.warp(63800, 166400)
					end
				end
			end
		end
	end
end

 

  • Love 4
Link to comment
Share on other sites

  • 1 month later...
  • Bronze

This is the hidden content, please
 One friend found my quest in a spanish serverfiles, here it is the link is up again.

  • Metin2 Dev 15
  • Eyes 2
  • Think 1
  • Confused 1
  • Good 3
  • Love 1
  • Love 6
Link to comment
Share on other sites

  • 3 months later...
  • 1 year later...
  • 10 months later...

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.