Cum pot sa folosesc obiectele din mysql_query in quest?

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
A4TechZu
Nou Venit

Nou Venit
Mesaje: 28
Membru din: 02 Apr 2015, 22:39
Server: Divergent Metin2
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 0
Medalii

Am luat un quest pentru mentenanta gasit aici, mi s-a parut o idee buna sa imi exersez abilitatile si sa fac ceva mai personalizat.
1.Cand se conecteaza un player ii apare direct un mesaj cu un input in care sa introduca parola(ceruta pentru a putea accesa serverul pe timp de mentenanta), dar daca playerul este gm, nu il mai intreaba nimic.(am facut asta)
2.Mentenanta sa se activeze/dezactiveze de la un NPC(am facut asta)
3.Sa pot schimba parola(stocata intr-o baza de date) de la un NPC. (aici m-am blocat)
questul realizat de mine:

Cod: Selectaţi tot

quest mentenanta begin
state start begin
when login with game.get_event_flag("eoprit") == 1 begin
timer("x", 1)
end
when x.timer begin
if pc.is_gm() then
say_title("Divergent Metin2")
say("Salut Sefu!")
say("Ce mai faci?")
say_reward("Bine, tu?")
else
say_title("Divergent Metin2")
say("")
say("Bine ai venit pe Divergent Metin2!")
say("Momentan serverul este sub mentenanta")
say("Introduceti parola pentru a putea avea acces:")
say("")
say("Pentru mai multe informatii, accesati siteul nostru:")
say("--> mt2divergent.tk <--")
say("")
local pw = tonumber(input())
say("")
local passold=mysql_query("select parola from player.mentenanta where id=1 LIMIT 1")
table.foreachi(passold,function(i,l)
local ver=l[1]
end)
if pw == ver then
say("Parola corecta.")
say("Poti intra.")
else
say("Parola gresita.")
say("Intrare interzisa.")
say("Pentru mai multe informatii,")
say("Skype: luci.petrut")
say("[DELAY value; 2000]. . . . . . . . .[/DELAY]")
command("quit")
end
end
end
end
end
quest panou_mentenanta begin
state start begin
when 20091.chat."<GM> Mentenanta" with pc.is_gm() begin
    if game.get_event_flag("eoprit") == 1 then
		say_title("Administrare Mentenanta:")
		say("")
		say("Mentenanta : ~ Activ ")
		say("")
		say_reward("Opresti Mentananta?")
		local s=select("Da", "Nu")
		if s==1 then
			game.set_event_flag("eoprit", 0)
			notice("Mentenanta s-a incheiat!")
		else
			if s==2 then
				return
			end
		end
	else
		say_title("Administrare Mentenanta:")
		say("")
		say("Mentenanta : ~ Închisa ")
		say("")
		say_reward("Pornesti Mentenanta?")
		local s=select("Da", "Nu")
		if s==1 then
			notice("A inceput mentenanta!")
			game.set_event_flag("eoprit", 1)
		else
			if s==2 then
				return
			end
		end
	end
end
end
end
quest pass_mentenanta begin
state start begin
when 20091.chat."<GM>Parola Mentenanta" with pc.is_gm() begin
	say_title("Parola Mentenanta")
	say("")
	say("Vrei sa schimbi parola mentenantei?")
	say("Ai grija ce parola pui, sa nu ai intrusi!")
	say("")
	say_reward("Schimba parola")
	local pas=select("Da", "Nu")
	if pas==1 then
		say("Parola trebuie sa fie alcatuita din")
		say_reward("cel putin 5 cifre")
		say("")
		local passnou = tonumber(input())
		local passold=mysql_query("select parola from player.mentenanta where id=1 LIMIT 1")
		table.foreachi(passold,function(i,l)
		local ver=l[1]
		end)
		if passnou <10000 then
			say("Parola NU este alcatuita din 5 cifre")
		else
			if passnou == ver then
				say("Este aceeasi parola")
			else
				if mysql_query("UPDATE player.mentenanta SET parola="..passnou..", schimbat_de='"..pc.get_name().."' WHERE id=1 LIMIT 1") then
					say("Parola schimbata cu success")
				else
					say_reward("Eroare in baza de date!")
				end
			end
		end
	else
	say("Pe alta data boss")
	say_reward("Salut")
	end
end
end
end					
Tot ce am invatat despre quest, am invatat din alte questuri, nu am stat sa invat de pe net si alte chestii, nu am avut timp.
Ceea ce ma nelamureste, si cred ca este problema, este folosirea incorecta a mysql_query, cum pot folosii termenii din baza de date? in cazul meu am in tabela mentananta din baza de date player, urmatoarele 3 coloane: parola(int), schimbat_de(varchar), la_data(date 8)
Am nevoie sa pot scoate si folsii acea parola din tabela, sa pot sa o compar cu parola introdusa de player, cum fac asta?
mysql_query("select....." dupaia cu nume.parola[1] nu merge


Haideti, ajutatima, este un quest bun;)

**Edit: O alta chestie, cum pot sa fac, ca atunci cand activez mentenanta, sa dau afara toti playerii de pe server?
Exista ceva de genul: command("dc *") ?


**Edit, reparat cateva erori de sintaxa.
Avatar utilizator
A4TechZu
Nou Venit

Nou Venit
Mesaje: 28
Membru din: 02 Apr 2015, 22:39
Server: Divergent Metin2
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 0
Medalii

UP!
Închis
Răspunsuri
3
Vizualizări
279
Răspunsuri
4
Vizualizări
211

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie