Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

LUA – Π€Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° языкС Lua (Lua Source File)

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ LUA

Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» LUA

Π’ Windows: Dawn of War Mod Tools, Addon Studio for World of Warcraft, Blizzard World of Warcraft Interface AddOn Kit, Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚, Notepad++, Sublime Text, Adobe ExtendScript, Lua Player for PSP, Π›ΡŽΠ±ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€
Π’ Mac OS: GNU project C and C++ compiler (GCC), Blizzard World of Warcraft Interface AddOn Kit, Rovio Mobile Angry Birds, MacroMates TextMate, Π›ΡŽΠ±ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€
Π’ Linux: gedit, GNU project C and C++ compiler (GCC), GNU Emacs, Vim, Π›ΡŽΠ±ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ОписаниС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ LUA

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ: Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ LUA ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ассоциируСтся с Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ скриптами, написанными Π½Π° языкС Lua. Lua являСтся ΠΌΠΎΡ‰Π½Ρ‹ΠΌ, быстрым, Π»Π΅Π³ΠΊΠΈΠΌ, встраиваСмым скриптовым языком. По ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° JavaScript. Lua ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ простой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ синтаксис с ΠΌΠΎΡ‰Π½Ρ‹ΠΌ описаниСм Π΄Π°Π½Π½Ρ‹Ρ… конструкций Π½Π° основС ассоциативных массивов ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠΉ сСмантики. Lua прСдставляСт собой язык с динамичСским ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, интСрпрСтируя Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ для основС рСгистров Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ сбором мусора, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сцСнариСв ΠΈ быстрого прототипирования.

Π’ Lua восСмь основных Ρ‚ΠΈΠΏΠΎΠ²:

    nil (Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ) ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния
    boolean (логичСский) состоит ΠΈΠ· false (лоТь) ΠΈ true (истина)
    number (числовой) – это вСщСствСнныС числа (double)
    string (строковый)
    function (функция)
    userdata (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅)
    thread (ΠΏΠΎΡ‚ΠΎΠΊ)
    table (Ρ‚Π°Π±Π»ΠΈΡ†Π°)

Π―Π·Ρ‹ΠΊ Lua вляСтся свободно распространяСмым, с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ исходными тСкстами Π½Π° языкС Π‘ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ компилятора ANSI C. Lua Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Tecgraf ΠšΠ°Ρ‚ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΠΎΠ³ΠΎ унивСрситСта Π ΠΈΠΎ-Π΄Π΅-Π–Π°Π½Π΅ΠΉΡ€ΠΎ Π² Π‘Ρ€Π°Π·ΠΈΠ»ΠΈΠΈ (Computer Graphics Technology Group of Pontifical Catholic University of Rio de Janeiro in Brazil) Π² 1993 Π³ΠΎΠ΄Ρƒ. Авторы языка β€” Π ΠΎΠ±Π΅Ρ€Ρ‚Ρƒ Π˜Π΅Ρ€ΡƒΠ·Π°Π»ΠΈΠΌΡΠΊΠΈ (Roberto Ierusalimschy), Π›ΡƒΠΈΡˆ Π­Π½Ρ€ΠΈΠΊΠ΅ Π΄ΠΈ Π€ΠΈΠ³Π΅ΠΉΡ€Π΅Π΄Ρƒ (Luiz Henrique de Figueiredo) ΠΈ Π’Π°Π»Π΄Π΅ΠΌΠ°Ρ€ БСлиш (Waldemar Celes).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

2.12. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Lua

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Double Commander ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ скрипты Lua с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cm_ExecuteScript.

Π’Π°ΠΊΠΆΠ΅ Π½Π° языкС Lua ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (plugins/wdx/scripts).

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ языкС программирования Lua ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Π²Π΅Π±-сайтС Lua.

2. НСобходимая DLL

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Lua, Π½Π°ΠΌ трСбуСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Lua вСрсии 5.1 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅, DLL-Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»Π΅ΠΆΠ°Ρ‚ΡŒ рядом с исполняСмым Ρ„Π°ΠΉΠ»ΠΎΠΌ Double Commander ΠΈΠ»ΠΈ Π² систСмной ΠΏΠ°ΠΏΠΊΠ΅.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ DC ΠΈΡ‰Π΅Ρ‚ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ lua5.1.dll (Windows), liblua5.1.so.0 (Unix ΠΈΠ»ΠΈ GNU/Linux) ΠΈΠ»ΠΈ liblua5.1.dylib (Mac OS). ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π° Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ DLL-Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° LuaJIT. LuaJIT сочСтаСт Π² сСбС высокоскоростной ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, написанный Π½Π° ассСмблСрС, ΠΈ JIT-компилятор. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ FFI: с Π΅Ρ‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π² скриптах ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ внСшниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ C ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ структуры Π΄Π°Π½Π½Ρ‹Ρ… C. DLL для Windows: 32-битная ΠΈΠ»ΠΈ 64-битная.

Если ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ 64-Π±ΠΈΡ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ DC, Ρ‚ΠΎ DLL-Ρ„Π°ΠΉΠ» Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ 64-Π±ΠΈΡ‚Π½Ρ‹ΠΌ.

Дистрибутивы DC для Windows Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя DLL-Ρ„Π°ΠΉΠ» Lua (Π² DC 0.9.7 ΠΈ Π½ΠΎΠ²Π΅Π΅ ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° LuaJIT), Π² ΠΈΠ½Ρ‹Ρ… случаях ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

3. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Double Commander

Double Commander ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для скриптов Lua, список прСдставлСн Π½ΠΈΠΆΠ΅.

3.1. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° DC

Бписок Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Π˜ΠΌΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС

DC.LogWrite(Message, MsgType, bForce, bLogFile)

ΠŸΠΈΡˆΠ΅Ρ‚ сообщСниС Π² ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ панСль: Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0, Ссли Π°ΠΊΡ‚ΠΈΠ²Π½Π° лСвая панСль, ΠΈΠ»ΠΈ 1, Ссли правая.

Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ: Π»Π΅Π²ΡƒΡŽ панСль, Ссли iPanel Ρ€Π°Π²Π½ΠΎ 0, ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΡƒΡŽ, Ссли Ρ€Π°Π²Π½ΠΎ 1.

