отправка команды raksamp

hasler

Новичок
Автор темы
16
1
Версия MoonLoader
Другое
Хочу отправить команду кастомную, но пишет что ее не существует.
Lua:
runCommand('!key 1024')
Вот сам скрипт.

Lua:
local sampev = require("samp.events")
require('addon')

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

-- !key 1024
function onLoad()
    sendKey(1024)
end
 
Решение
asdasds:
local specialKey = nil
local SPECIAL_KEYS = {
    Y = 1,
    N = 2,
    H = 3,
   LALT = 4,
}
function pressSpecialKey(key)
    if not SPECIAL_KEYS[key] then return false end
    specialKey = SPECIAL_KEYS[key]
    updateSync()
end

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

function pressSpecialKey(key)
    if not SPECIAL_KEYS[key] then return false end
    specialKey = SPECIAL_KEYS[key]
    updateSync()
end
-- (после захода на сервер)Use: pressSpecialKey('LALT')

hasler

Новичок
Автор темы
16
1
не работает, если в консоль вводить key 1024, то диалог высвечивается, а если через скрипт то не получается. мб я туплю
Lua:
local sampev = require("samp.events")
require('addon')

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
-- !key 1024
function onLoad()
    sendKey(1024)
end

function pobeg(rtype)
local x, y = getBotPosition()
    newTask(function()
        if rtype == 'hospital' then
            if x >= 1523 and x <= 1530 and y >= 1594 and y <= 1600 then
                print('[\x1b[33mRak Ware\x1b[37m] \x1b[36mВы в больнице на 1 спавне\x1b[37m')
                runRoute('!play testers')
                wait(5700)
                sendKey(1024)
            elseif x >= 1164 and x <= 1174 and y >= -1301 and y <= -1281 then
                print('[\x1b[33mRak Ware\x1b[37m] \x1b[36mВы в больнице на 2 спавне\x1b[37m')
                runRoute('!play 2hosp'..math.random(1,7))
            end
        end
    end)
end
 
Последнее редактирование:

Dmitry Code

Известный
70
142
asdasds:
local specialKey = nil
local SPECIAL_KEYS = {
    Y = 1,
    N = 2,
    H = 3,
   LALT = 4,
}
function pressSpecialKey(key)
    if not SPECIAL_KEYS[key] then return false end
    specialKey = SPECIAL_KEYS[key]
    updateSync()
end

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

function pressSpecialKey(key)
    if not SPECIAL_KEYS[key] then return false end
    specialKey = SPECIAL_KEYS[key]
    updateSync()
end
-- (после захода на сервер)Use: pressSpecialKey('LALT')
 
  • Злость
  • Нравится
Реакции: hasler и lainban