3d text

- |2347| -

Известный
Автор темы
335
116
не находит текст Здоровье: 50

1727531243490.png


код:
function main()
    while true do wait(0)
        for idq = 0, 2048 do
            local result = sampIs3dTextDefined(idq)
            if result then
                local text, color, posX, posY, posZ, distance, ignoreWalls, playerId, vehicleId = sampGet3dTextInfoById(idq)

                if text:match('Для осмотра состояния') and text:match('Используйте клавишу:') and text:match('или зажмите пальцем по дереву') then
                    resultq, idnick = sampGetPlayerIdByCharHandle(PLAYER_PED)
                    local playerNick = sampGetPlayerNickname(idnick)
                    
    
                    if text:match('Здоровье: 50') and text:match(playerNick) then
                        sampAddChatMessage('Здоровье: 50', -1)
                        print(posX, posY, posZ)
                    end
                end
            end
        end
    end
end

Up

up
 
Последнее редактирование:

MLycoris

На вид оружие массового семяизвержения
Проверенный
1,993
2,182
попробуй так
Lua:
        for id = 0, 2048 do
            if sampIs3dTextDefined(id) then
                local text, color, posX, posY, posZ, distance, ignoreWalls, playerId, vehicleId = sampGet3dTextInfoById(id)
                local health, nick = text:gsub("{......}", ""):match("Здоровье: (%d+)\nПосадил: (%w+_%w+)")
                if health and nick then
                    local myId = select(2, sampGetPlayerIdByCharHandle(1))
                    if nick:find(sampGetPlayerNickname(myId)) then
                        sampAddChatMessage("Здоровье: "..health, -1)
                        print(posX, posY, posZ)
                    end
                end
            end
        end
 

- |2347| -

Известный
Автор темы
335
116
попробуй так
Lua:
        for id = 0, 2048 do
            if sampIs3dTextDefined(id) then
                local text, color, posX, posY, posZ, distance, ignoreWalls, playerId, vehicleId = sampGet3dTextInfoById(id)
                local health, nick = text:gsub("{......}", ""):match("Здоровье: (%d+)\nПосадил: (%w+_%w+)")
                if health and nick then
                    local myId = select(2, sampGetPlayerIdByCharHandle(1))
                    if nick:find(sampGetPlayerNickname(myId)) then
                        sampAddChatMessage("Здоровье: "..health, -1)
                        print(posX, posY, posZ)
                    end
                end
            end
        end
не работает
 

Hatiko

Известный
Проверенный
1,494
617
Не обратил внимание, что тебе именно на здоровье надо сделать акцент. Тебе в принципе первым же ответом уже подсказали, судя по всему ты не проверял. Там может быть тег стоять перед пробелом, а может после, поэтому рассмотри два варианта:
text:match('Здоровье: {......}50')
text:match('Здоровье:{......} 50')