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

Erreur anneau magique


Daymortel

Question

Bonjour, j'ai voulu mettre la quête de ce tutoriel : https://funky-emu.net/Thread-Objet-Anneau-GM Mais en ne gardant que la banque et l’entrepôt (car semi-like et j'ai déjà un anneau de TP) ... Quand je copie toute la quête, tout marche nickel lors de la compilation des quêtes (sh quest.sh) ... Et quand je ne veux garder que la banque et l’entrepôt, ça me met une erreur lors de la compilation des quêtes : ":118:assertion failure : nested==0" ... Et je ne sais pas du tout d'où vient l'erreur ... Voici ma quête

Ma quête

quest anneau_magique begin

    state start begin

        when 40004.use begin

            say_title("Anneau d'Entrepôt/Banque")

            say("Veuillez choisir une fonction :")

            local a=select( "Banque" , "Entrepôt" , "Fermer" )

            if 3==a then

               return

            end

----------------------------------------------------------------------------------------------------------------------------------------

-- Gestion Banque --

----------------------------------------------------------------------------------------------------------------------------------------

            if a == 1 then

                say_title("Banque")

                say("Veuillez choisir une fonction :")

                local s = select("Stocker des yangs", "Retirer des yangs", "Voir létat de mon compte", "Fermer")

                

                -- Stock yangs --

                if s == 1 then

                    say_title("Banque")

                    say("Combien de yangs voulez-vous stocker ?")

                    say_reward("Vous avez : "..pc.gold.." yangs.")

                    say("")

                    i = tonumber(input())

                    if i <= 0 or i == "" then

                        return

                    end

                    if i > pc.gold then

                    i = pc.gold

                    end

                    j = i + pc.getqf("nb_yang")

                    while j >= 1000000000 do

                        pc.setqf("nb_milliard", pc.getqf("nb_milliard")+1)

                        j = j - 1000000000

                    end

                    pc.setqf("nb_yang", j)

                    pc.change_gold(-i)

                    syschat(i.." yangs stockés.")

                    

                -- Retire et voir le compte --

                elseif s == 2 or s == 3 then

                    say_title("Banque")

                    say("")

                    say("Yangs sur votre compte :")

                    a = ""

                    c = ""

                    if pc.getqf("nb_milliard") > 0 then

                        a = pc.getqf("nb_milliard")

                        b = 100000000

                        while b > pc.getqf("nb_yang") and b != 1 do

                            c = c.."0"

                            b = b/10

                        end

                    end

                    say_reward(a..""..c..""..pc.getqf("nb_yang"))

                    say("")

                    if s == 3 then return end

                    say("Combien de yangs voulez-vous retirer ?")

                    say("")

                    i = tonumber(input())

                    if i <= 0 or i == "" then return end

                    if i > pc.getqf("nb_milliard")*1000000000 + pc.getqf("nb_yang") then

                        i = pc.getqf("nb_milliard")*1000000000 + pc.getqf("nb_yang")

                    end

                    if pc.gold + i > 1999999999999999 then

                     syschat("Action impossible vous allez dépasser les 2 milliards.")

                        return

                    end

                    pc.change_gold(i)

                    if i >= 1000000000 then

                        pc.setqf("nb_milliard", pc.getqf("nb_milliard")-1)

                        i = i - 1000000000

                    end

                    pc.setqf("nb_yang", pc.getqf("nb_yang")-i)

                    if pc.getqf("nb_yang") < 0 then

                        pc.setqf("nb_yang", pc.getqf("nb_yang")+1000000000)

                        pc.setqf("nb_milliard", pc.getqf("nb_milliard")-1)

                    end

                end            

----------------------------------------------------------------------------------------------------------------------------------------

-- Gestion Entrepot --

----------------------------------------------------------------------------------------------------------------------------------------

            elseif a == 2 then

                say_title("Entrepôt")

                say("")

                say("Si cest la première fois que vous ouvrez")

                say("votre entrepot, rappeler vous que votre")

                say("code par default est 000000.")

                say("Voulez-vous ouvrir votre entrepôt ?") 

                local v = select ( "Oui" , "Non", "Activer lentrepôt" )

                

                -- Ouvrir Entrepot --

                if 1 == v then

                    game.open_safebox()

                    return

                

                -- Quitter --

                elseif 2 == v then

                    return

                

                -- Activer Entrepot --

                else

                    say_title("Entrepôt")

                    say("Voulez-vous activer votre entrepôt ?")

                    local t = select ("Oui", "Non")

                    if 1 == t then

                        say_title("Entrepôt")

                        say("Votre entrepôt à été activer avec succès !")

                        --stash.setlevel(1)

                        game.set_safebox_level(1)

                        say(locale.stash.first_open)

                    else

                        return

                    end

                end

        end

    end

