Помогите с LUA скриптом

shmit_ti

Известный
Автор темы
74
19
Вот код скрипта, помогите сделать активацию на кнопку Z
И деактивацию тоже на кнопку Z если такое возможно
Если нет то активацию на F2 а деактивацию на Z
буду благодарен
 

Вложения

  • HELP.txt
    1.3 KB · Просмотры: 11

TheBrox

Известный
974
201
Вот код скрипта, помогите сделать активацию на кнопку Z
И деактивацию тоже на кнопку Z если такое возможно
Если нет то активацию на F2 а деактивацию на Z
буду благодарен
получается бесплатный бот? щас его доделуют и всё
 

shmit_ti

Известный
Автор темы
74
19
получается бесплатный бот? щас его доделуют и всё
Так он ничем толком не помогает, только тыкает пкд H(меню улучшения дерева) и жмёт ENTER
Твоя задача только бегать садить деревья (это я тоже автоматизировал биндером изменённым под себя)
И бегать от дерева к дереву чтоб улучшить его
Так-что ботом его толком и назвать нельзя
 

ARMOR

011110000111100101101001
Модератор
4,942
6,762
Как и просил
Активация/Деактивация: Z
Проблемы при открытом Диалоге или чате не будет
Команду удалил нахуй, если надо будет и команду - напиши добавлю ещё и команду
 

Вложения

  • Tree.lua
    1.2 KB · Просмотры: 12

shmit_ti

Известный
Автор темы
74
19
Как и просил
Активация/Деактивация: Z
Проблемы при открытом Диалоге или чате не будет
Команду удалил нахуй, если надо будет и команду - напиши добавлю ещё и команду
Пишет нет доступа к данной команде
 

shmit_ti

Известный
Автор темы
74
19
Написал же, команду удалил, активация Z
Та всё я понял, это проблема с биндером была
Но жмёшь кнопку Z он выводит эроглифы(текст с русского перевёлся на эроглифы) в чат , а сам скрипт не активен
1651236497963.png
 

ARMOR

011110000111100101101001
Модератор
4,942
6,762
Та всё я понял, это проблема с биндером была
Но жмёшь кнопку Z он выводит эроглифы(текст с русского перевёлся на эроглифы) в чат , а сам скрипт не активен
Посмотреть вложение 145526
У тебя кодировка из-за другого редактора полетела.
Вот код.
Lua:
require 'lib.moonloader'

local enable = false

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end 

    while true do
        wait(0)
        if enable == true and not sampIsChatInputActive() and not sampIsDialogActive() then

           setVirtualKeyDown(72, true)
            wait(60)
            setVirtualKeyDown(72, false)
            wait(60)
            setVirtualKeyDown(13, true)
            wait(60)
            setVirtualKeyDown(13, false)
            wait(60)
            setVirtualKeyDown(13, true)
            wait(60)
            setVirtualKeyDown(13, false)
            wait(60)
        end
        if isKeyJustPressed(VK_Z) and not sampIsChatInputActive() and not sampIsDialogActive() then
            enable = not enable
            sampAddChatMessage("{808000} Удачного фарма дерева,лесоруб !", -1)
            sampAddChatMessage("[АвтоУлучшениеДерева]: " .. enable and " {FFFFFF}Активирован. Нажмите {ADFF2F}Z {FFFFFF}чтобы остановить!" or "{FFFFFF} Деактивирован!", 0x006400)
        end
    end
end
 

shmit_ti

Известный
Автор темы
74
19
Написал же, команду удалил, активация Z
Всё, сделал другой чел
Там он в начале убрал команду, и сделал в начале акивацию и деактивацию
Всё работает
Но всё равно спасибо
 

Yuriy Code

Известный
753
929
Я бы тебе не рекомендовал использовать функцию setVirtualKeyDown так как лучше будет использовать отправку синхронизации.
В сниппетах функция есть samp_create_sync_data


Сама функция, её в любое свободное место кода.
Lua:
function samp_create_sync_data(sync_type, copy_from_player)
    local ffi = require 'ffi'
    local sampfuncs = require 'sampfuncs'
    -- from SAMP.Lua
    local raknet = require 'samp.raknet'
    require 'samp.synchronization'

    copy_from_player = copy_from_player or true
    local sync_traits = {
        player = {'PlayerSyncData', raknet.PACKET.PLAYER_SYNC, sampStorePlayerOnfootData},
        vehicle = {'VehicleSyncData', raknet.PACKET.VEHICLE_SYNC, sampStorePlayerIncarData},
        passenger = {'PassengerSyncData', raknet.PACKET.PASSENGER_SYNC, sampStorePlayerPassengerData},
        aim = {'AimSyncData', raknet.PACKET.AIM_SYNC, sampStorePlayerAimData},
        trailer = {'TrailerSyncData', raknet.PACKET.TRAILER_SYNC, sampStorePlayerTrailerData},
        unoccupied = {'UnoccupiedSyncData', raknet.PACKET.UNOCCUPIED_SYNC, nil},
        bullet = {'BulletSyncData', raknet.PACKET.BULLET_SYNC, nil},
        spectator = {'SpectatorSyncData', raknet.PACKET.SPECTATOR_SYNC, nil}
    }
    local sync_info = sync_traits[sync_type]
    local data_type = 'struct ' .. sync_info[1]
    local data = ffi.new(data_type, {})
    local raw_data_ptr = tonumber(ffi.cast('uintptr_t', ffi.new(data_type .. '*', data)))
    -- copy player's sync data to the allocated memory
    if copy_from_player then
        local copy_func = sync_info[3]
        if copy_func then
            local _, player_id
            if copy_from_player == true then
                _, player_id = sampGetPlayerIdByCharHandle(PLAYER_PED)
            else
                player_id = tonumber(copy_from_player)
            end
            copy_func(player_id, raw_data_ptr)
        end
    end
    -- function to send packet
    local func_send = function()
        local bs = raknetNewBitStream()
        raknetBitStreamWriteInt8(bs, sync_info[2])
        raknetBitStreamWriteBuffer(bs, raw_data_ptr, ffi.sizeof(data))
        raknetSendBitStreamEx(bs, sampfuncs.HIGH_PRIORITY, sampfuncs.UNRELIABLE_SEQUENCED, 1)
        raknetDeleteBitStream(bs)
    end
    -- metatable to access sync data and 'send' function
    local mt = {
        __index = function(t, index)
            return data[index]
        end,
        __newindex = function(t, index, value)
            data[index] = value
        end
    }
    return setmetatable({send = func_send}, mt)
end

Пример использования:
Lua:
local sync = samp_create_sync_data("player")
sync.keysData = 1024 -- Это отправка ALT
sync.send() -- Отправка синхронизации на сервер






Кстати, вместо
Lua:
if enable == true and not sampIsChatInputActive() and not sampIsDialogActive() then

Можешь использовать:
Lua:
if enable and not sampIsCursorActive() then
 
Последнее редактирование:
  • Влюблен
Реакции: GrishaMazzlov