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
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.
