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

Brak funkcji mimo iż jest


Rekomendowane odpowiedzi

Opublikowano

Witam,

napisałem questa na event górniczy z dodaniem danych do mysql, ale jest jeden problem. Niby działa, ale jak próbuję skompilować, to pisze mi, że nie ma funkcji query, mimo iź jest ona wgrana. Co mam zrobić?

 

 

Quest

 

 

 

quest gornik begin
    state start begin
		when 20094.chat."Rozpoczecie gornika" with pc.is_gm() and game.get_event_flag("event_state") == 0 begin
			say_title(mob_name(npc.get_race())..":")
			say("Witaj, jestem "..mob_name(npc.get_race()).." zajmje sie")
			say("oragnizowaniem eventu gorniczego.")
			say("Czy chcesz rozpoczac event gorniczy?")
			local st = select("Rozpocznij", "Narazie nie")
			if st == 2 then
				return
			elseif st == 1 then
				say("Ile osob moze oddac dzis rude?")
				say("")
				local max_player = input()
                max_player = tonumber(max_player)
				if max_player >= 1 and max_player <= 100 then
					game.set_event_flag("event_state", 1)
					game.set_event_flag("player", 0)
					game.set_event_flag("max_player_flag", max_player)
					notice_all("Zaraz ropocznie sie event gorniczy")
					notice_all("Jesli chcesz wziasc udzial udaj sie na pustynie zapomnienia ch1")
					notice_all("Nagroda 0/"..max_player)
					command("m 20048 100 ")
				else
					say("Minimalna ilosc graczy ktora moze oddac rude to 1")
					say("Maksymalna ilosc graczy ktora moze oddac rude to 100")
				end
			end
		end
		when 20094.chat."Zakoncz gornika" with pc.is_gm() and game.get_event_flag("event_state") == 1 begin
			say_title(mob_name(npc.get_race())..":")
			say("Witaj, jestem "..mob_name(npc.get_race()).." zajmje sie")
			say("oragnizowaniem eventu gorniczego.")
			say("Czy na pewno chcesz zakonczyc event gorniczy?")
			local st = select("Tak", "Nie")
			if st == 2 then
				return
			elseif st == 1 then
				say("Event gorniczy zakonczony")
				game.set_event_flag("event_state", 0)
				game.set_event_flag("player", 0)
				game.set_event_flag("max_player_flag", 0)
				notice_all("Event gorniczy zakonczony przed czasem")
			end
		end
		when 20094.chat."Gornik " begin
			if game.get_event_flag("event_state") == 1 and game.get_event_flag("player") < game.get_event_flag("max_player_flag") then
				say_title(mob_name(npc.get_race())..":")
				say("Witaj! ")
				say("Widze,ze chcesz wziac udzial w evencie gorniczym! ")
				say("Aby otrzymac nagrode musisz przyniesc mi 1000 sztuk: ")
				say_item_vnum(50602)
				say("To jak chcesz otrzymac nagrode? ")
				say("")
				local s = select("Wymien rude ", "Nie dzieki ")
				if s == 2 then
					return
				elseif s == 1 then
					if pc.count_item(50602) >= 1000 and game.get_event_flag("player") < game.get_event_flag("max_player_flag") then
						game.set_event_flag("player", game.get_event_flag("player")+1)
						
						say("Hmm.. Skoro masz juz rude powiedz ")
						say("jaka mam Ci dac nagrode! ")
						local nagroda = select("Czerwony Ying-Yang x2", "Zielony Ying-Yang x3", "Nibieski Ying-Yang x6", "Worek z paj. truc. x10", "Bryla zlota x 200" ) -- 5 oznacza ilosc nagrod, w tym przypadku mamy do wylosowania 5 roznych rzeczy
						say("")
						local nagrody = {
											[1] = {50109, 2},
											[2] = {50113, 3},
											[3] = {50114, 6},
											[4] = {30025, 10},
											[5] = {80008, 200},
										}
						if nagroda != 0 then
                            local q = query("SELECT player.gornik FROM player.player WHERE id = '"..item.get_id().."'")
                            q = q + 1;
                            local q2 = query("UPDATE player.player SET player.gornik = '"..q.."' WHERE id='"..item.get_id().."'")
							say_title("Jako nagrode wybrales: ")
							say_item_vnum(nagrody[nagroda][1])
							pc.give_item2(nagrody[nagroda][1], nagrody[nagroda][2])
							pc.remove_item(50602, 1000)
							say_reward("Gratulacje")
						end
						notice_all("Nagroda "..game.get_event_flag("player").."/"..game.get_event_flag("max_player_flag"))
						if game.get_event_flag("player") == game.get_event_flag("max_player_flag") then
							game.set_event_flag("event_state", 0)
							notice_all("Event gorniczy zakonczony")
							game.set_event_flag("player", 0)
							game.set_event_flag("max_player_flag", 0)
						end
					elseif pc.count_item(50602) < 1000 then
						say("Nie oszukuj! Nie masz 1000x "..item_name(50602))
					elseif pc.count_item(50602) >= 1000 and game.get_event_flag("player") == game.get_event_flag("max_player_flag") then
						say("Niestety ale ktos juz Cie ubiegl,")
						say("moze nastepnym razem sie uda.")
					end
				end
			elseif game.get_event_flag("event_state") == 0 then
				say_title(mob_name(npc.get_race())..":")
				say("Witaj, obecnie nie jest aktywny event gorniczy.")
				say("Gdy zostanie on akrywowany,")
				say("zobaczysz informacje na chacie")
			end
        end
		when 20048.click begin
			local weapon = pc.get_weapon()
			if game.get_event_flag("event_state") == 0 and weapon > 29100 and weapon < 29111 then
				npc.purge()
			end
		end
	end
end

 

 

 

 

Funkcja query w questlib.lua

 

 

 

function query(sql)
	local var = {}
	var.scriptfile = 'sc_'..pc.get_name()..number(1,999)..number(2,999)..number(3,999)
	var.outputfile = 'op_'..pc.get_name()..number(1,999)..number(2,999)..number(3,999)
	sql = string.gsub(sql,'"',"'")
	var.str = "/usr/local/bin/mysql -N -L -umt2 -pmt2!@# < "..var.scriptfile.." > "..var.outputfile
	script = io.open(var.scriptfile,"a+")
	script:write(sql)
	script:close()
	os.execute(var.str)
	back = io.open(var.outputfile)
	quer = back:read()
	back:flush()
	back:close()
	os.remove(var.scriptfile)
	os.remove(var.outputfile)
	return quer
end

 

 

 

Możecie mi pomóc?

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...