ipairs

Neil_

Известный
Автор темы
205
32
Версия MoonLoader
Другое
Решил я такой разобраться как работает pairs и ipairs, короче хотел сделать
Lua:
           for id = 0, sampGetMaxPlayerId(false) do
                            lvl = sampGetPlayerScore(id)
                            if lvl == 1 then
                                name = sampGetPlayerNickname(id)
                                name = {name}
                                for i, v in ipairs(name) do
                               imgui.Text(v..'   '..lvl..'[LVL]') imgui.SameLine()
                               if imgui.Button(u8'Тест ##'..i) then
                               sampSendChat('/id '..id)
выводит в имгуи окно ник всех игроков имеющих 1 уровень, потом ко всем никам имгуи button ставится
короче, как сделать чтобы выводило ник всех игроков в имгуи окно, и при нажатии на кнопку button выводился /id ид игрока в списке имгуи
я пытался чёт сделать, но это слишком сложно оно только 1 к ## ставит, а надо чтобы от 1, до количества ников
 
Решение
Убрал весь лишний текст.
Lua:
for id = 0, sampGetMaxPlayerId() do
    if sampIsPlayerConnected(id) and sampGetPlayerScore(id) == 1 then
        local nick = sampGetPlayerNickname(id)
        if imgui.Button(nick .. " ID: "..id) then
            sampSendChat('/id '..id)
        end
    end
end
Метод ipairs нужен для перебора индексированной таблицы, в данном случае ты перебираешь просто диапазон id от 0 до максимального уровнян а сервере через for i = x, y do

Hatiko

Известный
Проверенный
1,513
629
Убрал весь лишний текст.
Lua:
for id = 0, sampGetMaxPlayerId() do
    if sampIsPlayerConnected(id) and sampGetPlayerScore(id) == 1 then
        local nick = sampGetPlayerNickname(id)
        if imgui.Button(nick .. " ID: "..id) then
            sampSendChat('/id '..id)
        end
    end
end
Метод ipairs нужен для перебора индексированной таблицы, в данном случае ты перебираешь просто диапазон id от 0 до максимального уровнян а сервере через for i = x, y do
 

#Northn

Pears Project — уже запущен!
Всефорумный модератор
2,655
2,540
  • Нравится
  • Вау
Реакции: qdIbp, whyega52 и Hatiko

Neil_

Известный
Автор темы
205
32
рекомендую избегать эту функцию, потому что она тоже использует цикл внутри себя
пишите просто 999
Хорошо

Убрал весь лишний текст.
Lua:
for id = 0, sampGetMaxPlayerId() do
    if sampIsPlayerConnected(id) and sampGetPlayerScore(id) == 1 then
        local nick = sampGetPlayerNickname(id)
        if imgui.Button(nick .. " ID: "..id) then
            sampSendChat('/id '..id)
        end
    end
end
Метод ipairs нужен для перебора индексированной таблицы, в данном случае ты перебираешь просто диапазон id от 0 до максимального уровнян а сервере через for i = x, y do
 
Последнее редактирование: