Jump to content

Recommended Posts

Hello, so I have made my first quest but when i try to install i have this errors

fg0EsY6.png

Here is the quest

quest spider_cave_boss begin
state start begin
when 30130.chat."Vizuina Reginei Paianjen"
say_title("Vizuina Reginei Paianje")
say("Doresti sa intri in vizuina Reginii Paianjen ?")
say("")
local sn = select (Da, Nu)
	if sn == 2 then
		return
	end
	elseif sn == 1 then
		if party.is_party() then
			if party.is_leader() then
				if pc.count_item(30327) > 0 then
					say_title ("Vizuina Reginei Paianjen")
					say ("Esti pregatit sa intrii ?")
						local sc = select (Da, Nu)
							if sc == 2 then
								return
							end
							elseif sc == 1 then
							pc.remove_item(30327)
							d.new_jump_all(193, 878, 6148)
							end
				elseif pc.count_item(30327) < 1 then
					say_title("Vizuina Reginei Paianjen")
					say("Nu detii Fluierul Arahnidelor !")
					say("")
				end
			else
				say("Nu esti liderul grupei !")
			end
		else
			say_title("Vizuina Reginei Paianjen")
			say("Nu faci parte dintr-un grup !")				
			say("")
		end
	end
end

Also I'm not sure about this function "d.new_jump_all(193, 878, 6148)". I want to teleport the all the members of the party on the map with index 193 with X=878 Y=6148

 

joJUtTW.png

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

  • Silver

You can either use this one:

d.join(235)

Number is the index of map, they will be teleported on the map with coordinates which are in Town.txt

Or this one, but I never used jump_all for entering the dungeon:

d.jump_all(MAP_X+X, MAP_Y+Y)

MAP_X & MAP_Y are taken from atlasinfo.txt, X & Y are positions where you would like to teleport them. This one is recommend for teleporting them through the map.

quest spider_cave_boss begin
    state start begin
        when 30130.chat."Spiders Lair"
            say_title("Spiders Lair")
            say("Are you ready to face the Spider Queen?")
            say("")
            if select("Yes", "No") == 2 then
        	    return
            else 
                if party.is_party() or pc.is_gm()  then
                    if party.is_leader() or pc.is_gm() then
                        if pc.count_item(30327) > 0 or pc.is_gm() then
                            say_reward("Would you like to face Spider Queen?")
                            if select("Yes!","Amm, maybe next time") == 1 then
                                pc.remove_item(30327,1)
                                d.join(193)
                            end
                        else
                            say_reward("This item is needed to pass!")
                            say_item_vnum(30327)
                        end
                    else
                        say_reward("You must be the group leader!")
                    end
                else
                    say_reward("You have to be part of a group!")
                end
            end
	    end
    end
end

Try now

  • Love 1
Link to comment
Share on other sites

19 minutes ago, Sonitex said:

You can either use this one:


d.join(235)

Number is the index of map, they will be teleported on the map with coordinates which are in Town.txt

Or this one, but I never used jump_all for entering the dungeon:


d.jump_all(MAP_X+X, MAP_Y+Y)

MAP_X & MAP_Y are taken from atlasinfo.txt, X & Y are positions where you would like to teleport them.


quest spider_cave_boss begin
    state start begin
        when 30130.chat."Spiders Lair"
        say_title("Spiders Lair")
        say("Are you ready to face the Spider Queen?")
        say("")
        if select("Yes", "No") == 2 then
        	return
        else 
            if party.is_party() or pc.is_gm()  then
                if party.is_leader() or pc.is_gm() then
                    if pc.count_item(30327) > 0 or pc.is_gm() then
                        say_reward("Would you like to face Spider Queen?")
                        if select("Yes!","Amm, maybe next time") == 1 then
                            pc.remove_item(30327,1)
                            d.join(193)
                        end
                    else
                        say_reward("This item is needed to pass!")
                        say_item_vnum(30327)
                    end
                else
                    say_reward("You must be the group leader!")
                end
            else
                say_reward("You have to be part of a group!")
            end
        end
	end
end

Try now

Well my SD3 map has the normal dungeon like SD2 or 1 + the Queen chamber so, it wont work with d.join.

OqGqD77.png

If I'll use d.jump_all, all the party members will be teleported ?

And I wanted to know what did i do wrong, because I want to start learning how to make quests. I uploaded the .quest file, its a little bit different  ( 2 problems resolved ), can you please download it and show me what did I do wrong ? Anyway, if you'll help me or not, I really appreciate that u wasted your time for me ! Btw, I'll test the quest later, because I can't right now.

 

TeleportRegina.quest

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

  • Silver
