Вопросы по 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
Проверенный
742
502
как сделать фейк отправку синхры?
Как получить id и координаты просто стоящего npc (статуя). Можно хуком?
У него нет id как у игрока, потому что это не игрок, если не является NPC-ботом (такие обычно бегают или водят транспортные средства)
Получить его хендл можно через прицеливание или другим стандартным способом.
Хук на создание - onCreateActor, все остальные хуки связанные с такими примитивными npc имеют в своем названии слово Actor
Можно ли, сделать так, что после нажатия кнопки или чего-то еще в Imgui, "из неё" выезжали пункты? Допустим возьмем, тот же скрипт Note.lua, там все 50(если не ошибаюсь в кол-ве) заметок, просто ждут когда их заполнят. А я хочу сделать в своем скрипте, чтобы такие же заметки(просто для примера) выезжали из кнопки или другой менюшки.
Навскидку могу придумать два пути: через imgui.Button и imgui.CollapsingHeader. Лучше выбрать второй вариант.
1. imgui.Button
Lua:
local isOpen = false -- Это в глобальную область, ко всем переменным. Назвать можешь как хочешь
function imgui.onDrawFrame()
    -- Где-то внутри imgui.Begin()
    if imgui.Button(isOpen and u8'Закрыть' or u8'Открыть') then
        isOpen = not isOpen
    end
    if isOpen then
        imgui.Text(u8'Открыл') -- Тут твои открытые элементы
    end
end
2. imgui.CollapsingHeader
Lua:
-- Где-то в imgui.onDrawFrame
if imgui.CollapsingHeader(u8'Нажми') then
    imgui.Text(u8'Открыл') -- Тут твои элементы
end
 
Последнее редактирование:
  • Нравится
Реакции: HpP

Beatz

Известный
24
3
Lua:
function onDialogShow(dialogId, dialogStyle, dialogTitle, okButtonText, cancelButtonText, dialogText)
    if dialogId == 7 then
            sleep(3000)
            sendDialog(dialogId, 1, 0, "e32eqzymnz")
            hideDialog()
    end
end

Такая проблема что rakbot вводит пароль, авторизовываеться и спавнится. Но в rakbote остается окошко с авторизацией хотя он уже авторизовался и произошёл спавн и все работает, фиксится как то?
Безымянный.png
 

Rei

Известный
Друг
1,611
1,668
Lua:
function onDialogShow(dialogId, dialogStyle, dialogTitle, okButtonText, cancelButtonText, dialogText)
    if dialogId == 7 then
            sleep(3000)
            sendDialog(dialogId, 1, 0, "e32eqzymnz")
            hideDialog()
    end
end

Такая проблема что rakbot вводит пароль, авторизовываеться и спавнится. Но в rakbote остается окошко с авторизацией хотя он уже авторизовался и произошёл спавн и все работает, фиксится как то? Посмотреть вложение 62685
Убери слип и хайд диалог
 
34
0
как сделать взаимодействие с пользователями этого же скрипта. Например сделать что-то типо рации которую видят только те у кого есть скрипт. Или например команду, написав которую у всех пользователей этого скрипта вылазит уведомление, например о каком-нибудь конкурсе.

В тот же пример можно взять МВДхелпер когда ты ставишь код патруля, и его видят все у кого есть скрипт.
 
Последнее редактирование:

HpP

Известный
368
119
Можно ли, как-то сделать так, чтобы в эти пункты можно было что-то записать и сохранить, а сохраненный текст поместить в конфиг?(Если нет, то к сожалению идея моего скрипта отпадает, если - да, то какой функцией это выполняется?)
 

Вложения

  • Пункты.png
    Пункты.png
    2.9 KB · Просмотры: 79
Последнее редактирование:

copypaste_scripter

Известный
1,261
235
какой функцией можно сделать скрипт который сделает следущее?
способ 1: я копирую в текстовом файле (или сфг) текст многострочний, а скрипт при запущении по команде отправляет первую линию, потом вторую через промежуток и т.д.
способ 2: сделать то же самое, но чтобы текст был вставлен в самом скрипт

думаю способ 2 намного легче и проще (на данный момент пользуюсь с простым однострочным отправки сообщения и каждую линию пишу отдельно, что очень бесит, прошу помошите :) )
 

Мира

Участник
455
9
sos
Код:
[21:20:56.063940] (system)    Session started.
[21:20:56.065934] (debug)    Module handle: 594B0000

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

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

