Здравствуйте, гость ( Вход | Регистрация )

3 страниц V < 1 2 3  
Ответить в эту темуОткрыть новую тему
> LuaPosh, Новые возможности пилота
Madeus
сообщение 7.4.2021, 16:55
Сообщение #41


****

Apprentice
Сообщений: 283
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 8652
Пользователь №: 19.451
Возраст: 32



Как работает хайд и есть ли возможность хайдить другие процессы?
Код
--lua
log"clear";log"mode compact";require"luaposh"
PScode('void',{[[Hide-UoPilot]]})
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 7.4.2021, 17:39
Сообщение #42


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2158
Пользователь №: 18.746



Madeus, Hide-UoPilot прячет процесс пилота от защит, пытающихся его найти.
Насчет других процессов - да, можно. Но какие-то может быть и не получится, нужно будет тестить.

Сегодня или в ближайшие дни сделаю функцию для других процессов.

Сообщение отредактировал Fors1k - 7.4.2021, 17:39


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 7.4.2021, 18:25
Сообщение #43


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2158
Пользователь №: 18.746



Набросал вот по-быстрому, попробуй.
--lua
log"clear";log"mode compact";require"luaposh"
PScode('void',{[[Start-HiddenProcess "C:\files\program.exe" "MySQL Service"]]})

Команда получилась длинноватой, так что сделал ей алиас. Вместо Start-HiddenProcess можно писать s-hp.

Сообщение отредактировал Fors1k - 7.4.2021, 18:30


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 7.4.2021, 18:39
Сообщение #44


****

Apprentice
Сообщений: 283
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 8652
Пользователь №: 19.451
Возраст: 32



Цитата(Fors1k @ 7.4.2021, 18:25) *

Набросал вот по-быстрому, попробуй.

Что-то не робит
Код
--lua
log"clear";log"mode compact";require"luaposh"
PScode('void',{[[Start-HiddenProcess "C:\Notepad++\notepad++.exe"]]})
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 7.4.2021, 18:49
Сообщение #45


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2158
Пользователь №: 18.746



Скачал notepad++, у меня получилось.

А, ну этой команде нужно передавать два параметра. Второй можно любой на свой вкус.

Вот так попробуй:
--lua
log"clear";log"mode compact";require"luaposh"
PScode('void',{[[Start-HiddenProcess "C:\Notepad++\notepad++.exe" "MySQL Service"]]})


Сообщение отредактировал Fors1k - 7.4.2021, 18:51


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 7.4.2021, 19:00
Сообщение #46


****

Apprentice
Сообщений: 283
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 8652
Пользователь №: 19.451
Возраст: 32



Цитата(Fors1k @ 7.4.2021, 18:49) *

А, ну этой команде нужно передавать два параметра. Второй можно любой на свой вкус.

Вот так попробуй:

Все так же, курс я понял, просто через powershell запускает
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 7.4.2021, 19:19
Сообщение #47


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2158
Пользователь №: 18.746



Цитата(Madeus @ 7.4.2021, 19:00) *

Все так же

Создаётся процесс с именем notepad++.exe?
У меня создаётся процесс с именем второго параметра. В данном случае MySQL Service.

Сообщение отредактировал Fors1k - 7.4.2021, 19:20


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 7.4.2021, 19:46
Сообщение #48


****

Apprentice
Сообщений: 283
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 8652
Пользователь №: 19.451
Возраст: 32



Цитата(Fors1k @ 7.4.2021, 19:19) *

Создаётся процесс с именем notepad++.exe?
У меня создаётся процесс с именем второго параметра. В данном случае MySQL Service.

Вообще не запускает

Решил проверить другие функции posh, чет вообще ничего не работает... позже буду разбираться

Вчера работало
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 7.4.2021, 22:04
Сообщение #49


****

Apprentice
Сообщений: 283
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 8652
Пользователь №: 19.451
Возраст: 32



В общем нужна помощь) Вчера скачал - распаковал - обновил - установил.
Попробовал
Код
PScode('void',{[[Hide-UoPilot]]})
Перезапустился пилот.
Сегодня 0 реакции на любой скрипт связанный с posh. Ребут не помог.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 8.4.2021, 1:31
Сообщение #50


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2158
Пользователь №: 18.746



