Уроки Lua

Статус
В этой теме нельзя размещать новые ответы.

im0rg

Известный
Автор темы
Друг
587
215
Стало интересно есть ли люди которые хотят немного научиться Lua и понять как работать с Moonloader?
 
  • Нравится
Реакции: destroysouljah

4el0ve4ik

Известный
Всефорумный модератор
1,548
1,338
Вот у меня SciTE4AutoHotkey, и там если я например пишу ShowGameText, он мне дальше показывает что туда надо вписывать, по порядку текст, сколько секунд показывать, ID текста
Тип такого для Lua есть?
printText(gxtstring gxtString, int time, int flag)
printTextNow(gxtstring gxtString, int time, int flag)
такое?
 

serhiyrubin

Известный
396
104
Скачал короче последний moonloader, стоит последний SF
И это не работает на F
Аддона нет, crashes.asi есть
Код:
script_name("Binder")

require "lib.moonloader" -- VK_F

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end

    while not isSampAvailable() do
        wait(0)
    end

    function main()
        wait(0)

        if isKeyJustPressed(VK_F) then
            sampSendChat("healme")
            wait(1000)
            sampSendChat("reset")
            wait(1000)
            sampSendChat("w 1123113123131313")
        end
    end
end

В коде убрал / у команд чтобы видеть что пишет

Я имел ввиду такую же программу с подсказками)))


Лог вроде обычно все дают когда не работает
Код:
[23:21:25.698872] (info)    Working directory: D:\Games\GTA San Andreas\moonloader
[23:21:25.698872] (debug)    FP Control: 9001f
[23:21:25.698872] (system)    Installing pre-game hooks...     OK.
[23:21:26.289905] (debug)    Initializing opcode handler table
[23:21:26.290905] (debug)    package.path = .\?.lua;D:\Games\GTA San Andreas\moonloader\lib\?.lua;D:\Games\GTA San Andreas\moonloader\lib\?\init.lua;D:\Games\GTA San Andreas\moonloader\?.lua;D:\Games\GTA San Andreas\moonloader\?\init.lua
[23:21:26.290905] (debug)    package.cpath = .\?.dll;D:\Games\GTA San Andreas\moonloader\lib\?.dll;D:\Games\GTA San Andreas\moonloader\?.dll
[23:21:26.290905] (system)    Loading script 'D:\Games\GTA San Andreas\moonloader\Binder.lua'...
[23:21:26.290905] (debug)    New script: 0ADA524C
[23:21:26.294906] (system)    Binder: Loaded successfully.
[23:21:29.567093] (system)    Installing post-load hooks...     OK.
[23:21:30.976173] (system)    Binder: Script terminated. (0ADA524C)
[23:24:24.504099] (system)    Unloading...
[23:24:24.504099] (system)    Session terminated.
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Скачал короче последний moonloader, стоит последний SF
И это не работает на F

Код:
script_name("Binder")

require "lib.moonloader" -- VK_F

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end

    while not isSampAvailable() do
        wait(0)
    end

    function main()
        wait(0)

        if isKeyJustPressed(VK_F) then
            sampSendChat("healme")
            wait(1000)
            sampSendChat("reset")
            wait(1000)
            sampSendChat("w 1123113123131313")
        end
    end
end

В коде убрал / у команд чтобы видеть что пишет

Я имел ввиду такую же программу с подсказками)))