DC.ExecuteCommand(Command, Param1, Param2. ParamX)

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² основном ΠΏΠΎΡ‚ΠΎΠΊΠ΅ Double Commander, поэтому ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, большиС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ диск), Π² этом случаС ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π—Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ Π² настройках.

3.1.1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с DC.ExecuteCommand

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ написали простой скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сдСлаСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Для выполнСния нашСго скрипта ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ cm_ExecuteScript.

Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для рСдактирования Π½Π°ΡˆΠΈΡ… скриптов ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Double Commander.

Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

3.2. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° System

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° DC
Π€ΡƒΠ½ΠΊΡ†ΠΈΡΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство миллисСкунд ( Milliseconds ), Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнария Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ послС истСчСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Ρ‚ΠΈΠΊΠΎΠ²) с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° старта систСмы. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для измСрСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ Π½Π΅ слСдуСт Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ количСства Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΈΠΊΠ°ΠΌΠΈ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, сущСствуСт Π»ΠΈ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ сущСствованиС Directory Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ΠΈ Ρ‡Ρ‚ΠΎ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния смотритС здСсь.

Handle, FindData = SysUtils.FindFirst(Path)

Π˜Ρ‰Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ с Path (ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ маски).

Π’ случаС успСха функция Π²Π΅Ρ€Π½Ρ‘Ρ‚ дСскриптор поиска Handle для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² SysUtils.FindNext ΠΈ поиска Π΄Ρ€ΡƒΠ³ΠΈΡ… совпадСний с ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠΌ.

Π’Π°Π±Π»ΠΈΡ†Π° FindData содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

Поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ FindData :

Result, FindData = SysUtils.FindNext(Handle)

Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΡΠ΅Ρ€ΠΈΡŽ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² SysUtils.FindFirst / SysUtils.FindNext ΠΈ освобоТдаСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Π’Ρ‹Π·ΠΎΠ² этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ, ΠΈΠ½Π°Ρ‡Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ большиС ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти.

bResult = SysUtils.CreateHardLink(Path, LinkName)

bResult = SysUtils.CreateSymbolicLink(Path, LinkName)

sTarget = SysUtils.ReadSymbolicLink(LinkName, Recursive)

Если Recursive Ρ€Π°Π²Π½ΠΎ true ΠΈ ссылка ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ссылку, Ρ‚ΠΎ ΠΎΠ½Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ рСкурсивно Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ допустимоС имя Ρ„Π°ΠΉΠ»Π°, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ ссылкой.

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ DC Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΏΡƒΡ‚ΠΈ Π² систСмС.

Π’ систСмах Unix/Linux это Π±ΡƒΠ΄Π΅Ρ‚ » / » ΠΈ » \ » Π² Windows.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя Ρ„Π°ΠΉΠ»Π° ΠΈΠ· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ (имя+ΠΏΡƒΡ‚ΡŒ) ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°.

Имя Ρ„Π°ΠΉΠ»Π° содСрТит всС символы послС послСднСго символа раздСлитСля ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² («/» ΠΈΠ»ΠΈ «\») ΠΈΠ»ΠΈ Π±ΡƒΠΊΠ²Ρ‹ диска.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ ΠΈΠ· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π±ΡƒΠΊΠ²Ρƒ диска).

ΠŸΡƒΡ‚ΡŒ содСрТит всС символы Π΄ΠΎ послСднСго символа раздСлитСля ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² («/» ΠΈΠ»ΠΈ «\»), Π²ΠΊΠ»ΡŽΡ‡Π°Ρ сам Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ диск ΠΈΠ· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π±ΡƒΠΊΠ²Ρ‹ дисков.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° (всС символы послС послСднСй Ρ‚ΠΎΡ‡ΠΊΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ сам символ «.»).

bResult = SysUtils.MatchesMask(FileName, Mask, MaskOptions)

MaskOptions (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 0) задаётся ΠΊΠ°ΠΊ сумма ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

bResult = SysUtils.MatchesMaskList(FileName, MaskList, Separator, MaskOptions)

Separator ΠΈ MaskOptions (см. Π²Ρ‹ΡˆΠ΅) β€” Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

3.2.1. ОписаниС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния SysUtils.FileGetAttr

FileGetAttr Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ FileName Π² Π²ΠΈΠ΄Π΅ Π˜Π›Π˜-совокупности ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… констант:

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° System
Π€ΡƒΠ½ΠΊΡ†ΠΈΡΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ SysUtils.FileGetAttr
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
БистСмный Ρ„Π°ΠΉΠ».
Π’ Unix/Linux это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ символьноС ΠΈΠ»ΠΈ Π±Π»ΠΎΡ‡Π½ΠΎΠ΅ физичСскоС устройство, ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» (FIFO).
ΠœΠ΅Ρ‚ΠΊΠ° Ρ‚ΠΎΠΌΠ° (ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» содСрТит ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (ID) Ρ‚ΠΎΠΌΠ°).
Волько для DOS/Windows 9x Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС FAT (Π½Π΅ VFAT ΠΈΠ»ΠΈ FAT32).

3.2.2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с SysUtils.FileGetAttr

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ скрипта Π½ΠΈΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ SysUtils.FileGetAttr.

Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ окаТСтся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ, Ρ‚ΠΎ скрипт ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Π΅Π³ΠΎ Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡΡ Π½Π° Π½Π΅Ρ‘.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ params[1] являСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌ скрипту.

ΠŸΡ€ΠΈ использовании Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cm_ExecuteScript это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ послС ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° скрипта.

Π˜Ρ‚Π°ΠΊ, Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ скрипту Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ %»0%p : имя Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠΈ, Π±Π΅Π· ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ.

3.2.3. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования FindFirst, FindNext ΠΈ FindClose

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ просканируСм содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, ΠΈ сохраним ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² тСкстовый Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ.

Π­Ρ‚ΠΎ даст Π½Π°ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ прСдставлСниС ΠΎΠ± использовании FindFirst, FindNext ΠΈ FindClose.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ скрипту Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°:

НастраиваСм ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ cm_ExecuteScript ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ всё Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅:

Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ скрипту Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ %»0%Ds : имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, Π±Π΅Π· ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ.

3.3. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Clipboard

Double Commander прСдоставляСт скриптам Lua Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π°.

ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ содСрТимоС Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°.

ДобавляСт Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° тСкст Html Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ HTML (Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π° CF_HTML ).

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вставлСно Π² прилоТСния, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ этот Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ MS Word, LO Writer ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

НапримСр, Ρƒ нас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

3.3.1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π°

Π­Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большой скрипт, Π½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ вмСстС нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ познакомились Ρ€Π°Π½Π΅Π΅.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π² нашСй Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с большим количСством тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ².

Π’Π°ΠΊΠΆΠ΅ прСдполагаСтся, Ρ‡Ρ‚ΠΎ Π² настоящСС врСмя Π² Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΎΠ΄Π½ΠΎ слово ΠΈ Ρ‡Ρ‚ΠΎ скрипт Π² качСствС СдинствСнного ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ, ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ слово ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°.

Π—Π°Ρ‚Π΅ΠΌ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат это словом, Π±ΡƒΠ΄ΡƒΡ‚ скопированы Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°.

Π”Π°Π»Π΅Π΅ скрипт Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ cm_LoadSelectionFromClip ΠΈ всС эти Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠΎΠ½Ρ†Π΅ Π²Π΅Ρ€Π½Ρ‘ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° слово, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ искали.

3.4. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Dialogs

Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° позволяСт нашим скриптам Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, показывая сообщСния, выдавая запросы ΠΈ Ρ‚.Π΄.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Clipboard
Π€ΡƒΠ½ΠΊΡ†ΠΈΡΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅

ButPressed = Dialogs.MessageBox(Message, Title, ButFlags)

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ сообщСния, функция Π²Π΅Ρ€Π½Ρ‘Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ.

bAck, sAnswer = Dialogs.InputQuery(Title, Msg, bMask, sDefault)

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΏΠΎΠ»Π΅ΠΌ Π²Π²ΠΎΠ΄Π° тСкста.

sAnswer = Dialogs.InputListBox(Title, Msg, Items, sDefault)

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· списка элСмСнтов.

3.4.1. Кнопки Dialogs.MessageBox

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Dialogs
Π€ΡƒΠ½ΠΊΡ†ΠΈΡΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ для ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² Dialogs.MessageBox
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

3.4.2. Π‘Ρ‚ΠΈΠ»ΡŒ ΠΎΠΊΠ½Π° Dialogs.MessageBox

Π‘Ρ‚ΠΈΠ»ΡŒ ΠΎΠΊΠ½Π° Dialogs.MessageBox задаётся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

3.4.3. Кнопка ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Dialogs.MessageBox

Кнопка ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (активная) Π² Dialogs.MessageBox задаётся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π·Π½Π°Ρ‡ΠΎΠΊ ΠΈ ΡΡ‚ΠΈΠ»ΡŒ ΠΎΠΊΠ½Π° Dialogs.MessageBox
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹Π‘Ρ‚ΠΈΠ»ΡŒ ΠΎΠΊΠ½Π°

3.4.4. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Dialogs.MessageBox

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Dialogs.MessageBox
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ΠšΠ½ΠΎΠΏΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Dialogs.MessageBox
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ константыНаТатая ΠΊΠ½ΠΎΠΏΠΊΠ°
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты
Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

3.4.5. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Dialogs.MessageBox

МалСнький скрипт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Dialogs.MessageBox :

Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

3.4.6. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Dialogs.InputQuery

МалСнький скрипт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Dialogs.InputQuery :

Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

3.5. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° UTF-8

Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° обСспСчиваСт Π±Π°Π·ΠΎΠ²ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ UTF-8.

Result = LazUtf8.Pos(SearchText, SourceText, Offset)

Поиск подстроки Π² строкС, начиная с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Поиск чувствитСлСн ΠΊ рСгистру.

Result = LazUtf8.Copy(Source, Index, Count)

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ (ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚) Ρ‡Π°ΡΡ‚ΡŒ строки.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство символов Π² строкС с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ UTF-8.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всС Π±ΡƒΠΊΠ²Ρ‹ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС (строчныС) Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° Π±ΡƒΠΊΠ²Ρ‹ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС (прописныС ΠΈΠ»ΠΈ Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅).

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всС Π±ΡƒΠΊΠ²Ρ‹ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС (прописныС ΠΈΠ»ΠΈ Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅) Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° Π±ΡƒΠΊΠ²Ρ‹ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС (строчныС).

Result = LazUtf8.ConvertEncoding(String, FromEnc, ToEnc)

Бписок ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ:

3.6. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° OS

Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° содСрТит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, связанныС с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΏΡƒΡ‰Π΅Π½ Double Commander.

Бписок доступных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° UTF-8
Π€ΡƒΠ½ΠΊΡ†ΠΈΡΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅

command ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ:

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² качСствС Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Π“Π°ΠΉΠ΄ Всё ΠΎ Lua скриптингС для MoonLoader

Для Π»Ρ‘Π³ΠΊΠΎΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ Lua скриптов Π²Π°ΠΌ понадобится Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для сСбя срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Lua достаточно любого тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Π½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π±Π»ΠΎΠΊΠ½ΠΎΡ‚ Windows для этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ совсСм ΠΏΠ»ΠΎΡ…ΠΎ, поэтому Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСциализированныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° MoonLoader Π΅ΡΡ‚ΡŒ Π² Atom ΠΈ Notepad++, ΠΏΠΎΠΌΠΈΠΌΠΎ этого Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ дополнСния для Visual Studio Code ΠΈ Sublime Text.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
Π’ мСню File Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Open Folder. ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ ΠΏΠ°ΠΏΠΊΠΈ moonloader, послС этого ΠΎΠ½Π° откроСтся ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
Как ΠΈ Π² Atom, здСсь Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π° мСню ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ «ΠŸΠ°ΠΏΠΊΠ° ΠΊΠ°ΠΊ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚». Π’ мСню «Π€Π°ΠΉΠ»» Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠŸΠ°ΠΏΠΊΡƒ ΠΊΠ°ΠΊ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚» ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ «moonloader».

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
Над Π»Π΅Π½Ρ‚ΠΎΠΉ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ ΠžΠΏΡ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Настройки. Π’ мСню слСва Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Новый Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ставим Ρ„Π»Π°ΠΆΠΎΠΊ Π½Π° список, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Windows-1251

