Вопрос Таблица Лидеров по Frags и Deaths

  • 134
  • 1
  • 14
Контакты для связи отсутствуют.
Я пишу таблицу лидеров, но у меня получилось только что данные берутся только от игроков которые находятся на сервере, как мне сделать топ 10 игроков которые будут сохранятся в data и будут отображатся в панели по типу ник и килл, ник и смерти ?

Буду очень признателен если дадите хороший ответ на мой вопрос.
 
Последнее редактирование:
  • 159
  • 1
  • 18
Фраги и смерти уже думаю гетнешь сам
SQL:
-- Создание таблицы frags
CREATE TABLE frags (
    nick VARCHAR(255),
    frags INT,
    death INT,
    PRIMARY KEY (nick)
);

-- Вставка данных
INSERT INTO frags (nick, frags, death) VALUES
    ('nick1', 10, 5),
    ('nick2', 5, 10),
    ('nick3', 15, 3),
    ('nick4', 8, 8),
    ('nick5', 12, 6),
    ('nick6', 6, 12),
    ('nick7', 20, 2),
    ('nick8', 4, 14),
    ('nick9', 18, 1),
    ('nick10', 2, 16);
 
Фраги и смерти уже думаю гетнешь сам
SQL:
-- Создание таблицы frags
CREATE TABLE frags (
    nick VARCHAR(255),
    frags INT,
    death INT,
    PRIMARY KEY (nick)
);

-- Вставка данных
INSERT INTO frags (nick, frags, death) VALUES
    ('nick1', 10, 5),
    ('nick2', 5, 10),
    ('nick3', 15, 3),
    ('nick4', 8, 8),
    ('nick5', 12, 6),
    ('nick6', 6, 12),
    ('nick7', 20, 2),
    ('nick8', 4, 14),
    ('nick9', 18, 1),
    ('nick10', 2, 16);
Ну у него же не сап зачем ему создавать бд если можно сделать сохранение в sv.db
 
  • 138
  • 3
  • 15
Я пишу таблицу лидеров, но у меня получилось только что данные берутся только от игроков которые находятся на сервере, как мне сделать топ 10 игроков которые будут сохранятся в data и будут отображатся в панели по типу ник и килл, ник и смерти ?

Буду очень признателен если дадите хороший ответ на мой вопрос.
хз работает или нет, но поидее должно:
local PLY = FindMetaTable("Player")

local function db_init()
    sql.Query("CREATE TABLE IF NOT EXISTS pltop ( ID TEXT, Frags INTEGER, Deaths INTEGER )")
end

function PLY:stat_upd(f, d)
    if sql.Query("SELECT * FROM pltop WHERE ID = "..self:SteamID64()..";") then
        sql.Query("UPDATE pltop SET Frags = "..f..", Deaths = "..d.." WHERE ID = "..self:SteamID64()..";")
    else
        sql.Query( "INSERT INTO pltop ( ID, Frags, Deaths ) VALUES("..self:SteamID64()..", "..f..", "..d..")")
    end
end

function PLY:stat_get()
    return sql.Query("SELECT * FROM pltop WHERE ID = "..self:SteamID64()..";")
end

function get_top_ten()
    return sql.Query("SELECT * FROM pltop ORDER BY Frags DESC LIMIT 10;")
end
 
  • 159
  • 1
  • 18
хз работает или нет, но поидее должно:
local PLY = FindMetaTable("Player")

local function db_init()
    sql.Query("CREATE TABLE IF NOT EXISTS pltop ( ID TEXT, Frags INTEGER, Deaths INTEGER )")
end

function PLY:stat_upd(f, d)
    if sql.Query("SELECT * FROM pltop WHERE ID = "..self:SteamID64()..";") then
        sql.Query("UPDATE pltop SET Frags = "..f..", Deaths = "..d.." WHERE ID = "..self:SteamID64()..";")
    else
        sql.Query( "INSERT INTO pltop ( ID, Frags, Deaths ) VALUES("..self:SteamID64()..", "..f..", "..d..")")
    end
end

function PLY:stat_get()
    return sql.Query("SELECT * FROM pltop WHERE ID = "..self:SteamID64()..";")
end

function get_top_ten()
    return sql.Query("SELECT * FROM pltop ORDER BY Frags DESC LIMIT 10;")
end
Должно работать, ошибок не заметил по sql части
 
  • 134
  • 1
  • 14
Контакты для связи отсутствуют.
Фраги и смерти уже думаю гетнешь сам
SQL:
-- Создание таблицы frags
CREATE TABLE frags (
    nick VARCHAR(255),
    frags INT,
    death INT,
    PRIMARY KEY (nick)
);

-- Вставка данных
INSERT INTO frags (nick, frags, death) VALUES
    ('nick1', 10, 5),
    ('nick2', 5, 10),
    ('nick3', 15, 3),
    ('nick4', 8, 8),
    ('nick5', 12, 6),
    ('nick6', 6, 12),
    ('nick7', 20, 2),
    ('nick8', 4, 14),
    ('nick9', 18, 1),
    ('nick10', 2, 16);
у меня DarkRP
 
Сверху Снизу