Лог вроде обычно все дают когда не работает
Код:
[23:21:25.698872] (info)    Working directory: D:\Games\GTA San Andreas\moonloader
[23:21:25.698872] (debug)    FP Control: 9001f
[23:21:25.698872] (system)    Installing pre-game hooks...     OK.
[23:21:26.289905] (debug)    Initializing opcode handler table
[23:21:26.290905] (debug)    package.path = .\?.lua;D:\Games\GTA San Andreas\moonloader\lib\?.lua;D:\Games\GTA San Andreas\moonloader\lib\?\init.lua;D:\Games\GTA San Andreas\moonloader\?.lua;D:\Games\GTA San Andreas\moonloader\?\init.lua
[23:21:26.290905] (debug)    package.cpath = .\?.dll;D:\Games\GTA San Andreas\moonloader\lib\?.dll;D:\Games\GTA San Andreas\moonloader\?.dll
[23:21:26.290905] (system)    Loading script 'D:\Games\GTA San Andreas\moonloader\Binder.lua'...
[23:21:26.290905] (debug)    New script: 0ADA524C
[23:21:26.294906] (system)    Binder: Loaded successfully.
[23:21:29.567093] (system)    Installing post-load hooks...     OK.
[23:21:30.976173] (system)    Binder: Script terminated. (0ADA524C)
[23:24:24.504099] (system)    Unloading...
[23:24:24.504099] (system)    Session terminated.
Моя ошибка.
Исправь function main() на while true do внутри функции main() или возьми отсюда https://www.blast.hk/threads/15808/#post-139066
 
  • Нравится
Реакции: serhiyrubin

4el0ve4ik

Известный
Всефорумный модератор
1,548
1,338
Скачал короче последний moonloader, стоит последний SF
И это не работает на F
Аддона нет, crashes.asi есть
Код:
script_name("Binder")

require "lib.moonloader" -- VK_F

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end --проверяем загрузку сампа и сампфункса

    while not isSampAvailable() do --ждем покуда загрузится самп.
        wait(0)
    end

    function main()
        wait(0)

        if isKeyJustPressed(VK_F) then
            sampSendChat("healme")
            wait(1000)
            sampSendChat("reset")
            wait(1000)
            sampSendChat("w 1123113123131313")
        end
    end
end

В коде убрал / у команд чтобы видеть что пишет

Я имел ввиду такую же программу с подсказками)))


Лог вроде обычно все дают когда не работает
Код:
[23:21:25.698872] (info)    Working directory: D:\Games\GTA San Andreas\moonloader
[23:21:25.698872] (debug)    FP Control: 9001f
[23:21:25.698872] (system)    Installing pre-game hooks...     OK.
[23:21:26.289905] (debug)    Initializing opcode handler table
[23:21:26.290905] (debug)    package.path = .\?.lua;D:\Games\GTA San Andreas\moonloader\lib\?.lua;D:\Games\GTA San Andreas\moonloader\lib\?\init.lua;D:\Games\GTA San Andreas\moonloader\?.lua;D:\Games\GTA San Andreas\moonloader\?\init.lua
[23:21:26.290905] (debug)    package.cpath = .\?.dll;D:\Games\GTA San Andreas\moonloader\lib\?.dll;D:\Games\GTA San Andreas\moonloader\?.dll
[23:21:26.290905] (system)    Loading script 'D:\Games\GTA San Andreas\moonloader\Binder.lua'...
[23:21:26.290905] (debug)    New script: 0ADA524C
[23:21:26.294906] (system)    Binder: Loaded successfully.
[23:21:29.567093] (system)    Installing post-load hooks...     OK.
[23:21:30.976173] (system)    Binder: Script terminated. (0ADA524C)
[23:24:24.504099] (system)    Unloading...
[23:24:24.504099] (system)    Session terminated.
Lua:
function main()
  if not isSampLoaded() or not isSampfuncsLoaded() then return end --проверяем загрузку сампа и сампфункса
  while not isSampAvailable() do wait(100) end --ждем загрузку сампа
  while true do --создаем бесконечный цикл, что б скрипт не завершал свою работу после разового выполнения
    wait(0) --обязательна в беск. циклах
    if isKeyJustPressed(VK_F) then --проверяем нажатие клавиши.
      sampSendChat("healme")--отсылаем в чат
      wait(1000) --задержка, что бы сервер не давил на мозг с антифлудом
      sampSendChat("reset")
      wait(1000)
      sampSendChat("w 1123113123131313")
    end
  end
end
 
  • Нравится
Реакции: gedwadion

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Вот у меня SciTE4AutoHotkey, и там если я например пишу ShowGameText, он мне дальше показывает что туда надо вписывать, по порядку текст, сколько секунд показывать, ID текста
Тип такого для Lua есть?
Тему почитай, плиз https://www.blast.hk/threads/13315/
 
  • Нравится
Реакции: serhiyrubin

serhiyrubin

Известный
396
104
Все работает
Буду разбираться)) В планах бот рыболов по анимациям
В рыбалке SRP всего 3 анимации.
В АХК проверял
анимация 1189 - перс стоит ; просто задержка 700 и потом нажатие Альт
анимация 26 - перс садится и типа червя насаживает, или собирает удочку ; задержка 700 и потом нажатие Альт
анимация 996 - стоит с вытянутой удочкой ; задержка 1500 и нажатие альт
В lua все это сделать возможно?
Только не делайте за меня, я сам буду)
 

4el0ve4ik

Известный
Всефорумный модератор
1,548
1,338
Все работает
Буду разбираться)) В планах бот рыболов по анимациям
В рыбалке SRP всего 3 анимации.
В АХК проверял
анимация 1189 - перс стоит ; просто задержка 700 и потом нажатие Альт
анимация 26 - перс садится и типа червя насаживает, или собирает удочку ; задержка 700 и потом нажатие Альт
анимация 996 - стоит с вытянутой удочкой ; задержка 1500 и нажатие альт
В lua все это сделать возможно?
Только не делайте за меня, я сам буду)
Естественно возможно.
 

serhiyrubin

Известный
396
104
Вот я хочу например чтобы сработал альт, использую это
Код:
setVirtualKeyDown(VK_MENU, true)
wait (200)
setVirtualKeyDown(VK_MENU, false)
А можно как то сработал не знаю как объяснить, ну короче чтобы типа этого нажатия не было, а просто отправило серверу что я нажал альт

И как сделать поиск последней строки по чатлогу? Или есть функа уже готовая?
И мне интересно есть ли RegEx в lua?

============
Нашел похоже поиск строки в чате
0B75 string text, string prefix, int color, int pcolor = sampGetChatString(int id)
 
Последнее редактирование модератором:

im0rg

Известный
Автор темы
Друг
587
215
Вот я хочу например чтобы сработал альт, использую это
Код:
setVirtualKeyDown(VK_MENU, true)
wait (200)
setVirtualKeyDown(VK_MENU, false)
А можно как то сработал не знаю как объяснить, ну короче чтобы типа этого нажатия не было, а просто отправило серверу что я нажал альт
struct SampKeys
 
  • Нравится
Реакции: serhiyrubin

Dark_Knight

Me, me and me.
Друг
4,062
2,077
struct stSAMPKeys
{
uint8_t keys_primaryFire : 1;
uint8_t keys_horn__crouch : 1;
uint8_t keys_secondaryFire__shoot : 1;
uint8_t keys_accel__zoomOut : 1;
uint8_t keys_enterExitCar : 1;
uint8_t keys_decel__jump : 1; // on foot: jump or zoom in
uint8_t keys_circleRight : 1;
uint8_t keys_aim : 1; // hydra auto aim or on foot aim
uint8_t keys_circleLeft : 1;
uint8_t keys_landingGear__lookback : 1;
uint8_t keys_unknown__walkSlow : 1;
uint8_t keys_specialCtrlUp : 1;
uint8_t keys_specialCtrlDown : 1;
uint8_t keys_specialCtrlLeft : 1;
uint8_t keys_specialCtrlRight : 1;
uint8_t keys__unused : 1;
};
 

FYP

Известный
Администратор
1,758
5,722
@JackBanana проще всего это сделать таким способом:
Lua:
setGameKeyState(21, 0xFF) -- walk
sampForceOnfootSync()
setGameKeyState(21, 0)
@Jesik, @4el0ve4ik уроки конечно нужны, вот только если вы собираетесь их делать, сначала сами хорошо разберитесь в том, что планируете преподавать. я готов помочь, если будут вопросы.

всем остальным: эта тема, вроде, для обсуждения уроков по lua, а не вопросов по скриптингу. заканчивайте оффтопить.
 
Статус
В этой теме нельзя размещать новые ответы.