ПослС установки срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, изучСния основ Lua ΠΈ ознакомлСния с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ MoonLoader, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΎΡ‚ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Π”Π°Π²Π°ΠΉΡ‚Π΅ сначала рассмотрим самоС основноС, Π½Π° всякий случай.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π΅ всС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, Π·Π° ΠΏΠΎΠ»Π½Ρ‹ΠΌ списком ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ страницС Π½Π° Π²ΠΈΠΊΠΈ.

Бобытия ΠΈ колбэки
Бобытиями, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Π² MoonLoader Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π² скриптах автоматичСски ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ дСйствии Π² ΠΈΠ³Ρ€Π΅, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ входящиС ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: входящиС ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ скрипту, Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ послС ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ события.
Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΌΠΎΠΆΠ½ΠΎ двумя способами: просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² скрипт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π»ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ addEventHandler. Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ способом ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ зарСгистрирован Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.
Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ с зарСгистрированными событиями Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€: onScriptTerminate вызываСтся ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ скрипта

Π‘ основными ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π½Π°ΠΊΠΎΠΌΡ‹ ΠΈ ΠΏΡ€ΠΈ этих знаниях смоТСтС Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π·Π°Π΄Π°Ρ‡, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ примСнСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΈΠΊ. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
ΠœΠΎΠ΄ΡƒΠ»ΠΈ дСлятся Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ°: Lua ΠΈ DLL. Lua-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΈΡˆΡƒΡ‚ΡΡ, ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, Π½Π° языкС Lua ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ· сСбя ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ Lua-скрипты, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ особСнностями.
Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ простого модуля, Π½Π°Π·ΠΎΠ²Ρ‘ΠΌ Π΅Π³ΠΎ example:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипт

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ LUA

Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» LUA

Π’ Windows: Dawn of War Mod Tools, Addon Studio for World of Warcraft, Blizzard World of Warcraft Interface AddOn Kit, Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚, Notepad++, Sublime Text, Adobe ExtendScript, Lua Player for PSP, Π›ΡŽΠ±ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€
Π’ Mac OS: GNU project C and C++ compiler (GCC), Blizzard World of Warcraft Interface AddOn Kit, Rovio Mobile Angry Birds, MacroMates TextMate, Π›ΡŽΠ±ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€
Π’ Linux: gedit, GNU project C and C++ compiler (GCC), GNU Emacs, Vim, Π›ΡŽΠ±ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ОписаниС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ LUA

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ: Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ LUA ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ассоциируСтся с Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ скриптами, написанными Π½Π° языкС Lua. Lua являСтся ΠΌΠΎΡ‰Π½Ρ‹ΠΌ, быстрым, Π»Π΅Π³ΠΊΠΈΠΌ, встраиваСмым скриптовым языком. По ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° JavaScript. Lua ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ простой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ синтаксис с ΠΌΠΎΡ‰Π½Ρ‹ΠΌ описаниСм Π΄Π°Π½Π½Ρ‹Ρ… конструкций Π½Π° основС ассоциативных массивов ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠΉ сСмантики. Lua прСдставляСт собой язык с динамичСским ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, интСрпрСтируя Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ для основС рСгистров Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ сбором мусора, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сцСнариСв ΠΈ быстрого прототипирования.

Π’ Lua восСмь основных Ρ‚ΠΈΠΏΠΎΠ²:

    nil (Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ) ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния
    boolean (логичСский) состоит ΠΈΠ· false (лоТь) ΠΈ true (истина)
    number (числовой) – это вСщСствСнныС числа (double)
    string (строковый)
    function (функция)
    userdata (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅)
    thread (ΠΏΠΎΡ‚ΠΎΠΊ)
    table (Ρ‚Π°Π±Π»ΠΈΡ†Π°)

Π―Π·Ρ‹ΠΊ Lua вляСтся свободно распространяСмым, с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ исходными тСкстами Π½Π° языкС Π‘ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ компилятора ANSI C. Lua Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Tecgraf ΠšΠ°Ρ‚ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΠΎΠ³ΠΎ унивСрситСта Π ΠΈΠΎ-Π΄Π΅-Π–Π°Π½Π΅ΠΉΡ€ΠΎ Π² Π‘Ρ€Π°Π·ΠΈΠ»ΠΈΠΈ (Computer Graphics Technology Group of Pontifical Catholic University of Rio de Janeiro in Brazil) Π² 1993 Π³ΠΎΠ΄Ρƒ. Авторы языка β€” Π ΠΎΠ±Π΅Ρ€Ρ‚Ρƒ Π˜Π΅Ρ€ΡƒΠ·Π°Π»ΠΈΠΌΡΠΊΠΈ (Roberto Ierusalimschy), Π›ΡƒΠΈΡˆ Π­Π½Ρ€ΠΈΠΊΠ΅ Π΄ΠΈ Π€ΠΈΠ³Π΅ΠΉΡ€Π΅Π΄Ρƒ (Luiz Henrique de Figueiredo) ΠΈ Π’Π°Π»Π΄Π΅ΠΌΠ°Ρ€ БСлиш (Waldemar Celes).

ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» lua, особСнно Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ LUA

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° LUA связано с языком сцСнариСв Lua, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для увСличСния возмоТностСй ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€. Π―Π·Ρ‹ΠΊ сцСнариСв Lua Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Photoshop Lightroom ΠΎΡ‚ Adobe Systems.

Π­Ρ‚ΠΎΡ‚ язык популярСн благодаря своСй гибкости ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Он ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ стандартный компилятор для языка Π‘.

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой исходный ΠΊΠΎΠ΄ ΠΈ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт дСйствия, выполняСмыС ПК ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ процСссы для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° Π½ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

Π€Π°ΠΉΠ»Ρ‹ исходного ΠΊΠΎΠ΄Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ увСличСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° прилоТСния. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ LUA скомпилированы Π² Π²ΠΈΠ΄Π΅ Π°Ρ€Ρ…ΠΈΠ²Π°, созданного ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ TAR. TAR – это UNIX-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов Π² ΠΎΠ΄Π½Ρƒ ΠΏΠ°ΠΏΠΊΡƒ.

