Skocz do zawartości

Banowanie z Poziomu Gry


Rekomendowane odpowiedzi

Witam

To tyle bez pierdzielenia mini quest na banowanie z gry można zoptymalizować tam kilka rzeczy aby nie wykonywał tyle query zastąpić pc_get_account_id ale jak kto chce quest działa w 100% poprawnie. Może kiedyś pojawi się tu quest z gladora bardziej rozwinięty ale to muszą się czasy zmienić;P

 

Funkcja Query

 

function query(sql)
   user = "mt2"
   pw = "mt2!@#"
   local var = {}
   var.pre = ''
   if user ~= nil then
   var.pre = var.pre..' -u'..user
   end
   if pw ~= nil then
   var.pre = var.pre..' -p'..pw
   end
   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 "..var.pre.." < "..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

 

 

 

quest panel_admina begin
state start begin
when 69100.use with pc.is_gm() begin
say_size(400,400)
say_reward("Książka Administratora:")
local s = select("Zbanuj Gracza", "Odbanuj Gracza", "Zbanuj Gracza Czasowo", "Wyjdź ")
if s == 4 then
return
elseif s == 1 then
say("Podaj nick gracza:")
local nick = input()
say("Podaj powód zbanowania:")
local powod = input()
say("Na pewno chcesz zbanować?")
local na_pewno = select("Tak", "Nie")
if na_pewno == 2 then
return

elseif na_pewno == 1 then
local id = query("SELECT account_id FROM player.player WHERE name = '"..nick.."';")
query("UPDATE account.account SET status = 'BLOCK' WHERE id = '"..id.."';")
query("UPDATE account.account SET channel_company = '"..powod.."' WHERE id = '"..id.."';")
notice_all("Gracz o nicku "..nick.." został Zablokowany Permamentnie! ")
notice_all("Powodem Blokady jest: "..powod.." ! ")
end
elseif s == 2 then
say("Podaj nick gracza:")
local nick = input()
say("Na pewno chcesz odbanować gracza?")
local na_pewno = select("Tak", "Nie")
if na_pewno == 2 then
return

elseif na_pewno == 1 then
local id = query("SELECT account_id FROM player.player WHERE name = '"..nick.."';")
query("UPDATE account.account SET status = 'OK', availDt = '0000-00-00 00:00:00' WHERE id = '"..id.."';")
notice_all("Gracz o nicku "..nick.." został Odblokowany! ")
end
elseif s == 3 then
say("Podaj nick:")
local nick = input()
say("Podaj do Kiedy ma zostać zbanowany przyjmująć że :")
say_red("1=24h , 2=48h , 3=72h I tak dalej[ENTER] ")
local day = input()
say("[ENTER]Podaj Powód Blokady ")
local powod = input()
say("Na pewno chcesz zbanować?")
local tak = select("Tak", "Nie")
if tak == 2 then
return

elseif tak == 1 then
local id = query("SELECT account_id FROM player.player WHERE name = '"..nick.."';")
query("update account.account set availDt = date_add(now(),INTERVAL "..day.." DAY) where id='"..id.."';")
query("UPDATE account.account SET channel_company = '"..powod.."' WHERE id = '"..id.."';")
notice_all("Gracz o nicku "..nick.." został Zablokowany ")
notice_all("Blokada Będzie Trwać "..day.." Dni Powód Blokady: "..powod.." ! ")
end


end
end
end
end

 

 

 

Liczę na ten beznadziejny Lajk

Pliki GladoR s1/ Divine / GladoR'a s2 medium/hard

Możemy się jakos dogadać w sprawie plików PW

 

New Project Start Workout

Odnośnik do komentarza

na LuaSQL też, ale nie wiadomo czemu treść tematu zniknęła :(http://www.mpcforum....questbanowanie/

 

btw. o tak dodaj notice_all żeby banowana osoba się o tym dowiedziała i nie dodawaj /dc do questa.

gomen.jpg

/logout i delay ftw

"Just because I'm weaker doesn't make you stronger".

krul | władca | mangozjeb | technik Ascarialu s2

Last.fm

Zainteresowanych fixami na source'owe game 40250 zapraszam PW.

Odnośnik do komentarza

function query(sql)
   user = "mt2"
   pw = "mt2!@#"
   local var = {}
   var.pre = ''
   if user ~= nil then
   var.pre = var.pre..' -u'..user
   end
   if pw ~= nil then
   var.pre = var.pre..' -p'..pw
   end
   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 "..var.pre.." < "..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

Dodajemy do questlib.lua

Pliki GladoR s1/ Divine / GladoR'a s2 medium/hard

Możemy się jakos dogadać w sprawie plików PW

 

New Project Start Workout

Odnośnik do komentarza

I jeszcze do quest functions trzeba dopisać ;)

