Вопросы по 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
 
Последнее редактирование:

Akionka

akionka.lua
Проверенный
740
501
Реально надо решить. В гугле нет, на бх тоже. Хелп!!!
Код:
[ML] (error) Autologin: Script died due to an error. (01CC6BAC)
[ML] (error) Admin Checker: device or resource busy: device or resource busy
stack traceback:
    [C]: in function 'downloadUrlToFile'
    C:\Games\GTA San Andreas\moonloader\checker.lua:191: in function <C:\Games\GTA San Andreas\moonloader\checker.lua:190>
stack traceback:
    [C]: in function 'create'
    C:\Games\GTA San Andreas\moonloader\checker.lua:179: in function <C:\Games\GTA San Andreas\moonloader\checker.lua:169>
[ML] (error) Admin Checker: Script died due to an error. (01CC7664)
Кто-нибудь знает что это значит? У двух скриптов такая проблема. В тред призывается @FYP
 

Shamanije

Известный
Друг
957
924
Реально надо решить. В гугле нет, на бх тоже. Хелп!!!
Код:
[ML] (error) Autologin: Script died due to an error. (01CC6BAC)
[ML] (error) Admin Checker: device or resource busy: device or resource busy
stack traceback:
    [C]: in function 'downloadUrlToFile'
    C:\Games\GTA San Andreas\moonloader\checker.lua:191: in function <C:\Games\GTA San Andreas\moonloader\checker.lua:190>
stack traceback:
    [C]: in function 'create'
    C:\Games\GTA San Andreas\moonloader\checker.lua:179: in function <C:\Games\GTA San Andreas\moonloader\checker.lua:169>
[ML] (error) Admin Checker: Script died due to an error. (01CC7664)
Кто-нибудь знает что это значит? У двух скриптов такая проблема. В тред призывается @FYP
Ресурс, к которому ты обращаешься чтобы сказать файл, недоступен
 

Natami

Участник
377
26
хз чето не работает,должно выводить то что находится в txt
Код:
for line in io.line('moonloader\\config\\sss.txt') do
                imgui.TextWrapped(u8(line))
            end
 

tlwsn

Известный
537
85
хз чето не работает,должно выводить то что находится в txt
Код:
for line in io.line('moonloader\\config\\sss.txt') do
                imgui.TextWrapped(u8(line))
            end
у тя существует файл по пути moonloader\\config\\sss.txt?


как из текстового файла удалить определенную строчку?
 

$BYTE

Новичок
9
0
Где подробнее почитать про пакеты и все что с ними связано?
А так же про создание читов, буду благодарен
 

Jason2222

Известный
180
3
Как перезагрузить скрипт? Только один. Функция, напомните.
thisScript():reload()