Π₯отя TAR Π½Π° самом Π΄Π΅Π»Π΅ являСтся инструмСнтом Π°Ρ€Ρ…ΠΈΠ²Π°Ρ†ΠΈΠΈ, ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ извСстСн ΠΊΠ°ΠΊ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€ с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ сТатиСм. НСсколько Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ с использованиСм Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° TAR, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ Π² ZIP.

Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ элСмСнты Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ LUA

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ„Π°ΠΉΠ»Ρ‹ LUA ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ нСсколькими ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΈ прилоТСниями, Π½ΡƒΠΆΠ½ΠΎ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° элСмСнт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ ΠΎΠ½ автоматичСски ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, установлСнной Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π­Ρ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ состоят ΠΈΠ· простых тСкстовых Ρ‚ΠΈΠΏΠΎΠ² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², поэтому Π½Π° ПК ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

На ПК ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ любого тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚ ΠΈΠ»ΠΈ WordPad. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ просто Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Β«ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽΒ» Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡΡ мСню.

Π’ подмСню цСлСсообразно Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Β«ΠžΠ±Π·ΠΎΡ€Β», Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° отсутствуСт Π² спискС.

Достаточно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· списка установлСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Π² ΠΏΠΎΠ»Π΅ «ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» этого Ρ‚ΠΈΠΏΠ°Β», Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠ°Ρ‚ΡŒ «ОК». Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ элСмСнт с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ LUA, ΠΎΠ½ автоматичСски Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π² качСствС прилоТСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Если элСмСнт LUA содСрТит исходный ΠΊΠΎΠ΄ ΠΈ сцСнарии для ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… с Windows, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°Π±ΠΎΡ€Π° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ World of Warcraft ΠΎΡ‚ Blizzard Entertainment ΠΈΠ»ΠΈ World of Warcraft AddOn Studio.

Π’ Mac OS X Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для рСдактирования тСкста, ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΡƒΡŽ с Mac, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ TextMate ΠΈΠ»ΠΈ Apple TextEdit. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ компилятор C ΠΈΠ»ΠΈ C ++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ GNU ΠΈ доступСн для бСсплатной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° Π²Π΅Π±-сайтС GNU.org.

Если Ρ„Π°ΠΉΠ» содСрТит исходный ΠΊΠΎΠ΄ ΠΈ сцСнарии для ΠΈΠ³Ρ€, совмСстимых с Mac OS X, допускаСтся использованиС Rovio Mobile Angry Birds, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ доступСн Π½Π° Π²Π΅Π±-сайтС Rovio ΠΈΠ»ΠΈ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ World of Warcraft Interface ΠΎΡ‚ Blizzard Entertainment.

Для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Linux ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Emacs ΠΈΠ»ΠΈ C ΠΈ C ++ Compiler. ОбС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ ΠΈ доступны для бСсплатной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° Π²Π΅Π±-сайтС GNU.org. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для рСдактирования тСкста для Linux, Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ gEdit, Vim ΠΈΠ»ΠΈ Nano Editor.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ с подсвСткой ΠΊΠΎΠ΄Π°

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для просмотра элСмСнтов с Ρ‚Π°ΠΊΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ. Но Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ с подсвСткой ΠΊΠΎΠ΄Π°. Один ΠΈΠ· Π½ΠΈΡ… – это инструмСнт Sublime Text. Но ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Notepad ++.

На ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π½ΠΈΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ с подсвСткой ΠΊΠΎΠ΄Π° ΠΈ классичСским Π±Π»ΠΎΠΊΠ½ΠΎΡ‚ΠΎΠΌ.

Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ†Π²Π΅Ρ‚Π°Ρ…. Π’Π°ΠΊ ΠΊΠΎΠ΄ стаСт Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ наглядно ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ структуру.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²ΠΈΠ΄Π½ΠΎ количСство строк. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π² ΠΆΡƒΡ€Π½Π°Π»Π΅ ошибок появляСтся ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅: «строка 23 Π² example.luaΒ». ΠžΡ‚Ρ‹ΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° полСзная функция: Ссли Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ слово, ΠΎΠ½ΠΎ выдСляСтся Π²ΠΎ всСм Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅.

Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

ΠžΠΏΡ†ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ написания ΠΈ ΠΏΡ€ΠΈ просмотрС ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ смысл ΠΎΡ‚Ρ‹ΡΠΊΠ°Ρ‚ΡŒ, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SILVER_BIRDCAGE).

Π’ΠΎ врСмя поиска Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ чувствитСлСн ΠΊ рСгистру, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ: Silver_birdcage, silver_birdcage ΠΈ SILVER_BIRDCAGE – это Π½Π΅ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅.

Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ поиска, Π½ΠΎ Π² большСм ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅, это «Найти Π² Ρ„Π°ΠΉΠ»Π°Ρ…Β» (комбинация клавиш Ctrl + Shift + F). Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ позволяСт ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²ΠΎ всСх Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ это ΠΏΠΎΠ»Π΅Π·Π½ΠΎ?

Допустим, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Β«onattackotherΒ» ΠΊ своСму пСрсонаТу ΠΈΠ»ΠΈ монстру ΠΈ Π½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Для этого ΠΏΠΎΠ΄ΠΎΠ±Π°Π΅Ρ‚ ввСсти Β«onattackotherΒ» ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅: Β«C:SteamsteamappscommonDon’t Starve TogetherdatascriptsprefabsΒ». Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ Π½ΠΈΠΆΠ΅.

Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

Π”Π°Π»Π΅Π΅ просто Π½ΡƒΠΆΠ½ΠΎ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° строку, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, для программистов Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с подсвСткой синтаксиса.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»Π°

Если Π½Π΅ получаСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ LUA, нСлишнС ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ пСрСчислСнныС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΈ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ этой ошибки:

Если принято Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π‘Ρ‚ΠΎΠΈΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ остороТным ΠΈ Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²Ρ‹ΠΌ, особСнно ΠΏΡ€ΠΈ внСсСнии ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² систСмный рССстр. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ эту.

Блишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°ΡŽΡ‚ трудности с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ LUA. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ возникшСй ошибки.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ LUA ΠΎΡ‡Π΅Π½ΡŒ популярны ΠΈ сущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ способов ΠΈΡ… ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ любой тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ (WordPad, Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚, TextEdit) ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² подсвСткой синтаксиса (Sublime Text, Notepad ++).

Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ lua скрипты

DonHomka