quest spider_cave_boss begin
	state start begin
		when 30130.chat."Vizuina Reginei Paianjen" begin
			say_title("Vizuina Reginei Paianje")
			say("Doresti sa intri in vizuina Reginii Paianjen ?")
			say("")
			
			if select("Da", "Nu") == 2 then
				return
            else
			    if party.is_party() then
			        if party.is_leader() then
					    if pc.count_item(30327) > 0 then
							say_title ("Vizuina Reginei Paianjen")
							say ("Esti pregatit sa intrii ?")
								local sc = select ("Da", "Nu")
									if sc == 2 then
										return
									else
										pc.remove_item(30327)
										d.jump_all(MAP_X+X, MAP_Y+Y)
									end
						if pc.count_item(30327) < 1 then
							say_title("Vizuina Reginei Paianjen")
							say("Nu detii Fluierul Arahnidelor !")
							say("")
						end
					else
						say("Nu esti liderul grupei !")
					end
				else
					say_title("Vizuina Reginei Paianjen")
					say("Nu faci parte dintr-un grup !")				
					say("")
				end
			end
		end
	end 
end

Try this one, remember to edit d.jump_all function.

  • Love 1
Link to comment
Share on other sites

On 12/31/2016 at 3:04 PM, Sonitex said:
quest spider_cave_boss begin
	state start begin
		when 30130.chat."Vizuina Reginei Paianjen" begin
			say_title("Vizuina Reginei Paianje")
			say("Doresti sa intri in vizuina Reginii Paianjen ?")
			say("")
			
			if select("Da", "Nu") == 2 then
				return
            else
			    if party.is_party() then
			        if party.is_leader() then
					    if pc.count_item(30327) > 0 then
							say_title ("Vizuina Reginei Paianjen")
							say ("Esti pregatit sa intrii ?")
								local sc = select ("Da", "Nu")
									if sc == 2 then
										return
									else
										pc.remove_item(30327)
										d.jump_all(MAP_X+X, MAP_Y+Y)
									end
						if pc.count_item(30327) < 1 then
							say_title("Vizuina Reginei Paianjen")
							say("Nu detii Fluierul Arahnidelor !")
							say("")
						end
					else
						say("Nu esti liderul grupei !")
					end
				else
					say_title("Vizuina Reginei Paianjen")
					say("Nu faci parte dintr-un grup !")				
					say("")
				end
			end
		end
	end 
end

Try this one, remember to edit d.jump_all function.

When i first tried to install it, i'v got this error

Regina_Paianjen.quest:39:assertion failure : nested==0
Abort (core dumped)

So, I added an

end

Then I installed it just fine. But it's not working well.. look at this

https://metin2.download/picture/tYuL57oaoT4614HGzO7ve2vebQpbbdPN/.gif

When I dont have the item and I'm not in party

			say_title("Vizuina Reginei Paianje")
			say("Doresti sa intri in vizuina Reginii Paianjen ?")
			say("")
			
			if select("Da", "Nu") == 2 then
				return
            else
			    if party.is_party() then

When I press "Da", nothing happens

 

When I dont have the item but I'm the party leader

			        if party.is_leader() then
					    if pc.count_item(30327) > 0 then
...............................................................................................................................
					else
						say("Nu esti liderul grupei !")

 

It gives me this error "Nu esti liderul grupei !" ( You are not the group leader )

 

When I dont have the item but I'm in the party but not party leader

			    if party.is_party() then
.....................................................................................................................
				else
					say_title("Vizuina Reginei Paianjen")
					say("Nu faci parte dintr-un grup !")		


It gives me this eror "Nu faci parte dintr-un grup !" ( You don't belong to a party )

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

9 minutes ago, Sonitex said:

512 +369, 5632 + 515

Try like that, I forgot to tell you to ignore two zeros on the end ..

I have made the english quest work

You forgot here a begin

when 30130.chat."Spiders Lair"
when 30130.chat."Spiders Lair" begin

and an

end

 

The quest is working perfectly with

d.join(193)

but with

d.jump_all(881, 6147)

or

d.jump_all(51569, 563715)

it doesn't teleport me.

Link to comment
Share on other sites

  • Silver

Make a special map just for the dungeon, it is the best way. If you are using d.join you will not collide with others when they enter the map(2 groups at the same time) since you will be on different indexes. I guess you have to be in dungeon or something because it was working fine at me.

And yeah I am not a professional programmer but I know a little bit of LUA, so I thought I could help you :P Still learning just like you.

d.jump_all(512 +369, 5632 + 515)

And use it like this, in both of your example you used it wrong.

I hope I helped you :P 

  • Love 1
Link to comment
Share on other sites

13 minutes ago, Sonitex said:

Make a special map just for the dungeon, it is the best way. If you are using d.join you will not collide with others when they enter the map(2 groups at the same time) since you will be on different indexes. I guess you have to be in dungeon or something because it was working fine at me.

And yeah I am not a professional programmer but I know a little bit of LUA, so I thought I could help you :P Still learning just like you.


d.jump_all(512 +369, 5632 + 515)

And use it like this, in both of your example you used it wrong.

I hope I helped you :P 

Well i thought i need to add the numbers, because

ekUdyf9.png

And the dungeon, will work perfectly just if this function will work (d.jump_all(512 +369, 5632 + 515) ) .. but it's not working

because the item you need to have to enter it, it will drop to a mob that has 1 hour respawn or more, and the item will disappear in 4minutes if its not used.

However thanks for the help, guess i will install again this map, modify the town.txt and change the function to

d.join(NEW_INDEX)

 

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

Please sign in to comment

You will be able to leave a comment after signing in



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.