raksamp цвет клиста

coldplugg.

Участник
Автор темы
180
22
Версия MoonLoader
.027.0-preview
на сампе есть sampGetPlayerColor такую же штуку нужно на раксампе есть аналог или функа?
 

kyrtion

Известный
659
242
Lua:
table players = getAllPlayers() -- получить всех игроков
getAllPlayers() = {
    [id] = {
        int score,
        int ping,
        string nick,
        bool exist,
        int skin,
        int color,
        table position
    },
    ...
}

Например, я хочу получить цвет клиста по ID.
Lua:
function sampGetPlayerColor(arg_id)
    if type(arg_id) ~= 'number' then
        print('Всмысле, какое строковое значение? Да пошел ты!')
        return false
    end
    local player = getPlayer(arg_id) -- получить игрока, не вернет ничего, если не подключен
    if player then
        return player.color -- не пробовал просто getPlayer(arg_id), но стоит пробовать
    else
        return false
    end
end
 
Последнее редактирование:

coldplugg.

Участник
Автор темы
180
22
Lua:
table players = getAllPlayers() -- получить всех игроков
getAllPlayers() = {
    [id] = {
        int score,
        int ping,
        string nick,
        bool exist,
        int skin,
        int color,
        table position
    },
    ...
}

Например, я хочу получить цвет клиста по ID.
Lua:
function sampGetPlayerColor(arg_id)
    if type(arg_id) ~= 'number' then
        print('Всмысле, какое строковое значение? Да пошел ты!')
        return false
    end
    local player = getPlayer(arg_id) -- получить игрока, не вернет ничего, если не подключен
    if player then
        return player.color -- не пробовал просто getPlayer(arg_id), но стоит пробовать
    else
        return false
    end
end
getPlayer nil
 

coldplugg.

Участник
Автор темы
180
22
Lua:
print('getPlayer(2).color: '..getPlayer(2).color)
-- getPlayer(2).color: 641859242

Обращай внимание на комментарии:
Lua:
local player = getPlayer(arg_id) -- получить игрока, не вернет ничего, если не подключен
проверил, игрок подключен, стоит на сервре все равно нил
 

Ulong

Диванный критик
Проверенный
58
315
Lua:
function getColorById(id)
    local players = getAllPlayers();
    for key, value in pairs(players) do
        if (value.id == id) then
            return value.color;
        end
    end
end
зачем перебирать всех игроков когда можно обратиться к конкретному элементу в таблице?


Lua:
function getPlayerColor(player_id)
    local response, color = pcall(function()
        return getAllPlayers()[player_id].color
    end)
    return response, color
end
Lua:
local response, color = getPlayerColor(228)
if response then
    print(string.format("Player color %d", color))
else
    print("player not exist")
end
как перевести в hex формат я думаю сам разберешься/найдешь
 
  • Нравится
Реакции: why ega и mihagrom

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,778
11,223
assert для слабых?
щас бы крашить скрипт если аргумент введен неверно...


Lua:
function sampGetPlayerColor(arg)
    local id = tonumber(arg)
    if not id then
        return print('Invalid arg!')
    end
    local player = getAllPlayers()[id]
    return player and player.color or false
end
 
  • Нравится
Реакции: фидарза