помогите написать простейший скрипт

Boss_NightMare

Новичок
Автор темы
20
0
Версия SA-MP
  1. Любая
мне надо чтобы когда я нажимал на английскую t, у меня не просто открывался чат, а сразу с / (слеш), чтобы писать команды было удобнее, не шарю за скриптинг, помогите плез.
Не шарю за скрипты совершенно
 

VRush

https://t.me/vrushscript
2,416
1,190
 

Boss_NightMare

Новичок
Автор темы
20
0
Lua:
require 'lib.moonloader'

function main()
    while not isSampAvailable() do wait(0) end      
    while true do
        wait(0)
        if wasKeyPressed(VK_T) and not sampIsChatInputActive() and #sampGetChatInputText() == 0 then
            sampSetChatInputEnabled(true)
            sampSetChatInputText('/')
        end
    end
end
все топ, только надо чтобы он работал на англ языке а не на русском

chapo помоги
 
Последнее редактирование:

Boss_NightMare

Новичок
Автор темы
20
0
Lua:
require 'lib.moonloader'

function main()
    while not isSampAvailable() do wait(0) end  
    local lang = getlayout()
    while true do
        wait(0)
        if wasKeyPressed(VK_T) and not sampIsChatInputActive() and #sampGetChatInputText() == 0 and lang == "00000409" then
            sampSetChatInputEnabled(true)
            sampSetChatInputText('/')
        end
    end
end
вообще перестал работать (

Lua:
require 'lib.moonloader'

function main()
    while not isSampAvailable() do wait(0) end     
    while true do
        wait(0)
        if wasKeyPressed(VK_T) and not sampIsChatInputActive() and #sampGetChatInputText() == 0 then
            sampSetChatInputEnabled(true)
            sampSetChatInputText('/')
        end
    end
end
у меня вот этот работает, но только он на русс языке
 
Последнее редактирование:

Sidney31

Известный
1,124
385

chapo

чопа сребдс // @moujeek
Модератор
8,865
11,552
спиздил определение раскладки отсюда: https://www.blast.hk/threads/19148/
Lua:
require 'lib.moonloader'
local ffi = require("ffi")
ffi.cdef[[
    short GetKeyState(int nVirtKey);
    bool GetKeyboardLayoutNameA(char* pwszKLID);
    int GetLocaleInfoA(int Locale, int LCType, char* lpLCData, int cchData);
]]
local BuffSize = 32
local KeyboardLayoutName = ffi.new("char[?]", BuffSize)
local LocalInfo = ffi.new("char[?]", BuffSize)

function main()
    while not isSampAvailable() do wait(0) end       
    while true do
        wait(0)
        local success = ffi.C.GetKeyboardLayoutNameA(KeyboardLayoutName)
        local errorCode = ffi.C.GetLocaleInfoA(tonumber(ffi.string(KeyboardLayoutName), 16), 0x00000002, LocalInfo, BuffSize)
        local localName = ffi.string(LocalInfo)
        if wasKeyPressed(VK_T) and localName:find('США') and not sampIsChatInputActive() and #sampGetChatInputText() == 0 then
            sampSetChatInputEnabled(true)
            sampSetChatInputText('/')
        end
    end
end
 
  • Влюблен
Реакции: YarikVL

Sidney31

Известный
1,124
385
спиздил определение раскладки отсюда: https://www.blast.hk/threads/19148/
Lua:
require 'lib.moonloader'
local ffi = require("ffi")
ffi.cdef[[
    short GetKeyState(int nVirtKey);
    bool GetKeyboardLayoutNameA(char* pwszKLID);
    int GetLocaleInfoA(int Locale, int LCType, char* lpLCData, int cchData);
]]
local BuffSize = 32
local KeyboardLayoutName = ffi.new("char[?]", BuffSize)
local LocalInfo = ffi.new("char[?]", BuffSize)

function main()
    while not isSampAvailable() do wait(0) end      
    while true do
        wait(0)
        local success = ffi.C.GetKeyboardLayoutNameA(KeyboardLayoutName)
        local errorCode = ffi.C.GetLocaleInfoA(tonumber(ffi.string(KeyboardLayoutName), 16), 0x00000002, LocalInfo, BuffSize)
        local localName = ffi.string(LocalInfo)
        if wasKeyPressed(VK_T) and localName:find('США') and not sampIsChatInputActive() and #sampGetChatInputText() == 0 then
            sampSetChatInputEnabled(true)
            sampSetChatInputText('/')
        end
    end
end
)
Тоже ща сидел, рассматривал инпутхелпер

1647015767186.png
 
  • Нравится
Реакции: YarikVL

Boss_NightMare

Новичок
Автор темы
20
0
спиздил определение раскладки отсюда: https://www.blast.hk/threads/19148/
Lua:
require 'lib.moonloader'
local ffi = require("ffi")
ffi.cdef[[
    short GetKeyState(int nVirtKey);
    bool GetKeyboardLayoutNameA(char* pwszKLID);
    int GetLocaleInfoA(int Locale, int LCType, char* lpLCData, int cchData);
]]
local BuffSize = 32
local KeyboardLayoutName = ffi.new("char[?]", BuffSize)
local LocalInfo = ffi.new("char[?]", BuffSize)

function main()
    while not isSampAvailable() do wait(0) end      
    while true do
        wait(0)
        local success = ffi.C.GetKeyboardLayoutNameA(KeyboardLayoutName)
        local errorCode = ffi.C.GetLocaleInfoA(tonumber(ffi.string(KeyboardLayoutName), 16), 0x00000002, LocalInfo, BuffSize)
        local localName = ffi.string(LocalInfo)
        if wasKeyPressed(VK_T) and localName:find('США') and not sampIsChatInputActive() and #sampGetChatInputText() == 0 then
            sampSetChatInputEnabled(true)
            sampSetChatInputText('/')
        end
    end
end
не работает все равно, может у меня в сборке что то конфликтует, хз

)
Тоже ща сидел, рассматривал инпутхелпер

Посмотреть вложение 139460
а у тебя работает?

или ты не пробовал
 

Sidney31

Известный
1,124
385

chapo

чопа сребдс // @moujeek
Модератор
8,865
11,552

Sidney31

Известный
1,124
385
Вообще, мой тебе совет: переучивайся открывать чат на f6. И не пытайся изобрести велосипед, поставить слэш перед вводом команды отнимает десятую секунды. Лучше тренируй скорость печати.