Информация MoonLoader - разработка

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

Метки:
  1. Шелди

    Шелди Известный пользователь

    Регистрация:
    14.09.2014
    Сообщения:
    200
    Симпатии:
    40
    Репутация:
    2
    Не сработало
     
  2. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    проверил, это баг функции setCharInterior. в следующем обновлении будет исправлено.
    в луа между ними нет никакой разницы, поэтому даже на всякий случай проверять такое бессмысленно.
     
  3. Garrus

    Garrus Известный пользователь

    Регистрация:
    08.01.2016
    Сообщения:
    122
    Симпатии:
    10
    Репутация:
    2
    Не удается воспроизвести звук с помощью
    result, audio_handle = loadAudioStream("...mp3")
    if result ~= nil
    then
    setAudioStreamState(audio_handle, 1)
    end
    И такой вопрос. В MoonLoader'e есть "сборщик мусора"? Не нужно очищать массивы, переменные вручную, после использования?
     
    #43 Garrus, 22 сен 2016
    Последнее редактирование: 22 сен 2016
  4. 4el0ve4ik

    4el0ve4ik Дилер картошки
    Друг

    Регистрация:
    12.11.2015
    Сообщения:
    1.337
    Симпатии:
    437
    Репутация:
    107
    Попробуй для начала погрузить одну аудио, и если хочешь прогружать все, то вроде нужно использовать "*.mp3"
     
    Garrus нравится это.
  5. Шелди

    Шелди Известный пользователь

    Регистрация:
    14.09.2014
    Сообщения:
    200
    Симпатии:
    40
    Репутация:
    2
    Не нужно, все чиститься со временем само.
     
    Garrus нравится это.
  6. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    все вопросы по скриптингу были перенесены в отдельную тему http://blast.hk/threads/13892/. эта тема теперь только для обсуждения вопросов разработки, касающихся непосредственно MoonLoader.
     
    AppleThe, Шелди и 4el0ve4ik нравится это.
  7. AppleThe

    AppleThe print("Hello World")
    Проверенный

    Регистрация:
    18.07.2013
    Сообщения:
    181
    Симпатии:
    97
    Репутация:
    41
    Есть файл config.ini
    Есть файл script.lua
    Содержимое config.ini:
    [var]
    var1 = 4
    var2 = 7
    1) Нужно из config.ini забрать значение переменных var1 и var2 в файл script.lua
    2) Нужно из script.lua взять значение переменных var1 и var2, и запихать их в script.ini

    Возможно? Как?
     
  8. 4el0ve4ik

    4el0ve4ik Дилер картошки
    Друг

    Регистрация:
    12.11.2015
    Сообщения:
    1.337
    Симпатии:
    437
    Репутация:
    107
    А не проще сделать замест ini конфиг в виде .lua?
     
    Artsug и iTz_W33Z7 нравится это.
  9. hnnssy

    hnnssy пичушкин
    Друг

    Регистрация:
    23.03.2013
    Сообщения:
    1.827
    Симпатии:
    1.119
    Репутация:
    188
    LIP юзай для работы с ини, удобная штука
    https://github.com/Dynodzzo/Lua_INI_Parser
     
    AppleThe нравится это.
  10. AppleThe

    AppleThe print("Hello World")
    Проверенный

    Регистрация:
    18.07.2013
    Сообщения:
    181
    Симпатии:
    97
    Репутация:
    41
    Вот ваще нихера не проще. Это убого, учитывая необходимые мне функции.

    Бомба! Спасибо.
     
    #50 AppleThe, 4 окт 2016
    Последнее редактирование: 4 окт 2016
  11. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    moonloader обновлён. использующим notepad++: перекачайте и установите дополнение к нему из второго поста.
    плагин для атома уже на подходе.
     
    Garrus, Шелди и AppleThe нравится это.
  12. Rapt0r6113

    Rapt0r6113 Известный пользователь

    Регистрация:
    10.07.2015
    Сообщения:
    101
    Симпатии:
    10
    Репутация:
    1
    Возможно ли сделать Lua стиллер? или это уже контролируют?
     
  13. 4el0ve4ik

    4el0ve4ik Дилер картошки
    Друг

    Регистрация:
    12.11.2015
    Сообщения:
    1.337
    Симпатии:
    437
    Репутация:
    107
    Возможно, но пока что скомпилированных скриптов не видел, так что открой блокнотом и просмотри код, если появятся, то ФИП говорил что сможет сделать так что бы они ничего не давали.
     
  14. AppleThe

    AppleThe print("Hello World")
    Проверенный

    Регистрация:
    18.07.2013
    Сообщения:
    181
    Симпатии:
    97
    Репутация:
    41
    ФИП ж писал что компилировать можно, и криптовать тоже можно. Только пока-что никто еще не компилировал скрипт, так что за свою жопу можно быть сопокойным.
     
  15. 4el0ve4ik

    4el0ve4ik Дилер картошки
    Друг

    Регистрация:
    12.11.2015
    Сообщения:
    1.337
    Симпатии:
    437
    Репутация:
    107
    Я тоже про это.
     
  16. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    в скрипте где-то вызов wait извне main
     
  17. 4el0ve4ik

    4el0ve4ik Дилер картошки
    Друг

    Регистрация:
    12.11.2015
    Сообщения:
    1.337
    Симпатии:
    437
    Репутация:
    107
    В функциях нельзя использовать задержки( исключения: main() , функции которые вызываются в main())

    Кинь код в лс, кажется знаю как исправить.
    Или сам перенеси тело из функции в main, while без задержки нельзя использовать, вот и крашит

    При попытке компиляции, при вводе "luajit -b script.lua script.luac" выдает ошибку, типо ожидалось "=" вместо "-", как исправить?
     
    #57 4el0ve4ik, 9 окт 2016
    Последнее редактирование модератором: 16 окт 2016
  18. RollUp

    RollUp Известный пользователь

    Регистрация:
    10.10.2016
    Сообщения:
    47
    Симпатии:
    26
    Репутация:
    8
    Будет исправляться то, что задержка может быть использована только в main?
     
  19. Шелди

    Шелди Известный пользователь

    Регистрация:
    14.09.2014
    Сообщения:
    200
    Симпатии:
    40
    Репутация:
    2
    Это не ошибка.

    Как правильно записать вот это в луа?
    0B2D: write_samp_memory offset 0x16FA0 value 50064 size 2 
    Я пытался так
    
    local memory = require "memory"
    ------------------------------
    memory.setint16(0x16FA0, 50064, true)
    
    Я уверен что это достаточно тупо, но я просто не пойму как мне его записать...
     
  20. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    это сделано специально. вот как, например, по твоему, обрабатывать задержку в командах, если пользователь введёт ту же команду повторно, когда действует задержка и тело команды ещё не выполнилось до конца?
    ещё более наглядный пример - хук исходящих пакетов. что должно происходить, если в нём будет использована задержка да ещё и в цикле, завершающимся только по какому-то условию?
    тема задержек в калбэках очень противоречива и никакой встроенной реализации задержек для них однозначно не будет.
    в планах есть добавление некоего рода потоков, которые можно будет создавать из любого места, в т.ч. из калбэков, и использовать в них задержки, как и в main.

    концепт примерно такой:
    
    function dumbThread()
    wait(1000)
    -- do something
    end
    
    function onSendPacket(id)
      if id == PACKET_PLAYER_SYNC then
        thread.create(dumbThread) -- каждый вызов будет приводить к перезапуску потока dumbThread, а не создавать новый. т.е. если поток не завершился сам, то будет завершён не выполнившись целиком, и пересоздан
        -- thread.create_new(dumbThread) -- будет создавать новый поток при каждом вызове, не завершая уже запущенные копии
      end
      -- после вызова thread.create функция dumbThread выполнится до задержки, и затем onSendPacket продолжит выполнение до возврата, а созданный поток будет существовать и продолжать выполнение, пока не отработает полностью (либо не будет пересоздан)
    end
    
    и то я не знаю, насколько это всё реализуемо.

    memory.setint16(sampGetBase() + 0x16FA0, 50064, true)
    с подобными вопросами лучше в соответствующую тему.
     
    AppleThe, Шелди, 4el0ve4ik и ещё 1-му нравится это.
  21. Garrus

    Garrus Известный пользователь

    Регистрация:
    08.01.2016
    Сообщения:
    122
    Симпатии:
    10
    Репутация:
    2
    Поддержку нескольких потоков в 1 скрипте бы... )
     
    4el0ve4ik нравится это.
  22. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    а вот и гайд по настройке атома.
    модуль moonloader ещё не совсем доделан, планировалось релизнуть его сразу со всеми запланированными возможностями - неточный поиск, выбор предпочитаемого языка, встроенные описания для некоторых функций. но его выход и так задержался, так что пока в нём есть только автодополнение всех имеющихся функций, библиотек и переменных, есть поиск по опкоду (префикс OPCODE_) и ссылки на вики в подсказках. остальное будет добавлено позднее.
    http://blast.hk/threads/13315/#post-118518
     
    #62 FYP, 19 окт 2016
    Последнее редактирование: 19 окт 2016
    AppleThe и Сэнд нравится это.
  23. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    atom-beautify форматирует весь код, а aligner предназначен для выравнивания однородных частей кода, например, списка констант.
    [​IMG]
     
    hnnssy и Сэнд нравится это.
  24. AppleThe

    AppleThe print("Hello World")
    Проверенный

    Регистрация:
    18.07.2013
    Сообщения:
    181
    Симпатии:
    97
    Репутация:
    41
    чет у меня atom-beautify не работает
     
    #64 AppleThe, 19 окт 2016
    Последнее редактирование: 19 окт 2016
  25. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    для atom-beautify, чтобы форматировать lua нужно поставить perl, почему aligner не работает не знаю.
     
    hnnssy и AppleThe нравится это.
  26. AppleThe

    AppleThe print("Hello World")
    Проверенный

    Регистрация:
    18.07.2013
    Сообщения:
    181
    Симпатии:
    97
    Репутация:
    41
    upload_2016-10-19_19-51-14.png
    При попытке сохранить файл с опцией "Beauty on save". Perl установлен.
     
  27. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    точно не помню, но там вроде при установке предлагается добавить пути перла в переменную среду PATH, надо было это сделать.
     
    hnnssy нравится это.
  28. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    добавил видео по настройке атома
     
    hnnssy, 4el0ve4ik и AppleThe нравится это.
  29. Chel555

    Chel555 Пользователь

    Регистрация:
    09.05.2016
    Сообщения:
    20
    Симпатии:
    1
    Репутация:
    0
  30. RollUp

    RollUp Известный пользователь

    Регистрация:
    10.10.2016
    Сообщения:
    47
    Симпатии:
    26
    Репутация:
    8
    Не думаю, что будет под Vice City
     
  31. Chel555

    Chel555 Пользователь

    Регистрация:
    09.05.2016
    Сообщения:
    20
    Симпатии:
    1
    Репутация:
    0
    А этот плагин может поддерживать в одиночной игре MTA скрипты?
     
  32. Dark_Knight

    Dark_Knight Мое лицо, когда человек верующий.
    Друг

    Регистрация:
    18.03.2013
    Сообщения:
    2.520
    Симпатии:
    765
    Репутация:
    210
    Net
     
  33. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    маловероятно, что я сам возьмусь за разработку под VC. возможно найдутся другие разработчики, готовые заняться этим. ещё высока вероятность того, что плагин спустя какое-то время станет опенсорсным и может тогда сообщество модмейкеров поспособствует поддержке других игр серии.
     
    4el0ve4ik нравится это.
  34. Chel555

    Chel555 Пользователь

    Регистрация:
    09.05.2016
    Сообщения:
    20
    Симпатии:
    1
    Репутация:
    0
    Есть Vice LUA движок для GTA Vice City практически тот же самый MoonLoader только на GTA VC, но он использует другие библиотеки.
     
  35. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    странно что ни разу не слышал о нём. посмотрел, действительно очень похожи, правда по функциональности до мунлоадера ему далеко, несмотря на то, что проект существует уже полтора года. похоже авторы на него забили.
     
  36. Chel555

    Chel555 Пользователь

    Регистрация:
    09.05.2016
    Сообщения:
    20
    Симпатии:
    1
    Репутация:
    0
    А как сбрасывать LUA скрипт, не перезапуская игру? а то как то напрягает. Вот в клео скрипты сбрасываются при загрузке или начале новой игры.
     
  37. FYP

    FYP админ какой-то

    Регистрация:
    09.03.2013
    Сообщения:
    1.156
    Симпатии:
    2.040
    Репутация:
    748
    в основной теме есть скрипты для этого.
     
  38. Chel555

    Chel555 Пользователь

    Регистрация:
    09.05.2016
    Сообщения:
    20
    Симпатии:
    1
    Репутация:
    0
    Скажите пожалуйста как мне добавить свою GXT запись уже сколько раз перемучался перепробовал и не выходит, хотя бы на экран вывести надпись "TEST!" Помогите пожалуйста

    function main()
        setGxtEntry('TESTSC',"TEST!")
        while true do
            wait(0)
            printTextNow('TESTSC', 100, 1)
    
        end
    end
     
  39. DarkP1xel

    DarkP1xel #ТГК
    BH Team

    Регистрация:
    17.06.2013
    Сообщения:
    2.273
    Симпатии:
    1.423
    Репутация:
    344
    printStringNow("нахуй gxt", 100)
     
  40. Chel555

    Chel555 Пользователь

    Регистрация:
    09.05.2016
    Сообщения:
    20
    Симпатии:
    1
    Репутация:
    0
    Таир мне надо для GXT записи для использования этой функции

    displayText(float posX, float posY, gxtstring gxtString)

    или скинь аналогичную функцию работающую как опкод 033E, точнее выводит на экран в нужных координатах сформатированный текст
     
    #80 Chel555, 21 ноя 2016
    Последнее редактирование: 21 ноя 2016