SC19 Lua HUD Интегрированный HUD (minHUD) для GTA:SA, v1.0 (22.09.2019)

Статус
В этой теме нельзя размещать новые ответы.

DolgorukovGTA

Известный
Автор темы
Проверенный
652
345
Версия SA-MP
  1. 0.3.7 (R1)
Это лишь открытое тестирование модификации! На данный момент ваша основная задача - найти как можно больше ошибок и недочётов в работе HUD'а, найти ситуации, когда он будет конфликтовать с другими модификациями.

Прив, представляю Вашему вниманию HUD в минималистичном стиле для GTA:SA (не только San Andreas Multiplayer, но и одиночной игры), не требующий никакой настройки и подключения дополнительных библиотек или модулей (все использующиеся библиотеки включены в дистрибутив ML).
Изменять расположение худа можно при помощи мышки, введя как чит-код слово "HUD" (для одиночной игры и SA:MP) или команду "/hud" (только для SA:MP), после чего изменяете расположение, нажимаете правую кнопку мыши, чтобы сохранить его.
Красная полоса - здоровье, синяя - броня, розовая - выносливость, зелёная - кислород. Если у Вас закрыт чат в SA:MP (F7), то и худ тоже будет выключен, также можно закрывать худ по удерживанию F10.
Установка: поместить файлы архива в папку moonloader (иконки отличаются от стандартных и больше походят на оригинальное оружие из игры). Как только Вы измените положение худа, скрипт автоматически создаст ini-файл с настройками, через которые также можно будет настраивать худ. Это ещё не последняя версия модификации, работа над худом будет продолжаться и после релиза.
Если у Вас возникли какие-либо проблемы с корректным отображением баров, иконок или текстовой информации, обязательно отпишите в эту тему, либо в личные сообщения на форуме или в ВК.
Благодарность участникам форума за отдельные функции: @imring, @4el0ve4ik и @hnnssy.
 

Вложения

  • minHUD 22.09.2019.rar
    646.2 KB · Просмотры: 428
Последнее редактирование:

maestto

Известный
93
116
это всяко лучше, чем какие нибудь авто-акценты для всех серверов.

upd: ета как фиксица?
40095
 
Последнее редактирование:
D

deleted-user-204957

Гость
Сделаешь появление запаса кислорода когда пед находится в воде?
 

DolgorukovGTA

Известный
Автор темы
Проверенный
652
345
Хорошо скачивает конкретно у меня, возможно, какие-то временные неполадки.
Ну так, она всегда активна, я думаю лучше будет сделать её активацию при попадании персонажа в воду.
Учту.
 

drags

Известный
Проверенный
155
210
Прив, представляю Вашему вниманию интегрированный HUD в минималистичном стиле для GTA:SA (не только San Andreas Multiplayer, но и одиночной игры), не требующий никакой настройки и подключения дополнительных библиотек или модулей (все использующиеся библиотеки включены в дистрибутив MoonLoader).
Изменять расположение худа можно при помощи мышки, введя как чит-код слово "HUD" (для одиночной игры и SA:MP) или команду "/hud" (только для SA:MP).
Красная полоса - здоровье, синяя - броня, розовая - выносливость, зелёная - кислород.
Посмотреть вложение 40093
Установка: поместить файлы архива в папку moonloader (иконки отличаются от стандартных и больше походят на оригинальное оружие из игры). Как только Вы измените положение худа, скрипт автоматически создаст ini-файл с настройками, через которые также можно будет настраивать худ. Это ещё не последняя версия модификации, работа над худом будет продолжаться и после релиза.
Если у Вас возникли какие-либо проблемы с корректным отображением баров, иконок или текстовой информации, обязательно отпишите в эту тему, либо в личные сообщения на форуме или в ВК.
Благодарность за отдельные функции: @imring, @4el0ve4ik и @hnnssy.​
Lua:
for _, v in pairs(weapons_with_clip) do
        if weapon == v then
            local ammoInClip = getAmmoInClip()
            ammo = string.format("%d/%s", ammoInClip, (ammo - ammoInClip))
            break
        else
            for _, v in pairs(weapons_without_clip) do
                if weapon ~= v then
                    ammo = ammo
                    break
                end
            end
            for _, v in pairs(no_shooting_weapons) do
                if weapon == v then
                    ammo = ""
                end
            end
        end
    end