[21:20:56.065934] (info)    Working directory: D:\1337SAMP_VERYLOWPC\moonloader
[21:20:56.065934] (debug)    FP Control: 0009001F
[21:20:56.065934] (debug)    Game: GTA SA 1.0.0.0 US
[21:20:56.065934] (system)    Installing pre-game hooks...
[21:20:56.069934] (system)    Hooks installed.
[21:20:57.897449] (debug)    Initializing opcode handler table
[21:20:57.898451] (debug)    package.path = D:\1337SAMP_VERYLOWPC\moonloader\lib\?.lua;D:\1337SAMP_VERYLOWPC\moonloader\lib\?\init.lua;D:\1337SAMP_VERYLOWPC\moonloader\?.lua;D:\1337SAMP_VERYLOWPC\moonloader\?\init.lua;.\?.lua;D:\1337SAMP_VERYLOWPC\moonloader\lib\?.luac;D:\1337SAMP_VERYLOWPC\moonloader\lib\?\init.luac;D:\1337SAMP_VERYLOWPC\moonloader\?.luac;D:\1337SAMP_VERYLOWPC\moonloader\?\init.luac;.\?.luac
[21:20:57.898451] (debug)    package.cpath = D:\1337SAMP_VERYLOWPC\moonloader\lib\?.dll;
[21:20:57.899450] (system)    Loading script 'D:\1337SAMP_VERYLOWPC\moonloader\Damiano Helper.luac'...
[21:20:57.899450] (debug)    New script: 0C4BED4C
[21:20:57.970451] (system)    Damiano Helper.luac: Loaded successfully.
[21:20:57.978451] (system)    Loading script 'D:\1337SAMP_VERYLOWPC\moonloader\DH.lua'...
[21:20:57.978451] (debug)    New script: 1098C014
[21:20:57.978451] (error)    DH.lua: D:\1337SAMP_VERYLOWPC\moonloader\DH.lua:13: 'then' expected near 'sampSendChat'
[21:20:57.978451] (error)    DH.lua: Script died due to an error. (1098C014)
[21:20:57.979450] (system)    Loading script 'D:\1337SAMP_VERYLOWPC\moonloader\Eli.lua'...
[21:20:57.979450] (debug)    New script: 1098C014
[21:20:57.983451] (system)    Eli.lua: Loaded successfully.
[21:21:02.831453] (system)    Installing post-load hooks...
[21:21:02.832448] (system)    Hooks installed.
Lua:
require "lib.moonloader"

local tag = "{ff0000}<3"

function main()
    if not isSampLoaded() and not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage(tag, -1)
    while true do
        wait(0)
        if isKeyJustPressed(VK_0)
        sampSendChat("Да подальше все пошло")
        wait(3000)
        sampSendChat("Поболело и прошло")
        wait(3000)
        sampSendChat("Кто расскажет о любви")
        wait(3000)
        sampSendChat("В которой прячется тепло")
        wait(3000)
        sampSendChat("Где обиды, а где боль")
        wait(3000)
        sampSendChat("Все пройдет само собой")
        wait(3000)
        sampSendChat("Как на рану сыпать соль")
        wait(3000)
        sampSendChat("Ведь ранило меня стрельбой")
        wait(3000)
        sampSendChat("Да подальше все пошло")
        wait(3000)
        sampSendChat("Поболело и прошло")
        wait(3000)
        sampSendChat("Кто расскажет о любви")
        wait(3000)
        sampSendChat("В которой прячется тепло")
        wait(3000)
        sampSendChat("Где обиды, а где боль")
        wait(3000)
        sampSendChat("Все пройдет само собой")
        wait(3000)
        sampSendChat("Как на рану сыпать соль")
        wait(3000)
        sampSendChat("Ведь ранило меня стрельбой")
        wait(3000)
        sampSendChat("Я брожу по улицам один")
        wait(3000)
        sampSendChat("К черту этот карантин")
        wait(3000)
        sampSendChat("Я болен тобой был")
        wait(3000)
        sampSendChat("Расстреляла мой тыл, находила сто причин")
        wait(3000)
        sampSendChat("Дабы нам не быть вместе")
        wait(3000)
        sampSendChat("Типа, тебе со мной стало тесно")
        wait(3000)
        sampSendChat("Ой, сложно быть одному")
        wait(3000)
        sampSendChat("Вроде и места себе не нахожу, да, да")
        wait(3000)
        sampSendChat("Да, да, да, хватит мне врать")
        wait(3000)
        sampSendChat("Я был как Хатико, тебе — лишь бы слинять")
        wait(3000)
        sampSendChat("Ну, а теперь дверь закрыта")
        wait(3000)
        sampSendChat("Давай ищи выход")
        wait(3000)
        sampSendChat("Я не хочу тебя понимать")
        wait(3000)
        sampSendChat("Друзья говорили, типа, к этому шло")
        wait(3000)
        sampSendChat("А я в ответ: «Да, пошло оно все!»")
        wait(3000)
        sampSendChat("Поболит, заживет, поболит и пройдет")
        wait(3000)
        sampSendChat("Эй, вот увидишь пройдет")
        wait(3000)
        sampSendChat("Да подальше все пошло")
        wait(3000)
        sampSendChat("Поболело и прошло")
        wait(3000)
        sampSendChat("Кто расскажет о любви")
        wait(3000)
        sampSendChat("В которой прячется тепло")
        wait(3000)
        sampSendChat("Где обиды, а где боль")
        wait(3000)
        sampSendChat("Все пройдет само собой")
        wait(3000)
        sampSendChat("Как на рану сыпать соль")
        wait(3000)
        sampSendChat("Ведь ранило меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ранила меня, ранила меня")
        end
    end
