Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Jak Dodać Mapke Do Teleportera?


Rekomendowane odpowiedzi

Opublikowano

Tak jak questy piszesz;)

W select(), jak masz np. select("M1", "Dolina", "Pustynia") itd. dodajesz nową opcje, potem jedziesz w dół, elseif ZMIENNA_z_wyborem_select == cyfra ktora dodalaes then

pc.warp(warpy).

 

Lepiej będzie jak dasz tutaj questa, my go zmodyfikujemy.

2364.png

lolyhb.jpg

Opublikowano

-- ?? ???? ??
quest map_warp begin
state start begin
	when 9012.chat."Czy chcesz się teleportować?"  begin
		say ("Witaj[ENTER]Jestem teleporterem[ENTER]Czy chcialbys gdzies sie przeniesc?[ENTER]Hola, poczekaj![ENTER]Chyba nie myslisz, ze przeteleportuje cie za darmo?[ENTER]Za moje uslugi musisz zaplacic![ENTER]Czy nadal chcesz sie przenieść?") 

		local main_set = select("Tak","Nie")
		if main_set == 2 then
			return
		end

		if pc.get_level() <= 10 then
			say("Chyba nie myslisz, ze na takim poziomie[ENTER]gdziekolwiek cie przeniose? ")
			say("")
			return
		end

		local map = pc.get_map_index()
		local empire = pc.get_empire()
		local level = pc.get_level()
		local cost = math.floor(level / 5) * 1000

		-- ?? ????
		if cost < 1000 then
			cost = 1000
		end

		say("A więc chcesz się przenieść?[ENTER] Lecz wiedz że takie coś kosztuje... ")
		say_reward(string.format("Musisz zapłacić %d Yang", cost))
		say("")

		-- ?? ?? ???? ?? ?? (? ?? 1,2 ??)
		if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then

			local guild_map_names = {
				"Teren Gildii",
				"Teren Gildii",
				"Teren Gildii",
			}

			guild_map_name = guild_map_names[empire]
			local empire_castle={
				"Wojna krolestw",
				"Wojna krolestw",
				"Wojna krolestw",
			}
			empire_castle =empire_castle[empire]
			local sub_set = 0
			if level < 60 then -- 60?? : ?????, ???, ????, ???
				sub_set = select(guild_map_name, "Dolina Seungryong", "Pustynia Yongbi", "Lodowa Ziemia", empire_castle,"Anuluj")
				if sub_set == 6 then -- ??
					return
				end

			else -- 61?? : ????, ???, ????, ????
				sub_set = select(guild_map_name, "Dolina Seungryong", "Pustynia Yongbi", "Lodowa Ziemia",  empire_castle,"Dalej")
				if sub_set == 6 then -- ??
					say("Te mapy dostepne sa od 60 poziomu!")
					say_reward(string.format("Aby sie przeniesc potrzebujesz %d yang.", cost))
					say("")
					sub_set = select("Doyyum-Hwai", "Swiatynia Hwang - DT", "Wroc", "Anuluj") + 5
					if sub_set == 9 then -- ??
						return
					end
					if sub_set == 8 then -- ??
											 ---                                                   l
						say_reward(string.format("Bedzie to kosztowac %d yang.", cost))
						say_reward("Czy chcesz sie przeniesc?")
						say("")
						sub_set = select(guild_map_name, "Dolina Seungryong", "Pustynia Yongbi", "Lodowa Ziemia",  empire_castle,"Dalej")
						if sub_set == 6 then -- ??
							---                                                   l
							say("Te mapy dostepne sa od 60 poziomu!")
							say("Czy chcesz sie przeniesc?")
							say_reward(string.format("Koszt to %d yang.", cost))
							say("")
							sub_set = select("Doyyum-Hwai", "Swiatynia Hwang - DT", "Anuluj") + 5
							if sub_set == 8 then -- ??
								return
							end
						end
					end
				end
			end

			if pc.gold < cost then
				say("Niestety nie masz wystarczająco[ENTER]Dużo Yang![ENTER]Przyjdź kiedy będziesz mieć pełną sumę...")
				say_reward(string.format("Musisz zaplacic %d yang", cost))
				say("")
				return
			end

			pc.changegold(-cost)

			local warp = {
                   -- guild_map
                   {
                       { 128500, 1000 },
                       { 179500, 1000 },
                       { 271800, 13000 },
                   },
                   -- 64 map_n_threeway
                   {
                       { 402100, 673900 },
                       { 270400, 739900 },
                       { 321300, 808000 },
                   },
                   -- 63 metin2_map_n_desert_01
                   {
                       { 217800, 627200 },
                       { 221900, 502700 },
                       { 344000, 502500 },
                   },
                   -- 61 map_n_snowm_01
                   {
                       { 434200, 290600 },
                       { 375200, 174900 },
                       { 491800, 173600 },
                   },
				{--empire_castle
					{975200, 133000},
					{977200, 185000},
					{923900, 183600},

				} ,
                   -- 62 metin2_map_n_flame_01
                   {
                       { 599400, 756300 },
                       { 597800, 622200 },
                       { 730700, 689800 },
                   },
                   -- devil_tower
                   {
                       { 590500, 110500 },
                       { 590500, 110500 },
                       { 590500, 110500 },
                   },
			}
			test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
			say("Przeniosles sie!")
			say("")
			say("Trzymaj sie mocno!")
			wait()
			pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])


		else -- ? ?? 1,2 ? ??? ?????? ? ?? 1,2 ? ??? ?? ??	
			local sub_set2 = 3

			--sub_set2 = select(locale.vileage1_name[empire], locale.vileage2_name[empire], locale.cancel)
			if empire==1 then    
				sub_set2 = select("Shinsoo M1","Shinsoo M2" , locale.cancel)
			elseif  empire ==2 then  
				sub_set2 = select("Chunjo M1","Chunjo M2" , locale.cancel)
			elseif  empire ==3 then 
				sub_set2 = select("Jinno M1","Jinno M2" , locale.cancel)
			end	
			if sub_set2 != 3 then
				if pc.gold < cost then
					say("Hmm...")
					say("Rozumiem, ze nie masz yang")
					say("ale ja tez musze jakos wyzywic swoja rodzine!")
					say_reward(string.format("Wroc kiedy zdobedziesz %d yang", cost))
					say("")
				else
					if sub_set2 == 1 then
						say("Przeniosles sie!")
						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
						say("Przeniosles sie!")
						say("")
						say("")
						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	
					end

					pc.changegold(-cost)
				end
			end
		end
	end -- end_of_chat
	end -- end_of_state
end -- end_of_quest

 

A do mapy teleportuję się w ten sposób:

/warp 832 0

userbarwb.png

Zawsze promocje na sygnatury ^^

Opublikowano

quest przekleta begin
state start begin
	when 9010.chat."Przekleta Ziemia" with pc.level >= 100 begin
		say_title("Informacja")
		say_reward("Zeby sie przeteleportowac bedziesz potrzebowal")
		say_reward("Przepustke!")
		say_item_vnum(id przepustki )
		if pc.countitem(id przepustki)>0 then
			say("Doskonale masz przepustke")
			say("Chcesz sie przeteleportowac?")
			local s=select("Tak","Nie")
			if s==1 then
				pc.warp(83200,000)
			elseif s==2 then
				return
			end
		else
			say("Niestety!")
			say("Nie posiadasz przepustki")
		end
	end
end
end


 

9010.chat. = ID npc(pomocnik zdarzen)

ID przepustki = dajesz tutaj npc

Jeżeli chcesz, żeby po tp usuwało przepustke to dodaj po

pc.warp(83200,000)
pc.remove_item(id przepustki , 1)

 

Lub bez przepustki ;]

 

quest przekleta begin
state start begin
	when 9010.chat."Przekleta Ziemia" with pc.level >= 100 begin
		say_title("Informacja")
		say("Chcesz sie przeteleportowac?")
		local s=select("Tak","Nie")
		if s==1 then
			pc.warp(83200,000)
		elseif s==2 then
			return
		end
	end
end
end





Zbieram +

Opublikowano

Każdy kto ma mniejszy lvl od 100 to gdy klika na NPC to nic się nie dzieje... a czy można zrobić tak że każdy kto kilknie to żeby mu się wyświetlało że np "Nie masz 100lvla nie możesz się teleportować" ??

userbarwb.png

Zawsze promocje na sygnatury ^^

Opublikowano
quest przekleta begin
       state start begin
               when 9010.chat."Przekleta Ziemia" begin
				if pc.get_level()> 99 begin	
                       say_title("Informacja")
                       say_reward("Zeby sie przeteleportowac bedziesz potrzebowal")
                       say_reward("Przepustke!")
                       say_item_vnum(id przepustki )
                       if pc.countitem(id przepustki)>0 then
                               say("Doskonale masz przepustke")
                               say("Chcesz sie przeteleportowac?")
                               local s=select("Tak","Nie")
                               if s==1 then
                                       pc.warp(83200,000)
                               elseif s==2 then
                                       return
                               end
                       else
                               say("Niestety!")
                               say("Nie posiadasz przepustki")
                       end
				else
					say_title("Informacja")
					say("Nie masz 100 lvla")
					say("Przyjdz pozniej!!!")
				end
               end
       end