Очень странное решение, тут ты прогоняешь все 3 цикла пока не найдешь в 1 таблице число... (тобишь если позиция оружия в 1 таблице например 6, то ты 6 раз прогонишь 2 лишних цикла)
чтобы не парится можешь заменить свои 3 таблицы на эти 2

Таблицы:
local weapons_with_clip = {[22] = true, [23] = true, [24] = true, [26] = true, [27] = true, [28] = true, [29] = true, [30] = true, [31] = true, [32] = true, [37] = true, [38] = true, [41] = true, [42] = true}
local weapons_without_clip = {[25] = true, [33] = true, [34] = true, [35] = true, [36] = true, [39] = true}

И всесто этих циклов сделать просто 3 условия
Lua:
    if (weapons_with_clip[weapon]) then
        local ammoInClip = getAmmoInClip()
        ammo = string.format("%d/%s", ammoInClip, (ammo - ammoInClip))
    elseif(weapons_without_clip[weapon]) then
        ammo = ammo
    else
        ammo = ""
    end
3 таблица не нужна, так как все остальные идшники будут выдавать nil , а значит будет ссылаться на 3 условие


-------------------------------------
Lua:
for k, _ in pairs(weapons_render) do
    if getCurrentCharWeapon(PLAYER_PED) == k then
        renderDrawTexture(weapons_render[k], set.Position.posX - res_x / 50, set.Position.posY + res_y / 7.8, res_x / 22, res_x / 22, 0, -1)
    end
end
Тут тоже не понимаю зачем ты перебираешь таблицу, и проверяешь её по ключу
Можно сделать так
Lua:
if weapons_render[getCurrentCharWeapon(PLAYER_PED)] then
    renderDrawTexture(weapons_render[getCurrentCharWeapon(PLAYER_PED)], set.Position.posX - res_x / 50, set.Position.posY + res_y / 7.8, res_x / 22, res_x / 22, 0, -1)
end
-- возможно лучше даже getCurrentCharWeapon(PLAYER_PED) приравнять к локальной переменной, чтобы вызов фукнци был не 2 раза а 1
Я думаю что можно обойтись даже и без условия(но не уверен, с getCurrentCharWeapon не работал, так что незнаю можешет ли оно вернуть то чего у тебя нету в таблице)
 
Последнее редактирование:
  • Нравится
Реакции: DolgorukovGTA

WarGko

Известный
274
96
замени полосу кислорода на полосу ХП кара когда игрок в нем находиться
 

DolgorukovGTA

Известный
Автор темы
Проверенный
652
345
Lua:
for _, v in pairs(weapons_with_clip) do
        if weapon == v then
            local ammoInClip = getAmmoInClip()
            ammo = string.format("%d/%s", ammoInClip, (ammo - ammoInClip))
            break
        else
            for _, v in pairs(weapons_without_clip) do
                if weapon ~= v then
                    ammo = ammo
                    break
                end
            end
            for _, v in pairs(no_shooting_weapons) do
                if weapon == v then
                    ammo = ""
                end
            end
        end
    end
Очень странное решение, тут ты прогоняешь все 3 цикла пока не найдешь в 1 таблице число... (тобишь если позиция оружия в 1 таблице например 6, то ты 6 раз прогонишь 2 лишних цикла)
чтобы не парится можешь заменить свои 3 таблицы на эти 2