end

 

Quelqu'un peut me dire où est l'erreur, et comment la corriger SVP ?

Merci pour votre aide et bonne journée

Link to comment
  • Answers 5
  • Created
  • Last Reply

Top Posters For This Question

Popular Days

Top Posters For This Question

5 answers to this question

Recommended Posts

  • 0
quest anneau_magique begin
state start begin
	when 40004.use begin
		say_title("Anneau d'Entrepôt/Banque")
		say("Veuillez choisir une fonction :")
		local a=select( "Banque" , "Entrepôt" , "Fermer" )
		if a==3 then
		   return
		end
----------------------------------------------------------------------------------------------------------------------------------------
-- Gestion Banque --
----------------------------------------------------------------------------------------------------------------------------------------
		if a==1 then
			say_title("Banque")
			say("Veuillez choisir une fonction :")
			local s=select("Stocker des yangs", "Retirer des yangs", "Voir létat de mon compte", "Fermer")

			-- Stock yangs --
			if s==1 then
				say_title("Banque")
				say("Combien de yangs voulez-vous stocker ?")
				say_reward("Vous avez : "..pc.gold.." yangs.")
				say("")
				i = tonumber(input())
				if i <= 0 or i == "" then
					return
				end
				if i > pc.gold then
				i = pc.gold
				end
				j = i + pc.getqf("nb_yang")
				while j >= 1000000000 do
					pc.setqf("nb_milliard", pc.getqf("nb_milliard")+1)
					j = j - 1000000000
				end
				pc.setqf("nb_yang", j)
				pc.change_gold(-i)
				syschat(i.." yangs stockés.")

			-- Retire et voir le compte --
			elseif s==2 or s==3 then
				say_title("Banque")
				say("")
				say("Yangs sur votre compte :")
				a = ""
				c = ""
				if pc.getqf("nb_milliard") > 0 then
					a = pc.getqf("nb_milliard")
					b = 100000000
					while b > pc.getqf("nb_yang") and b != 1 do
						c = c.."0"
						b = b/10
					end
				end
				say_reward(a..""..c..""..pc.getqf("nb_yang"))
				say("")
				if s == 3 then return end
				say("Combien de yangs voulez-vous retirer ?")
				say("")
				i = tonumber(input())
				if i <= 0 or i == "" then return end
				if i > pc.getqf("nb_milliard")*1000000000 + pc.getqf("nb_yang") then
					i = pc.getqf("nb_milliard")*1000000000 + pc.getqf("nb_yang")
				end
				if pc.gold + i > 1999999999999999 then
				 syschat("Action impossible vous allez dépasser les 2 milliards.")
					return
				end
				pc.change_gold(i)
				if i >= 1000000000 then
					pc.setqf("nb_milliard", pc.getqf("nb_milliard")-1)
					i = i - 1000000000
				end
				pc.setqf("nb_yang", pc.getqf("nb_yang")-i)
				if pc.getqf("nb_yang") < 0 then
					pc.setqf("nb_yang", pc.getqf("nb_yang")+1000000000)
					pc.setqf("nb_milliard", pc.getqf("nb_milliard")-1)
				end
			end
----------------------------------------------------------------------------------------------------------------------------------------
-- Gestion Entrepot --
----------------------------------------------------------------------------------------------------------------------------------------
		elseif a==2 then
			say_title("Entrepôt")
			say("")
			say("Si cest la première fois que vous ouvrez")
			say("votre entrepot, rappeler vous que votre")
			say("code par default est 000000.")
			say("Voulez-vous ouvrir votre entrepôt ?")
			local v = select ( "Oui" , "Non", "Activer lentrepôt" )

			-- Ouvrir Entrepot --
			if 1==v then
				game.open_safebox()
				return

			-- Quitter --
			elseif 2==v then
				return
			-- Activer Entrepot --
			else
				say_title("Entrepôt")
				say("Voulez-vous activer votre entrepôt ?")
				local t = select ("Oui", "Non")
				if 1== tthen
					say_title("Entrepôt")
					say("Votre entrepôt à été activer avec succès !")
					--stash.setlevel(1)
					game.set_safebox_level(1)
					say(locale.stash.first_open)
				else
					return
				end
			end
		end
	end
