Lua show lang

Vespan

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


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


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

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

Вложения

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

VRush

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

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

ARMOR

kjor32 is legend
Модератор
4,852
6,083
Оно всё время активно, или на момент переключения появляется?
 

krim

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

Vespan

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

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

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

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

RTD

Нестандартное звание
Модератор
391
414
Улучшай свой код...
И я думаю этот вариант более оптимален:
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,105
1,634
Добавил новые языки,оптимизировал? код,добавил настройку скругление и 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).
 
Последнее редактирование: