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

|| NN - NoName ||

Известный
1,049
630
Точно не помню, но вроде так

Lua:
local mem = require 'memory'

--
mem.write(adress, size, value, false)
--
Ты меня не понял... ну ладно. Это я уже сам написал, это-то я знаю как сделать, я не знаю как сделать что бы в меню такой яркости не было.
 

fdfsdfsafgsgsdf

Участник
35
5
Код:
function skins1()
        sampSendChat("msg 0 Запустил раздачу скинов. Ваша задача написать ID скина на номер 3000")
        wait(1000)
        sampSendChat("msg 0 Пример: /sms 3000 147")
        sampSendChat("msg 0 Для получение скина вы не должны находится в т/с")
end
Производит 1-ую строку,после чего скрипт крашится и пишет вот такое
[ML] (error) AHelp.lua: E:\gta\moonloader\AHelp.lua:322: attempt to yield across C-call boundary
stack traceback:
[C]: in function 'wait'
E:\gta\moonloader\AHelp.lua:322: in function <E:\gta\moonloader\AHelp.lua:320>
[ML] (error) AHelp.lua: Script died due to an error. (12471D5C)
Как сделать чтоб работала задержка?
 

James Hawk

Известный
919
217
Код:
function skins1()
        sampSendChat("msg 0 Запустил раздачу скинов. Ваша задача написать ID скина на номер 3000")
        wait(1000)
        sampSendChat("msg 0 Пример: /sms 3000 147")
        sampSendChat("msg 0 Для получение скина вы не должны находится в т/с")
end
Производит 1-ую строку,после чего скрипт крашится и пишет вот такое

Как сделать чтоб работала задержка?
lua_thread.create
Без потока задержку можно использовать онли в main
 

[SA ARZ]

Известный
390
8
0 реакции на blackup - ничего не происходит.
в чем может быть проблема?

Lua:
    sampRegisterChatCommand('blackup', function()
        local path = getGameDirectory() .. '\\moonloader\\resource\\MedicHelper\\BlackList\\blacklist.txt'
        downloadUrlToFile('https://forum.advance-rp.ru/threads/ministerstvo-zdravooxranenija-chernyj-spisok-ministerstva-zdravooxranenija.1815138/', path, function(id, status, p1, p2)
        if status == dlstatus.STATUS_ENDDOWNLOADDATA then
            print('[Blacklist]: Downloaded, preparing..')
            sampAddChatMessage("Status Black:{F5FFFA} Update BlackList ...", 0xFFFF00)
            lua_thread.create(function()
                wait(3000)
                local f = io.open(path, 'r')
                local blackF = f:read('*a')
                f:close()
           
                if f then
                    print('[Blacklist]: First preparing completed')
                    blackF = blackF:gsub('<.->', '')
                    blackList = io.open(path, 'w')
                    for w in blackF:gmatch('=ZZ=(.-)=ZZEND=') do
                        blackList:write(w)
                    end
                    blackList:close()
                           
                    format_file()
                    print('[Blacklist]: Second preparing completed')
                    print('[Blacklist]: Update completed')
                    sampAddChatMessage("Status Black:{F5FFFA} Update BlackList completed", 0xFFFF00)
                else
                    print('[Blacklist]: Preparing error, please, /try again later.')
                end
            end)
        end
        end)
    end)
 

James Hawk

Известный
919
217
0 реакции на blackup - ничего не происходит.
в чем может быть проблема?

Lua:
    sampRegisterChatCommand('blackup', function()
        local path = getGameDirectory() .. '\\moonloader\\resource\\MedicHelper\\BlackList\\blacklist.txt'
        downloadUrlToFile('https://forum.advance-rp.ru/threads/ministerstvo-zdravooxranenija-chernyj-spisok-ministerstva-zdravooxranenija.1815138/', path, function(id, status, p1, p2)
        if status == dlstatus.STATUS_ENDDOWNLOADDATA then
            print('[Blacklist]: Downloaded, preparing..')
            sampAddChatMessage("Status Black:{F5FFFA} Update BlackList ...", 0xFFFF00)
            lua_thread.create(function()
                wait(3000)
                local f = io.open(path, 'r')
                local blackF = f:read('*a')
                f:close()
          
                if f then
                    print('[Blacklist]: First preparing completed')
                    blackF = blackF:gsub('<.->', '')
                    blackList = io.open(path, 'w')
                    for w in blackF:gmatch('=ZZ=(.-)=ZZEND=') do
                        blackList:write(w)
                    end
                    blackList:close()
                          
                    format_file()
                    print('[Blacklist]: Second preparing completed')
                    print('[Blacklist]: Update completed')
                    sampAddChatMessage("Status Black:{F5FFFA} Update BlackList completed", 0xFFFF00)
                else
                    print('[Blacklist]: Preparing error, please, /try again later.')
                end
            end)
        end
        end)
    end)