end

Zbieram +

Opublikowano

Mroczny666 jest zajebisty! Oczywiście +++ 5!

 

Jeszcze mam pytanie jak zrobić że np jak mam strasznie długi tekst i chce go np na dwie strony dać, czyli np Klikam na teleportera i wyskakuje info Przeklęta Ziemia, kilkam na to i potem np mój tekst na dwie strony czyli napisze "blablablabla" i żeby można było kliknąć "Dalej" i następna strona "blablabla czy chcesz się przenieść?" Wiesz oco kaman? :D

userbarwb.png

Zawsze promocje na sygnatury ^^

Opublikowano
say("ple")

say("ple")

say("ple")

say("ple")

say("ple")

say("ple")

say("ple")

wait()

say("ple")

say("ple")

say("ple")

say("ple")

Funkcja wait()

2364.png

lolyhb.jpg

Opublikowano

OK dzięki. A co zrobić jeżeli bd chciał dodać drugą opcje teleportu na inną mapę u tego samego npc? tzn wszystko to samo tylko teleport na inną mape?

userbarwb.png

Zawsze promocje na sygnatury ^^

Opublikowano

Wszystko to samo tylko zmieniasz:

 

when 9010.chat."Przekleta Ziemia" begin

 

ii

 

pc.warp(83200,000)

 

Przy każdych warpach muszą być dwa 0 na końcu czyli

 

/warp 9999 9999 = pc.warp(999900,999900)

Zbieram +

Opublikowano

Możesz oddzielnie lub w tym samym ;d

 

Look

 


quest przekleta begin
       state start begin
               when 9010.chat."Przekleta Ziemia" begin
                                       if pc.get_level()> 99 begin     
                       say_title("Informacja")
                       say_reward("Zeby sie przeteleportowac bedziesz potrzebowal")
                       say_reward("Przepustke!")
                       say_item_vnum(id przepustki )
                       if pc.countitem(id przepustki)>0 then
                               say("Doskonale masz przepustke")
                               say("Chcesz sie przeteleportowac?")
                               local s=select("Tak","Nie")
                               if s==1 then
                                       pc.warp(83200,000)
                               elseif s==2 then
                                       return
                               end
                       else
                               say("Niestety!")
                               say("Nie posiadasz przepustki")
                       end
                                       else
                                               say_title("Informacja")
                                               say("Nie masz 100 lvla")
                                               say("Przyjdz pozniej!!!")
                                       end
               end

               when....
       end
end

Zbieram +

Opublikowano

