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

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

  1. Vlad Horii

    Проверенный

    Регистрация:
    16 июл 2017
    Сообщения:
    311
    Симпатии:
    196
    У тебе перебор end`ов в функции main
     
  2. Artur_iOS

    Artur_iOS Знающий

    Регистрация:
    18 мар 2017
    Сообщения:
    206
    Симпатии:
    84
    Буфер создай для Slider`ов ImInt ImFloat
     
  3. u3_HeDP_DHa

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

    Регистрация:
    16 апр 2017
    Сообщения:
    133
    Симпатии:
    48
    возможно ли как-то распознать данный символ (белый квадрат, а внутри черная точка, ибо вставить не получилось) и вырезать его из текста?
     
  4. Alex1301301

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

    Регистрация:
    13 июл 2017
    Сообщения:
    83
    Симпатии:
    0
    Всмысле??? Скажи где и куда что вставлять плиз
     
  5. Artur_iOS

    Artur_iOS Знающий

    Регистрация:
    18 мар 2017
    Сообщения:
    206
    Симпатии:
    84
    local TestInt = imgui.ImInt(0)
    local TestFloat = imgui.ImFloat(0.00)
     
  6. drags

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

    Регистрация:
    24 сен 2013
    Сообщения:
    73
    Симпатии:
    30
    Это не работает напрямую через http, мне нужно без загрузки файла на пк
     
  7. Artur_iOS

    Artur_iOS Знающий

    Регистрация:
    18 мар 2017
    Сообщения:
    206
    Симпатии:
    84
    Отправляешь http запрос(через тот же luasocket можно), сайт возвращает исходный код и ты запускаешь его как поток
     
  8. Alex1301301

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

    Регистрация:
    13 июл 2017
    Сообщения:
    83
    Симпатии:
    0
    Тоже не робит. Сам попробуй в игре запустить
    local key = require "vkeys"
    local imgui = require "imgui"
    local moon = require "lib.moonloader"
    local encoding = require 'encoding'
    encoding.default = 'CP1251'
    u8 = encoding.UTF8
    
    local TestInt = imgui.ImInt(0)
    local TestFloat = imgui.ImFloat(0.00)
    
    
    
    local main_test_imgui = imgui.ImBool(false)
    function imgui.OnDrawFrame()
        if main_test_imgui.v then
            imgui.Begin("Window")
            imgui.Checkbox("testbox", false)
            imgui.SliderFloat("testfloat", TestFloat, 0.00, 10.00)
            imgui.SliderInt("TestInt", TestInt, 0, 10)
            imgui.End()
        end
    end
    
    
    
    function main()
        if not isSampfuncsLoaded() or not isSampLoaded() then return end
        while not isSampAvailable() do wait(100) end
        while true do
        wait(0)
        if wasKeyPressed(key.VK_H) then
            main_test_imgui.v = not main_test_imgui.v
        end
        imgui.Process = main_test_imgui.v end
    end
     
  9. zwhoz

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

    Регистрация:
    24 авг 2013
    Сообщения:
    106
    Симпатии:
    14
    Вот.
    
    local key = require "vkeys"
    local imgui = require "imgui"
    local moon = require "lib.moonloader"
    local encoding = require 'encoding'
    encoding.default = 'CP1251'
    u8 = encoding.UTF8
    
    local main_test_imgui = imgui.ImBool(false)
    local checkbox = imgui.ImBool(false)
    local TestInt = imgui.ImInt(0)
    local TestFloat = imgui.ImFloat(0.00)
    function imgui.OnDrawFrame()
        if main_test_imgui.v then
            local sw, sh = getScreenResolution()
            imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
            imgui.SetNextWindowSize(imgui.ImVec2(200, 200), imgui.Cond.FirstUseEver)
            imgui.Begin(u8'Window', main_test_imgui)
            imgui.Checkbox("testbox", checkbox)
            imgui.SliderFloat("TestFloat", TestFloat, 0.00, 10.00)
            imgui.SliderInt("TestInt", TestInt, 0, 10)
            imgui.End()
        end
    end
    
    function main()
        if not isSampfuncsLoaded() or not isSampLoaded() then return end
        while not isSampAvailable() do wait(100) end
        while true do
            wait(0)
            if wasKeyPressed(key.VK_H) then
                main_test_imgui.v = not main_test_imgui.v
            end
            imgui.Process = main_test_imgui.v
        end
    end
    
     
    Artur_iOS нравится это.
  10. Alex1301301

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

    Регистрация:
    13 июл 2017
    Сообщения:
    83
    Симпатии:
    0
    Что такое и как использовать:
    encoding.default = 'CP1251'
    u8 = encoding.UTF8
     
  11. zwhoz

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

    Регистрация:
    24 авг 2013
    Сообщения:
    106
    Симпатии:
    14
    Кодировка текста.
    Если хочешь на англ. можно так: imgui.Begin('Window', main_test_imgui)
    Если хочешь на русском надо так: imgui.Begin(u8'Окно', main_test_imgui), иначе вместо русских букв будут символы.
     
  12. DonHomka

    Всефорумный модератор

    Регистрация:
    8 ноя 2017
    Сообщения:
    1.772
    Симпатии:
    917
    вопросы будут. а так верно
     
  13. drags

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

    Регистрация:
    24 сен 2013
    Сообщения:
    73
    Симпатии:
    30
    Можно подробней для тупых, получил код, есть переменная script, :run() на неё не работает
     
  14. Artur_iOS

    Artur_iOS Знающий

    Регистрация:
    18 мар 2017
    Сообщения:
    206
    Симпатии:
    84
  15. drags

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

    Регистрация:
    24 сен 2013
    Сообщения:
    73
    Симпатии:
    30
  16. Malkas

    Malkas Участник

    Регистрация:
    8 фев 2018
    Сообщения:
    17
    Симпатии:
    1
    Подскажите, как визуально поднять человека на N метров вверх, влево и тд.
    Какие пакеты юзать?
     
  17. Artur_iOS

    Artur_iOS Знающий

    Регистрация:
    18 мар 2017
    Сообщения:
    206
    Симпатии:
    84
    К функции.

    Узнаешь пед игрока, узнаешь его корды, тпшишь добавив к Z координате N значение. Возможно нужно в цикле тпшить. Это теоретически должно работать.

    lua - getcharcoordinates | BlastHack — DEV_WIKI(https://blast.hk/wiki/lua:getcharcoordinates)
    lua - setcharcoordinates | BlastHack — DEV_WIKI(https://blast.hk/wiki/lua:setcharcoordinates)
     
  18. drags

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

    Регистрация:
    24 сен 2013
    Сообщения:
    73
    Симпатии:
    30
    Я понял что к функции, но как? такая ботва не работает
    function test() return script end
    --или вот такая
    function test() script end --тут вообще будет ошибка
    UPD: Разобрался, приравнивается к функции, но запуская поток скрипт не работает( и в потоке я вызывал функцию mains() (переименовал во избежание конфликта)
     
    #3518 drags, 13 фев 2018
    Последнее редактирование: 13 фев 2018
  19. u3_HeDP_DHa

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

    Регистрация:
    16 апр 2017
    Сообщения:
    133
    Симпатии:
    48
    привет, друзья, надеюсь поможете или подтолкнете на верную мыслю
    короче суть вот в чем:
    есть начальная точка с координатами - x, y, z
    есть конечная точка с координатами - x1, y1, z1
    суть задачи - рассчитать массив точек от начальный точки до конечной с шагом, допустим 50

    я так понимаю для ее решения нужно узнать расстояние между точками, потом поделить его на шаг, сделать цикл где каждую итерацию отнимать от каждой позиции шаг цикла умноженное на 50 ?
     
  20. BlackKnigga

    Всефорумный модератор

    Регистрация:
    10 янв 2016
    Сообщения:
    909
    Симпатии:
    451
    imring, u3_HeDP_DHa, inf и 2 другим нравится это.
  21. inf

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

    Регистрация:
    23 июн 2014
    Сообщения:
    76
    Симпатии:
    87
    function split(x0, y0, z0, x1, y1, z1, step)
        local Vector3D = require "vector3d"
    
        local direction = Vector3D(x1-x0, y1-y0, z1-z0)
        local distance = direction:normalize()
    
        local path = {}
        local begin = Vector3D(x0, y0 ,z0)
        local cursor = Vector3D(x0, y0, z0)
    
        path[1] = { cursor:get() }
        repeat
            cursor = cursor + direction * step
            path[#path+1] = { cursor:get() }
        until (cursor - begin):length() > distance
        return path
    end
    local path = split(0, 0, 0, 149, 0, 0, 50.0)
    -- path = { { 0, 0, 0 }, { 50, 0, 0 }, { 100, 0, 0 }, { 150, 0, 0 } }
     
    LaRossa, BORISLAVA, violance и 2 другим нравится это.
  22. DonHomka

    Всефорумный модератор

    Регистрация:
    8 ноя 2017
    Сообщения:
    1.772
    Симпатии:
    917
    Поток создать?
    lua_theard.create(function() print("322") end)
     
  23. Alex1301301

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

    Регистрация:
    13 июл 2017
    Сообщения:
    83
    Симпатии:
    0
    Как получить хендл педа/актера и потом хендл транспорта???
     
  24. Vlad Horii

    Проверенный

    Регистрация:
    16 июл 2017
    Сообщения:
    311
    Симпатии:
    196
  25. Ken Block

    Ken Block Знающий

    Регистрация:
    22 май 2015
    Сообщения:
    256
    Симпатии:
    13
    Как сделать проверку на активацию скрипта MVDhelper.luac и потом загружался мой скрипт который выгружает команды?
     
  26. Alex1301301

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

    Регистрация:
    13 июл 2017
    Сообщения:
    83
    Симпатии:
    0
  27. Vlad Horii

    Проверенный

    Регистрация:
    16 июл 2017
    Сообщения:
    311
    Симпатии:
    196
    Handle
    Player handle
    Car handle
    Vehicle handle
     
    ZKelo нравится это.
  28. Bogach

    Bogach Свой человек

    Регистрация:
    9 ноя 2015
    Сообщения:
    460
    Симпатии:
    30
    Здравствуйте товарищи скриптеры, появилось несколько вопросов:
    1. Как получить дистанцию от моего персонажа, до другого определенного игрока?
    2. Если допустим мне надо получать с текстового файла первую строчку или последнюю
    (нажал кнопку к примеру, получил первую строчку(или последнюю)) как - то можно это сделать?
    Если что примеры дайте ответы на вопросы, буду безмерно благодарен.
     
  29. Alex1301301

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

    Регистрация:
    13 июл 2017
    Сообщения:
    83
    Симпатии:
    0
    Помогите плз! Я хочу сделать Тп в ближайший кар, но не знаю как и что. Я понял, что нужны эти опкоды:
    Vehicle car, Ped ped = storeClosestEntities(Ped ped)
    warpCharIntoCar(Ped ped, Vehicle car)
    bool result, int id = sampGetPlayerIdByCharHandle(Ped handle)


    Помогите пожалуйста! Мне нужно это сделать. плз
     
  30. Vlad Horii

    Проверенный

    Регистрация:
    16 июл 2017
    Сообщения:
    311
    Симпатии:
    196
    Начинай, поможем, а то тут вопросы, а не написание на заказ.
    Возникнут вопросы, пиши
     
  31. Alex1301301

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

    Регистрация:
    13 июл 2017
    Сообщения:
    83
    Симпатии:
    0
    Ты шаришь в ImGui??? И второй вопрос, можно я у тебя буду советы в вк спрашивать? Ну тип иногда, а то тут не оч удобно
     
  32. Vlad Horii

    Проверенный

    Регистрация:
    16 июл 2017
    Сообщения:
    311
    Симпатии:
    196
    Шарю
    Спрашивай
     
  33. imring

    imring колечконуп
    Всефорумный модератор

    Регистрация:
    3 авг 2016
    Сообщения:
    1.287
    Симпатии:
    689
    float distance = getDistanceBetweenCoords3d(float x1, float y1, float z1, float x2, float y2, float z2)  -- 050A
    Пример:
    local result, handle = getCharPlayerIsTargeting(playerHandle)
    if result then
        local mx, my, mz = getCharCoordinates(playerPed)
        local x, y, z = getCharCoordinates(handle)
        local distance = getDistanceBetweenCoords3d(mx, my, mz, x, y, z)
        -- ...
    end
    
    local file = io.open(..., 'r')
    local text, t = file:read('*a'), {}
    for w in text:gmatch('[^\r\n]+') do
        t[#t+1] = w
    end
    -- Первая строка: t[1] ; Последняя строка: t[#t]
    -- ...
    
     
    Bogach нравится это.
  34. Bogach

    Bogach Свой человек

    Регистрация:
    9 ноя 2015
    Сообщения:
    460
    Симпатии:
    30
    А можешь объяснить некоторые вещи? Например:
    В этой строке: local text, t = file:read('*a'), после запятой стоит {} - это что ? вроде как это добавление в массив, но наименования массива нет
    Что значит буква w вот тут: for w in text:gmatch('[^\r\n]+') do
    в t я так понял попадает строка, если я не прав, то скажи что на самом деле
     
  35. imring

    imring колечконуп
    Всефорумный модератор

    Регистрация:
    3 авг 2016
    Сообщения:
    1.287
    Симпатии:
    689
    в таблице t будет каждая строка с файла

    w будет строкой после \n
     
    Bogach нравится это.