Лог прикрепи
 

[SA ARZ]

Известный
390
8
Код:
[22:58:26.913785] (system)    Session started.
[22:58:26.915785] (debug)    Module handle: 51B40000

MoonLoader v.026.5-beta loaded.
Developers: FYP, hnnssy, EvgeN 1137

Copyright (c) 2016, BlastHack Team
https://www.blast.hk/moonloader/

[22:58:26.915785] (info)    Working directory: F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader
[22:58:26.915785] (debug)    FP Control: 0009001F
[22:58:26.915785] (debug)    Game: GTA SA 1.0.0.0 US
[22:58:26.915785] (system)    Installing pre-game hooks...
[22:58:26.920785] (system)    Hooks installed.
[22:58:28.844815] (debug)    Initializing opcode handler table
[22:58:28.844815] (debug)    package.path = F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\lib\?.lua;F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\lib\?\init.lua;F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\?.lua;F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\?\init.lua;.\?.lua;F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\lib\?.luac;F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\lib\?\init.luac;F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\?.luac;F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\?\init.luac;.\?.luac
[22:58:28.844815] (debug)    package.cpath = F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\lib\?.dll;
[22:58:28.846815] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\AutoReboot.lua'...
[22:58:28.847815] (debug)    New script: 06692E54
[22:58:28.849815] (system)    ML-AutoReboot: Loaded successfully.
[22:58:28.849815] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\GroupColor.lua'...
[22:58:28.850815] (debug)    New script: 06610584
[22:58:28.867816] (system)    GroupColor.lua: Loaded successfully.
[22:58:28.867816] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\picturehud.lua'...
[22:58:28.867816] (debug)    New script: 0661070C
[22:58:28.892818] (system)    picturehud.lua: Loaded successfully.
[22:58:28.892818] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\reload_all.lua'...
[22:58:28.892818] (debug)    New script: 06610894
[22:58:28.894818] (system)    ML-ReloadAll: Loaded successfully.
[22:58:28.894818] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\scriptManager.lua'...
[22:58:28.894818] (debug)    New script: 06610BA4
[22:58:28.902818] (system)    ScriptManager: Loaded successfully.
[22:58:28.902818] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\SF Integration.lua'...
[22:58:28.902818] (debug)    New script: 06610D2C
[22:58:28.907818] (system)    SAMPFUNCS Integration: Loaded successfully.
[22:58:28.907818] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\USMoH.lua'...
[22:58:28.907818] (debug)    New script: 066B122C
[22:58:29.601858] (system)    MedicHelper: Loaded successfully.
[22:58:44.433706] (system)    Installing post-load hooks...
[22:58:44.433706] (system)    Hooks installed.
[22:58:58.255497] (script)    MedicHelper: File yes, good game. [ MedicHelper ]
[22:58:59.213552] (script)    MedicHelper: File yes, good game. [ servers ]
[22:59:00.217609] (script)    MedicHelper: File yes, good game. [ Files ]
[22:59:01.235667] (script)    MedicHelper: Начинаем инициализацию клавиш
[22:59:01.235667] (script)    MedicHelper: Регистрируем клавиши
[22:59:01.235667] (script)    MedicHelper: Инициализация клавиш завершена
[22:59:03.277784] (script)    MedicHelper: Список лидеров подргружен
[22:59:12.722324] (system)    MedicHelper: Script terminated. (066B122C)
[23:00:56.116238] (script)    ML-AutoReboot: Reloading "GroupColor.lua"...
[23:01:00.263475] (system)    GroupColor.lua: Script terminated. (06610584)
[23:01:00.264476] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\GroupColor.lua'...
[23:01:00.265476] (debug)    New script: 06610584
[23:01:00.283477] (system)    GroupColor.lua: Loaded successfully.
[23:02:02.757050] (script)    ML-AutoReboot: Reloading "GroupColor.lua"...
[23:02:06.719277] (system)    GroupColor.lua: Script terminated. (06610584)
[23:02:06.720277] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\GroupColor.lua'...
[23:02:06.721277] (debug)    New script: 06610584
[23:02:06.738278] (system)    GroupColor.lua: Loaded successfully.
[23:02:43.461378] (system)    ML-AutoReboot: Script terminated. (06692E54)
[23:02:43.461378] (system)    picturehud.lua: Script terminated. (0661070C)
[23:02:43.463378] (system)    ML-ReloadAll: Script terminated. (06610894)
[23:02:43.464378] (system)    ScriptManager: Script terminated. (06610BA4)
[23:02:43.465378] (system)    SAMPFUNCS Integration: Script terminated. (06610D2C)
[23:02:43.466378] (system)    GroupColor.lua: Script terminated. (06610584)
[23:02:43.468378] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\AutoReboot.lua'...
[23:02:43.468378] (debug)    New script: 06610584
[23:02:43.470379] (system)    ML-AutoReboot: Loaded successfully.
[23:02:43.470379] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\GroupColor.lua'...
[23:02:43.470379] (debug)    New script: 06610D2C
[23:02:43.486380] (system)    GroupColor.lua: Loaded successfully.
[23:02:43.486380] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\picturehud.lua'...
[23:02:43.486380] (debug)    New script: 06610BA4
[23:02:43.503380] (system)    picturehud.lua: Loaded successfully.
[23:02:43.503380] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\reload_all.lua'...
[23:02:43.503380] (debug)    New script: 06610894
[23:02:43.505381] (system)    ML-ReloadAll: Loaded successfully.
[23:02:43.505381] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\scriptManager.lua'...
[23:02:43.505381] (debug)    New script: 0661070C
[23:02:43.514381] (system)    ScriptManager: Loaded successfully.
[23:02:43.514381] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\SF Integration.lua'...
[23:02:43.514381] (debug)    New script: 066103FC
[23:02:43.519381] (system)    SAMPFUNCS Integration: Loaded successfully.
[23:02:43.519381] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\USMoD.lua'...
[23:02:43.520381] (debug)    New script: 0660F014
[23:02:44.261424] (system)    U.S MoD - Helper: Loaded successfully.
[23:02:44.261424] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\USMoH.lua'...
[23:02:44.261424] (debug)    New script: 066B2DBC
[23:02:44.925462] (system)    MedicHelper: Loaded successfully.
[23:02:44.930462] (script)    MedicHelper: File yes, good game. [ MedicHelper ]
[23:02:44.980465] (script)    MedicHelper: File yes, good game. [ servers ]
[23:02:45.946520] (script)    MedicHelper: File yes, good game. [ Files ]
[23:02:46.963578] (script)    MedicHelper: Начинаем инициализацию клавиш
[23:02:46.963578] (script)    MedicHelper: Регистрируем клавиши
[23:02:46.963578] (script)    MedicHelper: Инициализация клавиш завершена
[23:02:48.465664] (script)    U.S MoD - Helper: File yes, good game. [ U.S MoD ]
[23:02:48.465664] (script)    U.S MoD - Helper: File yes, good game. [ servers ]
[23:02:48.465664] (script)    U.S MoD - Helper: File yes, good game. [ Files ]
[23:02:48.488666] (script)    U.S MoD - Helper: Начинаем инициализацию клавиш
[23:02:48.488666] (script)    U.S MoD - Helper: Регистрируем клавиши
[23:02:48.488666] (script)    U.S MoD - Helper: Инициализация клавиш завершена
[23:02:48.629674] (script)    U.S MoD - Helper: 27 | {0099CC}Меню игрока
[23:02:48.765681] (script)    U.S MoD - Helper: 0 | {FFCD00}Статистика игрока
[23:02:49.488723] (script)    MedicHelper: Список лидеров подргружен
[23:02:50.913804] (script)    U.S MoD - Helper: 27 | {0099CC}Меню игрока
[23:02:51.069813] (script)    U.S MoD - Helper: 94 | {FFCD00}Дополнительные возможности (донат)
[23:02:51.093815] (script)    U.S MoD - Helper: [ Check status VIP ] 969 | ID: 3595865798
[23:02:51.548841] (system)    MedicHelper: Script terminated. (066B2DBC)
[23:02:52.916919] (script)    U.S MoD - Helper: 424 | {FFCD00}Лидеры
[23:02:52.917919] (script)    U.S MoD - Helper: Список лидеров подргружен
[23:03:43.730825] (script)    U.S MoD - Helper: [ phoneBookAll ] Уже есть номер в бд
[23:04:14.188567] (system)    U.S MoD - Helper: Script terminated. (0660F014)
[23:04:14.965612] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\USMoD.lua'...
[23:04:14.966612] (debug)    New script: 0660F014
[23:04:15.650651] (system)    U.S MoD - Helper: Loaded successfully.
[23:04:19.983899] (script)    U.S MoD - Helper: File yes, good game. [ U.S MoD ]
[23:04:19.983899] (script)    U.S MoD - Helper: File yes, good game. [ servers ]
[23:04:19.983899] (script)    U.S MoD - Helper: File yes, good game. [ Files ]
[23:04:19.985899] (script)    U.S MoD - Helper: Начинаем инициализацию клавиш
[23:04:19.985899] (script)    U.S MoD - Helper: Регистрируем клавиши
[23:04:19.985899] (script)    U.S MoD - Helper: Инициализация клавиш завершена
[23:04:20.112906] (script)    U.S MoD - Helper: 27 | {0099CC}Меню игрока
[23:04:20.240914] (script)    U.S MoD - Helper: 0 | {FFCD00}Статистика игрока
[23:04:22.370035] (script)    U.S MoD - Helper: 27 | {0099CC}Меню игрока
[23:04:22.464041] (script)    U.S MoD - Helper: [ Check status VIP ] 969 | ID: 3595865798
[23:04:22.609049] (script)    U.S MoD - Helper: 94 | {FFCD00}Дополнительные возможности (донат)
[23:04:24.393151] (script)    U.S MoD - Helper: 424 | {FFCD00}Лидеры
[23:04:24.394151] (script)    U.S MoD - Helper: Список лидеров подргружен
[23:04:32.907638] (script)    U.S MoD - Helper: 0 | {FFCD00}Прошлые имена Randall_Harley
[23:05:19.073279] (script)    ML-AutoReboot: Loading "F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\USMoH.lua"...
[23:05:19.074279] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\USMoH.lua'...
[23:05:19.074279] (debug)    New script: 22096AE4
[23:05:19.778319] (system)    MedicHelper: Loaded successfully.
[23:05:19.787319] (script)    MedicHelper: File yes, good game. [ MedicHelper ]
[23:05:23.918556] (script)    U.S MoD - Helper: [ phoneBookAll ] Уже есть номер в бд
[23:05:24.777605] (script)    MedicHelper: File yes, good game. [ servers ]
[23:05:25.789663] (script)    MedicHelper: File yes, good game. [ Files ]
[23:05:26.803721] (script)    MedicHelper: Начинаем инициализацию клавиш
[23:05:26.803721] (script)    MedicHelper: Регистрируем клавиши
[23:05:26.803721] (script)    MedicHelper: Инициализация клавиш завершена
[23:05:26.947729] (script)    U.S MoD - Helper: 27 | {0099CC}Меню игрока
[23:05:27.258747] (script)    U.S MoD - Helper: 0 | {FFCD00}Статистика игрока
[23:05:28.457815] (system)    ML-AutoReboot: Script terminated. (06610584)
[23:05:28.458815] (system)    GroupColor.lua: Script terminated. (06610D2C)
[23:05:28.459815] (system)    picturehud.lua: Script terminated. (06610BA4)
[23:05:28.460816] (system)    ML-ReloadAll: Script terminated. (06610894)
[23:05:28.461816] (system)    ScriptManager: Script terminated. (0661070C)
[23:05:28.463816] (system)    SAMPFUNCS Integration: Script terminated. (066103FC)
[23:05:28.464816] (system)    U.S MoD - Helper: Script terminated. (0660F014)
[23:05:28.474816] (system)    MedicHelper: Script terminated. (22096AE4)
[23:05:28.484817] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\AutoReboot.lua'...
[23:05:28.484817] (debug)    New script: 22096AE4
[23:05:28.487817] (system)    ML-AutoReboot: Loaded successfully.
[23:05:28.487817] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\GroupColor.lua'...
[23:05:28.487817] (debug)    New script: 22096C6C
[23:05:28.502818] (system)    GroupColor.lua: Loaded successfully.
[23:05:28.502818] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\picturehud.lua'...
[23:05:28.502818] (debug)    New script: 2209664C
[23:05:28.518819] (system)    picturehud.lua: Loaded successfully.
[23:05:28.518819] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\reload_all.lua'...
[23:05:28.519819] (debug)    New script: 0660F014
[23:05:28.520819] (system)    ML-ReloadAll: Loaded successfully.
[23:05:28.521819] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\scriptManager.lua'...
[23:05:28.521819] (debug)    New script: 066103FC
[23:05:28.528819] (system)    ScriptManager: Loaded successfully.
[23:05:28.529819] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\SF Integration.lua'...
[23:05:28.529819] (debug)    New script: 0661070C
[23:05:28.534820] (system)    SAMPFUNCS Integration: Loaded successfully.
[23:05:28.534820] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\USMoH.lua'...
[23:05:28.534820] (debug)    New script: 06610894
[23:05:29.215859] (system)    MedicHelper: Loaded successfully.
[23:05:29.220859] (script)    MedicHelper: File yes, good game. [ MedicHelper ]
[23:05:29.463873] (script)    MedicHelper: File yes, good game. [ servers ]
[23:05:30.463930] (script)    MedicHelper: File yes, good game. [ Files ]
[23:05:31.473988] (script)    MedicHelper: Начинаем инициализацию клавиш
[23:05:31.473988] (script)    MedicHelper: Регистрируем клавиши
[23:05:31.473988] (script)    MedicHelper: Инициализация клавиш завершена
[23:05:33.556107] (script)    MedicHelper: Список лидеров подргружен
[23:05:34.214145] (script)    MedicHelper: update: 1 / 9
[23:05:35.020191] (script)    MedicHelper: update: 2 / 9
[23:05:35.821236] (script)    MedicHelper: update: 3 / 9
[23:05:36.622282] (script)    MedicHelper: update: 4 / 9
[23:05:37.429328] (script)    MedicHelper: update: 5 / 9
[23:05:38.232374] (script)    MedicHelper: update: 6 / 9
[23:05:39.047421] (script)    MedicHelper: update: 7 / 9
[23:05:54.540307] (script)    ML-AutoReboot: Reloading "GroupColor.lua"...
[23:05:54.540307] (script)    MedicHelper: update: 8 / 9
[23:05:58.647542] (system)    GroupColor.lua: Script terminated. (22096C6C)
[23:05:58.648542] (system)    Loading script 'F:\Games\GTA\GTA San Andreas - копия (3) - копия\moonloader\GroupColor.lua'...
[23:05:58.648542] (debug)    New script: 22096C6C
[23:05:58.664543] (system)    GroupColor.lua: Loaded successfully.
[23:05:59.290579] (script)    MedicHelper: update: 9 / 9
 

Di3

Участник
432
20
Lua:
settings = {
set = {
passadm = '1111'
}
}
local inputppassadm = imgui.ImBuffer(tostring(settings.set.passadm), 256) -- Все в начале

-- внутри кода где-то там.
imgui.Text(u8('Пароль от админки:')); imgui.PushItemWidth(83); imgui.SameLine();
imgui.InputText('##passwdadm',inputppassadm);
settings.set.passadm = u8:decode(inputppassadm.v);
imgui.PopItemWidth()
Когда я указываю в строке ввода пароль который начинается с нуля,то после релога скрипта или его запуска пароль становится без нуля в начале.
Как мне подсказали это проблема в "imgui.ImBuffer". Как это исправить?
 

Angr

Известный
291
98
Не могу понять почему я кривой.
Команду нормально получает, но стоит только получить информацию с диалога и сразу два параметра nil, а 3я( param.number ) норм. Какие варианты я не мучал.. отдельно делал их, но все равно так
Lua:
param = {
  id = -1,
  textmessage = " ",
  active = false,
  number = 0
}


function sampev.onSendCommand(cmd)
  if cmd then
    local id, textmess  = string.match(cmd, "^%/sms (%d+) (.*)")
    local maxid = sampGetMaxPlayerId(false)
    if textmess ~= nil then
      if tonumber(id) < maxid and tonumber(id) >= 0 then
      param.active = true
      param.id = tonumber(id)
      param.textmessage = textmess
      sampSendChat(string.format("/stats %d",param.id))
      return true
      else
      sampAddChatMessage("Ошибка",-1 )
      return true
      end
    end
  end
 