Π­Ρ‚ΠΎ руководство ΠΏΡ€ΠΈΠ·Π²Π°Π½ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Π²Π΅ Ρ†Π΅Π»ΠΈ: ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ скриптов с нуля ΠΈ Π²ΠΎΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² знаниях ΠΎ Lua скриптингС ΠΏΠΎΠ΄ MoonLoader. Π’ Π½Ρ‘ΠΌ освСщСны всС аспСкты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ β€” ΠΎΡ‚ самого простого Π΄ΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… возмоТностСй ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ², Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΊ ΠΈ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… скриптСров, Ρ‚Π°ΠΊ ΠΈ для программистов с ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ старого руководства Π½Π΅ трСбуСтся, здСсь Π΅ΡΡ‚ΡŒ вся нСобходимая ΠΈ Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ информация.
А Ссли Π²Ρ‹ всё Π΅Ρ‰Ρ‘ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с MoonLoader, Ρ‚ΠΎ сСйчас самоС врСмя ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ.
Ну Ρ‡Ρ‚ΠΎ, приступим?

3. Если Π²Ρ‹ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ скрипты для SA:MP, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ SAMP.Lua ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ установитС SAMPFUNCS
4. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ MoonAdditions β€” эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ скрипты ΠΈ ΠΎΠ½Π° Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ стандартныС возмоТности скриптинга
5. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ установку Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для Notepad++, Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Notepad++ для рСдактирования Lua скриптов

Для Π»Ρ‘Π³ΠΊΠΎΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ Lua скриптов Π²Π°ΠΌ понадобится Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для сСбя срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Lua достаточно любого тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Π½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π±Π»ΠΎΠΊΠ½ΠΎΡ‚ Windows для этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ совсСм ΠΏΠ»ΠΎΡ…ΠΎ, поэтому Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСциализированныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° MoonLoader Π΅ΡΡ‚ΡŒ Π² Atom ΠΈ Notepad++, ΠΏΠΎΠΌΠΈΠΌΠΎ этого Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ дополнСния для Visual Studio Code ΠΈ Sublime Text.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
Π’ мСню File Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Open Folder. ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ ΠΏΠ°ΠΏΠΊΠΈ moonloader, послС этого ΠΎΠ½Π° откроСтся ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Notepad++
Notepad++ β€” Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ бСсплатный ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. Он являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ стандартного Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π° ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для написания Lua скриптов.
Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Notepad++

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
Как ΠΈ Π² Atom, здСсь Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π° мСню ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ «ΠŸΠ°ΠΏΠΊΠ° ΠΊΠ°ΠΊ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚». Π’ мСню «Π€Π°ΠΉΠ»» Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠŸΠ°ΠΏΠΊΡƒ ΠΊΠ°ΠΊ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚» ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ «moonloader».

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
Над Π»Π΅Π½Ρ‚ΠΎΠΉ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ ΠžΠΏΡ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Настройки. Π’ мСню слСва Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Новый Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ставим Ρ„Π»Π°ΠΆΠΎΠΊ Π½Π° список, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Windows-1251

MoonLoader основан Π½Π° языкС программирования Lua, Π·Π½Π°Π½ΠΈΠ΅ хотя Π±Ρ‹ основ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Lua ΠΎΡ‡Π΅Π½ΡŒ популярСн Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… сфСрах, ΠΏΠΎ Π½Π΅ΠΌΡƒ ΠΏΠΎΠ»Π½ΠΎ ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ². НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ нСсколько рСсурсов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Lua ΠΎΡ‚ ΠΊΠΎΡ€ΠΊΠΈ Π΄ΠΎ ΠΊΠΎΡ€ΠΊΠΈ. НС стоит ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π°Ρ‚ΡŒ этими ΡƒΡ€ΠΎΠΊΠ°ΠΌΠΈ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ для сСбя ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ. Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π² MoonLoader ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ LuaJIT β€” Lua 5.1 с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ„ΠΈΡ‡Π°ΠΌΠΈ Lua 5.2 ΠΈ своими дополнСниями, поэтому Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Π»ΠΎΡ‡ΠΈ ΠΈΠ· этих ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ Π² MoonLoader.

ПослС установки срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, изучСния основ Lua ΠΈ ознакомлСния с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ MoonLoader, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΎΡ‚ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Π”Π°Π²Π°ΠΉΡ‚Π΅ сначала рассмотрим самоС основноС, Π½Π° всякий случай.

Lua скрипты ΠΈ Π»ΠΎΠ³ΠΈ
Для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сам скрипт β€” ΠΎΠ½ ΠΈΠ· сСбя прСдставляСт ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .lua. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΏΠ°ΠΏΠΊΡƒ moonloader, Π½Π°Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΈΠ³Ρ€Ρ‹. Из корня этой ΠΏΠ°ΠΏΠΊΠΈ MoonLoader Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ всС скрипты с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ .lua ΠΈ .luac (скомпилированныС).
Π’ этой ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅ создаётся Ρ„Π°ΠΉΠ» moonloader.log, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вСдётся ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСх Π²Π°ΠΆΠ½Ρ‹Ρ… событий, происходящих со скриптами: Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅, сообщСния скриптов ΠΈ самоС Π³Π»Π°Π²Π½ΠΎΠ΅ β€” ошибки. Π”Π°, ошибки, происходящиС Π² скриптах, Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² этот Ρ„Π°ΠΉΠ», ΠΈ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π² Π½Π΅Π³ΠΎ, Ссли ваш скрипт Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΏΠΎΡ‡Π΅ΠΌΡƒ. Для удобства Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ скрипт SF Integration, Ρ‚ΠΎΠ³Π΄Π° Π»ΠΎΠ³ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π΅Ρ‰Ρ‘ ΠΈ Π² консоль SAMPFUNCS.
Π˜Ρ‚Π°ΠΊ, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ созданный Π²Π°ΠΌΠΈ скрипт ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ β€” это основноС Ρ‚Π΅Π»ΠΎ скрипта, Ρ‚.Π΅. всё, Ρ‡Ρ‚ΠΎ находится Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ основном глобальная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для указания Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ², ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, объявлСния ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Она выступаСт ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ этапом Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скрипта, ΠΊΠΎΠ΄ ΠΈΠ· Π½Π΅Ρ‘ выполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скрипта (Π° скрипты Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΠΎΡ‡Ρ‚ΠΈ сразу ΠΆΠ΅ послС запуска ΠΈΠ³Ρ€Ρ‹) ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ приостановлСн. Основная Ρ€Π°Π±ΠΎΡ‚Π° со скриптом производится Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅ main.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ VKEYS, записываСм ΠΌΠΎΡ‘ имя Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ myName, объявляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ main.

