cmd_passport(arg) Как достать ник игрока по ид в аргументе?

Tyniadec

Новичок
Автор темы
16
0
Версия MoonLoader
Другое
Lua:
function main()
   sampRegisterChatCommand('passport', cmd_passport)
end
function cmd_passport(arg)

    sampAddChatMessage('Паспорт на Имя Фамилия', white_clr)

end
Это снова часть биндера. Как сделать так, чтобы я писал /passport id. А выводило мне Паспорт на Имя Фамилия
Естественно эта команда придумана для примера, конечная цель не так проста​
 
Решение
D
Варианты конечно у вас прикольные парни.
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('passport', cmdpassport)
    wait(-1)
end

function cmdpassport(arg)
    if tonumber(arg) and sampIsPlayerConnected(arg) then
        sampAddChatMessage('Паспорт на Имя Фамилия ' .. string.gsub(sampGetPlayerNickname(arg), '_', ' '), -1)
    end
end
D

deleted-user-204957

Гость
Lua:
function main()
   sampRegisterChatCommand('passport', cmd_passport)
end
function cmd_passport(arg)

    sampAddChatMessage('Паспорт на Имя Фамилия', white_clr)

end
Это снова часть биндера. Как сделать так, чтобы я писал /passport id. А выводило мне Паспорт на Имя Фамилия
Естественно эта команда придумана для примера, конечная цель не так проста​
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('passport', cmdpassport)
    wait(-1)
end

function cmdpassport(arg)
    if tonumber(arg) and sampIsPlayerConnected(arg) then
        sampAddChatMessage('Паспорт на Имя Фамилия ' .. sampGetPlayerNickname(arg), -1)
    end
end
 

Tyniadec

Новичок
Автор темы
16
0
Вся загвоздка задачи в нике без нижнего подчеркивания
Lua:
function main()
   if not isSampLoaded() or not isSampfuncsLoaded() then return end
   while not isSampAvailable() do wait(100) end
   sampRegisterChatCommand('passport', function(id)
         sampAddChatMessage('Паспорт на '..sampGetPlayerNickname(id), white_clr)
   end)
   while true do
         wait(0)
   end
end
И желательно через отдельную функцию, а не внутри main
 
D

deleted-user-204957

Гость
Lua:
local function isNumber(n)
    return #n > 0 and n:match('[^%d]') == nil
end

local function getPassport(id)
    local name = sampGetPlayerNickname(id)
    if not isNumber(id) or not name then return sampAddChatMessage('игрока нет или неправильный айди', -1) end
    if name:match('.+_.+') then name = name:gsub('_', ' ') end
    sampAddChatMessage('Паспорт на '..name, -1)
end

function main()
   if not isSampLoaded() or not isSampfuncsLoaded() then return end
   while not isSampAvailable() do wait(100) end
   sampRegisterChatCommand('passport', getPassport)
   wait(-1)
end
То есть тебе похуй на то что я написал в коде?
 

Albertio

Attention! Thanks for your attention.
887
717
Lua:
function main()
   if not isSampLoaded() or not isSampfuncsLoaded() then return end
   while not isSampAvailable() do wait(100) end
   sampRegisterChatCommand('passport', cmd_pass)
   while true do
         wait(0)
   end
end

function cmd_pass(id)
sampAddChatMessage('Паспорт на '..string.match(sampGetPlayerNickname(id), "(%a+)_(%a+)"), white_clr)
end
 

Tyniadec

Новичок
Автор темы
16
0
Lua:
function main()
   if not isSampLoaded() or not isSampfuncsLoaded() then return end
   while not isSampAvailable() do wait(100) end
   sampRegisterChatCommand('passport', cmd_pass)
   while true do
         wait(0)
   end
end

function cmd_pass(id)
sampAddChatMessage('Паспорт на '..string.match(sampGetPlayerNickname(id), "(%a+)_(%a+)"), white_clr)
end
все выглядит логично,но он почему то выдает имя человека с нулевым id. Просто имя без фамилии
 
D

deleted-user-204957

Гость
Варианты конечно у вас прикольные парни.
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('passport', cmdpassport)
    wait(-1)
end

function cmdpassport(arg)
    if tonumber(arg) and sampIsPlayerConnected(arg) then
        sampAddChatMessage('Паспорт на Имя Фамилия ' .. string.gsub(sampGetPlayerNickname(arg), '_', ' '), -1)
    end
end