Сообщение в чат

GR4NDLE | CS:GO

Новичок
Автор темы
14
1
Столкнулся с такой проблемой. Пишу скрипт... но не понимаю, какой командой выводить в чат текст и делать перенос на несколько символов назад.

sampSendChat - мне не подходит. Она просто выводит сообщение в чат.

Мне нужно, по типу такой команды из AHK:

Sendinput, {f6}/ans Не наблюдаю нарушений от игрока.{Left 33}

Вводится текст и производится перевод на 33 символа влево, НО при этом чат остается открытый и мне самому нужно нажимать Enter
 

Nagenbl4

Новичок
107
2
Lua:
sampSetChatInputText("/ans Не наблюдаю нарушений от игрока")
Если тебе нужно вписывать ID игрока, то вводи переменную, скажем PID, в которой будет записан ID игрока. Тогда:
Lua:
sampSetChatInputText("/ans " .. PID .. "Не наблюдаю нарушений от игрока")
 

GR4NDLE | CS:GO

Новичок
Автор темы
14
1
Lua:
sampSetChatInputText("/ans Не наблюдаю нарушений от игрока")
Если тебе нужно вписывать ID игрока, то вводи переменную, скажем PID, в которой будет записан ID игрока. Тогда:
Lua:
sampSetChatInputText("/ans " .. PID .. "Не наблюдаю нарушений от игрока")


А как ввести переменную?
 

Adventurer

Известный
151
69
Описание: Устанавливает положение курсора в чате. ВАЖНО: Если используете sampSetChatInputText(), эту функцию вызывайте после её, т.к. sampSetChatInputText() устанавливает новое положение курсора.
Принимает два параметра - начало и конец выделения текста. Если второй параметр опущен, просто устанавливает курсор в нужное место.
Lua:
function sampSetChatInputCursor(start, finish)
    local finish = finish or start
    local start, finish = tonumber(start), tonumber(finish)
    local mem = require 'memory'
    local chatInfoPtr = sampGetInputInfoPtr()
    local chatBoxInfo = getStructElement(chatInfoPtr, 0x8, 4)
    mem.setint8(chatBoxInfo + 0x11E, start)
    mem.setint8(chatBoxInfo + 0x119, finish)
    return true
end
Пример использования:
Lua:
local vkeys = require 'vkeys'
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then
        return
    end
    while not isSampAvailable() do wait(100) end

    while true do
        wait(0)
        if wasKeyPressed(vkeys.VK_R) then
            sampSetChatInputText("test test test")
            sampSetChatInputCursor(4, 10)
            sampSetChatInputEnabled(true)
        end
    end
end

function sampSetChatInputCursor(start, finish)
    local finish = finish or start
    local start, finish = tonumber(start), tonumber(finish)
    local mem = require 'memory'
    local chatInfoPtr = sampGetInputInfoPtr()
    local chatBoxInfo = getStructElement(chatInfoPtr, 0x8, 4)
    mem.setint8(chatBoxInfo + 0x11E, start)
    mem.setint8(chatBoxInfo + 0x119, finish)
    return true
end

у тебя аж три темы подряд создано, не надо так делать
для такого существует общий раздел, где есть готовые ответы и где люди помогают друг другу
https://blast.hk/threads/13892/
 
  • Нравится
Реакции: AnWu и 4el0ve4ik