sendChat без автоотправки сообщения

Mitchell Manhattan

Известный
Автор темы
10
2
sendChat(Text) {
if (!checkHandles())
return -1

dwFunc := 0
if (SubStr(Text, 1, 1) == "/") {
dwFunc := dwSAMP + 0x69190
} else {
dwFunc := dwSAMP + 0x5820
}

callWithParams(hGTA, dwFunc, [["s", "" Text]], false)
}

можно как-то изменить или сделать подобную функцию чтобы текст так же писался напрямую в чат но отправлялся не автоматически а в ручную, чтобы я нажимал энтер

примерно так
:?:/дп2::
SendInput, {F6}/n Докладывает: Калиновский. Стою на посту: . Состояние: Стабильное.{Space}

чтобы была такой же биндер по сути только через sendChat полностью, исключить эту функцию SendInput
 

Meliodafu

Известный
59
18
типа такого

Код:
local vkeys = require "vkeys"

function main()
    repeat wait(0) until isSampAvailable()

    while true do
        wait(0)

        if isKeyJustPressed(vkeys.VK_F6) then
            openChatWithText("/n Докладывает: Калиновский. Стою на посту: . Состояние: Стабильное.")
        end
    end
end

function openChatWithText(text)
    sampSetChatInputEnabled(true)

    lua_thread.create(function()
        wait(50)
        sampSetChatInput(text)
    end)
end
 
  • Эм
Реакции: miset

Aang Costello

Известный
1
0
Единственный вариант без открытого чата - использовать любую одну клавишу:
AutoHotKey:
#IfWinActive, ahk_exe gta_sa.exe

F1::SendInput, {F6}/n Докладывает: Калиновский. Стою на посту: . Состояние: Стабильное.
F2::SendInput, {F6}/n Докладывает: Калиновский. Стою на посту: . Состояние: Стабильное.

#IfWinActive

Если хочешь использовать /дп2 или .дп2 - тогда он будет работать ТОЛЬКО в открытом чате. Без открытого чата никак. Почему? Когда чат закрыт, игра обрабатывает клавиши для управления (движение, стрельба и т.д.). AHK не может отличить твоё /дп2 от обычных нажатий в игре.
AutoHotKey:
:*:/дп2::
:*:.дп2::
    SendInput, /n Докладывает: Калиновский. Стою на посту: . Состояние: Стабильное.
return

В общем, если хочешь без открытия чата - используй одну клавишу, как тебе удобно (F1, F2, Ctrl+1 и т.д.). А /дп2 если печатать подряд - работает только в открытом чате.