Софт RakSAMP Lite

Жоский поцик

Участник
114
13
Lua:
local hook = require("samp.events")

function pressKey(keyId, pressTime)
    key = keyId
    pressKey = true
    newTask(function()
        pressKey = nil
        key = nil
    end, pressTime)
end


function hook.onSendPlayerSync(data)
    if pressKey then
        data.upDownKeys = key
    end
end

function onRunCommand(cmd)
    if cmd:find("^!pkey %d+ %d+$") then
        local _k, _t = cmd:match("^!pkey (%d+) (%d+)$")
        pressKey(tonumber(_k), tonumber(_t))
        return false
    end
end

Вводишь в консоль "!pkey 65408 2000", и бот на две секунды зажмёт клавишу "W".
(Если введёшь 128 вместо 65408, то зажмёт клавишу "S")

Можно еще просто в коде:
Lua:
pressKey(65408, 2000)

Со стороны будет выглядеть так, будто ты идёшь на месте. Если тебе нужно прямо пройтись, а не зажать кнопку, то придётся писать более объёмный скрипт.
Сначало, как зашёл, написало что loaded, как reqspawn*улся - начало каждую секунду флудить этим, что делать?
1691329447271.png
 

TuHku BuHKu

Активный
136
28
С чем может быть связана проблема подключения РакСампа, а именно допусстим бот сдох от голода, попал в больку вылечился сработал скрипт реконект после лечения через 15 сек, проходит 15 сек появляется надпись конект и дальше строки не идут, а иногда идут нормально, и в итоге я не пойму почему раз через раз он подключается то нормально то нет, пробовал даже сток РакСампа, и тоже самое раз через раз подключается то нормально то нет.

Screenshot_6.png


вот на этой строке он застывает и все, дальше не конектится
 
Последнее редактирование:

tfornik

Известный
334
276
так , чуваки
как перезагружать то скрипт?
я целый день роюсь по всему инету
runCommand('!reloadlua') просто крашит
 

chromiusj

Известный
Модератор
6,102
4,491
так , чуваки
как перезагружать то скрипт?
я целый день роюсь по всему инету
runCommand('!reloadlua') просто крашит
как ответили выше,смотря от ситуации,если у тебя крашит скрипт со временем,нужно смотреть и исправлять,в противном случае как-то на костылях поддерживать состояние скрипта
 

chromiusj

Известный
Модератор
6,102
4,491
всем привет,пытаюсь переделать эти функи под раксамп,и столкнулся с тем,что либо они не работают там,либо я чего-то натворил,подскажите что не так?
сами функции

Lua:
require("addon")


function onRunCommand(cmd)
    if cmd == '!kakawka' then
        newTask(function()
            sendInput('/phone')
            wait(2000)
            arizonaOpenPhoneApp(24)
        end)
    end
end

function arizonaOpenPhoneApp(appId)
    local str = ('launchedApp|%s'):format(appId)
    local bs = bitStream.new()
    bs:writeUInt8(220)
    bs:writeInt8(18)
    bs:writeInt8(#str)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeString(str)
    bs:writeInt32(0)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:sendPacketEx(1, 7, 1)
    bs:reset()
end
function onReceivePacket(id, bs)
    if id == 220 then
        bs:ignoreBits(8)
        if (bs:readInt8(bs) == 17) then
            bs:ignoreBits(32)
            local text = bs:readString(bs:readInt32(bs))
            if text:find('window%.executeEvent%(\'event%.setActiveView\', \'%["Phone"%]\'%);') then
                newTask(arizonaOpenPhoneApp(26))
            end
        end
    end
end
 

sasha__1

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

Lua:
require("addon")


function onRunCommand(cmd)
    if cmd == '!kakawka' then
        newTask(function()
            sendInput('/phone')
            wait(2000)
            arizonaOpenPhoneApp(24)
        end)
    end
end

function arizonaOpenPhoneApp(appId)
    local str = ('launchedApp|%s'):format(appId)
    local bs = bitStream.new()
    bs:writeUInt8(220)
    bs:writeInt8(18)
    bs:writeInt8(#str)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeString(str)
    bs:writeInt32(0)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:sendPacketEx(1, 7, 1)
    bs:reset()
end
function onReceivePacket(id, bs)
    if id == 220 then
        bs:ignoreBits(8)
        if (bs:readInt8(bs) == 17) then
            bs:ignoreBits(32)
            local text = bs:readString(bs:readInt32(bs))
            if text:find('window%.executeEvent%(\'event%.setActiveView\', \'%["Phone"%]\'%);') then
                newTask(arizonaOpenPhoneApp(26))
            end
        end
    end
end
Lua:
newTask(arizonaOpenPhoneApp(26))
замени на
Lua:
newTask(arizonaOpenPhoneApp, 0, 26)
Вот так пишется правильно:
Lua:
newTask(функция, задержка, параметр1, параметр2, параметр3, ...)
И еще у тебя пишет, что команда не найдена. Чтобы избежать, добавь return false в onRunCommand() вот так:

Lua:
function onRunCommand(cmd)
    if cmd == '!kakawka' then
        newTask(function()
            sendInput('/phone')
            wait(2000)
            arizonaOpenPhoneApp(24)
        end)
        return false
    end
end
Какие еще проблемы? Конкретнее ошибки покажи
 
  • Нравится
Реакции: chromiusj

chromiusj

Известный
Модератор
6,102
4,491
Lua:
newTask(arizonaOpenPhoneApp(26))
замени на
Lua:
newTask(arizonaOpenPhoneApp, 0, 26)
Вот так пишется правильно:
Lua:
newTask(функция, задержка, параметр1, параметр2, параметр3, ...)
И еще у тебя пишет, что команда не найдена. Чтобы избежать, добавь return false в onRunCommand() вот так:

Lua:
function onRunCommand(cmd)
    if cmd == '!kakawka' then
        newTask(function()
            sendInput('/phone')
            wait(2000)
            arizonaOpenPhoneApp(24)
        end)
        return false
    end
end
Какие еще проблемы? Конкретнее ошибки покажи
Ошибок нет,в этом и проблема,функция на сампе работает нормально,а на раксампе ничего нет,в конечном итоге должно вывести диалог "Банковское меню"
 

sasha__1

Известный
27
12
Ошибок нет,в этом и проблема,функция на сампе работает нормально,а на раксампе ничего нет,в конечном итоге должно вывести диалог "Банковское меню"
Исправь то, что я написал, добавь принтов, чтобы быть уверенным, что всё вызывается. Потом напиши мне. Можно в лс.