[RakSamp lite] запись ников

GRACHOVE

Известный
Автор темы
585
210
всем привет есть ли какой нибуть скрипт для раксамплайт который записывал бы ники в какой нибуть блокнотик, по типу names.txt если скините спасибо
 

владикс

Потрачен
535
184
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
в каком плане записывал ники? какие ники, откуда ники и если это из чата ники будут, дай пример сообщения, откуда он будет вытаскивать эти ники
 

tfornik

Известный
326
261
Код:
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

function read(filename) -- filename - аргумент для названия файла
    local f = io.open(filename, 'r') -- открываем файл с аргументом 'r' - чтение
    local text = f:read('*a') -- читаем
    f:close() -- закрываем его
    return text -- возвращаем text при вызове функции
end

function doesFileExist(name) -- функция проверки на существование файла
    local f = io.open(name, "r")
    return f ~= nil and io.close(f)
end

function write(text, filename)
    if not doesFileExist(filename) then -- проверка на существование файла( если файл не существует то )
        local f = io.open(filename, "w") -- открываем файл с аргументом 'w' - запись без добавления к содержимому
        f:write(u8(text)) -- записываем в кодировке
        f:close() -- закрываем
    else -- если файл существует
        local t = ""
        t = t .. (tostring(t):len() > 0 and "\n" or "") .. u8(message)
        f = io.open(filename,"a") -- открываем файл с аргументом 'a' - запись с добавлением к содержимому
        f:write(t) - записываем
        f:close() - закрываем
    end
end


Пример:
-- как записывать
local nick = 'Privet_Poka'
local file = 'names.txt'
write(nick, file)

-- читать файл
print(read(file))
-- output: Privet_Poka
 
Последнее редактирование:
  • Нравится
Реакции: GRACHOVE
D

deleted-user-139653

Гость
будет хукать все(почти) ники, допустим perchik[228]

Lua:
local sampev = require("samp.events")
local filename = "players.txt"

local function readPlayers()
    local file = io.open(filename, "r")
    if file then
        local players = {}
        for line in file:lines() do
            local nickname, id = line:match("([^,]+),([^,]+)")
            if nickname and id then
                table.insert(players, { nickname = nickname, id = tonumber(id) })
            end
        end
        file:close()
        return players
    end
    return {}
end

local function writePlayers(players)
    local file = io.open(filename, "w")
    if file then
        for _, player in ipairs(players) do
            file:write(player.nickname .. "[" .. player.id .. "]" .. "\n")
        end
        file:close()
    end
end

local players = readPlayers()

function sampev.onServerMessage(color, text)
    if text:find(".+%[%d+%]") then
        local nickname, id = text:match("(.+)%[(%d+)%]")
        if nickname and id then
            table.insert(players, { nickname = nickname, id = tonumber(id) })
            writePlayers(players)
        end
    end
end

если ид в нике стоит в ( ), то поменяй

и то, херня полная что я скинул 😁
 
  • Нравится
Реакции: GRACHOVE

GRACHOVE

Известный
Автор темы
585
210
в каком плане записывал ники? какие ники, откуда ники и если это из чата ники будут, дай пример сообщения, откуда он будет вытаскивать эти ники
мой ник чтоб я не забывал все ники с ракбота