> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectreal.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Scripts

> Kueri skrip, bytecode, dan lingkungan.

<div className="real-category-page">
  Kueri skrip, bytecode, dan lingkungan.

  ## Fungsi yang tersedia

  <CardGroup cols={2}>
    <Card title="decompile" href="./decompile">
      Mendekompilasi script Roblox dan mengembalikan source text yang dihasilkan saat bytecode tersedia. Argument harus berupa script Instance yang didukung. Jika tidak ada bytecode yang dapat digunakan, function mengembalikan nil.
    </Card>

    <Card title="dumpstring" href="./dumpstring">
      Mengembalikan decompressed bytecode string untuk Roblox script object. dumpstring didaftarkan ke C++ function yang sama dengan getscriptbytecode, jadi perilakunya identik. Argument harus object. bytecode reader bersama menerima nilai ClassName ModuleScript, LocalScript, CoreScript, dan Script. Untuk Script, RunContext harus Client. Jika ClassName hilang, function menghasilkan "Invalid Instance". Jika ClassName bukan script class yang didukung, function menghasilkan "Script expected". Jika nilainya Script dengan RunContext lain, function menghasilkan "Expected a Script with RunContext set to Client". Jika embedded bytecode reference tidak valid atau panjang stored bytecode adalah 8 bytes atau kurang, function mengembalikan nil. Jika tidak, function mendekompresi stored bytecode dengan DecompressBytecode dan mengembalikan resulting bytes sebagai Luau string. Hash mismatch, too-short compressed data, atau ZSTD decompression errors dikembalikan sebagai error text bytes oleh DecompressBytecode, bukan dilempar di sini.
    </Card>

    <Card title="getcallingscript" href="./getcallingscript">
      Mengembalikan script yang disimpan pada current Luau thread object. Function ini tidak menerima arguments. Function membaca the current thread script, yaitu stored reference. Jika stored reference itu tidak expired, function mendorong script Instance dengan Instance cache dan mengembalikannya. Jika stored reference expired, function mengembalikan nil. Function tidak memeriksa Lua call stack, tidak mencari ancestor scripts, dan tidak memeriksa script ClassName.
    </Card>

    <Card title="getinstancesbyclass" href="./getinstancesbyclass">
      Mengembalikan instances dari Instance cache table yang ClassName field-nya persis cocok dengan string yang diminta. Argumen pertama dibaca dengan string type checking. Empty string menghasilkan "ClassName required". Function membuat array table baru, mengiterasi cache yang disimpan di bawah Instance cache, hanya menyimpan values dengan Lua type object, membaca ClassName field dari tiap object value, dan membandingkannya dengan strcmp terhadap className yang diminta. Matches dimasukkan secara sequential mulai index 1. Pencocokan bersifat exact dan case-sensitive. Function tidak memakai IsA, tidak menyertakan subclasses, tidak melakukan walk descendants, tidak memfilter Parent, dan tidak mengurutkan result. getinstancesofclass adalah alias untuk function yang sama.
    </Card>

    <Card title="getloadedmodules" href="./getloadedmodules">
      Returns a new array table containing live entries from loaded module list. The optional excludeCore argument is read with optional boolean handling and defaults to true when omitted or nil. If excludeCore is true, entries whose instance is a descendant of core packages or CoreGui are skipped. Expired weak entries and locked stored references without a value are skipped. The function pushes each remaining entry with Instance cache at sequential array indexes starting at 1. The function does not check ClassName, does not sort the result, and does not walk the DataModel.
    </Card>

    <Card title="getmenv" href="./getmenv">
      Returns the environment table associated with a ModuleScript. The argument must be a ModuleScript object. Invalid objects raise "Invalid Instance", non-ModuleScript objects raise "ModuleScript expected", and ModuleScripts without an available thread raise "invalid thread". The function does not accept Script or LocalScript; use getsenv for those cases.
    </Card>

    <Card title="getreferencedby" href="./getreferencedby">
      Returns cached Instance values whose supported reference properties point to the provided Instance. The argument must be an Instance.
    </Card>

    <Card title="getrunningscripts" href="./getrunningscripts">
      Mengembalikan array table baru berisi unique script Instances yang diambil dari live Lua threads. Function ini tidak menerima arguments. Function berjalan melalui the live Luau thread list, membaca setiap thread node, dan melewati entries tanpa thread node, tanpa weak thread ref, tanpa LiveLuaRef, tanpa Lua state, tanpa object, atau dengan expired Script stored reference. Untuk setiap thread tersisa, function mengunci scriptThread->object->Script(), melakukan deduplikasi berdasarkan script reference, mendorong Instance dengan Instance cache, dan menyisipkannya pada array indexes berurutan mulai dari 1. Function tidak memindai DataModel, tidak memeriksa ClassName, dan tidak mengurutkan result.
    </Card>

    <Card title="getscriptbytecode" href="./getscriptbytecode">
      Mengembalikan decompressed bytecode string untuk Roblox script object. getscriptbytecode didaftarkan ke C++ function yang sama dengan dumpstring, jadi perilakunya identik. Argument harus object. bytecode reader bersama menerima nilai ClassName ModuleScript, LocalScript, CoreScript, dan Script. Untuk Script, RunContext harus Client. Jika ClassName hilang, function menghasilkan "Invalid Instance". Jika ClassName bukan script class yang didukung, function menghasilkan "Script expected". Jika nilainya Script dengan RunContext lain, function menghasilkan "Expected a Script with RunContext set to Client". Jika embedded bytecode reference tidak valid atau panjang stored bytecode adalah 8 bytes atau kurang, function mengembalikan nil. Jika tidak, function mendekompresi stored bytecode dengan DecompressBytecode dan mengembalikan resulting bytes sebagai Luau string. Hash mismatch, too-short compressed data, atau ZSTD decompression errors dikembalikan sebagai error text bytes oleh DecompressBytecode, bukan dilempar di sini.
    </Card>

    <Card title="getscriptclosure" href="./getscriptclosure">
      Loads the stored bytecode for a supported Roblox script Instance and returns it as a Lua closure. Returns nil when usable bytecode is not available.
    </Card>

    <Card title="getscripthash" href="./getscripthash">
      Mengembalikan uppercase SHA384 hex digest untuk stored bytecode string dari Roblox script object. Argument harus berupa object. Helper bersama GetBytecode menerima nilai ClassName ModuleScript, LocalScript, CoreScript, dan Script. Untuk Script, RunContext harus Client. Jika ClassName tidak ada, function melempar "Invalid Instance". Jika ClassName bukan salah satu script classes yang didukung, function melempar "Script expected". Jika nilainya adalah Script dengan RunContext lain, function melempar "Expected a Script with RunContext set to Client". Jika embedded bytecode reference tidak valid atau panjang stored bytecode 8 bytes atau kurang, function mengembalikan nil. Jika tidak, function menghitung SHA384 dari stored bytecode bytes yang tepat dan mengembalikan uppercase hex string. Function tidak memanggil DecompressBytecode dan tidak melakukan hash pada decompressed bytecode.
    </Card>

    <Card title="getscripts" href="./getscripts">
      Mengembalikan nilai script object yang saat ini ada di Instance cache. Function ini tidak menerima arguments. Function mengiterasi cache yang disimpan di bawah key Instance cache lightobject dan hanya memeriksa entries yang value-nya object. Function membaca field ClassName setiap value dengan optional string handling. Entry LocalScript dan ModuleScript disertakan. Entry Script hanya disertakan saat RunContext offset-nya sama dengan CLIENT atau PLUGIN. Nilai ClassName lain, entries tanpa string ClassName, dan CoreScript dilewati. Hasilnya adalah Luau table berurutan. Function tidak menelusuri DataModel dan tidak menjamin sorted order.
    </Card>

    <Card title="getscriptthread" href="./getscriptthread">
      Mengembalikan Lua thread yang terkait dengan script object saat Real dapat menemukannya. Argument harus berupa object. Function membaca field ClassName pada nilai dan memunculkan "not a valid Instance" jika field itu bukan string. Nilai ClassName yang diterima adalah Script, LocalScript, dan ModuleScript; nilai lain memunculkan "Script expected". Function pertama memeriksa ScriptThreadCache milik Real berdasarkan script reference. Pada cache hit, function mengembalikan Luau thread yang di-cache sebagai thread. Pada cache miss, nilai Script harus memiliki RunContext Client atau function memunculkan "Expected a Script with RunContext set to Client". Kemudian function berjalan melalui the live Luau thread list, mengikuti first weak thread reference setiap thread node ke LiveLuaRef, melewati missing thread data atau expired Script stored references, dan membandingkan setiap script reference dengan script yang diminta. Jika menemukan match, function mengembalikan Luau thread itu sebagai thread. Jika tidak ada match, function mengembalikan nil.
    </Card>

    <Card title="getsenv" href="./getsenv">
      Returns the environment table associated with a LocalScript, Script, or ModuleScript. Unsupported script objects or scripts without an available thread raise the same errors as the underlying script lookup.
    </Card>

    <Card title="loadstring" href="./loadstring">
      Compiles a Luau source string and returns the loaded function. If loading fails, it returns nil and an error message. The returned function is not executed automatically.
    </Card>
  </CardGroup>
</div>