end
end

.............

Cordialement ☣{S}atis™☣...

 

Link to comment
  • 0

quest anneau_magique begin
state start begin
	when 40004.use begin
		say_title("Anneau d'Entrepôt/Banque")
		say("Veuillez choisir une fonction :")
		local a=select( "Banque" , "Entrepôt" , "Fermer" )
		if a==3 then
		   return
		end
----------------------------------------------------------------------------------------------------------------------------------------
-- Gestion Banque --
----------------------------------------------------------------------------------------------------------------------------------------
		if a==1 then
			say_title("Banque")
			say("Veuillez choisir une fonction :")
			local s=select("Stocker des yangs", "Retirer des yangs", "Voir létat de mon compte", "Fermer")

			-- Stock yangs --
			if s==1 then
				say_title("Banque")
				say("Combien de yangs voulez-vous stocker ?")
				say_reward("Vous avez : "..pc.gold.." yangs.")
				say("")
				i = tonumber(input())
				if i <= 0 or i == "" then
					return
				end
				if i > pc.gold then
				i = pc.gold
				end
				j = i + pc.getqf("nb_yang")
				while j >= 1000000000 do
					pc.setqf("nb_milliard", pc.getqf("nb_milliard")+1)
					j = j - 1000000000
				end
				pc.setqf("nb_yang", j)
				pc.change_gold(-i)
				syschat(i.." yangs stockés.")

			-- Retire et voir le compte --
			elseif s==2 or s==3 then
				say_title("Banque")
				say("")
				say("Yangs sur votre compte :")
				a = ""
				c = ""
				if pc.getqf("nb_milliard") > 0 then
					a = pc.getqf("nb_milliard")
					b = 100000000
					while b > pc.getqf("nb_yang") and b != 1 do
						c = c.."0"
						b = b/10
					end
				end
				say_reward(a..""..c..""..pc.getqf("nb_yang"))
				say("")
				if s == 3 then return end
				say("Combien de yangs voulez-vous retirer ?")
				say("")
				i = tonumber(input())
				if i <= 0 or i == "" then return end
				if i > pc.getqf("nb_milliard")*1000000000 + pc.getqf("nb_yang") then
					i = pc.getqf("nb_milliard")*1000000000 + pc.getqf("nb_yang")
				end
				if pc.gold + i > 1999999999999999 then
				 syschat("Action impossible vous allez dépasser les 2 milliards.")
					return
				end
				pc.change_gold(i)
				if i >= 1000000000 then
					pc.setqf("nb_milliard", pc.getqf("nb_milliard")-1)
					i = i - 1000000000
				end
				pc.setqf("nb_yang", pc.getqf("nb_yang")-i)
				if pc.getqf("nb_yang") < 0 then
					pc.setqf("nb_yang", pc.getqf("nb_yang")+1000000000)
					pc.setqf("nb_milliard", pc.getqf("nb_milliard")-1)
				end
			end
----------------------------------------------------------------------------------------------------------------------------------------
-- Gestion Entrepot --
----------------------------------------------------------------------------------------------------------------------------------------
		elseif a==2 then
			say_title("Entrepôt")
			say("")
			say("Si cest la première fois que vous ouvrez")
			say("votre entrepot, rappeler vous que votre")
			say("code par default est 000000.")
			say("Voulez-vous ouvrir votre entrepôt ?")
			local v = select ( "Oui" , "Non", "Activer lentrepôt" )

			-- Ouvrir Entrepot --
			if 1==v then
				game.open_safebox()
				return

			-- Quitter --
			elseif 2==v then
				return
			-- Activer Entrepot --
			else
				say_title("Entrepôt")
				say("Voulez-vous activer votre entrepôt ?")
				local t = select ("Oui", "Non")
				if 1== tthen
					say_title("Entrepôt")
					say("Votre entrepôt à été activer avec succès !")
					--stash.setlevel(1)
					game.set_safebox_level(1)
					say(locale.stash.first_open)
				else
					return
				end
			end
		end
	end
end
end

 

 

Merci pour ta réponse, mais j'ai une autre erreur maintenant : ":116:syntax error : [string "start"]:87: 'then' expected near 'say_title'" Merci pour votre aide et bonne journée

Link to comment
Guest
This topic is now closed to further replies.


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.