если игрок в сети то пишет ник

Oki_Bern

Участник
Автор темы
169
6
Версия MoonLoader
Другое
Привет всем, нужен код когда вводишь команду, то выводит ник игрока в чат если он в сети, (ник указывается в коде)
 
Решение
спасибо, как я понял вписать можно только 1 ник?
Lua:
local nicks = {'Dream_Visconti','Andrey_Shtopor','хуй'}
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('check', function()
        local connectedPlayers, disconnectedPlayers = {}, {}

        for _, nick in ipairs(nicks) do
            local playerId = sampGetPlayerIdByNickname(nick)
            if playerId then
                table.insert(sampIsPlayerConnected(playerId) and connectedPlayers or disconnectedPlayers, nick)
            end
        end
        local connectedMessage = #connectedPlayers > 0 and 'Подключенные игроки: ' .. table.concat(connectedPlayers, ', ') or 'Нет подключенных игроков.'...

ChromiusJ

PARΛDIGM ΛSS
Друг
4,922
3,207
Lua:
local nick = 'Хуй'
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('check',function ()
        if sampIsPlayerConnected(sampGetPlayerIdByNickname(nick)) then
            sampAddChatMessage(nick..' в сети',-1)
        else
            sampAddChatMessage('Ошибка!'..nick..' '..' не в сети.',-1)
        end
    end)  
    while true do
        wait(0)
       
    end
end
function sampGetPlayerIdByNickname(nick)
    nick = tostring(nick)
    local _, myid = sampGetPlayerIdByCharHandle(PLAYER_PED)
    if nick == sampGetPlayerNickname(myid) then return myid end
    for i = 0, 1003 do
      if sampIsPlayerConnected(i) and sampGetPlayerNickname(i) == nick then
        return i
      end
    end
  end
1703429898864.png
 
  • Нравится
Реакции: Oki_Bern и MLycoris

Oki_Bern

Участник
Автор темы
169
6
Lua:
local nick = 'Хуй'
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('check',function ()
        if sampIsPlayerConnected(sampGetPlayerIdByNickname(nick)) then
            sampAddChatMessage(nick..' в сети',-1)
        else
            sampAddChatMessage('Ошибка!'..nick..' '..' не в сети.',-1)
        end
    end) 
    while true do
        wait(0)
      
    end
end
function sampGetPlayerIdByNickname(nick)
    nick = tostring(nick)
    local _, myid = sampGetPlayerIdByCharHandle(PLAYER_PED)
    if nick == sampGetPlayerNickname(myid) then return myid end
    for i = 0, 1003 do
      if sampIsPlayerConnected(i) and sampGetPlayerNickname(i) == nick then
        return i
      end
    end
  end
Посмотреть вложение 225813
спасибо, как я понял вписать можно только 1 ник?
 

ChromiusJ

PARΛDIGM ΛSS
Друг
4,922
3,207
спасибо, как я понял вписать можно только 1 ник?
Lua:
local nicks = {'Dream_Visconti','Andrey_Shtopor','хуй'}
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('check', function()
        local connectedPlayers, disconnectedPlayers = {}, {}

        for _, nick in ipairs(nicks) do
            local playerId = sampGetPlayerIdByNickname(nick)
            if playerId then
                table.insert(sampIsPlayerConnected(playerId) and connectedPlayers or disconnectedPlayers, nick)
            end
        end
        local connectedMessage = #connectedPlayers > 0 and 'Подключенные игроки: ' .. table.concat(connectedPlayers, ', ') or 'Нет подключенных игроков.'
        sampAddChatMessage(connectedMessage, -1)

        local disconnectedMessage = #disconnectedPlayers > 0 and 'Отключенные игроки: ' .. table.concat(disconnectedPlayers, ', ') or 'Все игроки в сети.'
        sampAddChatMessage(disconnectedMessage, -1)
    end)
    wait(-1)
end
function sampGetPlayerIdByNickname(nick)
    nick = tostring(nick)
    local _, myid = sampGetPlayerIdByCharHandle(PLAYER_PED)
    if nick == sampGetPlayerNickname(myid) then return myid end
    for i = 0, 1003 do
        if sampIsPlayerConnected(i) and sampGetPlayerNickname(i) == nick then
            return i
        end
    end
end
ну вот с несколькими никами
 
  • Нравится
Реакции: Oki_Bern