Переустанови luaposh. Удали luaposh.lua и папку posh, распакуй зоново архив, и обновись через апдейт.
Поправил сокрытие процесса, теперь по идее проблем быть не должно.

Еще немного доработал, теперь вот так выглядит:
Прикрепленное изображение
Прикрепленное изображение

И Start-HiddenProcess теперь можно запускать с одним параметром - путь к файлу.

Сообщение отредактировал Fors1k - 8.4.2021, 1:37


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 8.4.2021, 3:07
Сообщение #51


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26843
Пользователь №: 16.971
Возраст: 29



Цитата
Сегодня 0 реакции на любой скрипт связанный с posh.

Посмотри журнал антивирусника/защитника windows, нет ли там блокировки скриптов powershell.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 8.4.2021, 3:28
Сообщение #52


****

Apprentice
Сообщений: 283
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 8652
Пользователь №: 19.451
Возраст: 32



Цитата(Fors1k @ 8.4.2021, 1:31) *

Переустанови luaposh. Удали luaposh.lua и папку posh, распакуй зоново архив, и обновись через апдейт.
Поправил сокрытие процесса, теперь по идее проблем быть не должно.

Еще немного доработал, теперь вот так выглядит:
Прикрепленное изображение
Прикрепленное изображение

И Start-HiddenProcess теперь можно запускать с одним параметром - путь к файлу.

Помогло, в итоге пилот просто переименовывается? При чем если включено переименование в настройках то просто перезапускается. А старт процесса запускает приложение, но в диспетчере не переименовывается

Цитата(cirus @ 8.4.2021, 3:07) *

Посмотри журнал антивирусника/защитника windows, нет ли там блокировки скриптов powershell.

Журнал пустой
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 8.4.2021, 11:41
Сообщение #53


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2158
Пользователь №: 18.746



Цитата(Madeus @ 8.4.2021, 3:28) *
переименование в настройках
Это?
Прикрепленное изображение
Оно просто меняет имя окна, процесс так и остается uopilot.exe
Сейчас с пилотом получается как у меня на скрине?

Цитата(Madeus @ 8.4.2021, 3:28) *
А старт процесса запускает приложение, но в диспетчере не переименовывается
Блин, уже удалил notepad++, снова сейчас скачал, что бы затестить его запуск)
Вот запущенный notepad++:
Прикрепленное изображение
У тебя не так?


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 8.4.2021, 13:45
Сообщение #54


****

Apprentice
Сообщений: 283
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 8652
Пользователь №: 19.451
Возраст: 32



Цитата(Fors1k @ 8.4.2021, 11:41) *

Это?
Прикрепленное изображение
Оно просто меняет имя окна, процесс так и остается uopilot.exe
Сейчас с пилотом получается как у меня на скрине?

Да, у меня всегда переименован exe пилота и в настройках тоже самое прописано, если стоит галочка переименовывать пилот то твой скрипт просто его перезапускает, если галочку убрать то работает как у тебя.
Цитата(Fors1k @ 8.4.2021, 11:41) *

Блин, уже удалил notepad++, снова сейчас скачал, что бы затестить его запуск)
Вот запущенный notepad++:
Прикрепленное изображение
У тебя не так?

Нет, у меня запускает с тем же именем что и всегда, notepad для примера, пробовал разное запускать. Из замеченного, в момент запуска exe того же notepad переименовывается "удаляется имя" потом стартует процесс, потом exe переименовывается обратно, в диспетчере при этом имя не меняется.

P.S. А есть варианты хайдить уже запущенный процесс?)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 8.4.2021, 18:06
Сообщение #55


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2158
Пользователь №: 18.746



Notepad не получится так запустить, так как его владелец не пользователь, а trustedinstaller.
Убирать имя уже запущенного процесса - на сколько я знаю, невозможно.

Сообщение отредактировал Fors1k - 8.4.2021, 18:06


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
dron4938
сообщение 25.11.2021, 0:43
Сообщение #56


****

Apprentice
Сообщений: 256
Регистрация: 20.3.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.395



не нашел кнопки скачать)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
yodich
сообщение 18.12.2023, 23:12
Сообщение #57