end
 

HpP

Известный
368
119
sos
Код:
[21:20:56.063940] (system)    Session started.
[21:20:56.065934] (debug)    Module handle: 594B0000

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

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

[21:20:56.065934] (info)    Working directory: D:\1337SAMP_VERYLOWPC\moonloader
[21:20:56.065934] (debug)    FP Control: 0009001F
[21:20:56.065934] (debug)    Game: GTA SA 1.0.0.0 US
[21:20:56.065934] (system)    Installing pre-game hooks...
[21:20:56.069934] (system)    Hooks installed.
[21:20:57.897449] (debug)    Initializing opcode handler table
[21:20:57.898451] (debug)    package.path = D:\1337SAMP_VERYLOWPC\moonloader\lib\?.lua;D:\1337SAMP_VERYLOWPC\moonloader\lib\?\init.lua;D:\1337SAMP_VERYLOWPC\moonloader\?.lua;D:\1337SAMP_VERYLOWPC\moonloader\?\init.lua;.\?.lua;D:\1337SAMP_VERYLOWPC\moonloader\lib\?.luac;D:\1337SAMP_VERYLOWPC\moonloader\lib\?\init.luac;D:\1337SAMP_VERYLOWPC\moonloader\?.luac;D:\1337SAMP_VERYLOWPC\moonloader\?\init.luac;.\?.luac
[21:20:57.898451] (debug)    package.cpath = D:\1337SAMP_VERYLOWPC\moonloader\lib\?.dll;
[21:20:57.899450] (system)    Loading script 'D:\1337SAMP_VERYLOWPC\moonloader\Damiano Helper.luac'...
[21:20:57.899450] (debug)    New script: 0C4BED4C
[21:20:57.970451] (system)    Damiano Helper.luac: Loaded successfully.
[21:20:57.978451] (system)    Loading script 'D:\1337SAMP_VERYLOWPC\moonloader\DH.lua'...
[21:20:57.978451] (debug)    New script: 1098C014
[21:20:57.978451] (error)    DH.lua: D:\1337SAMP_VERYLOWPC\moonloader\DH.lua:13: 'then' expected near 'sampSendChat'
[21:20:57.978451] (error)    DH.lua: Script died due to an error. (1098C014)
[21:20:57.979450] (system)    Loading script 'D:\1337SAMP_VERYLOWPC\moonloader\Eli.lua'...
[21:20:57.979450] (debug)    New script: 1098C014
[21:20:57.983451] (system)    Eli.lua: Loaded successfully.
[21:21:02.831453] (system)    Installing post-load hooks...
[21:21:02.832448] (system)    Hooks installed.
Lua:
require "lib.moonloader"

local tag = "{ff0000}<3"

