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

# setstack

> Replaces one stack slot value in a Lua stack frame. level and index are required numbers. level must satisfy 0 <= level < the current call stack depth; invalid levels raise "Level out of range". C closure frames raise "Lua function expected". index is one-based and must refer to an existing stack slot; invalid indexes raise "Stack index out of range". debug.setstack is an alias.

<div className="real-function-page">
  ```lua theme={null}
  setstack(level: number, index: number, value: any)
  ```

  ## Alias

  * `debug.setstack`

  ## Arguments

  <ParamField path={"level"} type={"number"} required>
    Stack level number. Must satisfy 0 \<= level \< the current call stack depth.
  </ParamField>

  <ParamField path={"index"} type={"number"} required>
    One-based stack slot index.
  </ParamField>

  <ParamField path={"value"} type={"any"} required>
    New value for the stack slot.
  </ParamField>

  ## Exemple

  Replace one stack slot value in a Lua stack frame.

  ```lua theme={null}
  local function inspect(value)
      print(getstack(1, 1))

      setstack(1, 1, "updated")
      print(getstack(1, 1))

      debug.setstack(1, 1, value)
  end

  inspect("ready")
  ```
</div>
