Удаление лишних строк в /stats Arizona RP

OttoTell

Известный
Автор темы
3
0
Версия SA-MP
  1. 0.3.7 (R1)
  2. 0.3.7-R2
  3. 0.3.7-R3
  4. 0.3.7-R4
  5. 0.3.7-R5
Здравствуйте, ищу Lua, который способен удалять указанные строки в /stats на Аризоне. Сейчас статистика из-за кучи лишней информации вылазит за края экрана, было бы хорошо избавиться от не нужных строк. Поиск по форуму не дал результатов, может такого нет. Заранее спасибо
 
Решение
Первое не заработало, но зато со вторым все отлично. Спасибо большое за помощь


Бро, версия с номерами иногда съезжает из-за появления новых строк в стате. Попробовал еще раз тот, что с поиском ключевых слов, а он убирает только те, что с латиницей, не трогая кириллицу. Можно как-то это исправить?
кодировку скрипта на 1251
1718531747082.png


Первое не заработало
1718531871783.png
1718531874904.png

зач хейт

Потрачен
114
43
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Здравствуйте, ищу Lua, который способен удалять указанные строки в /stats на Аризоне. Сейчас статистика из-за кучи лишней информации вылазит за края экрана, было бы хорошо избавиться от не нужных строк. Поиск по форуму не дал результатов, может такого нет. Заранее спасибо
чилеен:
local ev = require('samp.events')
local keywords = {
    'Номер аккаунта',
    'Авторизация на сервере',
    'BTC',
    'Евро',
    'Номер телефона',
    'Работа',
    'Организация',
    'Отель',
    'Номер в отеле',
    'Возможность владеть'
}

local function contains_keyword(line, keywords)
    for _, keyword in ipairs(keywords) do
        if string.find(line, keyword) then
            return false
        end
    end
    return true
end

function ev.onShowDialog(id, style, title, btn1, btn2, text)
    if id == 235 then
        local lines = {}
        for line in text:gmatch('([^\n]*)\n?') do
            table.insert(lines, line)
        end
        
        local filtered_lines = {}
        for _, line in ipairs(lines) do
            if contains_keyword(line, keywords) then
                table.insert(filtered_lines, line)
            end
        end
        
        text = table.concat(filtered_lines, '\n')
        return {id, style, title, btn1, btn2, text}
    end
end

Здравствуйте, ищу Lua, который способен удалять указанные строки в /stats на Аризоне. Сейчас статистика из-за кучи лишней информации вылазит за края экрана, было бы хорошо избавиться от не нужных строк. Поиск по форуму не дал результатов, может такого нет. Заранее спасибо
вариант по номеру строки

124312412421412:
local ev = require('samp.events')
local pos = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

local function located_at_pos(position)
    for k, v in ipairs(pos) do
        if v == position then
            return false
        end
    end
    return true
end

function ev.onShowDialog(id, style, title, btn1, btn2, text)
    if id == 235 then
        local lines = {}
        for line in text:gmatch('([^\n]*)\n?') do
            table.insert(lines, line)
        end
        
        local filtered_lines = {}
        for k, v in ipairs(lines) do
            if located_at_pos(k) then
                table.insert(filtered_lines, v)
            end
        end
        
        text = table.concat(filtered_lines, '\n')
        return {id, style, title, btn1, btn2, text}
    end
end
 
Последнее редактирование:
  • Нравится
Реакции: OttoTell

OttoTell

Известный
Автор темы
3
0
чилеен:
local ev = require('samp.events')
local keywords = {
    'Номер аккаунта',
    'Авторизация на сервере',
    'BTC',
    'Евро',
    'Номер телефона',
    'Работа',
    'Организация',
    'Отель',
    'Номер в отеле',
    'Возможность владеть'
}

local function contains_keyword(line, keywords)
    for _, keyword in ipairs(keywords) do
        if string.find(line, keyword) then
            return false
        end
    end
    return true
end

function ev.onShowDialog(id, style, title, btn1, btn2, text)
    if id == 235 then
        local lines = {}
        for line in text:gmatch('([^\n]*)\n?') do
            table.insert(lines, line)
        end
       
        local filtered_lines = {}
        for _, line in ipairs(lines) do
            if contains_keyword(line, keywords) then
                table.insert(filtered_lines, line)
            end
        end
       
        text = table.concat(filtered_lines, '\n')
        return {id, style, title, btn1, btn2, text}
    end
end


вариант по номеру строки

124312412421412:
local ev = require('samp.events')
local pos = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

local function located_at_pos(position)
    for k, v in ipairs(pos) do
        if v == position then
            return false
        end
    end
    return true
end

function ev.onShowDialog(id, style, title, btn1, btn2, text)
    if id == 235 then
        local lines = {}
        for line in text:gmatch('([^\n]*)\n?') do
            table.insert(lines, line)
        end
       
        local filtered_lines = {}
        for k, v in ipairs(lines) do
            if located_at_pos(k) then
                table.insert(filtered_lines, v)
            end
        end
       
        text = table.concat(filtered_lines, '\n')
        return {id, style, title, btn1, btn2, text}
    end
end
Первое не заработало, но зато со вторым все отлично. Спасибо большое за помощь

чилеен:
local ev = require('samp.events')
local keywords = {
    'Номер аккаунта',
    'Авторизация на сервере',
    'BTC',
    'Евро',
    'Номер телефона',
    'Работа',
    'Организация',
    'Отель',
    'Номер в отеле',
    'Возможность владеть'
}

local function contains_keyword(line, keywords)
    for _, keyword in ipairs(keywords) do
        if string.find(line, keyword) then
            return false
        end
    end
    return true
end

function ev.onShowDialog(id, style, title, btn1, btn2, text)
    if id == 235 then
        local lines = {}
        for line in text:gmatch('([^\n]*)\n?') do
            table.insert(lines, line)
        end
       
        local filtered_lines = {}
        for _, line in ipairs(lines) do
            if contains_keyword(line, keywords) then
                table.insert(filtered_lines, line)
            end
        end
       
        text = table.concat(filtered_lines, '\n')
        return {id, style, title, btn1, btn2, text}
    end
end


вариант по номеру строки

124312412421412:
local ev = require('samp.events')
local pos = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

local function located_at_pos(position)
    for k, v in ipairs(pos) do
        if v == position then
            return false
        end
    end
    return true
end

function ev.onShowDialog(id, style, title, btn1, btn2, text)
    if id == 235 then
        local lines = {}
        for line in text:gmatch('([^\n]*)\n?') do
            table.insert(lines, line)
        end
       
        local filtered_lines = {}
        for k, v in ipairs(lines) do
            if located_at_pos(k) then
                table.insert(filtered_lines, v)
            end
        end
       
        text = table.concat(filtered_lines, '\n')
        return {id, style, title, btn1, btn2, text}
    end
end
Бро, версия с номерами иногда съезжает из-за появления новых строк в стате. Попробовал еще раз тот, что с поиском ключевых слов, а он убирает только те, что с латиницей, не трогая кириллицу. Можно как-то это исправить?
 
Последнее редактирование:

зач хейт

Потрачен
114
43
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Первое не заработало, но зато со вторым все отлично. Спасибо большое за помощь


Бро, версия с номерами иногда съезжает из-за появления новых строк в стате. Попробовал еще раз тот, что с поиском ключевых слов, а он убирает только те, что с латиницей, не трогая кириллицу. Можно как-то это исправить?
кодировку скрипта на 1251
1718531747082.png


Первое не заработало
1718531871783.png
1718531874904.png