Вопросы по Lua скриптингу

Тема в разделе "Lua", создана пользователем FYP, 8 авг 2016.

  1. trefa

    trefa ДРУК
    Друг

    Регистрация:
    5 фев 2015
    Сообщения:
    1.115
    Симпатии:
    442
    Wiki в помощь
     
  2. Frapsy

    Проверенный

    Регистрация:
    4 сен 2016
    Сообщения:
    387
    Симпатии:
    182
    Она в твоем случае завалит не поток, а бесконечный цикл.
    return юзай
     
  3. DT_Kreativ

    DT_Kreativ Интересующийся

    Регистрация:
    7 дек 2018
    Сообщения:
    117
    Симпатии:
    2
    Как сделать , чтобы когда прописываешь команду включается весь скрипт и по этой же команде полностью откоючается
     
  4. ReDexter

    ReDexter Новичок

    Регистрация:
    18 фев 2015
    Сообщения:
    3
    Симпатии:
    0
    Немножко не то учу я еще имгуй,вообщем мне надо создать обьект локальный но пока подсказали что решение тока через функцию создать и передать переменной в имгуй.
     
  5. DeMoN3D

    DeMoN3D Знающий

    Регистрация:
    27 окт 2015
    Сообщения:
    258
    Симпатии:
    22
    можно функцию что-то в роде onScriptTerminated? не знаю названия, но думаю и так будет понятно
    В общем, функция, которая вызывается при умирании скрипта
     
  6. trefa

    trefa ДРУК
    Друг

    Регистрация:
    5 фев 2015
    Сообщения:
    1.115
    Симпатии:
    442
    Это события, а не функции
    https://blast.hk/wiki/lua:onscriptterminate

    sampRegisterChatCommand("turn", function() enable = not enable end)
     
    DT_Kreativ нравится это.
  7. DT_Kreativ

    DT_Kreativ Интересующийся

    Регистрация:
    7 дек 2018
    Сообщения:
    117
    Симпатии:
    2
    А как сделать чтобы после того, как ты написал /turn в чате писалось - отключён скрипт
     
  8. trefa

    trefa ДРУК
    Друг

    Регистрация:
    5 фев 2015
    Сообщения:
    1.115
    Симпатии:
    442
    sampRegisterChatCommand("turn", function()
        enable = not enable
        sampAddChatMessage("Скрипт "..(enable and "Включен" or "Выключен")..".", -1)
    end)
     
    DT_Kreativ нравится это.
  9. tedj

    tedj Интересующийся

    Регистрация:
    22 май 2018
    Сообщения:
    100
    Симпатии:
    22
    весь код дай
     
  10. Oreshka23

    Oreshka23 Знающий

    Регистрация:
    10 май 2015
    Сообщения:
    216
    Симпатии:
    65
    Как сделать чтобы renderDrawBox был в центре, именно центр бокса в центре экрана
     
  11. vova2999

    vova2999 Постоянный участник

    Регистрация:
    1 янв 2018
    Сообщения:
    54
    Симпатии:
    3
    Как проверить наличие пикапа по id в зоне стрима, желательно сразу кодом для аутиста :)))
     
  12. Oreshka23

    Oreshka23 Знающий

    Регистрация:
    10 май 2015
    Сообщения:
    216
    Симпатии:
    65
    Если бы было так просто
    upload_2019-5-16_22-18-12.png
     
  13. Petr_Sergeevich

    Проверенный

    Регистрация:
    25 июн 2017
    Сообщения:
    564
    Симпатии:
    170
    Тебе ещё нужно вычесть размеры спрайта, разделённые на два (width / 2, height / 2)
    Получить их можно так:
    local width, height = renderGetTextureSize(texture)
     
    Oreshka23 нравится это.
  14. FBenz

    FBenz Интересующийся

    Регистрация:
    12 дек 2018
    Сообщения:
    153
    Симпатии:
    10
    Заваливает цикл >> Умирает поток. Ибо он выполняется и сдыхает.
     
  15. shinoa

    shinoa Интересующийся

    Регистрация:
    6 ноя 2017
    Сообщения:
    153
    Симпатии:
    26
    Как получить свой ФПС?
     
  16. Wisadop

    Wisadop Интересующийся

    Регистрация:
    1 дек 2018
    Сообщения:
    115
    Симпатии:
    14
    в консоли SF вводишь fps
    и в правом верхнем углу будет отображаться
     
  17. shinoa

    shinoa Интересующийся

    Регистрация:
    6 ноя 2017
    Сообщения:
    153
    Симпатии:
    26
    Я знаю,но мне надо получить значение своего ФПСа, чтобы потом юзать
     
  18. dmitri4

    dmitri4 Знающий

    Регистрация:
    8 май 2017
    Сообщения:
    263
    Симпатии:
    29
    fps = memory.getfloat(0xB7CB50, 4, false)
     
  19. shinoa

    shinoa Интересующийся

    Регистрация:
    6 ноя 2017
    Сообщения:
    153
    Симпатии:
    26
    Пробовал, не оно, выводит статично значение "500"
     
  20. dmitri4

    dmitri4 Знающий

    Регистрация:
    8 май 2017
    Сообщения:
    263
    Симпатии:
    29
    В смысле? Его в цикл надо закинуть
     
  21. Shell :3

    Shell :3 Интересующийся

    Регистрация:
    10 июл 2018
    Сообщения:
    132
    Симпатии:
    22
    Получи размер экрана, раздели на два, вот тебе и будет центр.
     
  22. DmitryMakarov

    DmitryMakarov Постоянный участник

    Регистрация:
    29 апр 2017
    Сообщения:
    70
    Симпатии:
    0
    fast gun как сделать?
    команды:
    /de [кол-во пт] (это дигл, сокращенно от /makegun 2 [кол-во пт])
    одной команды достаточно, остальные я сам добавлю
    и можно ли сделать, чтобы если ган не делается (нехватка мет/пт), то в чат выводился текст "Возможно у вас не хватает металла/патронов"
     
  23. CyberSuslik

    CyberSuslik Постоянный участник

    Регистрация:
    16 мар 2018
    Сообщения:
    89
    Симпатии:
    12
    function main()
        if not isSampfuncsLoaded() or not isSampLoaded() then return end
        while not isSampAvailable() do wait(100) end
        sampRegisterChatCommand("de", deagle_cmd)
        while true do
            wait(0)
        end
    end
    
    
    
    function deagle_cmd(param)
        local pt = tonumber(param)
        sampSendChat(string.format("/makegun 2 %d", pt))
    end
    По второму вопросу насчет сообщения, можно. Для этого тебе нужно проверить текущее количество мат/пт, высчитываешь нужное количество мат/пт для создания гана с твоим количеством ПТ. Проверяешь хватает ли мат/пт на создание, если не хватает то выводишь сообщение.

    В цикле выводи
     
    shinoa нравится это.
  24. Quasper

    Quasper Интересующийся

    Регистрация:
    14 мар 2015
    Сообщения:
    118
    Симпатии:
    24
    screenX, screenY = getScreenResolution()
    posX, posY = screenX - sizeX / 2, screenY - sizeY / 2 -- sizeX и sizeY это размер твоего дравбокса
    и затем делай рендер на posX posY

    pickup = sampGetPickupHandleBySampId(pickupId) --Принимает ID пикапа и  возвращает его хэндл
    if pickup ~= nil then
    if doesPickupExist(pickup) then
    print("Пикап ID: " .. pickupId .. " в зоне стрима")
    end
    end
     
    vova2999 нравится это.
  25. vova2999

    vova2999 Постоянный участник

    Регистрация:
    1 янв 2018
    Сообщения:
    54
    Симпатии:
    3
    Можно ли как то обновить стрим находясь в афк?)
     
  26. ufdhbi

    ufdhbi https://vk.com/gfrtgf
    Проверенный

    Регистрация:
    3 фев 2015
    Сообщения:
    845
    Симпатии:
    355
    фейк афк? Если да, то входящию синхру не нопил?
     
  27. Wisadop

    Wisadop Интересующийся

    Регистрация:
    1 дек 2018
    Сообщения:
    115
    Симпатии:
    14
    Скиньте пожалуйста анти афк на lua коде
     
  28. WebDim

    WebDim Активный участник

    Регистрация:
    7 мар 2018
    Сообщения:
    43
    Симпатии:
    2
    В свернутом режиме:

    function WorkInBackground(work)
        local memory = require 'memory'
        if work then -- on
            memory.setuint8(7634870, 1)
            memory.setuint8(7635034, 1)
            memory.fill(7623723, 144, 8)
            memory.fill(5499528, 144, 6)
        else -- off
            memory.setuint8(7634870, 0)
            memory.setuint8(7635034, 0)
            memory.hex2bin('5051FF1500838500', 7623723, 8)
            memory.hex2bin('0F847B010000', 5499528, 6)
        end
    end
    
    WorkInBackground(true) / WorkInBackground(false)
    Фейк афк
    local hook = require 'lib.samp.events'
    function hook.onSendPlayerSync(data)
                return false
     end
    Полностью:
    require "lib.moonloader"
    local font_render = renderCreateFont('COLONNA MT', 12, 6)
    local activation_script = false
    local last_text = ""
    local hook = require 'lib.samp.events' -- Загружаем samp.lua
    local isAfk = false
    function main()
        if not isSampfuncsLoaded() or not isSampLoaded() then return end
        while not isSampAvailable() do wait(1000) end
        sampAddChatMessage("• {FFC800}[Подсказка] {ffffff}загружен...", 0xffffff)
        sampRegisterChatCommand("afk", function() isAfk = not isAfk end)
        while true do
            wait(0)
            if isAfk then
                rx, ry = getScreenResolution()
                renderFontDrawText(font_render, '{FFD700}Вы в АФК', 10, ry - 20, 0xFF00FFFF)
            end
            --wait(-1)
        end
    end
    function hook.onSendPlayerSync(data)
        if isAfk then
            return false
        end
    end
    
    function hook.onSendVehicleSync(data)
        if isAfk then
            return false
        end
    end
     
  29. Wisadop

    Wisadop Интересующийся

    Регистрация:
    1 дек 2018
    Сообщения:
    115
    Симпатии:
    14
    Помогите пожалуйста как связывать lua imgui с с софтом[​IMG]
    То есть как сделать так когда я нажимаю на ползунок активировался скрипт по команде /afk
    ???
     
  30. madrasso

    Проверенный

    Регистрация:
    27 июл 2016
    Сообщения:
    526
    Симпатии:
    90
    sampProcessChatInput('/afk')
     
  31. WebDim

    WebDim Активный участник

    Регистрация:
    7 мар 2018
    Сообщения:
    43
    Симпатии:
    2
    local imadd = require 'imgui_addons'
    
    ---
    if imadd.ToggleButton("AFK", ImBool) then
            isAfk = ImBool.v
    end
     
    vova2999 нравится это.
  32. Wisadop

    Wisadop Интересующийся

    Регистрация:
    1 дек 2018
    Сообщения:
    115
    Симпатии:
    14
    У меня он бесконечно включается и выключается когда я открою imgui меню, хоть я ползунок и не включил
     
  33. WebDim

    WebDim Активный участник

    Регистрация:
    7 мар 2018
    Сообщения:
    43
    Симпатии:
    2
    За чем запускать другой скрипт, не проще в свой вставить?
     
  34. Wisadop

    Wisadop Интересующийся

    Регистрация:
    1 дек 2018
    Сообщения:
    115
    Симпатии:
    14
    Я в свой скрипт вставляю, imgui перестаёт работать, а анти афк работает

    Помоги пожалуйста сделать что бы на ползунок (работа в свёрнутом режиме) анти афк включался
    t1_bb там имгуай
    в тесте анти афк
     

    Вложения:

    • t1_bb.lua
      Размер файла:
      6,1 КБ
      Просмотров:
      3
    • test.lua
      Размер файла:
      1,3 КБ
      Просмотров:
      2
  35. FBenz

    FBenz Интересующийся

    Регистрация:
    12 дек 2018
    Сообщения:
    153
    Симпатии:
    10
    Как из луа потока передать переменную в основной код?