ПослС запуска этого ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ сообщСния Π²Ρ‹Π²Π΅Π»ΠΈΡΡŒ Π½Π΅ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π° Π² порядкС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ.
Как ΠΈ с main, ΠΏΠΎΡ‚ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½, Ссли Π΅Π³ΠΎ Π½Π΅ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ.
ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² довольно ΡˆΠΈΡ€ΠΎΠΊΠΎ, Π½ΠΎ Π² Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… скриптах ΠΎΠ½ΠΈ Ρ‡Π°Ρ‰Π΅ всСго Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ… Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Π½ΠΎ Π½Π΅ примСняйтС ΠΈΡ… Π±Π΅Π· нСобходимости. Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ случаями использования ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ скрипта ΠΈ отобраТСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈΠ»ΠΈ использованиС Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ Ρ‡Π°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ….
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° Π²ΠΈΠΊΠΈ: lua β€” luathread | BlastHack β€” DEV_WIKI (https://blast.hk/wiki/lua:luathread)

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹
Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ для MoonLoader ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎ сСбС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ свойства исполнСния β€” ΠΈ Ρ‚ΠΎ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ задаётся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ². Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ β€” это ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для указания ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ скриптС ΠΈ измСнСния Π΅Π³ΠΎ повСдСния. Π˜Ρ… принято ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π² самом Π½Π°Ρ‡Π°Π»Π΅ скрипта.
ВсС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· любого скрипта, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ полям класса LuaScript.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π΅ всС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, Π·Π° ΠΏΠΎΠ»Π½Ρ‹ΠΌ списком ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ страницС Π½Π° Π²ΠΈΠΊΠΈ.

Бобытия ΠΈ колбэки
Бобытиями, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Π² MoonLoader Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π² скриптах автоматичСски ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ дСйствии Π² ΠΈΠ³Ρ€Π΅, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ входящиС ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: входящиС ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ скрипту, Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ послС ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ события.
Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΌΠΎΠΆΠ½ΠΎ двумя способами: просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² скрипт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π»ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ addEventHandler. Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ способом ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ зарСгистрирован Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.
Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ с зарСгистрированными событиями Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€: onScriptTerminate вызываСтся ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ скрипта

Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹Π·ΠΎΠ² события Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Для ΠΎΠ±Ρ…ΠΎΠ΄Π° этого ограничСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΈ.
Π‘ΠΎ списком всСх событий ΠΈ ΠΈΡ… назначСниями ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ Π½Π° Π²ΠΈΠΊΠΈ: moonloader β€” events | BlastHack β€” DEV_WIKI (https://blast.hk/wiki/moonloader:events)

Колбэки (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°) Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Ρ€Π΅Π°ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π° дСйствиС ΠΈ ΠΏΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° события, Π½ΠΎ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π΄Π²Π° отличия: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ β€” колбэк всСгда рСгистрируСтся явно, Ρ‡Π°Ρ‰Π΅ ΠΏΡƒΡ‚Ρ‘ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-колбэка Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ β€” ΠΎΠ½ всСгда связан с ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ (ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈ Ρ‚.ΠΏ.), Ρ‚.Π΅. Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли возникшСС событиС касаСтся связанной сущности (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, колбэк ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π° Π½Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ, ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ Π±Ρ‹ с событиСм). ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с колбэком являСтся downloadUrlToFile, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ послСдним Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ callback-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.
Π’ колбэках, ΠΊΠ°ΠΊ ΠΈ Π² событиях, нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π Π°Π±ΠΎΡ‚Π° с модулями Π½Π΅ ограничиваСтся стандартным Π½Π°Π±ΠΎΡ€ΠΎΠΌ, часто приходится ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ со сторонними модулями β€” Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π΅ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ вмСстС с MoonLoader ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ€ΡƒΡ‡Π½ΡƒΡŽ установку. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ‚Π°ΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Dear ImGui ΠΈ SAMP.Lua.
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² своих скриптах. Благодаря этому Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³Ρ‡Π΅ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ, скрипты станут Ρ‡ΠΈΡ‰Π΅ ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π΅Π΅, Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС.
Помимо этой возмоТности Π² MoonLoader присутствуСт систСма ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ скрипт ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с ΠΎΠ±Ρ‰ΠΈΠΌ доступом β€” ΠΎΠ± этом ΠΈ ΠΎ создании ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ сказано ΠΏΠΎΠ·ΠΆΠ΅.
ΠΠ°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ рСкомСндация: Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ свои Ρ€Π°Π±ΠΎΡ‚Ρ‹ вмСстС со стандартными Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ с измСнСниями Π² сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… β€” это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

НСсмотря Π½Π° ΠΎΠ±ΠΈΠ»ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ‚Π΅ΠΌΠ΅, Π·Π½Π°Ρ‚ΡŒ всё Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, поэтому Ρ‡Π°Ρ‰Π΅ заглядывайтС Π½Π° Wiki, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎ Ρ‚Π΅ΠΌΠ΅ Вопросы Π½Π° Lua скриптингу, Π³Π΄Π΅ Π²Π°ΠΌ смогут ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ слоТностСй.
Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ Lua Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² поисковиках, язык довольно простой ΠΈ Ссли эта Ρ‚Π΅ΠΌΠ° Π²Π°ΠΌ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»Π° β€” стоит ΠΏΠΎΠΈΡΠΊΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠΊΠΈ.

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ указания ΠΏΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ качСства ΠΊΠΎΠ΄Π°
Π§Ρ‚ΠΎΠ±Ρ‹ ваш ΠΊΠΎΠ΄ Π±Ρ‹Π» чист ΠΈ понятСн, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ», Π²ΠΎΡ‚ основныС ΠΈΠ· Π½ΠΈΡ…:

Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ этим простым ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΡƒΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ повлияСт Π½Π° качСство вашСго ΠΊΠΎΠ΄Π°, Π½ΠΎ Ссли Π²Π°ΠΌ этого Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, Π²ΠΎΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄ ΠΏΠΎ ΡΡ‚ΠΈΠ»ΡŽ ΠΊΠΎΠ΄Π° (Π½Π° английском): luarocks/lua-style-guide (https://github.com/luarocks/lua-style-guide)

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ
Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ€Π΅Π»ΠΈΠ·Π° ML ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΠΆΠ΅ довольно ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎΠ΅ помСнялось, Ρ‚Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вмСсто ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… playerPed ΠΈ playerHandle стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PLAYER_PED ΠΈ PLAYER_HANDLE соотвСтствСнно.
Помимо стандартного Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, для создания слоТных мСню ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Dear ImGui. Для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° SA:MP Π΅ΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SAMP.Lua. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SA Memory для прямого взаимодСйствия со структурами ΠΈΠ³Ρ€Ρ‹. И MoonAdditions, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰Π°Ρ мноТСство интСрСсных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
vkeys β€” стандартный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, хранящий всС ID ΠΈ ΠΈΠΌΠ΅Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… клавиш. Π’Π°ΠΊ ΡƒΠΆ Π²Ρ‹ΡˆΠ»ΠΎ, Ρ‡Ρ‚ΠΎ этот ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΠ» Π² состав MoonLoader ΠΈ вмСсто Π½Π΅Π³ΠΎ всС константы Π·Π°Π³Ρ€ΡƒΠΆΠ°Π»ΠΈΡΡŒ ΠΈΠ· модуля moonloader глобально, Π½ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π²Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ это Π±Ρ‹Π»ΠΎ ΠΏΠ»ΠΎΡ…ΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ поэтому ΠΊΠΎΠ΄Ρ‹ клавиш Π±Ρ‹Π»ΠΈ пСрСнСсСны Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Но константы Π² старом ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ для совмСстимости со старыми скриптами ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡ… использованиС ΠΎΡ‚Ρ‚ΡƒΠ΄Π° считаСтся ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° vkeys Ρ‚ΡƒΡ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΊΡ€ΠΎΠΌΠ΅ Π½Π΅Ρ‘ Π±Ρ‹Π»ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ нововвСдСния, ΠΏΡ€ΠΈΠ²Π΅Π΄ΡˆΠΈΠ΅ ΠΊ ΡƒΡΡ‚Π°Ρ€Π΅Π²Π°Π½ΠΈΡŽ старых Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.
ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π²Ρ‹ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚Π΅ΡΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ, всСгда ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° список ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² обновлСниях ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ новСйшими инструмСнтами.

Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ процСсса установки скриптов
«Π”Π° закинь Π²ΠΎΡ‚ эти Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠ°ΠΏΠΊΡƒ CORE Π² ΠΏΠ°ΠΏΠΊΠ΅ SOURCE Ρ‚Π° Ρ‡Ρ‚ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ с Π»ΠΈΠ±Π°ΠΌΠΈ Π³Π΄Π΅ ΠΏΠΎΠ΄ ΠΏΠ°ΠΏΠΊΠΎΠΉ IT хранится SCORE» β€” Π‘Ρ€Ρ€Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π½Π΅ ΡΠ»ΡƒΡ‡Π°Π»ΠΎΡΡŒ ΠΈ ваш собСсСдник Π½Π΅ Π²ΠΏΠ°Π΄Π°Π» Π² ступор, ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ установку Π΄ΠΎ максимума β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ просто ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ΄Π° Π² ΠΎΠ΄Π½Ρƒ ΠΏΠ°ΠΏΠΊΡƒ. Π’ΠΎ Π΅ΡΡ‚ΡŒ собСритС ΠΎΠ΄ΠΈΠ½ Π°Ρ€Ρ…ΠΈΠ² Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ свободно Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, Ссли процСсс установки слоТнСС стандартного. Π§Π΅ΠΌ установка ΠΏΡ€ΠΎΡ‰Π΅, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ для вас, ΠΈ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ скриптов
Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ компиляции Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для запуска прилоТСния Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ машинС, Π½ΠΎ Π² Lua компиляция Π½Π΅ трСбуСтся β€” скрипты Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΠΈΠ· исходного ΠΊΠΎΠ΄Π° Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… манипуляций. Однако, компиляция Lua скриптов Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΈ Ρ‡Π°Ρ‰Π΅ всСго примСняСтся для сокрытия исходного ΠΊΠΎΠ΄Π° ΠΎΡ‚ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Π³Π»Π°Π·. Π§Π°Ρ‰Π΅ всСго это ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ для ΠΏΡ€ΠΎΠ΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… скриптов, Π³Π΄Π΅ Π·Π°Ρ‰ΠΈΡ‚Π° этого самого скрипта β€” Π΄Π΅Π»ΠΎ пСрвостСпСнной ваТности. НС стоит Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ этой Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ свой скрипт ΠΏΠΎΠ΄ Π·Π°ΠΌΠΎΠΊ.
Для компиляции Lua скриптов ΠΏΠΎΠ΄ MoonLoader v.026 ΠΈ Π²Ρ‹ΡˆΠ΅ скачайтС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ LuaJIT v2.1.0-beta3, распакуйтС Π°Ρ€Ρ…ΠΈΠ² Π² любоС мСсто ΠΈ пСрСтаскивайтС lua-Ρ„Π°ΠΉΠ» Π½Π° compile.bat, рядом создастся luac-Ρ„Π°ΠΉΠ» β€” это ΠΈ Π΅ΡΡ‚ΡŒ скомпилированный скрипт. Для компиляции скриптов ΠΏΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ старыС вСрсии MoonLoader, Π²Π°ΠΌ понадобится LuaJIT 2.0.4.

Π‘ основными ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π½Π°ΠΊΠΎΠΌΡ‹ ΠΈ ΠΏΡ€ΠΈ этих знаниях смоТСтС Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π·Π°Π΄Π°Ρ‡, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ примСнСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΈΠΊ. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
ΠœΠΎΠ΄ΡƒΠ»ΠΈ дСлятся Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ°: Lua ΠΈ DLL. Lua-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΈΡˆΡƒΡ‚ΡΡ, ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, Π½Π° языкС Lua ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ· сСбя ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ Lua-скрипты, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ особСнностями.
Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ простого модуля, Π½Π°Π·ΠΎΠ²Ρ‘ΠΌ Π΅Π³ΠΎ example:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° OS
Π€ΡƒΠ½ΠΊΡ†ΠΈΡΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