Quest instaluje i działa poprawnie bez dopiski w quest functions jedynie tylko podczas instalacji wyskakuje komunikat że nie ma takiej funkcji ale działa wszystko poprawnie

Pliki GladoR s1/ Divine / GladoR'a s2 medium/hard

Możemy się jakos dogadać w sprawie plików PW

 

New Project Start Workout

Odnośnik do komentarza
  • 2 tygodnie później...
  • 10 miesięcy temu...

 

Witam

To tyle bez pierdzielenia mini quest na banowanie z gry można zoptymalizować tam kilka rzeczy aby nie wykonywał tyle query zastąpić pc_get_account_id ale jak kto chce quest działa w 100% poprawnie. Może kiedyś pojawi się tu quest z gladora bardziej rozwinięty ale to muszą się czasy zmienić;P

 

Funkcja Query

 

 

function query(sql)
    user = "mt2"
    pw = "mt2!@#"
    local var = {}
    var.pre = ''
    if user ~= nil then
    var.pre = var.pre..' -u'..user
    end
    if pw ~= nil then
    var.pre = var.pre..' -p'..pw
    end
    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 "..var.pre.." < "..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

 

 

 

quest panel_admina begin
state start begin
when 69100.use with pc.is_gm() begin
say_size(400,400)
say_reward("Książka Administratora:")
local s = select("Zbanuj Gracza", "Odbanuj Gracza", "Zbanuj Gracza Czasowo", "Wyjdź ")
if s == 4 then
return
elseif s == 1 then
say("Podaj nick gracza:")
local nick = input()
say("Podaj powód zbanowania:")
local powod = input()
say("Na pewno chcesz zbanować?")
local na_pewno = select("Tak", "Nie")
if na_pewno == 2 then
return

elseif na_pewno == 1 then
local id = query("SELECT account_id FROM player.player WHERE name = '"..nick.."';")
query("UPDATE account.account SET status = 'BLOCK' WHERE id = '"..id.."';")
query("UPDATE account.account SET channel_company = '"..powod.."' WHERE id = '"..id.."';")
notice_all("Gracz o nicku "..nick.." został Zablokowany Permamentnie! ")
notice_all("Powodem Blokady jest: "..powod.." ! ")
end
elseif s == 2 then
say("Podaj nick gracza:")
local nick = input()
say("Na pewno chcesz odbanować gracza?")
local na_pewno = select("Tak", "Nie")
if na_pewno == 2 then
return

elseif na_pewno == 1 then
local id = query("SELECT account_id FROM player.player WHERE name = '"..nick.."';")
query("UPDATE account.account SET status = 'OK', availDt = '0000-00-00 00:00:00' WHERE id = '"..id.."';")
notice_all("Gracz o nicku "..nick.." został Odblokowany! ")
end
elseif s == 3 then
say("Podaj nick:")
local nick = input()
say("Podaj do Kiedy ma zostać zbanowany przyjmująć że :")
say_red("1=24h , 2=48h , 3=72h I tak dalej[ENTER] ")
local day = input()
say("[ENTER]Podaj Powód Blokady ")
local powod = input()
say("Na pewno chcesz zbanować?")
local tak = select("Tak", "Nie")
if tak == 2 then
return

elseif tak == 1 then
local id = query("SELECT account_id FROM player.player WHERE name = '"..nick.."';")
query("update account.account set availDt = date_add(now(),INTERVAL "..day.." DAY) where id='"..id.."';")
query("UPDATE account.account SET channel_company = '"..powod.."' WHERE id = '"..id.."';")
notice_all("Gracz o nicku "..nick.." został Zablokowany ")
notice_all("Blokada Będzie Trwać "..day.." Dni Powód Blokady: "..powod.." ! ")
end


end
end
end
end

 

Liczę na ten beznadziejny Lajk

JAK TO KURWA WGRAC I GDZIE

Odnośnik do komentarza

Zarchiwizowany

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

  • Ostatnio przeglądający forum Banowanie z Poziomu Gry   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...