Почему не нажимает кнопку в RakSamp Lite?

solution

Участник
Автор темы
48
9
Версия MoonLoader
Другое
Не могу понять, почему автоматически не нажимает кнопку Y, хотя текст вроде тоже не ловится, по !key тож анлак не работает ватафак
пытаюсь парсить по тексту
исходный: [02:40:42] [02:40:42:244] rippo Boba_Doodo[287] предложил Вам вступить в godlikez.
за помощь накину монету)
Lua:
local sampev = require("samp.events")

function sendKey(id)
    key = id
    updateSync()
end

function onRunCommand(cmd)
    if cmd:find("^!key %d+$") then
        sendKey(tonumber(cmd:match("%d+")))
        return false
    end
end

function sampev.onSendPlayerSync(data)
    if key then
        data.keysData = key
        key = nil
    end
end

// все что выше это дефолт с темы раклайта

function onPrintLog(str)
        if str:find("(.*) %w+_%w+%[%d+%] предложил Вам вступить") then
        print("+")
        sendKey(tonumber(65536))
    end
end
 
Решение
Используй Special Key
Lua:
local events = require('samp.events')

local specialKey = nil

local SPECIAL_KEYS = {
    Y = 1,
    N = 2,
    H = 3
}

function pressSpecialKey(key)
    if not SPECIAL_KEYS[key] then return false end
    specialKey = SPECIAL_KEYS[key]
    updateSync()
end

function events.onSendPlayerSync(data)
    if specialKey then
        data.specialKey = specialKey
        specialKey = nil
    end
end

--[[
usage:

pressSpecialKey('Y')
pressSpecialKey('N')
pressSpecialKey('H')
]]

Notepad++

Известный
280
161
Используй Special Key
Lua:
local events = require('samp.events')

local specialKey = nil

local SPECIAL_KEYS = {
    Y = 1,
    N = 2,
    H = 3
}

function pressSpecialKey(key)
    if not SPECIAL_KEYS[key] then return false end
    specialKey = SPECIAL_KEYS[key]
    updateSync()
end

function events.onSendPlayerSync(data)
    if specialKey then
        data.specialKey = specialKey
        specialKey = nil
    end
end

--[[
usage:

pressSpecialKey('Y')
pressSpecialKey('N')
pressSpecialKey('H')
]]
 
  • Нравится
Реакции: solution