end
-- Получает ID И Текст(работает)


function sampev.onShowDialog(dialogId,style,title ,button1 ,button2 , text)
    if title == "{FFCD00}Статистика игрока" and param.active then
        local number = string.match(text,"Номер телефона%:\t\t(%d+)")
        param.active = false
        param.number = number
        print(param.id,param.textmessage,param.active,param.number)
        -- ID И текст nil, но номер дает
        return false
      else
      return false
    end
end
 
Последнее редактирование:

#kweeZ

Известный
577
122
Как узнать скорость машин в зоне стрима?
Код:
function ck()
    for i = 0, 2000 do
    local _, car = sampGetCarHandleBySampVehicleId(i)
    ids = getCarSpeed(car)
    if ids then
        sampAddChatMessage("ID "..ids, -1)
end
end
end
Не работает
 

astynk

Известный
Проверенный
742
530
Как узнать скорость машин в зоне стрима?
Код:
function ck()
    for i = 0, 2000 do
    local _, car = sampGetCarHandleBySampVehicleId(i)
    ids = getCarSpeed(car)
    if ids then
        sampAddChatMessage("ID "..ids, -1)
end
end
end
Не работает
Нужно проверять существует ли хендл car. getCarSpeed с невалидным хендлом выбросит ошибку.
А вообще легче и проще перебирать таблицу getAllVehicles():
Код:
for k, v in ipairs(getAllVehicles()) do
    local speed = getCarSpeed(v)
    sampAddChatMessage(string.format("Car: %d Speed: %d", v, speed), -1)