***

Novice
Сообщений: 90
Регистрация: 24.8.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.728
Возраст: 29



Библиотека LuaPosh


Прикрепленные файлы
Прикрепленный файл  LuaPosh.rar ( 14,29 килобайт ) Кол-во скачиваний: 67
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Deadly
сообщение 27.12.2023, 9:29
Сообщение #58


********

ex. Администратор
Сообщений: 1.360
Регистрация: 9.9.2006
Группа: Супермодераторы
Наличность: 1131
Пользователь №: 7.737



Цитата(yodich @ 19.12.2023, 1:12) *
Библиотека LuaPosh

Прикрепили файл в начало темы.


--------------------
Контактная ICQ: 390-899-494. Изображение
Умейте ценить тех людей, которым всегда есть до вас дело. Они не вечны (с).
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
фонарик
сообщение 1.6.2024, 5:16
Сообщение #59


****

Apprentice
Сообщений: 146
Регистрация: 23.11.2011
Группа: Пользователи
Наличность: 1
Пользователь №: 14.305



Вроде работало как-то давно у меня данная штуковина, а сейчас не робит и понять почему не могу, может подскажете в чем вообще может быть проблема?

Код
--lua
require'LuaPoSh'
PScode('void',{[[luaposhhint]]})
HNDL = tbhndl()
local x = 0

-- выполнять данный блок 5 секунд
local time = os.clock() + 5
while os.clock() < time do
    drawtext(HNDL, 'x = ' .. tostring(x) .. '\r\n' .. 'Текст', 200, 100, 36, 'Arial', 65280, 255)
    x = x + 1
    drawtext(HNDL, 'Текст\r\nМногострочный', 70, 300, 48, 'Segoe Print', 65279, 16000000)
    drawtext(HNDL, 'Text 123 qwerty\r\nЕще текст\r\nи ещё' , 400, 150, 24, 'Comic Sans MS', 255, 0)
    wait (10)
end
text_close() -- Закрыть luaPoshHint

HNDL = tbhndl() - на этой строчке просто все зависает, если msg() добавить на сл. строке, то он уже не срабатывает (IMG:style_emoticons/default/mellow.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение Вчера, 21:56
Сообщение #60


***********

Модератор UOPilot
Сообщений: 9.484
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27968
Пользователь №: 11.279



Уважаемый фонарик... Как же вы уметете невзначай проходя мимо задать на первый взгляд простой и наивный вопрос и вынести этим весь мозг. Без вас было бы скучно.
подгружать через require
вызов:
Код
local hint = require"hint"
hint(text, size, pos_x, pos_y, width, height, timeout)

В рамках пилота есть особенность - окно хинта закроется только после таймаута, даже если скрипт уже остановлен. Особенности реализации пилота. В чистом луа такого поведения нет.
hint
Код
--lua
local ffi = require 'ffi'
local C = ffi.C
ffi.cdef [[
    typedef struct lua_State lua_State;
    lua_State *luaL_newstate();
    void Sleep(unsigned int dwMilliseconds);
    void luaL_openlibs(lua_State *L);
    int luaL_loadstring (lua_State *L, const char *s);
    void lua_call (lua_State *L, int nargs, int nresults);
]]


local lua_code = [=====[
local mega_f = function(...)
local ffi = require("ffi")
local C   = ffi.C

ffi.cdef[[
    typedef void* HANDLE;
    typedef void* HWND;
    typedef void* HINSTANCE;
    typedef unsigned int UINT;
    typedef int BOOL;
    typedef const char* LPCSTR;
    typedef long LONG;
    typedef unsigned int DWORD;
    typedef unsigned long long UINT_PTR;
    typedef void* LPVOID;
    typedef void* HMODULE;
    typedef int (__stdcall *THREAD_START_ROUTINE)(LPVOID lpThreadParameter);
    typedef UINT_PTR (__stdcall *TIMERPROC)(HWND, UINT, UINT_PTR, DWORD);
    typedef unsigned int WPARAM;
    typedef long LPARAM;
    typedef void* HFONT;

    HWND __stdcall CreateWindowExA(
        LONG     dwExStyle,
        LPCSTR   lpClassName,
        LPCSTR   lpWindowName,
        LONG     dwStyle,
        int      x,
        int      y,
        int      nWidth,
        int      nHeight,
        HWND     hWndParent,
        void*    hMenu,
        HINSTANCE hInstance,
        void*    lpParam
    );

    BOOL __stdcall ShowWindow(
        HWND hWnd,
        int  nCmdShow
    );

    BOOL __stdcall UpdateWindow(
        HWND hWnd
    );

    int __stdcall MessageBoxTimeoutA(
        HWND    hWnd,
        LPCSTR  lpText,
        LPCSTR  lpCaption,
        UINT    uType,
        UINT    wLanguageId,
        UINT    dwMilliseconds
    );

    BOOL __stdcall DestroyWindow(
        HWND hWnd
    );

    DWORD __stdcall GetCurrentThreadId();

    HMODULE __stdcall GetModuleHandleA(
        LPCSTR lpModuleName
    );

    HANDLE __stdcall CreateThread(
        void* lpThreadAttributes,
        size_t dwStackSize,
        THREAD_START_ROUTINE lpStartAddress,
        LPVOID lpParameter,
        DWORD dwCreationFlags,
        DWORD* lpThreadId
    );

    BOOL __stdcall CloseHandle(
        HANDLE hObject
    );

    UINT_PTR __stdcall SetTimer(
        HWND      hWnd,
        UINT_PTR  nIDEvent,
        UINT      uElapse,
        TIMERPROC lpTimerFunc
    );

    BOOL __stdcall KillTimer(
        HWND     hWnd,
        UINT_PTR uIDEvent
    );

    typedef struct {
        int x;
        int y;
    } POINT;

    typedef struct {
        HWND       hwnd;
        UINT       message;
        uintptr_t  wParam;
        intptr_t   lParam;
        DWORD      time;
        POINT      pt;
    } MSG;

    typedef intptr_t LRESULT;

    typedef struct {
        uint32_t size;
        uint32_t pos_x;
        uint32_t pos_y;
        uint32_t width;
        uint32_t height;
        uint32_t timeout;
        const char* text;
    } HintStruct;

    BOOL __stdcall GetMessageA(
        MSG* lpMsg,
        HWND hWnd,
        UINT wMsgFilterMin,
        UINT wMsgFilterMax
    );

    BOOL __stdcall TranslateMessage(
        const MSG* lpMsg
    );

    LRESULT __stdcall DispatchMessageA(
        const MSG* lpMsg
    );

    int __stdcall SendMessageA(
        HWND   hWnd,
        UINT   Msg,
        WPARAM wParam,
        LPARAM lParam
    );

    HFONT __stdcall CreateFontA(
        int     nHeight,
        int     nWidth,
        int     nEscapement,
        int     nOrientation,
        int     fnWeight,
        unsigned long fdwItalic,
        unsigned long fdwUnderline,
        unsigned long fdwStrikeOut,
        unsigned long fdwCharSet,
        unsigned long fdwOutputPrecision,
        unsigned long fdwClipPrecision,
        unsigned long fdwQuality,
        unsigned long fdwPitchAndFamily,
        LPCSTR  lpszFace
    );

    void Sleep(unsigned int dwMilliseconds);

    static const int WM_SETFONT = 0x0030;

    typedef struct lua_State lua_State;
    lua_State *luaL_newstate();
    void Sleep(unsigned int dwMilliseconds);
    void luaL_openlibs(lua_State *L);
    void lua_call (lua_State *L, int nargs, int nresults);
    typedef int (*lua_CFunction)(lua_State *L);
    void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n);
]]

local user32   = ffi.load("user32")
local kernel32 = ffi.load("kernel32")
local Gdi32    = ffi.load("Gdi32.dll")
local sleep    = C.Sleep

-- Переменная для хранения дескриптора окна с сообщением
local previousMessageWindow = nil

local function createWindow(HintStruct)
    local hwnd = user32.CreateWindowExA(
        0,                -- dwExStyle
        "STATIC" ,         -- lpClassName
        HintStruct.text,  -- lpWindowName
        0x80000000,       -- dwStyle WS_POPUP
        HintStruct.pos_x, -- x
        HintStruct.pos_y, -- y
        HintStruct.width, -- nWidth
        HintStruct.height,-- nHeight
        nil,              -- hWndParent
        nil,              -- hMenu
        nil,              -- hInstance
        nil               -- lpParam
    )

    -- Создаем шрифт
    local hFont = Gdi32.CreateFontA(
        HintStruct.size, 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, "Arial"
    )

    -- Устанавливаем шрифт
    local res = user32.SendMessageA(hwnd, C.WM_SETFONT, ffi.cast("WPARAM", hFont), 1)


    user32.ShowWindow(hwnd, 5) -- SW_SHOW
    user32.UpdateWindow(hwnd)

    return hwnd
end

local function createTimer(hwnd, timeout)
    local timerId = user32.SetTimer(hwnd, 1, timeout, nil)
    return timerId
end

local function destroyTimer(hwnd, timerId)
    user32.KillTimer(hwnd, timerId)
end

local function createWindowAsync(HintStruct)
    HintStruct = ffi.cast("HintStruct*", HintStruct)
    -- Если предыдущее окно существует, закрываем его
    if previousMessageWindow ~= nil then
      print"_____"
        user32.DestroyWindow(previousMessageWindow)
        print"XXXX"
        previousMessageWindow = nil
    end

    local hwnd = createWindow(HintStruct)

    -- Сохраняем дескриптор текущего окна как предыдущий
    previousMessageWindow = hwnd

    if hwnd ~= nil then
        local timerId = createTimer(hwnd, HintStruct.timeout) -- Set timer for specified timeout

        -- Н<вырезано анти-матом>кирующее ожидание событий окна
        local start = os.clock()
        while os.clock() - start < HintStruct.timeout / 1000 do
            local msg = ffi.new("MSG")
            local result = user32.GetMessageA(msg, nil, 0, 0)
            if type(result) == 'number' and result > 0 then
                user32.TranslateMessage(msg)
                user32.DispatchMessageA(msg)
            end
        end

        destroyTimer(hwnd, timerId) -- Destroy timer
        user32.DestroyWindow(hwnd) -- Destroy window

        -- Обнуляем дескриптор предыдущего окна, так как оно уже было закрыто
        previousMessageWindow = nil
    else
        print("Failed to create window")
    end

    return 0
end



local function hint(text, size, pos_x, pos_y, width, height, timeout)
print(text)
print(size)
print(pos_x)
    local HintStruct = ffi.new("HintStruct")
    HintStruct.text    = text
    HintStruct.size    = size
    HintStruct.pos_x   = pos_x
    HintStruct.pos_y   = pos_y
    HintStruct.width   = width
    HintStruct.height  = height
    HintStruct.timeout = timeout
    local threadId = ffi.new("DWORD[1]")
    local threadHandle = kernel32.CreateThread(nil, 0, ffi.cast("THREAD_START_ROUTINE", createWindowAsync), ffi.cast("LPVOID", HintStruct), 0, threadId)
    kernel32.CloseHandle(threadHandle)
    return 0
end

]=====]

local create_state = function(text, size, pos_x, pos_y, width, height, timeout)
    local text    = text             and  tostring(text) or "text"
    local size    = size              or    24
    local pos_x   = pos_x             or     0
    local pos_y   = pos_y             or     0
    local width   = width             or   400
    local height  = height            or   200
    local timeout = timeout           or  5000

    print(text)
    print([[hint(']]..
                      text.."', "..size..", "..
                      pos_x..", "..pos_y..", "..
                      width..", "..height..", "..
                      timeout)

    -- Создаем новый объект состояния Lua
    local state = C.luaL_newstate()
    -- Загружаем стандартные либы io, math, string и т.д.
    C.luaL_openlibs(state)
    -- Загружаем код Lua
    C.luaL_loadstring(state, lua_code..[[hint(']]..
                      text.."', "..size..", "..
                      pos_x..", "..pos_y..", "..
                      width..", "..height..", "..
                      timeout..[[)
                      return 0
                      end
                      mega_f()]])
    C.lua_call(state, 0, 0)

    return 0
end

return create_state


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

3 страниц V < 1 2 3
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 3.6.2024, 7:06
Designed by Nickostyle