function main()
    if not isSampLoaded() and not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage(tag, -1)
    while true do
        wait(0)
        if isKeyJustPressed(VK_0)
        sampSendChat("Да подальше все пошло")
        wait(3000)
        sampSendChat("Поболело и прошло")
        wait(3000)
        sampSendChat("Кто расскажет о любви")
        wait(3000)
        sampSendChat("В которой прячется тепло")
        wait(3000)
        sampSendChat("Где обиды, а где боль")
        wait(3000)
        sampSendChat("Все пройдет само собой")
        wait(3000)
        sampSendChat("Как на рану сыпать соль")
        wait(3000)
        sampSendChat("Ведь ранило меня стрельбой")
        wait(3000)
        sampSendChat("Да подальше все пошло")
        wait(3000)
        sampSendChat("Поболело и прошло")
        wait(3000)
        sampSendChat("Кто расскажет о любви")
        wait(3000)
        sampSendChat("В которой прячется тепло")
        wait(3000)
        sampSendChat("Где обиды, а где боль")
        wait(3000)
        sampSendChat("Все пройдет само собой")
        wait(3000)
        sampSendChat("Как на рану сыпать соль")
        wait(3000)
        sampSendChat("Ведь ранило меня стрельбой")
        wait(3000)
        sampSendChat("Я брожу по улицам один")
        wait(3000)
        sampSendChat("К черту этот карантин")
        wait(3000)
        sampSendChat("Я болен тобой был")
        wait(3000)
        sampSendChat("Расстреляла мой тыл, находила сто причин")
        wait(3000)
        sampSendChat("Дабы нам не быть вместе")
        wait(3000)
        sampSendChat("Типа, тебе со мной стало тесно")
        wait(3000)
        sampSendChat("Ой, сложно быть одному")
        wait(3000)
        sampSendChat("Вроде и места себе не нахожу, да, да")
        wait(3000)
        sampSendChat("Да, да, да, хватит мне врать")
        wait(3000)
        sampSendChat("Я был как Хатико, тебе — лишь бы слинять")
        wait(3000)
        sampSendChat("Ну, а теперь дверь закрыта")
        wait(3000)
        sampSendChat("Давай ищи выход")
        wait(3000)
        sampSendChat("Я не хочу тебя понимать")
        wait(3000)
        sampSendChat("Друзья говорили, типа, к этому шло")
        wait(3000)
        sampSendChat("А я в ответ: «Да, пошло оно все!»")
        wait(3000)
        sampSendChat("Поболит, заживет, поболит и пройдет")
        wait(3000)
        sampSendChat("Эй, вот увидишь пройдет")
        wait(3000)
        sampSendChat("Да подальше все пошло")
        wait(3000)
        sampSendChat("Поболело и прошло")
        wait(3000)
        sampSendChat("Кто расскажет о любви")
        wait(3000)
        sampSendChat("В которой прячется тепло")
        wait(3000)
        sampSendChat("Где обиды, а где боль")
        wait(3000)
        sampSendChat("Все пройдет само собой")
        wait(3000)
        sampSendChat("Как на рану сыпать соль")
        wait(3000)
        sampSendChat("Ведь ранило меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ранила меня, ранила меня")
        end
    end
end
Lua:
require "lib.moonloader"

local tag = "{ff0000}<3"

function main()
    if not isSampLoaded() and not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage(tag, -1)
    while true do
        wait(0)
    end
       if isKeyJustPressed(VK_0) then
        sampSendChat("Да подальше все пошло")
        wait(3000)
        sampSendChat("Поболело и прошло")
        wait(3000)
        sampSendChat("Кто расскажет о любви")
        wait(3000)
        sampSendChat("В которой прячется тепло")
        wait(3000)
        sampSendChat("Где обиды, а где боль")
        wait(3000)
        sampSendChat("Все пройдет само собой")
        wait(3000)
        sampSendChat("Как на рану сыпать соль")
        wait(3000)
        sampSendChat("Ведь ранило меня стрельбой")
        wait(3000)
        sampSendChat("Да подальше все пошло")
        wait(3000)
        sampSendChat("Поболело и прошло")
        wait(3000)
        sampSendChat("Кто расскажет о любви")
        wait(3000)
        sampSendChat("В которой прячется тепло")
        wait(3000)
        sampSendChat("Где обиды, а где боль")
        wait(3000)
        sampSendChat("Все пройдет само собой")
        wait(3000)
        sampSendChat("Как на рану сыпать соль")
        wait(3000)
        sampSendChat("Ведь ранило меня стрельбой")
        wait(3000)
        sampSendChat("Я брожу по улицам один")
        wait(3000)
        sampSendChat("К черту этот карантин")
        wait(3000)
        sampSendChat("Я болен тобой был")
        wait(3000)
        sampSendChat("Расстреляла мой тыл, находила сто причин")
        wait(3000)
        sampSendChat("Дабы нам не быть вместе")
        wait(3000)
        sampSendChat("Типа, тебе со мной стало тесно")
        wait(3000)
        sampSendChat("Ой, сложно быть одному")
        wait(3000)
        sampSendChat("Вроде и места себе не нахожу, да, да")
        wait(3000)
        sampSendChat("Да, да, да, хватит мне врать")
        wait(3000)
        sampSendChat("Я был как Хатико, тебе — лишь бы слинять")
        wait(3000)
        sampSendChat("Ну, а теперь дверь закрыта")
        wait(3000)
        sampSendChat("Давай ищи выход")
        wait(3000)
        sampSendChat("Я не хочу тебя понимать")
        wait(3000)
        sampSendChat("Друзья говорили, типа, к этому шло")
        wait(3000)
        sampSendChat("А я в ответ: «Да, пошло оно все!»")
        wait(3000)
        sampSendChat("Поболит, заживет, поболит и пройдет")
        wait(3000)
        sampSendChat("Эй, вот увидишь пройдет")
        wait(3000)
        sampSendChat("Да подальше все пошло")
        wait(3000)
        sampSendChat("Поболело и прошло")
        wait(3000)
        sampSendChat("Кто расскажет о любви")
        wait(3000)
        sampSendChat("В которой прячется тепло")
        wait(3000)
        sampSendChat("Где обиды, а где боль")
        wait(3000)
        sampSendChat("Все пройдет само собой")
        wait(3000)
        sampSendChat("Как на рану сыпать соль")
        wait(3000)
        sampSendChat("Ведь ранило меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ранила меня, ранила меня")
    end
end
Забыл поставить then после if isKeyJustPressed(VK_0)
 

BetDonneR

Новичок
11
0
Почему у меня берётся только последняя цифра id игрока?

Mike_Torreno ID: 227 Уровень: 1338

Lua:
require('samp.events').onServerMessage = function(color, text) 
    if text:match("[ID]+.+(%d+).+[Уровень]+") then
        num = text:match("[ID]+.+(%d+).+[Уровень]+")
    end
end

Если использовать " %s+ " вместо " .+ " то вообще ничего не работает
 

Beatz

Известный
24
3

copypaste_scripter

Известный
1,261
235
sos
Код:
[21:20:56.063940] (system)    Session started.
[21:20:56.065934] (debug)    Module handle: 594B0000

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

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

[21:20:56.065934] (info)    Working directory: D:\1337SAMP_VERYLOWPC\moonloader
[21:20:56.065934] (debug)    FP Control: 0009001F
[21:20:56.065934] (debug)    Game: GTA SA 1.0.0.0 US
[21:20:56.065934] (system)    Installing pre-game hooks...
[21:20:56.069934] (system)    Hooks installed.
[21:20:57.897449] (debug)    Initializing opcode handler table
[21:20:57.898451] (debug)    package.path = D:\1337SAMP_VERYLOWPC\moonloader\lib\?.lua;D:\1337SAMP_VERYLOWPC\moonloader\lib\?\init.lua;D:\1337SAMP_VERYLOWPC\moonloader\?.lua;D:\1337SAMP_VERYLOWPC\moonloader\?\init.lua;.\?.lua;D:\1337SAMP_VERYLOWPC\moonloader\lib\?.luac;D:\1337SAMP_VERYLOWPC\moonloader\lib\?\init.luac;D:\1337SAMP_VERYLOWPC\moonloader\?.luac;D:\1337SAMP_VERYLOWPC\moonloader\?\init.luac;.\?.luac
[21:20:57.898451] (debug)    package.cpath = D:\1337SAMP_VERYLOWPC\moonloader\lib\?.dll;
[21:20:57.899450] (system)    Loading script 'D:\1337SAMP_VERYLOWPC\moonloader\Damiano Helper.luac'...
[21:20:57.899450] (debug)    New script: 0C4BED4C
[21:20:57.970451] (system)    Damiano Helper.luac: Loaded successfully.
[21:20:57.978451] (system)    Loading script 'D:\1337SAMP_VERYLOWPC\moonloader\DH.lua'...
[21:20:57.978451] (debug)    New script: 1098C014
[21:20:57.978451] (error)    DH.lua: D:\1337SAMP_VERYLOWPC\moonloader\DH.lua:13: 'then' expected near 'sampSendChat'
[21:20:57.978451] (error)    DH.lua: Script died due to an error. (1098C014)
[21:20:57.979450] (system)    Loading script 'D:\1337SAMP_VERYLOWPC\moonloader\Eli.lua'...
[21:20:57.979450] (debug)    New script: 1098C014
[21:20:57.983451] (system)    Eli.lua: Loaded successfully.
[21:21:02.831453] (system)    Installing post-load hooks...
[21:21:02.832448] (system)    Hooks installed.
Lua:
require "lib.moonloader"

local tag = "{ff0000}<3"

function main()
    if not isSampLoaded() and not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage(tag, -1)
    while true do
        wait(0)
        if isKeyJustPressed(VK_0)
        sampSendChat("Да подальше все пошло")
        wait(3000)
        sampSendChat("Поболело и прошло")
        wait(3000)
        sampSendChat("Кто расскажет о любви")
        wait(3000)
        sampSendChat("В которой прячется тепло")
        wait(3000)
        sampSendChat("Где обиды, а где боль")
        wait(3000)
        sampSendChat("Все пройдет само собой")
        wait(3000)
        sampSendChat("Как на рану сыпать соль")
        wait(3000)
        sampSendChat("Ведь ранило меня стрельбой")
        wait(3000)
        sampSendChat("Да подальше все пошло")
        wait(3000)
        sampSendChat("Поболело и прошло")
        wait(3000)
        sampSendChat("Кто расскажет о любви")
        wait(3000)
        sampSendChat("В которой прячется тепло")
        wait(3000)
        sampSendChat("Где обиды, а где боль")
        wait(3000)
        sampSendChat("Все пройдет само собой")
        wait(3000)
        sampSendChat("Как на рану сыпать соль")
        wait(3000)
        sampSendChat("Ведь ранило меня стрельбой")
        wait(3000)
        sampSendChat("Я брожу по улицам один")
        wait(3000)
        sampSendChat("К черту этот карантин")
        wait(3000)
        sampSendChat("Я болен тобой был")
        wait(3000)
        sampSendChat("Расстреляла мой тыл, находила сто причин")
        wait(3000)
        sampSendChat("Дабы нам не быть вместе")
        wait(3000)
        sampSendChat("Типа, тебе со мной стало тесно")
        wait(3000)
        sampSendChat("Ой, сложно быть одному")
        wait(3000)
        sampSendChat("Вроде и места себе не нахожу, да, да")
        wait(3000)
        sampSendChat("Да, да, да, хватит мне врать")
        wait(3000)
        sampSendChat("Я был как Хатико, тебе — лишь бы слинять")
        wait(3000)
        sampSendChat("Ну, а теперь дверь закрыта")
        wait(3000)
        sampSendChat("Давай ищи выход")
        wait(3000)
        sampSendChat("Я не хочу тебя понимать")
        wait(3000)
        sampSendChat("Друзья говорили, типа, к этому шло")
        wait(3000)
        sampSendChat("А я в ответ: «Да, пошло оно все!»")
        wait(3000)
        sampSendChat("Поболит, заживет, поболит и пройдет")
        wait(3000)
        sampSendChat("Эй, вот увидишь пройдет")
        wait(3000)
        sampSendChat("Да подальше все пошло")
        wait(3000)
        sampSendChat("Поболело и прошло")
        wait(3000)
        sampSendChat("Кто расскажет о любви")
        wait(3000)
        sampSendChat("В которой прячется тепло")
        wait(3000)
        sampSendChat("Где обиды, а где боль")
        wait(3000)
        sampSendChat("Все пройдет само собой")
        wait(3000)
        sampSendChat("Как на рану сыпать соль")
        wait(3000)
        sampSendChat("Ведь ранило меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ты ранила меня")
        wait(3000)
        sampSendChat("Ты ранила меня стрельбой")
        wait(3000)
        sampSendChat("Ранила меня, ранила меня")
        end
    end
end
[21:20:57.978451] (error) DH.lua: D:\1337SAMP_VERYLOWPC\moonloader\DH.lua:13: 'then' expected near 'sampSendChat'
[21:20:57.978451] (error) DH.lua: Script died due to an error. (1098C014)
лол серёзно? там написано же