Quest Error

06/21/2015 15:07 estrella2#1
Hi all! i have a problem, when i click "Textil Öv ~ " the quest is exit... what is the problem?
Code:
quest runpont begin
	state start begin
		when 9010.chat."Pontok Beváltása" begin
			local metin = mysql_query("SELECT metin FROM player.player WHERE name ='"..pc.get_name().."' LIMIT 1;")[1][1]
			say_title("metin pontjaid:'"..metin.."'")
			say("Mire szeretnéd beváltani?")
			local asd = select("Textil Öv ~ 20P", "Bőr Öv ~ 35p", "Pompázatos Öv ~60p", "Bölcsesség Öv ~100p", "Király Öv ~160p", "Árnyék Öv ~220p", "Lélek Öv ~360p", "Mégse")
			if asd == 1 then
				local metin = mysql_query("SELECT metin FROM player.player WHERE name ='"..pc.get_name().."' LIMIT 1;")[1][1]
				if metin >= 20 then
					say("Máris adom a tárgyat...")
					pc.give_item2(18000, 1)
					mysql_query("UPDATE player.player SET metin = metin - 20 WHERE name="..pc.get_name()..";")
				else
					say("Sajnálom, nincs elég pontod.")
				end
			elseif asd == 2 then
				local metin = mysql_query("SELECT metin FROM player.player WHERE name ="..pc.get_name().." LIMIT 1;")[1][1]
				if metin < 35 then
					say("Sajnálom, nincs elég pontod.")
				else
					say("Máris adom a tárgyat...")
					pc.give_item2(18010, 1)
					mysql_query("UPDATE player.player SET metin = metin - 35 WHERE name = " ..pc.get_name().. ";")
				end
			elseif asd == 3 then
				local metin = mysql_query("SELECT metin FROM player.player WHERE name ="..pc.get_name().." LIMIT 1;")[1][1]
				if metin < 60 then
					say("Sajnálom, nincs elég pontod.")
				else
					say("Máris adom a tárgyat...")
					pc.give_item2(18020, 1)
					mysql_query("UPDATE player.player SET metin = metin - 60 WHERE name = " ..pc.get_name().. ";")
				end
			elseif asd == 4 then
				local metin = mysql_query("SELECT metin FROM player.player WHERE name ="..pc.get_name().." LIMIT 1;")[1][1]
				if metin < 100 then
					say("Sajnálom, nincs elég pontod.")
				else
					say("Máris adom a tárgyat...")
					pc.give_item2(18030, 1)
					mysql_query("UPDATE player.player SET metin = metin - 100 WHERE name = " ..pc.get_name().. ";")
				end
			elseif asd == 5 then
				local metin = mysql_query("SELECT metin FROM player.player WHERE name ="..pc.get_name().." LIMIT 1;")[1][1]
				if metin < 160 then
					say("Sajnálom, nincs elég pontod.")
				else
					say("Máris adom a tárgyat...")
					pc.give_item2(18040, 1)
					mysql_query("UPDATE player.player SET metin = metin - 160 WHERE name = " ..pc.get_name().. ";")
				end
			elseif asd == 6 then
				local metin = mysql_query("SELECT metin FROM player.player WHERE name ="..pc.get_name().." LIMIT 1;")[1][1]
				if metin < 220 then
					say("Sajnálom, nincs elég pontod.")
				else
					say("Máris adom a tárgyat...")
					pc.give_item2(18050, 1)
					mysql_query("UPDATE player.player SET metin = metin - 220 WHERE name = " ..pc.get_name().. ";")
				end
			elseif asd == 7 then
				local metin = mysql_query("SELECT metin FROM player.player WHERE name ="..pc.get_name().." LIMIT 1;")[1][1]
				if metin < 360 then
					say("Sajnálom, nincs elég pontod.")
				else
					say("Máris adom a tárgyat...")
					pc.give_item2(18080, 1)
					mysql_query("UPDATE player.player SET metin = metin - 360 WHERE name = " ..pc.get_name().. ";")
				end
			elseif asd == 8 then
				return
			end
		end
	end
end
06/21/2015 15:39 Nick#2
Use the following [Only registered and activated users can see links. Click Here To Register...] for troubleshooting, please. (closerequested)

Greetings
06/21/2015 16:07 rollback#3
This one should work:

Code:
quest runpont begin
	state start begin
		when 9010.chat."Pontok Beváltása" begin
			local metin = runpont.get_metin()
			local items = {
				[18000] = {
					price_per_piece = 20,
					piece = 1
				},
				[18010] = {
					price_per_piece = 35,
					piece = 1
				},
				[18020] = {
					price_per_piece = 60,
					piece = 1
				},
				[18030] = {
					price_per_piece = 100,
					piece = 1
				},
				[18040] = {
					price_per_piece = 160,
					piece = 1
				},
				[18050] = {
					price_per_piece = 220,
					piece = 1
				},
				[18080] = {
					price_per_piece = 360,
					piece = 1
				}
			}
			local item_vnums = {}
			local item_names = {}
			for k,_ in pairs(items) do
				table.insert(item_names, item_name(k))
				table.insert(item_vnums, k)
			end
			say_title("metin pontjaid:'"..metin.."'")
			say("Mire szeretnéd beváltani?")
			local selected_item = item_vnums[select_table(item_names, "Mégse")] or false
			if not selected_item then return end
			--########################
			local selected_item_vnum = selected_item
			local selected_item_piece = items[selected_item_vnum].piece
			local selected_item_price = (items[selected_item_vnum].price_per_piece*selected_item_piece)
			--########################
			if metin < selected_item_price then
				say("Sajnálom, nincs elég pontod.")
				return
			end
			pc.give_item2(selected_item_vnum, selected_item_piece)
			runpont.remove_metin(selected_item_price)
			say("Máris adom a tárgyat...")
		end
		function get_metin()
			return tonumber(mysql_query(string.format("SELECT metin FROM player.player WHERE id = %s LIMIT 1;", pc.get_player_id())).metin[1])
		end
		function remove_metin(value)
			mysql_query(string.format("UPDATE player.player SET metin = metin-%s WHERE id = %s LIMIT 1;", value, pc.get_player_id()))
		end
		function add_metin(value)
			mysql_query(string.format("UPDATE player.player SET metin = metin+%s WHERE id = %s LIMIT 1;", value, pc.get_player_id()))
		end
	end
end
But as Jayzon said, please use the sticky-Thread for subjects like this in the future ;)
06/21/2015 16:16 estrella2#4
When i click "Pontok Beváltása" The quest is exit :c