Таблицы:
local weapons_with_clip = {[22] = true, [23] = true, [24] = true, [26] = true, [27] = true, [28] = true, [29] = true, [30] = true, [31] = true, [32] = true, [37] = true, [38] = true, [41] = true, [42] = true}
local weapons_without_clip = {[25] = true, [33] = true, [34] = true, [35] = true, [36] = true, [39] = true}

И всесто этих циклов сделать просто 3 условия
Lua:
    if (weapons_with_clip[weapon]) then
        local ammoInClip = getAmmoInClip()
        ammo = string.format("%d/%s", ammoInClip, (ammo - ammoInClip))
    elseif(weapons_without_clip[weapon]) then
        ammo = ammo
    else
        ammo = ""
    end
3 таблица не нужна, так как все остальные идшники будут выдавать nil , а значит будет ссылаться на 3 условие


-------------------------------------
Lua:
for k, _ in pairs(weapons_render) do
    if getCurrentCharWeapon(PLAYER_PED) == k then
        renderDrawTexture(weapons_render[k], set.Position.posX - res_x / 50, set.Position.posY + res_y / 7.8, res_x / 22, res_x / 22, 0, -1)
    end
end
Тут тоже не понимаю зачем ты перебираешь таблицу, и проверяешь её по ключу
Можно сделать так
Lua:
if weapons_render[getCurrentCharWeapon(PLAYER_PED)] then
    renderDrawTexture(weapons_render[getCurrentCharWeapon(PLAYER_PED)], set.Position.posX - res_x / 50, set.Position.posY + res_y / 7.8, res_x / 22, res_x / 22, 0, -1)
end
-- возможно лучше даже getCurrentCharWeapon(PLAYER_PED) приравнять к локальной переменной, чтобы вызов фукнци был не 2 раза а 1
Я думаю что можно обойтись даже и без условия(но не уверен, с getCurrentCharWeapon не работал, так что незнаю можешет ли оно вернуть то чего у тебя нету в таблице)
Подумаю над этим, худ ещё в разработке, поэтому, это хорошо, что ты написал об этом. Так и знал, что кто-то полезет в код и будет тут описывать проблемы. Выражаю благодарность за отзыв.
В данный момент буду активно работать, основной целью является доработка алгоритма "подгона" под все разрешения, ибо, как я понял, на мелких разрешениях шрифт делается маленьким и, по мнению людей, нечитаемым. Внимательно следите за темой, в которой будет выкладываться самая свежая информация по разработке худа.
замени полосу кислорода на полосу ХП кара когда игрок в нем находиться
Задумывалось, что худ будет являться заменой старого, а в оригинальном худе GTA:SA не отображается хп автомобиля.
 

Oi Nikazum

Потрачен
182
232
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я уверен если бы не название

Интегрированный Lua HUD (minHUD) для GTA:SA, v1.0 (21.09.2019)

эту тему никто бы так и не увидел как и все остальные
классная фишка. возьму на заметку
 
  • Нравится
Реакции: Fyger

DolgorukovGTA

Известный
Автор темы
Проверенный
652
345
я уверен если бы не название

Интегрированный Lua HUD (minHUD) для GTA:SA, v1.0 (21.09.2019)

эту тему никто бы так и не увидел как и все остальные
классная фишка. возьму на заметку
Разве название не соответствует содержанию скрипта?
Сегодня начну работу по найденным багам и недочётам, поэтому продолжайте тестировать, предлагать новые идеи и предложения.
 

Oi Nikazum

Потрачен
182
232
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Разве название не соответствует содержанию скрипта?
название скрипта -> minHUD
то что он на lua и hud понятно и по названию и по префиксу, то что он для сампа говорит раздел, дата создания темы написана в самой темы
что мы имеем?
можно было бы написать

minHUD v1.0 (с префиксами было бы [LUA][HUD] minHUD v1.0

но тогда бы было меньше просмотров так как название незаметное

все равно прием с названием хороший ,респект
 
Статус
В этой теме нельзя размещать новые ответы.