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

[Inne] Funkcja pc.ban()


Rekomendowane odpowiedzi

Opublikowano

Cześć,

Dziś pokażę wam, jak dodać i używać funkcji pc.ban().

Do questlib:

 

 

 

function pc.ban(type, id, time=0)
local sprawdz = query("SELECT name FROM account.account WHERE id = "..id..";")
if id == nil or id == 0 or sprawdz == 0 then
say("Nie ma takiego konta.")
return
end
if type == 1 then
query("UPDATE account.account SET status = 'BLOCK' WHERE id = "..id..";")
say("Konto zostało zbanowane na zawsze.")
return
else
query("UPDATE account.account SET availDt = date_add(now(),INTERVAL "..time.." DAY) WHERE id = '"..id.."';")
say("Gracz został zbanowany na "..time.." dni.")
end
end

function query(sql)
user = "mt2"
pw = "mt2!@#"
local var = {}
var.pre = ''
var.pre = var.pre..' -u'..user
var.pre = var.pre..' -p'..pw
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 = "mysql -N -L "..var.pre.." < "..var.scriptfile.." > "..var.outputfile
script = io.open(var.scriptfile,"a+")
script:write(sql)
script:close()
os.execute(var.str)
zwroc = io.open(var.outputfile)
quer = zwroc:read()
zwroc:flush()
zwroc:close()
os.remove(var.scriptfile)
os.remove(var.outputfile)
if quer == nil or string.len(quer) <= 0 then
return 0
else
return quer
end
end
 

 

 

Przykład użycia w quescie:

 

 

quest ban begin
state start begin
when 9006.chat."Zbanuj Gracza" with pc.is_gm() begin
say("Wpisz nick gracza.")
local nick = input()
if nick == "" then
return
end
nick = tonumber(query("SELECT id FROM player.player WHERE name = '"..nick..";"))
say("Wybierz typ bana.")
local typ = select("PERM", "CZASOWY")
if typ == 1 then
pc.ban(typ, nick)
else
say("Wpisz ilość czasu, na jaką gracz ma być zbanowany.")
local czas = tonumber(input())
if czas == nil or czas == 0 then
say("Nieprawidłowa wartość!")
return
end
pc.ban(typ, nick, czas)
end
end
end
end

 

 

Rekrut
Opublikowano

Fajne, fajne ale podobne coś jest w książeczce admina.

Tam jest z powodem itp.

Nawet fajne.

 

Dopisz jeszcze aby automatycznie wywalało tego gracza, który zostanie zbanowany.

Opublikowano

Komenda wywalająca gracza wywala też serwer jeśli użyjemy jako command()

 

Mi to jakoś normalnie działa...

 

command("dc "..jakaś_tam_zmienna_z_nickiem_gracza)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...