Lua show lang

Vespan

loneliness
Автор темы
Проверенный
2,138
1,803
помню в виндовс 10 была прикольная штучка(щас она у меня почему то нету)- когда сменил раскладку то слева окно,какая активная сейчас раскладка,и решил сделать что-то подобное в самп,получилось каряво..​


Версия:1.5.0
Активация:Автоматическая.
1654183072720.png


Что бы открыть настройки кликните на последний язык в имгуи окне.
1654258140502.png

Отображаться Украинский,Белорусский,Казахский язык
(есть баг если будут всё языки включены)​
 

Вложения

  • show lang.lua
    9 KB · Просмотры: 50
Последнее редактирование:

VRush

https://t.me/vrushscript
2,401
1,184
как насчет добавить туда Укр язык? Ну и для меня добавь Испанский)

1654194250466.png
Укр язык
1654194269247.png
Испанский
 

ARMOR

Waitin' on another black summer to end
Модератор
5,045
7,236
Оно всё время активно, или на момент переключения появляется?
 

krim

Известный
299
132
предлагаю в добавок к украинскому добавить казахский, белорусский
 

Vespan

loneliness
Автор темы
Проверенный
2,138
1,803
Если прямо как на 10, то только во время переключения. Чтобы она появилась нужно переключится через win+space
токо в винде сразу изчезает,я сделал плавное затухание после появления

предлагаю в добавок к украинскому добавить казахский, белорусский
да,я сделаю выбор языков,но,сам ЛУА не может определить Украинский,я пытался,но нету ни UA ни UK,кароче не идет Украинский(..
с остальными попробую,ну и сделаю добавление юзеру языков

как насчет добавить туда Укр язык? Ну и для меня добавь Испанский)

Посмотреть вложение 150692 Укр язык
Посмотреть вложение 150693 Испанский
Украинский не работает,я проверял,с другими пока-что нет
 

RTD

Потужно
Модератор
407
483
Улучшай свой код...
И я думаю этот вариант более оптимален:
Lua:
local ffi = require("ffi")
ffi.cdef[[
    int GetKeyboardLayoutNameA(char* pwszKLID);
]]
do
    local langIdBuffer = ffi.new("char[9]") --KL_NAMELENGTH = 9
    local langTables = {
        ["00000409"] = "EN",
        ["00000419"] = "RU",
        ["00020422"] = "UA"
    }
    function getCurrentLanguageName()
        if ffi.C.GetKeyboardLayoutNameA(langIdBuffer) then
            return langTables[ffi.string(langIdBuffer)] or "WTF?"
        end
        return "FUCK!"
    end
end

function main()
    print(getCurrentLanguageName())
end
 

Vespan

loneliness
Автор темы
Проверенный
2,138
1,803
Добавил новые языки,оптимизировал? код,добавил настройку скругление и debug.

Заходим в игру,включаем debug,потом копируем LangId нашего языка,заходим в код и 85строка добавляем LangId и название языка(англ.),
["LangId"] = 'NameLang'
дополнительно 93строка добавляем только название языка(англ.).
langText = {'RU','EN','NEW_LANG_NAME'}
перезаходим в игру, и ваш язык будет отображаться
спасибо RTD за функцию
126Строка if (os.clock() - langImguiTimer) < 2.5 then где 2.5 это таймер(в секундах),когда пройдёт это время - проходит затухание
116Строка if langImguiAlpha ~= 0.00 then langImguiAlpha = langImguiAlpha - 0.05 wait(10) end где wait(10) это длительность затухание имгуи окна,раз в 10 миллисекунд -0.05 от 1.00 до 0.00,хотите медленное затухание?Ставьте wait(20или30) или хотите быстрее wait(3или5).
 
Последнее редактирование: