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

Общая тема для вопросов по разработке скриптов на языке программирования Lua, в частности под MoonLoader.
  • Задавая вопрос, убедитесь, что его нет в списке частых вопросов и что на него ещё не отвечали (воспользуйтесь поиском).
  • Поищите ответ в теме посвященной разработке Lua скриптов в MoonLoader
  • Отвечая, убедитесь, что ваш ответ корректен.
  • Старайтесь как можно точнее выразить мысль, а если проблема связана с кодом, то обязательно прикрепите его к сообщению, используя блок [code=lua]здесь мог бы быть ваш код[/code].
  • Если вопрос связан с MoonLoader-ом первым делом желательно поискать решение на wiki.

Частые вопросы

Как научиться писать скрипты? С чего начать?
Информация - Гайд - Всё о Lua скриптинге для MoonLoader(https://blast.hk/threads/22707/)
Как вывести текст на русском? Вместо русского текста у меня какие-то каракули.
Изменить кодировку файла скрипта на Windows-1251. В Atom: комбинация клавиш Ctrl+Shift+U, в Notepad++: меню Кодировки -> Кодировки -> Кириллица -> Windows-1251.
Как получить транспорт, в котором сидит игрок?
Lua:
local veh = storeCarCharIsInNoSave(PLAYER_PED)
Как получить свой id или id другого игрока?
Lua:
local _, id = sampGetPlayerIdByCharHandle(PLAYER_PED) -- получить свой ид
local _, id = sampGetPlayerIdByCharHandle(ped) -- получить ид другого игрока. ped - это хендл персонажа
Как проверить, что строка содержит какой-то текст?
Lua:
if string.find(str, 'текст', 1, true) then
-- строка str содержит "текст"
end
Как эмулировать нажатие игровой клавиши?
Lua:
local game_keys = require 'game.keys' -- где-нибудь в начале скрипта вне функции main

setGameKeyState(game_keys.player.FIREWEAPON, -1) -- будет сэмулировано нажатие клавиши атаки
Все иды клавиш находятся в файле moonloader/lib/game/keys.lua.
Подробнее о функции setGameKeyState здесь: lua - setgamekeystate | BlastHack — DEV_WIKI(https://www.blast.hk/wiki/lua:setgamekeystate)
Как получить id другого игрока, в которого целюсь я?
Lua:
local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE) -- получить хендл персонажа, в которого целится игрок
if valid and doesCharExist(ped) then -- если цель есть и персонаж существует
  local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
  if result then -- проверить, прошло ли получение ида успешно
    -- здесь любые действия с полученным идом игрока
  end
end
Как зарегистрировать команду чата SAMP?
Lua:
-- До бесконечного цикла/задержки
sampRegisterChatCommand("mycommand", function (param)
     -- param будет содержать весь текст введенный после команды, чтобы разделить его на аргументы используйте string.match()
    sampAddChatMessage("MyCMD", -1)
end)
Крашит игру при вызове sampSendChat. Как это исправить?
Это происходит из-за бага в SAMPFUNCS, когда производится попытка отправки пакета определенными функциями изнутри события исходящих RPC и пакетов. Исправления для этого бага нет, но есть способ не провоцировать его. Вызов sampSendChat изнутри обработчика исходящих RPC/пакетов нужно обернуть в скриптовый поток с нулевой задержкой:
Lua:
function onSendRpc(id)
  -- крашит:
  -- sampSendChat('Send RPC: ' .. id)

  -- норм:
  lua_thread.create(function()
    wait(0)
    sampSendChat('Send RPC: ' .. id)
  end)
end
 
Последнее редактирование:
D

deleted-user-204957

Гость
Специально для тебя придумали и реализовали такую замечательную вещь как: Wiki.
.
 

HarlyCloud

Потрачен
238
67
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
D

deleted-user-204957

Гость
не смущает что я оттуда брал? Мне сказал проверенный чтоб я так получал
Да хоть сам фип, мне похуй честно, кто тебе и что дал, пока не научишься думать головой и искать информацию в интернете, у тебя нихуя не получится. Привык сидеть в вопросах по Lua и просить у всех помощи и ждать готовое решение, когда таких было до тебя сотни, просто нужно поискать информацию. 800 сообщений бессмысленных вопросов по Lua, понимаю в начале скриптинга, задавать столько вопросов, но ты уже дохуя тут сидишь, ты развиваться умеешь вообще?
Пожалуйста не давай такие советы людям. (Они все такие у тебя)
ни как, только если тпхать себя на корды
 
  • Нравится
Реакции: Lucifer Melton

cheremuxa

Известный
430
202
По другому ошибка будет типо закройте

ни как, только если тпхать себя на корды
Что не так?
Lua:
handlerecon = sampGetCharHandleBySampPlayerId(spec_id)
charcarrecon = isCharInAnyCar(handlerecon)
if not charcarrecon then -- тут ошибка хз почему
    charcarrecon = 'Not in car'
end
Специально для тебя придумали и реализовали такую замечательную вещь как: Wiki.
.
зачем вам привычка юзать "not", пиши == false
imgui.InputInt

Чтобы ты понимал, тут - интернет, мне без разницы что говорят за спиной, хочу спрашивать - буду спрашивать, это не твое дело.
АХАХАХАХА, какой бл inputint
Lua:
imgui.SliderInt(u8'Ползунок', peremennaya, 0, 20) - 0 это от скольки, 20 до скольки
 
Последнее редактирование:

Azller Lollison

ещкере
Друг
1,347
2,297
зачем вам привычка юзать "not", пиши == false

АХАХАХАХА, какой бл inputint
Lua:
imgui.SliderInt(u8'Ползунок', 0, 20) - 0 это от скольки, 20 до скольки
а переменная где блять умник ебучий
 

HarlyCloud

Потрачен
238
67
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
imgui.SameLine() что делает эта функция??
 

HarlyCloud

Потрачен
238
67
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

ImPasha

Software Developer & System Administrator
Друг
1,789
2,141
нихуя не понял
После использования этой функции следующий элемент расположится на той же строке, что и предыдущий элемент.

зачем вам привычка юзать "not", пиши == false
Lua:
local YouWillNotPass = nil

if not YouWillNotPass then
  print('Perfect! You stopped it!')
end

if YouWillNotPass == false then
  print("Oh, sorry, I didn't know that you're retarded!")
end
 

HarlyCloud

Потрачен
238
67
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Логи:
[22:12:30.858086] (error)    AutoPiar: Script died due to an error. (017362DC)
[22:12:32.486179] (script)    SMIHelper (1).luac: {3399FF}[SMIHelper] {FFFFFF}Проверка завершена.
[22:12:32.486179] (script)    SMIHelper (1).luac: {3399FF}[SMIHelper] {FFFFFF}Обновления отсутствуют.
[22:18:24.048287] (system)    5. hungry(arizona).lua: Script terminated. (01736464)
[22:18:24.049287] (system)    Helper ARZP: Script terminated. (017373B4)
[22:18:24.049287] (system)    6. rpgun.lua: Script terminated. (017370A4)
[22:18:24.050288] (system)    Antilomka.lua: Script terminated. (01736774)
[22:18:24.050288] (system)    RAFK: Script terminated. (01735E44)
[22:18:24.052288] (system)    AutoBikeMotoRunSwimOnMaxSpeed.lua: Script terminated. (0173722C)
[22:18:24.053288] (system)    Check MoonLoader Updates: Script terminated. (017365EC)
[22:18:24.053288] (system)    Craft Helper: Script terminated. (017368FC)
[22:18:24.060288] (system)    multiconnect.luac: Script terminated. (017C7E3C)
[22:18:24.061288] (system)    ML-ReloadAll: Script terminated. (017C7FC4)
[22:18:24.061288] (system)    routes recorder: Script terminated. (017C7384)
[22:18:24.062288] (system)    SMIHelper (1).luac: Script terminated. (017C750C)
[22:18:24.068289] (system)    specadm 2.lua: Script terminated. (017C781C)
[22:18:24.068289] (system)    Vzlom Popi.lua: Script terminated. (017C814C)
[22:18:24.069289] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\5. hungry(arizona).lua'...
[22:18:24.069289] (debug)    New script: 017C814C
[22:18:24.071289] (system)    5. hungry(arizona).lua: Loaded successfully.
[22:18:24.071289] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\5. lock.lua'...
[22:18:24.071289] (debug)    New script: 017C781C
[22:18:24.075289] (system)    Helper ARZP: Loaded successfully.
[22:18:24.075289] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\6. rpgun.lua'...
[22:18:24.075289] (debug)    New script: 017C750C
[22:18:24.082289] (system)    6. rpgun.lua: Loaded successfully.
[22:18:24.082289] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\Antilomka.lua'...
[22:18:24.082289] (debug)    New script: 017C7384
[22:18:24.084289] (system)    Antilomka.lua: Loaded successfully.
[22:18:24.085290] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\armenu.luac'...
[22:18:24.085290] (debug)    New script: 017C7FC4
[22:18:24.099290] (system)    RAFK: Loaded successfully.
[22:18:24.099290] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\AutoBikeMotoRunSwimOnMaxSpeed.lua'...
[22:18:24.099290] (debug)    New script: 017C7E3C
[22:18:24.100290] (system)    AutoBikeMotoRunSwimOnMaxSpeed.lua: Loaded successfully.
[22:18:24.100290] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\AutoPiarARZ.lua'...
[22:18:24.100290] (debug)    New script: 017C8C04
[22:18:24.108291] (system)    AutoPiar: Loaded successfully.
[22:18:24.108291] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\check-moonloader-updates.lua'...
[22:18:24.108291] (debug)    New script: 017C8A7C
[22:18:24.111291] (system)    Check MoonLoader Updates: Loaded successfully.
[22:18:24.111291] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\CraftHelper v2.6.lua'...
[22:18:24.111291] (debug)    New script: 017C8D8C
[22:18:24.117291] (system)    Craft Helper: Loaded successfully.
[22:18:24.117291] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\marker_color.lua'...
[22:18:24.117291] (debug)    New script: 017C71FC
[22:18:24.118291] (system)    marker_color.lua: Loaded successfully.
[22:18:24.119291] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\multiconnect.luac'...
[22:18:24.119291] (debug)    New script: 017C88F4
[22:18:24.126292] (system)    multiconnect.luac: Loaded successfully.
[22:18:24.126292] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\reload_all.lua'...
[22:18:24.126292] (debug)    New script: 017C7CB4
[22:18:24.127292] (system)    ML-ReloadAll: Loaded successfully.
[22:18:24.127292] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\routes_recorder.lua'...
[22:18:24.127292] (debug)    New script: 017C82D4
[22:18:24.134292] (system)    routes recorder: Loaded successfully.
[22:18:24.134292] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\SMIHelper (1).luac'...
[22:18:24.134292] (debug)    New script: 017C876C
[22:18:26.686438] (system)    SMIHelper (1).luac: Loaded successfully.
[22:18:26.686438] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\specadm 2.lua'...
[22:18:26.686438] (debug)    New script: 017C7694
[22:18:26.690439] (system)    specadm 2.lua: Loaded successfully.
[22:18:26.690439] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\Vzlom Popi.lua'...
[22:18:26.690439] (debug)    New script: 017C79A4
[22:18:26.692439] (system)    Vzlom Popi.lua: Loaded successfully.
[22:18:27.385478] (system)    marker_color.lua: Script terminated. (017C71FC)
[22:18:27.390479] (script)    SMIHelper (1).luac: {3399FF}[SMIHelper] {FFFFFF}Проверка обновлений.
[22:18:27.843504] (script)    RAFK: v5.0 Невозможно проверить обновление, попробуйте проверить его вручную на http://rkweez.ru/armenu/armenu.luac
[22:18:28.593547] (script)    SMIHelper (1).luac: {3399FF}[SMIHelper] {FFFFFF}Проверка завершена.
[22:18:28.593547] (script)    SMIHelper (1).luac: {3399FF}[SMIHelper] {FFFFFF}Обновления отсутствуют.
[22:18:42.246328] (error)    AutoPiar: ...by HarlyCloud\GTA San Andreas\moonloader\AutoPiarARZ.lua:103: attempt to call field 'TextQuestion' (a nil value)
stack traceback:
    ...by HarlyCloud\GTA San Andreas\moonloader\AutoPiarARZ.lua:103: in function 'OnDrawFrame'
    ...y by HarlyCloud\GTA San Andreas\moonloader\lib\imgui.lua:1378: in function <...y by HarlyCloud\GTA San Andreas\moonloader\lib\imgui.lua:1367>
[22:18:42.246328] (error)    AutoPiar: Script died due to an error. (017C8C04)
Не открывается имгуи окно, помогите пж
 

paulohardy

вы еще постите говно? тогда я иду к вам
Всефорумный модератор
1,907
1,282
Логи:
[22:12:30.858086] (error)    AutoPiar: Script died due to an error. (017362DC)
[22:12:32.486179] (script)    SMIHelper (1).luac: {3399FF}[SMIHelper] {FFFFFF}Проверка завершена.
[22:12:32.486179] (script)    SMIHelper (1).luac: {3399FF}[SMIHelper] {FFFFFF}Обновления отсутствуют.
[22:18:24.048287] (system)    5. hungry(arizona).lua: Script terminated. (01736464)
[22:18:24.049287] (system)    Helper ARZP: Script terminated. (017373B4)
[22:18:24.049287] (system)    6. rpgun.lua: Script terminated. (017370A4)
[22:18:24.050288] (system)    Antilomka.lua: Script terminated. (01736774)
[22:18:24.050288] (system)    RAFK: Script terminated. (01735E44)
[22:18:24.052288] (system)    AutoBikeMotoRunSwimOnMaxSpeed.lua: Script terminated. (0173722C)
[22:18:24.053288] (system)    Check MoonLoader Updates: Script terminated. (017365EC)
[22:18:24.053288] (system)    Craft Helper: Script terminated. (017368FC)
[22:18:24.060288] (system)    multiconnect.luac: Script terminated. (017C7E3C)
[22:18:24.061288] (system)    ML-ReloadAll: Script terminated. (017C7FC4)
[22:18:24.061288] (system)    routes recorder: Script terminated. (017C7384)
[22:18:24.062288] (system)    SMIHelper (1).luac: Script terminated. (017C750C)
[22:18:24.068289] (system)    specadm 2.lua: Script terminated. (017C781C)
[22:18:24.068289] (system)    Vzlom Popi.lua: Script terminated. (017C814C)
[22:18:24.069289] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\5. hungry(arizona).lua'...
[22:18:24.069289] (debug)    New script: 017C814C
[22:18:24.071289] (system)    5. hungry(arizona).lua: Loaded successfully.
[22:18:24.071289] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\5. lock.lua'...
[22:18:24.071289] (debug)    New script: 017C781C
[22:18:24.075289] (system)    Helper ARZP: Loaded successfully.
[22:18:24.075289] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\6. rpgun.lua'...
[22:18:24.075289] (debug)    New script: 017C750C
[22:18:24.082289] (system)    6. rpgun.lua: Loaded successfully.
[22:18:24.082289] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\Antilomka.lua'...
[22:18:24.082289] (debug)    New script: 017C7384
[22:18:24.084289] (system)    Antilomka.lua: Loaded successfully.
[22:18:24.085290] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\armenu.luac'...
[22:18:24.085290] (debug)    New script: 017C7FC4
[22:18:24.099290] (system)    RAFK: Loaded successfully.
[22:18:24.099290] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\AutoBikeMotoRunSwimOnMaxSpeed.lua'...
[22:18:24.099290] (debug)    New script: 017C7E3C
[22:18:24.100290] (system)    AutoBikeMotoRunSwimOnMaxSpeed.lua: Loaded successfully.
[22:18:24.100290] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\AutoPiarARZ.lua'...
[22:18:24.100290] (debug)    New script: 017C8C04
[22:18:24.108291] (system)    AutoPiar: Loaded successfully.
[22:18:24.108291] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\check-moonloader-updates.lua'...
[22:18:24.108291] (debug)    New script: 017C8A7C
[22:18:24.111291] (system)    Check MoonLoader Updates: Loaded successfully.
[22:18:24.111291] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\CraftHelper v2.6.lua'...
[22:18:24.111291] (debug)    New script: 017C8D8C
[22:18:24.117291] (system)    Craft Helper: Loaded successfully.
[22:18:24.117291] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\marker_color.lua'...
[22:18:24.117291] (debug)    New script: 017C71FC
[22:18:24.118291] (system)    marker_color.lua: Loaded successfully.
[22:18:24.119291] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\multiconnect.luac'...
[22:18:24.119291] (debug)    New script: 017C88F4
[22:18:24.126292] (system)    multiconnect.luac: Loaded successfully.
[22:18:24.126292] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\reload_all.lua'...
[22:18:24.126292] (debug)    New script: 017C7CB4
[22:18:24.127292] (system)    ML-ReloadAll: Loaded successfully.
[22:18:24.127292] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\routes_recorder.lua'...
[22:18:24.127292] (debug)    New script: 017C82D4
[22:18:24.134292] (system)    routes recorder: Loaded successfully.
[22:18:24.134292] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\SMIHelper (1).luac'...
[22:18:24.134292] (debug)    New script: 017C876C
[22:18:26.686438] (system)    SMIHelper (1).luac: Loaded successfully.
[22:18:26.686438] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\specadm 2.lua'...
[22:18:26.686438] (debug)    New script: 017C7694
[22:18:26.690439] (system)    specadm 2.lua: Loaded successfully.
[22:18:26.690439] (system)    Loading script 'C:\Games\GTA everyday by HarlyCloud\GTA San Andreas\moonloader\Vzlom Popi.lua'...
[22:18:26.690439] (debug)    New script: 017C79A4
[22:18:26.692439] (system)    Vzlom Popi.lua: Loaded successfully.
[22:18:27.385478] (system)    marker_color.lua: Script terminated. (017C71FC)
[22:18:27.390479] (script)    SMIHelper (1).luac: {3399FF}[SMIHelper] {FFFFFF}Проверка обновлений.
[22:18:27.843504] (script)    RAFK: v5.0 Невозможно проверить обновление, попробуйте проверить его вручную на http://rkweez.ru/armenu/armenu.luac
[22:18:28.593547] (script)    SMIHelper (1).luac: {3399FF}[SMIHelper] {FFFFFF}Проверка завершена.
[22:18:28.593547] (script)    SMIHelper (1).luac: {3399FF}[SMIHelper] {FFFFFF}Обновления отсутствуют.
[22:18:42.246328] (error)    AutoPiar: ...by HarlyCloud\GTA San Andreas\moonloader\AutoPiarARZ.lua:103: attempt to call field 'TextQuestion' (a nil value)
stack traceback:
    ...by HarlyCloud\GTA San Andreas\moonloader\AutoPiarARZ.lua:103: in function 'OnDrawFrame'
    ...y by HarlyCloud\GTA San Andreas\moonloader\lib\imgui.lua:1378: in function <...y by HarlyCloud\GTA San Andreas\moonloader\lib\imgui.lua:1367>
[22:18:42.246328] (error)    AutoPiar: Script died due to an error. (017C8C04)
Не открывается имгуи окно, помогите пж
Ты вызываешь функцию "textquestion", которой нет в скрипте
 

Anton Nixon

Активный
474
48
как сделать чтобы окно imgui само настраивало свою величину, в зависимости от содержимого?