> ## 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.

# getscriptbytecode

> Retorna o decompressed bytecode string de um Roblox script object. getscriptbytecode e registrado na mesma C++ function que dumpstring, entao seu comportamento e identico. O argument deve ser object. O bytecode reader compartilhado aceita valores ClassName ModuleScript, LocalScript, CoreScript e Script. Para Script, RunContext deve ser Client. Se ClassName estiver ausente, a function gera "Invalid Instance". Se ClassName nao for uma script class suportada, gera "Script expected". Se o valor for um Script com outro RunContext, gera "Expected a Script with RunContext set to Client". Se o embedded bytecode reference for invalido ou o tamanho do stored bytecode for 8 bytes ou menos, a function retorna nil. Caso contrario, descomprime o stored bytecode com DecompressBytecode e retorna os resulting bytes como Luau string. Hash mismatch, too-short compressed data ou ZSTD decompression errors sao retornados como error text bytes por DecompressBytecode em vez de serem gerados aqui.

<div className="real-function-page">
  ```lua theme={null}
  getscriptbytecode(script: userdata): string | nil
  ```

  ## Argumentos

  <ParamField path={"script"} type={"userdata"} required>
    Script object para ler. Os valores ClassName aceitos sao ModuleScript, LocalScript, CoreScript e Script com RunContext Client.
  </ParamField>

  ## Retornos

  <ResponseField name={"bytecode"} type={"string | nil"}>
    Decompressed bytecode bytes como Luau string, DecompressBytecode error text bytes ou nil quando nao houver embedded bytecode utilizavel.
  </ResponseField>

  ## Exemplo

  Read decompressed bytecode from a supported Roblox script Instance.

  ```lua theme={null}
  local targetScript

  for _, descendant in ipairs(game:GetDescendants()) do
      if descendant:IsA("LuaSourceContainer") then
          targetScript = descendant
          break
      end
  end

  if targetScript then
      local bytecode = getscriptbytecode(targetScript)
      print(bytecode)
  end
  ```
</div>