Czy ktoś może mi dodać do teleportera V1, Atlantyde i Tysieczniki. Bo ja się nie znam na tym:( serwer mam fajny ale nie znam się na questach:(

czy ktoś mi ustawi V1 od 55 lvla, Atlantyda od 85 i jeszcze Krainę Tysięczników od 65. To mój teleporter.

-- ?? ???? ??
quest map_warp begin
state start begin
	when 9012.chat."Czy chcesz się teleportować?"  begin
		say ("Witaj[ENTER]Jestem teleporterem[ENTER]Czy chcialbys gdzies sie przeniesc?[ENTER]Hola, poczekaj![ENTER]Chyba nie myslisz, ze przeteleportuje cie za darmo?[ENTER]Za moje uslugi musisz zaplacic![ENTER]Czy nadal chcesz sie przenieść?") 

		local main_set = select("Tak","Nie")
		if main_set == 2 then
			return
		end

		if pc.get_level() <= 10 then
			say("Chyba nie myslisz, ze na takim poziomie[ENTER]gdziekolwiek cie przeniose? ")
			say("")
			return
		end

		local map = pc.get_map_index()
		local empire = pc.get_empire()
		local level = pc.get_level()
		local cost = math.floor(level / 5) * 1000

		-- ?? ????
		if cost < 1000 then
			cost = 1000
		end

		say("A więc chcesz się przenieść?[ENTER] Lecz wiedz że takie coś kosztuje... ")
		say_reward(string.format("Musisz zapłacić %d Yang", cost))
		say("")

		-- ?? ?? ???? ?? ?? (? ?? 1,2 ??)
		if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then

			local guild_map_names = {
				"Teren Gildii",
				"Teren Gildii",
				"Teren Gildii",
			}

			guild_map_name = guild_map_names[empire]
			local empire_castle={
				"Wojna krolestw",
				"Wojna krolestw",
				"Wojna krolestw",
			}
			empire_castle =empire_castle[empire]
			local sub_set = 0
			if level < 60 then -- 60?? : ?????, ???, ????, ???
				sub_set = select(guild_map_name, "Dolina Seungryong", "Pustynia Yongbi", "Lodowa Ziemia", empire_castle,"Anuluj")
				if sub_set == 6 then -- ??
					return
				end

			else -- 61?? : ????, ???, ????, ????
				sub_set = select(guild_map_name, "Dolina Seungryong", "Pustynia Yongbi", "Lodowa Ziemia",  empire_castle,"Dalej")
				if sub_set == 6 then -- ??
					say("Te mapy dostepne sa od 60 poziomu!")
					say_reward(string.format("Aby sie przeniesc potrzebujesz %d yang.", cost))
					say("")
					sub_set = select("Doyyum-Hwai", "Swiatynia Hwang - DT", "Wroc", "Anuluj") + 5
					if sub_set == 9 then -- ??
						return
					end
					if sub_set == 8 then -- ??
											 ---                                                   l
						say_reward(string.format("Bedzie to kosztowac %d yang.", cost))
						say_reward("Czy chcesz sie przeniesc?")
						say("")
						sub_set = select(guild_map_name, "Dolina Seungryong", "Pustynia Yongbi", "Lodowa Ziemia",  empire_castle,"Dalej")
						if sub_set == 6 then -- ??
							---                                                   l
							say("Te mapy dostepne sa od 60 poziomu!")
							say("Czy chcesz sie przeniesc?")
							say_reward(string.format("Koszt to %d yang.", cost))
							say("")
							sub_set = select("Doyyum-Hwai", "Swiatynia Hwang - DT", "Anuluj") + 5
							if sub_set == 8 then -- ??
								return
							end
						end
					end
				end
			end

			if pc.gold < cost then
				say("Niestety nie masz wystarczająco[ENTER]Dużo Yang![ENTER]Przyjdź kiedy będziesz mieć pełną sumę...")
				say_reward(string.format("Musisz zaplacic %d yang", cost))
				say("")
				return
			end

			pc.changegold(-cost)

			local warp = {
                   -- guild_map
                   {
                       { 128500, 1000 },
                       { 179500, 1000 },
                       { 271800, 13000 },
                   },
                   -- 64 map_n_threeway
                   {
                       { 402100, 673900 },
                       { 270400, 739900 },
                       { 321300, 808000 },
                   },
                   -- 63 metin2_map_n_desert_01
                   {
                       { 217800, 627200 },
                       { 221900, 502700 },
                       { 344000, 502500 },
                   },
                   -- 61 map_n_snowm_01
                   {
                       { 434200, 290600 },
                       { 375200, 174900 },
                       { 491800, 173600 },
                   },
				{--empire_castle
					{975200, 133000},
					{977200, 185000},
					{923900, 183600},

				} ,
                   -- 62 metin2_map_n_flame_01
                   {
                       { 599400, 756300 },
                       { 597800, 622200 },
                       { 730700, 689800 },
                   },
                   -- devil_tower
                   {
                       { 590500, 110500 },
                       { 590500, 110500 },
                       { 590500, 110500 },
                   },
			}
			test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
			say("Przeniosles sie!")
			say("")
			say("Trzymaj sie mocno!")
			wait()
			pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])


		else -- ? ?? 1,2 ? ??? ?????? ? ?? 1,2 ? ??? ?? ??	
			local sub_set2 = 3

			--sub_set2 = select(locale.vileage1_name[empire], locale.vileage2_name[empire], locale.cancel)
			if empire==1 then    
				sub_set2 = select("Shinsoo M1","Shinsoo M2" , locale.cancel)
			elseif  empire ==2 then  
				sub_set2 = select("Chunjo M1","Chunjo M2" , locale.cancel)
			elseif  empire ==3 then 
				sub_set2 = select("Jinno M1","Jinno M2" , locale.cancel)
			end	
			if sub_set2 != 3 then
				if pc.gold < cost then
					say("Hmm...")
					say("Rozumiem, ze nie masz yang")
					say("ale ja tez musze jakos wyzywic swoja rodzine!")
					say_reward(string.format("Wroc kiedy zdobedziesz %d yang", cost))
					say("")
				else
					if sub_set2 == 1 then
						say("Przeniosles sie!")
						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
						say("Przeniosles sie!")
						say("")
						say("")
						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	
					end

					pc.changegold(-cost)
				end
			end
		end
	end -- end_of_chat
	end -- end_of_state
end -- end_of_quest

Kończę z MPCforum!!!

 

 

BYroboMt2 DEDYK

Badar?? HaHa!!!!

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...