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

108
5
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,532
847
  • Клоун
Реакции: Air_Official

|Il|Il|

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

Lxmxnv

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

MLycoris

Режим чтения
Проверенный
1,801
1,829

XRLM

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

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