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

Quest Problem


R3ktMeight

Question

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

Link to comment

14 answers to this question

Recommended Posts

  • 0
  • Premium

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
  • 0
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

Link to comment
  • 0
3 minutes ago, Sonitex said:

Upload it somewhere else, but one thing I noticed you don't use "" when you are displaying a message to players ;) 

 

Hidden Content

    Give reaction to this post to see the hidden content.

Hmm.. I see that everywhere i put  say("") or say_title("")

Link to comment
  • 0
  • Premium
Just now, R3ktMeight said:

Hidden Content

    Give reaction to this post to see the hidden content.

Hmm.. I see that everywhere i put  say("") or say_title("")

You have to put it at local select as well.

local x = select("Yes", "No")

 

  • Love 1
Link to comment
  • 0
  • Premium
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
  • 0
55 minutes ago, 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

Hidden Content

    Give reaction to this post to see the hidden content.

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 )

Link to comment
  • 0
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
  • 0
  • Premium

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
  • 0
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)

 

Link to comment

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


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.