lua send player sinc

Tema05

Известный
Автор темы
1,433
391
Версия MoonLoader
.026-beta
У меня есть функция для отправки на сервер нажатия кнопки alt(медленный шаг). Можно ли как-то уменьшить это функцию? Может быть тут что-то лишнее?
Lua:
function clickAlt()
    local ffi = require 'ffi'
    local sampfuncs = require 'sampfuncs'
    require 'samp.synchronization'

    local data = ffi.new('struct PlayerSyncData', {})
    local dest = tonumber(ffi.cast('uintptr_t', ffi.new('struct PlayerSyncData*', data)))

    data['keysData'] = 1024
    sampStorePlayerOnfootData(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)), dest)

    local bs = raknetNewBitStream()
    raknetBitStreamWriteInt8(bs, require('samp.raknet').PACKET.PLAYER_SYNC)
    raknetBitStreamWriteBuffer(bs, dest, ffi.sizeof(data))
    raknetSendBitStreamEx(bs, sampfuncs.HIGH_PRIORITY, sampfuncs.UNRELIABLE_SEQUENCED, 1)
    raknetDeleteBitStream(bs)
end
 
Решение
Не издевайся над производительностью, один раз можно же загрузить модули.

Lua:
function SendAlt()
    local _, myId = sampGetPlayerIdByCharHandle(PLAYER_PED)
    local data = allocateMemory(68)
    sampStorePlayerOnfootData(myId, data)
    setStructElement(data, 4, 2, 1024)
    sampSendOnfootData(data)
    freeMemory(data)
end

Hatiko

Известный
Проверенный
1,469
610
Не издевайся над производительностью, один раз можно же загрузить модули.

Lua:
function SendAlt()
    local _, myId = sampGetPlayerIdByCharHandle(PLAYER_PED)
    local data = allocateMemory(68)
    sampStorePlayerOnfootData(myId, data)
    setStructElement(data, 4, 2, 1024)
    sampSendOnfootData(data)
    freeMemory(data)
end
 

Tema05

Известный
Автор темы
1,433
391
Не издевайся над производительностью, один раз можно же загрузить модули.

Lua:
function SendAlt()
    local _, myId = sampGetPlayerIdByCharHandle(PLAYER_PED)
    local data = allocateMemory(68)
    sampStorePlayerOnfootData(myId, data)
    setStructElement(data, 4, 2, 1024)
    sampSendOnfootData(data)
    freeMemory(data)
end
Есть сомнения что это будет работать но ок) По поводу библиотек я забил даже не знаю почему. хотя её вызывать буду не часто да и скрипт небольшой так что не подумал об этом