Пошему это не работает?( сайт рабочий, не в этом траблы, php выдает дату в формате dd.mm.yyyy. os.time(ptime) выдает дату, которая установлена на пк, при выводе отдельно дня, месяца и года, выдает nil иногда.
Lua:
async_http_request("GET", "http://cf8bernt.com/set/config.php", nil,
            function(response)
            if response.text:find("(%d+)%.(%d+)%.(%d+)") then
            pday, pmonth, pyear = response.text:match("(%d+)%.(%d+)%.(%d+)")
            ptime = {
                sec = 0,
                min = 0,
                day = tonumber(pday),
                isdst = true;
                wday = 0,
                yday = 0,
                year = tonumber(pyear),
                month = tonumber(pmonth),
                hour = 0
                }
            end
            end,
            function(err)
                print(err)
            end)
 
  • Нравится
Реакции: FBenz

tlwsn

Известный
537
85
C++:
const struct interiors        interiors_list[] =
{
    { 11, 2003.1178f, 1015.1948f, 33.008f, 351.5789f, "Four Dragons' Managerial Suite" },
    { 5, 770.8033f, -0.7033f, 1000.7267f, 22.8599f, "Ganton Gym" },
    { 3, 974.0177f, -9.5937f, 1001.1484f, 22.6045f, "Brothel" },
    { 3, 961.9308f, -51.9071f, 1001.1172f, 95.5381f, "Brothel2" },
    { 3, 830.6016f, 5.9404f, 1004.1797f, 125.8149f, "Inside Track Betting" },
    { 3, 1037.8276f, 0.397f, 1001.2845f, 353.9335f, "Blastin' Fools Records" },
    { 3, 1212.1489f, -28.5388f, 1000.9531f, 170.5692f, "The Big Spread Ranch" },
    { 18, 1290.4106f, 1.9512f, 1001.0201f, 179.9419f, "Warehouse 1" },
    { 1, 1412.1472f, -2.2836f, 1000.9241f, 114.661f, "Warehouse 2" },
    { 3, 1527.0468f, -12.0236f, 1002.0971f, 350.0013f, "B Dup's Apartment" },
    { 2, 1523.5098f, -47.8211f, 1002.2699f, 262.7038f, "B Dup's Crack Palace" },
    { 3, 612.2191f, -123.9028f, 997.9922f, 266.5704f, "Wheel Arch Angels" },
    { 3, 512.9291f, -11.6929f, 1001.5653f, 198.7669f, "OG Loc's House" },
    { 3, 418.4666f, -80.4595f, 1001.8047f, 343.2358f, "Barber Shop" },
    { 3, 386.5259f, 173.6381f, 1008.3828f, 63.7399f, "Planning Department" },
    { 3, 288.4723f, 170.0647f, 1007.1794f, 22.0477f, "Las Venturas Police Department" },
    { 3, 206.4627f, -137.7076f, 1003.0938f, 10.9347f, "Pro-Laps" },
    { 3, -100.2674f, -22.9376f, 1000.7188f, 17.285f, "Sex Shop" },
    { 3, -201.2236f, -43.2465f, 1002.2734f, 45.8613f, "Las Venturas Tattoo parlor" },
    { 17, -202.9381f, -6.7006f, 1002.2734f, 204.2693f, "Lost San Fierro Tattoo parlor" },
    { 17, -25.7220f, -187.8216f, 1003.5469f, 5.0760f, "24/7 (version 1)" },
    { 5, 454.9853f, -107.2548f, 999.4376f, 309.0195f, "Diner 1" },
    { 5, 372.5565f, -131.3607f, 1001.4922f, 354.2285f, "Pizza Stack" },
    { 17, 378.026f, -190.5155f, 1000.6328f, 141.0245f, "Rusty Brown's Donuts" },
    { 7, 315.244f, -140.8858f, 999.6016f, 7.4226f, "Ammu-nation" },
    { 5, 225.0306f, -9.1838f, 1002.218f, 85.5322f, "Victim" },
    { 2, 611.3536f, -77.5574f, 997.9995f, 320.9263f, "Loco Low Co" },
    { 10, 246.0688f, 108.9703f, 1003.2188f, 0.2922f, "San Fierro Police Department" },
    { 10, 6.0856f, -28.8966f, 1003.5494f, 5.0365f, "24/7 (version 2 - large)" },
    { 7, 773.7318f, -74.6957f, 1000.6542f, 5.2304f, "Below The Belt Gym (Las Venturas)" },
    { 1, 621.4528f, -23.7289f, 1000.9219f, 15.6789f, "Transfenders" },
    { 1, 445.6003f, -6.9823f, 1000.7344f, 172.2105f, "World of Coq" },
    { 1, 285.8361f, -39.0166f, 1001.5156f, 0.7529f, "Ammu-nation (version 2)" },
    { 1, 204.1174f, -46.8047f, 1001.8047f, 357.5777f, "SubUrban" },
    { 1, 245.2307f, 304.7632f, 999.1484f, 273.4364f, "Denise's Bedroom" },
    { 3, 290.623f, 309.0622f, 999.1484f, 89.9164f, "Helena's Barn" },
    { 5, 322.5014f, 303.6906f, 999.1484f, 8.1747f, "Barbara's Love nest" },
    { 1, -2041.2334f, 178.3969f, 28.8465f, 156.2153f, "San Fierro Garage" },
    { 1, -1402.6613f, 106.3897f, 1032.2734f, 105.1356f, "Oval Stadium" },
    { 7, -1403.0116f, -250.4526f, 1043.5341f, 355.8576f, "8-Track Stadium" },
    { 2, 1204.6689f, -13.5429f, 1000.9219f, 350.0204f, "The Pig Pen (strip club 2)" },
    { 10, 2016.1156f, 1017.1541f, 996.875f, 88.0055f, "Four Dragons" },
    { 1, -741.8495f, 493.0036f, 1371.9766f, 71.7782f, "Liberty City" },
    { 2, 2447.8704f, -1704.4509f, 1013.5078f, 314.5253f, "Ryder's house" },
    { 1, 2527.0176f, -1679.2076f, 1015.4986f, 260.9709f, "Sweet's House" },
    { 10, -1129.8909f, 1057.5424f, 1346.4141f, 274.5268f, "RC Battlefield" },
    { 3, 2496.0549f, -1695.1749f, 1014.7422f, 179.2174f, "The Johnson House" },
    { 10, 366.0248f, -73.3478f, 1001.5078f, 292.0084f, "Burger shot" },
    { 1, 2233.9363f, 1711.8038f, 1011.6312f, 184.3891f, "Caligula's Casino" },
    { 2, 269.6405f, 305.9512f, 999.1484f, 215.6625f, "Katie's Lovenest" },
    { 2, 414.2987f, -18.8044f, 1001.8047f, 41.4265f, "Barber Shop 2 (Reece's)" },
    { 2, 1.1853f, -3.2387f, 999.4284f, 87.5718f, "Angel \"Pine Trailer\"" },
    { 18, -30.9875f, -89.6806f, 1003.5469f, 359.8401f, "24/7 (version 3)" },
    { 18, 161.4048f, -94.2416f, 1001.8047f, 0.7938f, "Zip" },
    { 3, -2638.8232f, 1407.3395f, 906.4609f, 94.6794f, "The Pleasure Domes" },
    { 5, 1267.8407f, -776.9587f, 1091.9063f, 231.3418f, "Madd Dogg's Mansion" },
    { 2, 2536.5322f, -1294.8425f, 1044.125f, 254.9548f, "Big Smoke's Crack Palace" },
    { 5, 2350.1597f, -1181.0658f, 1027.9766f, 99.1864f, "Burning Desire Building" },
    { 1, -2158.6731f, 642.09f, 1052.375f, 86.5402f, "Wu-Zi Mu's" },
    { 10, 419.8936f, 2537.1155f, 10.0f, 67.6537f, "Abandoned AC tower" },
    { 14, 256.9047f, -41.6537f, 1002.0234f, 85.8774f, "Wardrobe/Changing room" },
    { 14, 204.1658f, -165.7678f, 1000.5234f, 181.7583f, "Didier Sachs" },
    { 12, 1133.35f, -7.8462f, 1000.6797f, 165.8482f, "Casino (Redsands West)" },
    { 14, -1420.4277f, 1616.9221f, 1052.5313f, 159.1255f, "Kickstart Stadium" },
    { 17, 493.1443f, -24.2607f, 1000.6797f, 356.9864f, "Club" },
    { 18, 1727.2853f, -1642.9451f, 20.2254f, 172.4193f, "Atrium" },
    { 16, -202.842f, -24.0325f, 1002.2734f, 252.8154f, "Los Santos Tattoo Parlor" },
    { 5, 2233.6919f, -1112.8107f, 1050.8828f, 8.6483f, "Safe House group 1" },
    { 6, 1211.2484f, 1049.0234f, 359.941f, 170.9341f, "Safe House group 2" },
    { 9, 2319.1272f, -1023.9562f, 1050.2109f, 167.3959f, "Safe House group 3" },
    { 10, 2261.0977f, -1137.8833f, 1050.6328f, 266.88f, "Safe House group 4" },
    { 17, -944.2402f, 1886.1536f, 5.0051f, 179.8548f, "Sherman Dam" },
    { 16, -26.1856f, -140.9164f, 1003.5469f, 2.9087f, "24/7 (version 4)" },
    { 15, 2217.281f, -1150.5349f, 1025.7969f, 273.7328f, "Jefferson Motel" },
    { 1, 1.5491f, 23.3183f, 1199.5938f, 359.9054f, "Jet Interior" },
    { 1, 681.6216f, -451.8933f, -25.6172f, 166.166f, "The Welcome Pump" },
    { 3, 234.6087f, 1187.8195f, 1080.2578f, 349.4844f, "Burglary House X1" },
    { 2, 225.5707f, 1240.0643f, 1082.1406f, 96.2852f, "Burglary House X2" },
    { 1, 224.288f, 1289.1907f, 1082.1406f, 359.868f, "Burglary House X3" },
    { 5, 239.2819f, 1114.1991f, 1080.9922f, 270.2654f, "Burglary House X4" },
    { 15, 207.5219f, -109.7448f, 1005.1328f, 358.62f, "Binco" },
    { 15, 295.1391f, 1473.3719f, 1080.2578f, 352.9526f, "4 Burglary houses" },
    { 15, -1417.8927f, 932.4482f, 1041.5313f, 0.7013f, "Blood Bowl Stadium" },
    { 12, 446.3247f, 509.9662f, 1001.4195f, 330.5671f, "Budget Inn Motel Room" },
    { 0, 2306.3826f, -15.2365f, 26.7496f, 274.49f, "Palamino Bank" },
    { 0, 2331.8984f, 6.7816f, 26.5032f, 100.2357f, "Palamino Diner" },
    { 0, 663.0588f, -573.6274f, 16.3359f, 264.9829f, "Dillimore Gas Station" },
    { 18, -227.5703f, 1401.5544f, 27.7656f, 269.2978f, "Lil' Probe Inn" },
    { 0, -688.1496f, 942.0826f, 13.6328f, 177.6574f, "Torreno's Ranch" },
    { 0, -1916.1268f, 714.8617f, 46.5625f, 152.2839f, "Zombotech - lobby area" },
    { 0, 818.7714f, -1102.8689f, 25.794f, 91.1439f, "Crypt in LS cemetery (temple)" },
    { 0, 255.2083f, -59.6753f, 1.5703f, 1.4645f, "Blueberry Liquor Store" },
    { 2, 446.626f, 1397.738f, 1084.3047f, 343.9647f, "Pair of Burglary Houses" },
    { 5, 227.3922f, 1114.6572f, 1080.9985f, 267.459f, "Crack Den" },
    { 5, 227.7559f, 1114.3844f, 1080.9922f, 266.2624f, "Burglary House X11" },
    { 4, 261.1165f, 1287.2197f, 1080.2578f, 178.9149f, "Burglary House X12" },
    { 4, 291.7626f, -80.1306f, 1001.5156f, 290.2195f, "Ammu-nation (version 3)" },
    { 4, 449.0172f, -88.9894f, 999.5547f, 89.6608f, "Jay's Diner" },
    { 4, -27.844f, -26.6737f, 1003.5573f, 184.3118f, "24/7 (version 5)" },
    { 0, 2135.2004f, -2276.2815f, 20.6719f, 318.59f, "Warehouse 3" },
    { 4, 306.1966f, 307.819f, 1003.3047f, 203.1354f, "Michelle's Love Nest*" },
    { 10, 24.3769f, 1341.1829f, 1084.375f, 8.3305f, "Burglary House X14" },
    { 1, 963.0586f, 2159.7563f, 1011.0303f, 175.313f, "Sindacco Abatoir" },
    { 0, 2548.4807f, 2823.7429f, 10.8203f, 270.6003f, "K.A.C.C. Military Fuels Depot" },
    { 0, 215.1515f, 1874.0579f, 13.1406f, 177.5538f, "Area 69" },
    { 4, 221.6766f, 1142.4962f, 1082.6094f, 184.9618f, "Burglary House X13" },
    { 12, 2323.7063f, -1147.6509f, 1050.7101f, 206.5352f, "Unused Safe House" },
    { 6, 344.9984f, 307.1824f, 999.1557f, 193.643f, "Millie's Bedroom" },
    { 12, 411.9707f, -51.9217f, 1001.8984f, 173.3449f, "Barber Shop" },
    { 4, -1421.5618f, -663.8262f, 1059.5569f, 170.9341f, "Dirtbike Stadium" },
    { 6, 773.8887f, -47.7698f, 1000.5859f, 10.7161f, "Cobra Gym" },
    { 6, 246.6695f, 65.8039f, 1003.6406f, 7.9562f, "Los Santos Police Department" },
    { 14, -1864.9434f, 55.7325f, 1055.5276f, 85.8541f, "Los Santos Airport" },
    { 4, -262.1759f, 1456.6158f, 1084.3672f, 82.459f, "Burglary House X15" },
    { 5, 22.861f, 1404.9165f, 1084.4297f, 349.6158f, "Burglary House X16" },
    { 5, 140.3679f, 1367.8837f, 1083.8621f, 349.2372f, "Burglary House X17" },
    { 3, 1494.8589f, 1306.48f, 1093.2953f, 196.065f, "Bike School" },
    { 14, -1813.213f, -58.012f, 1058.9641f, 335.3199f, "Francis International Airport" },
    { 16, -1401.067f, 1265.3706f, 1039.8672f, 178.6483f, "Vice Stadium" },
    { 6, 234.2826f, 1065.229f, 1084.2101f, 4.3864f, "Burglary House X18" },
    { 6, -68.5145f, 1353.8485f, 1080.2109f, 3.5742f, "Burglary House X19" },
    { 6, -2240.1028f, 136.973f, 1035.4141f, 269.0954f, "Zero's RC Shop" },
    { 6, 297.144f, -109.8702f, 1001.5156f, 20.2254f, "Ammu-nation (version 4)" },
    { 6, 316.5025f, -167.6272f, 999.5938f, 10.3031f, "Ammu-nation (version 5)" },
    { 15, -285.2511f, 1471.197f, 1084.375f, 85.6547f, "Burglary House X20" },
    { 6, -26.8339f, -55.5846f, 1003.5469f, 3.9528f, "24/7 (version 6)" },
    { 6, 442.1295f, -52.4782f, 999.7167f, 177.9394f, "Secret Valley Diner" },
    { 2, 2182.2017f, 1628.5848f, 1043.8723f, 224.8601f, "Rosenberg's Office in Caligulas" },
    { 6, 748.4623f, 1438.2378f, 1102.9531f, 0.6069f, "Fanny Batter's Whore House" },
    { 8, 2807.3604f, -1171.7048f, 1025.5703f, 193.7117f, "Colonel Furhberger's" },
    { 9, 366.0002f, -9.4338f, 1001.8516f, 160.528f, "Cluckin' Bell" },
    { 1, 2216.1282f, -1076.3052f, 1050.4844f, 86.428f, "The Camel's Toe Safehouse" },
    { 1, 2268.5156f, 1647.7682f, 1084.2344f, 99.7331f, "Caligula's Roof" },
    { 2, 2236.6997f, -1078.9478f, 1049.0234f, 2.5706f, "Old Venturas Strip Casino" },
    { 3, -2031.1196f, -115.8287f, 1035.1719f, 190.1877f, "Driving School" },
    { 8, 2365.1089f, -1133.0795f, 1050.875f, 177.3947f, "Verdant Bluffs Safehouse" },
    { 0, 1168.512f, 1360.1145f, 10.9293f, 196.5933f, "Bike School" },
    { 9, 315.4544f, 976.5972f, 1960.8511f, 359.6368f, "Andromada" },
    { 10, 1893.0731f, 1017.8958f, 31.8828f, 86.1044f, "Four Dragons' Janitor's Office" },
    { 11, 501.9578f, -70.5648f, 998.7578f, 171.5706f, "Bar" },
    { 8, -42.5267f, 1408.23f, 1084.4297f, 172.068f, "Burglary House X21" },
    { 11, 2283.3118f, 1139.307f, 1050.8984f, 19.7032f, "Willowfield Safehouse" },
    { 9, 84.9244f, 1324.2983f, 1083.8594f, 159.5582f, "Burglary House X22" },
    { 9, 260.7421f, 1238.2261f, 1084.2578f, 84.3084f, "Burglary House X23" },
    { 0, -1658.1656f, 1215.0002f, 7.25f, 103.9074f, "Otto's Autos" },
    { 0, -1961.6281f, 295.2378f, 35.4688f, 264.4891f, "Wang Cars" }
};
как можно это перевести с плюсов в lua?
 

TodFox

Известный
105
17
Не открывает диалог (/eat), если без команды - то при открытие диалога вручную, начинает флудить в чат. Как впихнуть в код поток правильно, чтоб раз в 5 секунд открывал диалог, и жал кнопку?
Lua:
-----Include-----
local sampev = require 'lib.samp.events'

--------Status--------
local hook_state = false

--------MAIN--------
function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('meal', ChangeScriptState)
    while true do
        wait(0)
    end
end

--------SAMP.LUA--------
function sampev.onShowDialog(dialogId,style,title,button1,button2,text)
    if hook_state then
        sampSendChat("/eat")
          if title:find ("Кушать") then
                sampSendDialogResponse(9965, 1, 0, -1)
                return false
            end
        end
    end



--------State--------
function ChangeScriptState()
    if hook_state then
        hook_state = false
        sampAddChatMessage('{FFFFFF}Not Active', -1)
    else
        hook_state = true
        sampAddChatMessage('{FFFFFF}Active', -1)
    end
end
 

Jason2222

Известный
180
3
Не открывает диалог (/eat), если без команды - то при открытие диалога вручную, начинает флудить в чат. Как впихнуть в код поток правильно, чтоб раз в 5 секунд открывал диалог, и жал кнопку?
Lua:
-----Include-----
local sampev = require 'lib.samp.events'

--------Status--------
local hook_state = false

--------MAIN--------
function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('meal', ChangeScriptState)
    while true do
        wait(0)
    end
end

--------SAMP.LUA--------
function sampev.onShowDialog(dialogId,style,title,button1,button2,text)
    if hook_state then
        sampSendChat("/eat")
          if title:find ("Кушать") then
                sampSendDialogResponse(9965, 1, 0, -1)
                return false
            end
        end
    end



--------State--------
function ChangeScriptState()
    if hook_state then
        hook_state = false
        sampAddChatMessage('{FFFFFF}Not Active', -1)
    else
        hook_state = true
        sampAddChatMessage('{FFFFFF}Active', -1)
    end
end

пробуй и сохрани скрипт в windows-1251
Lua:
-- main
while true do wait(0)
        if hook_state then
                sampProcessChatInput("/eat")
                wait(5000)
        end
 end
-- end main

function sampev.onShowDialog(dialogId,style,title,button1,button2,text)
          if title:find("Кушать") then
                sampSendDialogResponse(9965, 1, 0, -1)
                return false
            end
    end

C++:
const struct interiors        interiors_list[] =
{
    { 11, 2003.1178f, 1015.1948f, 33.008f, 351.5789f, "Four Dragons' Managerial Suite" },
    { 5, 770.8033f, -0.7033f, 1000.7267f, 22.8599f, "Ganton Gym" },
    { 3, 974.0177f, -9.5937f, 1001.1484f, 22.6045f, "Brothel" },
    { 3, 961.9308f, -51.9071f, 1001.1172f, 95.5381f, "Brothel2" },
    { 3, 830.6016f, 5.9404f, 1004.1797f, 125.8149f, "Inside Track Betting" },
    { 3, 1037.8276f, 0.397f, 1001.2845f, 353.9335f, "Blastin' Fools Records" },
    { 3, 1212.1489f, -28.5388f, 1000.9531f, 170.5692f, "The Big Spread Ranch" },
    { 18, 1290.4106f, 1.9512f, 1001.0201f, 179.9419f, "Warehouse 1" },
    { 1, 1412.1472f, -2.2836f, 1000.9241f, 114.661f, "Warehouse 2" },
    { 3, 1527.0468f, -12.0236f, 1002.0971f, 350.0013f, "B Dup's Apartment" },
    { 2, 1523.5098f, -47.8211f, 1002.2699f, 262.7038f, "B Dup's Crack Palace" },
    { 3, 612.2191f, -123.9028f, 997.9922f, 266.5704f, "Wheel Arch Angels" },
    { 3, 512.9291f, -11.6929f, 1001.5653f, 198.7669f, "OG Loc's House" },
    { 3, 418.4666f, -80.4595f, 1001.8047f, 343.2358f, "Barber Shop" },
    { 3, 386.5259f, 173.6381f, 1008.3828f, 63.7399f, "Planning Department" },
    { 3, 288.4723f, 170.0647f, 1007.1794f, 22.0477f, "Las Venturas Police Department" },
    { 3, 206.4627f, -137.7076f, 1003.0938f, 10.9347f, "Pro-Laps" },
    { 3, -100.2674f, -22.9376f, 1000.7188f, 17.285f, "Sex Shop" },
    { 3, -201.2236f, -43.2465f, 1002.2734f, 45.8613f, "Las Venturas Tattoo parlor" },
    { 17, -202.9381f, -6.7006f, 1002.2734f, 204.2693f, "Lost San Fierro Tattoo parlor" },
    { 17, -25.7220f, -187.8216f, 1003.5469f, 5.0760f, "24/7 (version 1)" },
    { 5, 454.9853f, -107.2548f, 999.4376f, 309.0195f, "Diner 1" },
    { 5, 372.5565f, -131.3607f, 1001.4922f, 354.2285f, "Pizza Stack" },
    { 17, 378.026f, -190.5155f, 1000.6328f, 141.0245f, "Rusty Brown's Donuts" },
    { 7, 315.244f, -140.8858f, 999.6016f, 7.4226f, "Ammu-nation" },
    { 5, 225.0306f, -9.1838f, 1002.218f, 85.5322f, "Victim" },
    { 2, 611.3536f, -77.5574f, 997.9995f, 320.9263f, "Loco Low Co" },
    { 10, 246.0688f, 108.9703f, 1003.2188f, 0.2922f, "San Fierro Police Department" },
    { 10, 6.0856f, -28.8966f, 1003.5494f, 5.0365f, "24/7 (version 2 - large)" },
    { 7, 773.7318f, -74.6957f, 1000.6542f, 5.2304f, "Below The Belt Gym (Las Venturas)" },
    { 1, 621.4528f, -23.7289f, 1000.9219f, 15.6789f, "Transfenders" },
    { 1, 445.6003f, -6.9823f, 1000.7344f, 172.2105f, "World of Coq" },
    { 1, 285.8361f, -39.0166f, 1001.5156f, 0.7529f, "Ammu-nation (version 2)" },
    { 1, 204.1174f, -46.8047f, 1001.8047f, 357.5777f, "SubUrban" },
    { 1, 245.2307f, 304.7632f, 999.1484f, 273.4364f, "Denise's Bedroom" },
    { 3, 290.623f, 309.0622f, 999.1484f, 89.9164f, "Helena's Barn" },
    { 5, 322.5014f, 303.6906f, 999.1484f, 8.1747f, "Barbara's Love nest" },
    { 1, -2041.2334f, 178.3969f, 28.8465f, 156.2153f, "San Fierro Garage" },
    { 1, -1402.6613f, 106.3897f, 1032.2734f, 105.1356f, "Oval Stadium" },
    { 7, -1403.0116f, -250.4526f, 1043.5341f, 355.8576f, "8-Track Stadium" },
    { 2, 1204.6689f, -13.5429f, 1000.9219f, 350.0204f, "The Pig Pen (strip club 2)" },
    { 10, 2016.1156f, 1017.1541f, 996.875f, 88.0055f, "Four Dragons" },
    { 1, -741.8495f, 493.0036f, 1371.9766f, 71.7782f, "Liberty City" },
    { 2, 2447.8704f, -1704.4509f, 1013.5078f, 314.5253f, "Ryder's house" },
    { 1, 2527.0176f, -1679.2076f, 1015.4986f, 260.9709f, "Sweet's House" },
    { 10, -1129.8909f, 1057.5424f, 1346.4141f, 274.5268f, "RC Battlefield" },
    { 3, 2496.0549f, -1695.1749f, 1014.7422f, 179.2174f, "The Johnson House" },
    { 10, 366.0248f, -73.3478f, 1001.5078f, 292.0084f, "Burger shot" },
    { 1, 2233.9363f, 1711.8038f, 1011.6312f, 184.3891f, "Caligula's Casino" },
    { 2, 269.6405f, 305.9512f, 999.1484f, 215.6625f, "Katie's Lovenest" },
    { 2, 414.2987f, -18.8044f, 1001.8047f, 41.4265f, "Barber Shop 2 (Reece's)" },
    { 2, 1.1853f, -3.2387f, 999.4284f, 87.5718f, "Angel \"Pine Trailer\"" },
    { 18, -30.9875f, -89.6806f, 1003.5469f, 359.8401f, "24/7 (version 3)" },
    { 18, 161.4048f, -94.2416f, 1001.8047f, 0.7938f, "Zip" },
    { 3, -2638.8232f, 1407.3395f, 906.4609f, 94.6794f, "The Pleasure Domes" },
    { 5, 1267.8407f, -776.9587f, 1091.9063f, 231.3418f, "Madd Dogg's Mansion" },
    { 2, 2536.5322f, -1294.8425f, 1044.125f, 254.9548f, "Big Smoke's Crack Palace" },
    { 5, 2350.1597f, -1181.0658f, 1027.9766f, 99.1864f, "Burning Desire Building" },
    { 1, -2158.6731f, 642.09f, 1052.375f, 86.5402f, "Wu-Zi Mu's" },
    { 10, 419.8936f, 2537.1155f, 10.0f, 67.6537f, "Abandoned AC tower" },
    { 14, 256.9047f, -41.6537f, 1002.0234f, 85.8774f, "Wardrobe/Changing room" },
    { 14, 204.1658f, -165.7678f, 1000.5234f, 181.7583f, "Didier Sachs" },
    { 12, 1133.35f, -7.8462f, 1000.6797f, 165.8482f, "Casino (Redsands West)" },
    { 14, -1420.4277f, 1616.9221f, 1052.5313f, 159.1255f, "Kickstart Stadium" },
    { 17, 493.1443f, -24.2607f, 1000.6797f, 356.9864f, "Club" },
    { 18, 1727.2853f, -1642.9451f, 20.2254f, 172.4193f, "Atrium" },
    { 16, -202.842f, -24.0325f, 1002.2734f, 252.8154f, "Los Santos Tattoo Parlor" },
    { 5, 2233.6919f, -1112.8107f, 1050.8828f, 8.6483f, "Safe House group 1" },
    { 6, 1211.2484f, 1049.0234f, 359.941f, 170.9341f, "Safe House group 2" },
    { 9, 2319.1272f, -1023.9562f, 1050.2109f, 167.3959f, "Safe House group 3" },
    { 10, 2261.0977f, -1137.8833f, 1050.6328f, 266.88f, "Safe House group 4" },
    { 17, -944.2402f, 1886.1536f, 5.0051f, 179.8548f, "Sherman Dam" },
    { 16, -26.1856f, -140.9164f, 1003.5469f, 2.9087f, "24/7 (version 4)" },
    { 15, 2217.281f, -1150.5349f, 1025.7969f, 273.7328f, "Jefferson Motel" },
    { 1, 1.5491f, 23.3183f, 1199.5938f, 359.9054f, "Jet Interior" },
    { 1, 681.6216f, -451.8933f, -25.6172f, 166.166f, "The Welcome Pump" },
    { 3, 234.6087f, 1187.8195f, 1080.2578f, 349.4844f, "Burglary House X1" },
    { 2, 225.5707f, 1240.0643f, 1082.1406f, 96.2852f, "Burglary House X2" },
    { 1, 224.288f, 1289.1907f, 1082.1406f, 359.868f, "Burglary House X3" },
    { 5, 239.2819f, 1114.1991f, 1080.9922f, 270.2654f, "Burglary House X4" },
    { 15, 207.5219f, -109.7448f, 1005.1328f, 358.62f, "Binco" },
    { 15, 295.1391f, 1473.3719f, 1080.2578f, 352.9526f, "4 Burglary houses" },
    { 15, -1417.8927f, 932.4482f, 1041.5313f, 0.7013f, "Blood Bowl Stadium" },
    { 12, 446.3247f, 509.9662f, 1001.4195f, 330.5671f, "Budget Inn Motel Room" },
    { 0, 2306.3826f, -15.2365f, 26.7496f, 274.49f, "Palamino Bank" },
    { 0, 2331.8984f, 6.7816f, 26.5032f, 100.2357f, "Palamino Diner" },
    { 0, 663.0588f, -573.6274f, 16.3359f, 264.9829f, "Dillimore Gas Station" },
    { 18, -227.5703f, 1401.5544f, 27.7656f, 269.2978f, "Lil' Probe Inn" },
    { 0, -688.1496f, 942.0826f, 13.6328f, 177.6574f, "Torreno's Ranch" },
    { 0, -1916.1268f, 714.8617f, 46.5625f, 152.2839f, "Zombotech - lobby area" },
    { 0, 818.7714f, -1102.8689f, 25.794f, 91.1439f, "Crypt in LS cemetery (temple)" },
    { 0, 255.2083f, -59.6753f, 1.5703f, 1.4645f, "Blueberry Liquor Store" },
    { 2, 446.626f, 1397.738f, 1084.3047f, 343.9647f, "Pair of Burglary Houses" },
    { 5, 227.3922f, 1114.6572f, 1080.9985f, 267.459f, "Crack Den" },
    { 5, 227.7559f, 1114.3844f, 1080.9922f, 266.2624f, "Burglary House X11" },
    { 4, 261.1165f, 1287.2197f, 1080.2578f, 178.9149f, "Burglary House X12" },
    { 4, 291.7626f, -80.1306f, 1001.5156f, 290.2195f, "Ammu-nation (version 3)" },
    { 4, 449.0172f, -88.9894f, 999.5547f, 89.6608f, "Jay's Diner" },
    { 4, -27.844f, -26.6737f, 1003.5573f, 184.3118f, "24/7 (version 5)" },
    { 0, 2135.2004f, -2276.2815f, 20.6719f, 318.59f, "Warehouse 3" },
    { 4, 306.1966f, 307.819f, 1003.3047f, 203.1354f, "Michelle's Love Nest*" },
    { 10, 24.3769f, 1341.1829f, 1084.375f, 8.3305f, "Burglary House X14" },
    { 1, 963.0586f, 2159.7563f, 1011.0303f, 175.313f, "Sindacco Abatoir" },
    { 0, 2548.4807f, 2823.7429f, 10.8203f, 270.6003f, "K.A.C.C. Military Fuels Depot" },
    { 0, 215.1515f, 1874.0579f, 13.1406f, 177.5538f, "Area 69" },
    { 4, 221.6766f, 1142.4962f, 1082.6094f, 184.9618f, "Burglary House X13" },
    { 12, 2323.7063f, -1147.6509f, 1050.7101f, 206.5352f, "Unused Safe House" },
    { 6, 344.9984f, 307.1824f, 999.1557f, 193.643f, "Millie's Bedroom" },
    { 12, 411.9707f, -51.9217f, 1001.8984f, 173.3449f, "Barber Shop" },
    { 4, -1421.5618f, -663.8262f, 1059.5569f, 170.9341f, "Dirtbike Stadium" },
    { 6, 773.8887f, -47.7698f, 1000.5859f, 10.7161f, "Cobra Gym" },
    { 6, 246.6695f, 65.8039f, 1003.6406f, 7.9562f, "Los Santos Police Department" },
    { 14, -1864.9434f, 55.7325f, 1055.5276f, 85.8541f, "Los Santos Airport" },
    { 4, -262.1759f, 1456.6158f, 1084.3672f, 82.459f, "Burglary House X15" },
    { 5, 22.861f, 1404.9165f, 1084.4297f, 349.6158f, "Burglary House X16" },
    { 5, 140.3679f, 1367.8837f, 1083.8621f, 349.2372f, "Burglary House X17" },
    { 3, 1494.8589f, 1306.48f, 1093.2953f, 196.065f, "Bike School" },
    { 14, -1813.213f, -58.012f, 1058.9641f, 335.3199f, "Francis International Airport" },
    { 16, -1401.067f, 1265.3706f, 1039.8672f, 178.6483f, "Vice Stadium" },
    { 6, 234.2826f, 1065.229f, 1084.2101f, 4.3864f, "Burglary House X18" },
    { 6, -68.5145f, 1353.8485f, 1080.2109f, 3.5742f, "Burglary House X19" },
    { 6, -2240.1028f, 136.973f, 1035.4141f, 269.0954f, "Zero's RC Shop" },
    { 6, 297.144f, -109.8702f, 1001.5156f, 20.2254f, "Ammu-nation (version 4)" },
    { 6, 316.5025f, -167.6272f, 999.5938f, 10.3031f, "Ammu-nation (version 5)" },
    { 15, -285.2511f, 1471.197f, 1084.375f, 85.6547f, "Burglary House X20" },
    { 6, -26.8339f, -55.5846f, 1003.5469f, 3.9528f, "24/7 (version 6)" },
    { 6, 442.1295f, -52.4782f, 999.7167f, 177.9394f, "Secret Valley Diner" },
    { 2, 2182.2017f, 1628.5848f, 1043.8723f, 224.8601f, "Rosenberg's Office in Caligulas" },
    { 6, 748.4623f, 1438.2378f, 1102.9531f, 0.6069f, "Fanny Batter's Whore House" },
    { 8, 2807.3604f, -1171.7048f, 1025.5703f, 193.7117f, "Colonel Furhberger's" },
    { 9, 366.0002f, -9.4338f, 1001.8516f, 160.528f, "Cluckin' Bell" },
    { 1, 2216.1282f, -1076.3052f, 1050.4844f, 86.428f, "The Camel's Toe Safehouse" },
    { 1, 2268.5156f, 1647.7682f, 1084.2344f, 99.7331f, "Caligula's Roof" },
    { 2, 2236.6997f, -1078.9478f, 1049.0234f, 2.5706f, "Old Venturas Strip Casino" },
    { 3, -2031.1196f, -115.8287f, 1035.1719f, 190.1877f, "Driving School" },
    { 8, 2365.1089f, -1133.0795f, 1050.875f, 177.3947f, "Verdant Bluffs Safehouse" },
    { 0, 1168.512f, 1360.1145f, 10.9293f, 196.5933f, "Bike School" },
    { 9, 315.4544f, 976.5972f, 1960.8511f, 359.6368f, "Andromada" },
    { 10, 1893.0731f, 1017.8958f, 31.8828f, 86.1044f, "Four Dragons' Janitor's Office" },
    { 11, 501.9578f, -70.5648f, 998.7578f, 171.5706f, "Bar" },
    { 8, -42.5267f, 1408.23f, 1084.4297f, 172.068f, "Burglary House X21" },
    { 11, 2283.3118f, 1139.307f, 1050.8984f, 19.7032f, "Willowfield Safehouse" },
    { 9, 84.9244f, 1324.2983f, 1083.8594f, 159.5582f, "Burglary House X22" },
    { 9, 260.7421f, 1238.2261f, 1084.2578f, 84.3084f, "Burglary House X23" },
    { 0, -1658.1656f, 1215.0002f, 7.25f, 103.9074f, "Otto's Autos" },
    { 0, -1961.6281f, 295.2378f, 35.4688f, 264.4891f, "Wang Cars" }
};
как можно это перевести с плюсов в lua?
https://blast.hk/threads/13380/ тут примеры найдешь
 

DeMoN3D

Известный
366
77
Как сделать автообновление скрипта ? (через гитхаб или подобные)