end
 
  • Нравится
Реакции: #kweeZ

dhhh

Известный
51
1
Народ, подскажите почему имгуи не появляется?
Lua:
require "lib.moonloader"
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8


local main_window_state = imgui.ImBool(false)
local checkbox = imgui.ImBool(false)
local checkbox2 = imgui.ImBool(false)
local checkboxes = imgui.ImBool(false)
local autodoklad = imgui.ImBuffer(256)
local zader = imgui.ImBuffer(256)
local sttinh = imgui.ImBool(false)
local show_test_window = imgui.ImBool(false)
local teg = imgui.ImBool(false)
local tegt = imgui.ImBuffer(256)
local font_changed = false

function main()
        if not isSampfuncsLoaded() or not isSampLoaded() then return end
        while not isSampAvailable() do wait(100) end

        ddavto = lua_thread.create_suspended(autod)
        sampRegisterChatCommand("gos", gos)
        imgui.Process = false

        while true do
        wait(0)
            if main_window_state.v == false then
                imgui.Process = false
            end

            end
end

function gos()
main_window_state.v = not main_window_state.v
imgui.Process = main_window_state.v
imgui.Process = checkboxes.v
end

function imgui.OnDrawFrame()

    if main_window_state.v then
        imgui.ShowCursor = true

        imgui.Begin("Binder GOS", main_window_state)

                imgui.Checkbox(u8"автодоклад", checkbox)
        imgui.End()
    else
        imgui.ShowCursor = false
    end

