Lua [ARZ] OilRender - Рендер для наземных нефтевышек

104
3
Lua:
local sampev = require 'lib.samp.events'
local state = true
local font = renderCreateFont('Tahoma', 8, 5)
function sampev.onCreate3DText(id, color, position, distance, testLOS, attachedPlayerId, attachedVehicleId, text)
    if text:find("{cccccc}Бочка с нефтью\nВладелец: {31B404}.+\nУдерживайте по бочке 'ПКМ' или пальцем") then
        local name = text:match("{cccccc}Бочка с нефтью\nВладелец: ({31B404}.+)\nУдерживайте по бочке 'ПКМ' или пальцем")
        return {id, color, position, distance, testLOS, attachedPlayerId, attachedVehicleId, name}
    end
end
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('neft', function()
        state = not state
    end)
    while true do wait(0)
        if state then
            for i = 0, 2048 do
                if sampIs3dTextDefined(i) then
                    local st, color, posX, posY, posZ, distance, ignoreWalls, playerId, vehicleId = sampGet3dTextInfoById(i)
                    if isPointOnScreen(posX, posY, posZ, 1) then
                        local x, y, z = getCharCoordinates(1)
                        local xx, yy = convert3DCoordsToScreen(x, y, z)
                        local px, py = convert3DCoordsToScreen(posX, posY, posZ)
                        if st:find("{ECDC3A}Уровень улучшения добычи нефти: %d+ / 30 уровень\n{ECDC3A}Уровень улучшения хранилища нефти: %d+ / 30 уровень\n\n\n{ffffff}Нефтевышка {31B404}№%d+{ffffff}\n{ffffff}Запас нефти:{31B404} (%d+) / (%d+)\n{ffffff}Запас бочек:{31B404} %d+ / %d+\n\n{cccccc}Стоимость за %d+ литров %(бочка%): 12 AZ%-Coins\nЧтобы купить бочку нажмите 'ALT'") then
                            local neft, hran = st:match("{ECDC3A}Уровень улучшения добычи нефти: %d+ / 30 уровень\n{ECDC3A}Уровень улучшения хранилища нефти: %d+ / 30 уровень\n\n\n{ffffff}Нефтевышка {31B404}№%d+{ffffff}\n{ffffff}Запас нефти:{31B404} (%d+) / (%d+)\n{ffffff}Запас бочек:{31B404} %d+ / %d+\n\n{cccccc}Стоимость за %d+ литров %(бочка%): 12 AZ%-Coins\nЧтобы купить бочку нажмите 'ALT'")
                            if tonumber(neft) >= 500 then
                                renderDrawLine(xx, yy, px, py + 60, 3, 0xFF6A5ACD)
                                renderDrawPolygon(px, py + 60, 10, 10, 15, 0, 0xFF6A5ACD)
                                renderDrawPolygon(xx, yy, 10, 10, 15, 0, 0xFF6A5ACD)
                                renderFontDrawText(font, '\n\n\nЗапас нефти '..neft..'/'..hran, px, py, 0xFF6A5ACD)
                            end
                        elseif st:find("{ECDC3A}Уровень улучшения добычи нефти: (%d+) / 30 уровень\n{ECDC3A}Уровень улучшения хранилища нефти: %d+ / 30 уровень\n\n\n{ffffff}Нефтевышка {31B404}№%d+{ffffff}\n{ffffff}Запас нефти:{31B404} (%d+) / (%d+)\n{ffffff}Запас бочек:{31B404} %d+ / %d+\n\n.+Покупка невозможн.+") then
                            local dobicha, neft, hran = st:match("{ECDC3A}Уровень улучшения добычи нефти: (%d+) / 30 уровень\n{ECDC3A}Уровень улучшения хранилища нефти: %d+ / 30 уровень\n\n\n{ffffff}Нефтевышка {31B404}№%d+{ffffff}\n{ffffff}Запас нефти:{31B404} (%d+) / (%d+)\n{ffffff}Запас бочек:{31B404} %d+ / %d+\n\n.+Покупка невозможн.+")
                            if (tonumber(dobicha) * 2 + 16 + tonumber(neft)) >= 500 and tonumber(neft) < 500 then
                                renderDrawLine(xx, yy, px, py + 60, 3, 0xFFADFF2F)
                                renderDrawPolygon(px, py + 60, 10, 10, 15, 0, 0xFFADFF2F)
                                renderDrawPolygon(xx, yy, 10, 10, 15, 0, 0xFFADFF2F)
                                renderFontDrawText(font, '\n\n\nЗапас нефти '..neft..'/'..hran, px, py, 0xFFADFF2F)
                            else
                                renderFontDrawText(font, '\n\n\nЗапас нефти '..neft..'/'..hran, px, py, 0xFFE6E6FA)
                            end
                        end
                    end
                end
            end
        end
    end
end
и?

Еще ищу любые софты для етих нефте вишек
 

XRLM

Известный
Автор темы
2,180
530

mgvq

Активный
309
35
Диванные критики вы совсем охренели или че не могу понять , какого хрена вы критикуете Скрипт который человек сделал для вас же для удобной играбельности, Однозначно лайк ставлю и никакой критики, автор явно постарался молодец, те кто критикует Если вам делать нефиг не отвечайте не занимайте пост лишними комментариями, И идите дальше
 
  • Влюблен
Реакции: XRLM

Lxmxnv

Новичок
1
1
Это просто бомба, только после летней обновы не показывает нефтевышки где можно купить уже бочку, не рисует к ним линию, сделай пожалуйста
 

MLycoris

Помидорный диетолог
Проверенный
1,257
1,190

XRLM

Известный
Автор темы
2,180
530
А название наф*г спиздил
блять, я забыл что есть скрипт с таким названием

я только NeftRender на OilRender поменял и всё
 
  • Грустно
Реакции: MLycoris