end
 

MrCold

Активный
364
118
Как узнать скорость машин в зоне стрима?
Код:
function ck()
    for i = 0, 2000 do
    local _, car = sampGetCarHandleBySampVehicleId(i)
    ids = getCarSpeed(car)
    if ids then
        sampAddChatMessage("ID "..ids, -1)
end
end
end
Не работает
Попробуй этот код, и зайди в игру. Он тебе на машинах будет писать скорость
Lua:
col = 0xff336633

function main()
    if not isSampAvailable() or not isSampfuncsLoaded() then return end
    local font = renderCreateFont("Arial", 10, 12) -- загружает шрифт по названию
    while not isSampAvailable() do wait(100) end
    while true do
        wait(0)
        for i = 0, 2000 do
            local result, carhandle = sampGetCarHandleBySampVehicleId(i)
            if result then
                local speedcar = getCarSpeed(carhandle)
                local X, Y, Z = getOffsetFromCarInWorldCoords( carhandle, 0.0, 0.0, 0.0) -- Хранит координаты смещения положения транспортных средств
                local resul = isPointOnScreen(X, Y, Z, 0.0) -- Проверяет находится ли точка на экране в заданном радиусе
                local resultt, carid = sampGetVehicleIdByCarHandle(carhandle)
                if resultt then
                    local wposX, wposY = convert3DCoordsToScreen(X, Y, Z) -- Конвертирует игровые 3D координаты в экранные
                    renderFontDrawText(font, "Скорость машины: " .. speedcar, wposX, wposY, col)
                end
            end
        end
    end
end
 

Akionka

akionka.lua
Проверенный
742
500
Народ, подскажите почему имгуи не появляется?
Lua:
require "lib.moonloader"
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8


local main_window_state = imgui.ImBool(false)
local checkbox = imgui.ImBool(false)
local checkbox2 = imgui.ImBool(false)
local checkboxes = imgui.ImBool(false)
local autodoklad = imgui.ImBuffer(256)
local zader = imgui.ImBuffer(256)
local sttinh = imgui.ImBool(false)
local show_test_window = imgui.ImBool(false)
local teg = imgui.ImBool(false)
local tegt = imgui.ImBuffer(256)
local font_changed = false

function main()
        if not isSampfuncsLoaded() or not isSampLoaded() then return end
        while not isSampAvailable() do wait(100) end

        ddavto = lua_thread.create_suspended(autod)
        sampRegisterChatCommand("gos", gos)
        imgui.Process = false

        while true do
        wait(0)
            if main_window_state.v == false then
            imgui.Process = false
            end

            end
end

function gos()
main_window_state.v = not main_window_state.v
imgui.Process = main_window_state.v
imgui.Process = checkboxes.v
end

function imgui.OnDrawFrame()

    if main_window_state.v then
        imgui.ShowCursor = true

        imgui.Begin("Binder GOS", main_window_state)

                imgui.Checkbox(u8"автодоклад", checkbox)
        imgui.End()
    else
        imgui.ShowCursor = false
    end

end
Потому что у тебя говнокод в main()
Lua:
require "lib.moonloader"
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local main_window_state = imgui.ImBool(false)
local checkbox          = imgui.ImBool(false)
local checkbox2         = imgui.ImBool(false)
local checkboxes        = imgui.ImBool(false)
local autodoklad        = imgui.ImBuffer(256)
local zader             = imgui.ImBuffer(256)
local sttinh            = imgui.ImBool(false)
local show_test_window  = imgui.ImBool(false)
local teg               = imgui.ImBool(false)
local tegt              = imgui.ImBuffer(256)
local font_changed      = false

function main()
  if not isSampfuncsLoaded() or not isSampLoaded() then return end
  while not isSampAvailable() do wait(100) end

  ddavto = lua_thread.create_suspended(autod)
  sampRegisterChatCommand("gos", gos)

  while true do
    wait(0)
    imgui.Process = main_window_state.v
  end
end

function gos()
  main_window_state.v = not main_window_state.v
end

function imgui.OnDrawFrame()
  if main_window_state.v then
    imgui.ShowCursor = true
    imgui.Begin("Binder GOS", main_window_state)
    imgui.Checkbox(u8"автодоклад", checkbox)
    imgui.End()
  else
    imgui.ShowCursor = false
  end
end
 

dhhh

Известный
51
1
Как можно зафиксировать кнопку? Тип я нажал на нее снизу появился текст, нажал второй раз текст исчез
Lua:
    if not font_changed and imgui.Button(u8"Настройка") then
                    imgui.Text(u8"Привет")
                end