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

# Reflection

> Örnekler ve özellikler için yansıma yardımcıları.

<div className="real-category-page">
  Örnekler ve özellikler için yansıma yardımcıları.

  ## Kullanılabilir fonksiyonlar

  <CardGroup cols={2}>
    <Card title="gethiddenproperty" href="./gethiddenproperty">
      non-scriptable properties dahil Roblox property degerini reflection metadata uzerinden okur. Ilk arguman Instance object olmalidir ve ikinci arguman string property name olmalidir. instance reference gecerli olmalidir. property descriptor Roblox property metadata icinde yoksa function yalnizca nil dondurur. descriptor varsa ama property entry olarak cozumlenmezse "Not a property" uretir. Bool, Int, Float, Double, String, SystemAddress, SharedString ve Vector3 reflection types icin function getter cagirir ve value ile !IsScriptable() degerine esit bir boolean dondurur. SystemAddress RemoteId.PeerId degerini integer olarak dondurur. SharedString Content degerini string olarak dondurur. Vector3 instance primitive Size offset uzerinden okur ve touch data yoksa "can't get value" uretir. Diger property types, property scriptable flag gecici olarak true yapildiktan sonra normal Lua field access ile okunur; BinaryString bu okuma icin gecici olarak String gibi islenir. original scriptable flag ve BinaryString type return oncesinde geri yuklenir.
    </Card>

    <Card title="isscriptable" href="./isscriptable">
      Bir Instance uzerindeki Roblox property icin scriptable flag degerini kontrol eder. Function once ayni instance reference ve property name icin cached scriptable value varsa onu dondurur. Cache miss durumunda property name Roblox property metadata ve Instance class descriptor uzerinden cozulur. Descriptor yoksa ya da cozulen field eksikse veya property entry degilse function nil dondurur. property entry bulundugunda scriptable state okunur, bu deger instance ve property icin scriptable override cache icine kaydedilir ve boolean dondurulur. Function scriptable flag degerini degistirmez.
    </Card>

    <Card title="sethiddenproperty" href="./sethiddenproperty">
      Sets a Roblox property with reflection metadata. The first argument must be Instance object, the second argument must be a string property name, and the third argument must be present. The instance reference must be valid. If the property descriptor is missing from Roblox property metadata, the function returns nil. If the descriptor exists but does not resolve to a property entry, it raises "Not a property". Bool values use luaL\_checkboolean. Int and SystemAddress values use integer type checking, with SystemAddress writing RemoteId.PeerId. Float and Double values use number type checking. String, SharedString, and BinaryString values use string type checking before calling the setter. For other property types, the function temporarily calls setscriptable(instance, property, true), assigns instance\[property] = value with normal Lua field assignment, then restores the original scriptable state with setscriptable(instance, property, isScriptable). On successful writes, the return value is a boolean equal to !IsScriptable() from before the write.
    </Card>

    <Card title="setscriptable" href="./setscriptable">
      Bir Roblox property icin scriptable override degerini scriptable override cache icinde saklar ve previous scriptable state degerini dondurur. Ilk arguman Instance object olmalidir, ikinci arguman string property name olmalidir ve ucuncu arguman boolean olmalidir. Ayni instance reference ve property name icin cache entry zaten varsa cached scriptable value degistirilir ve eski cached value dondurulur. cache miss durumunda property name Roblox property metadata ve Instance class descriptor uzerinden cozulur. Descriptor yoksa ya da cozulen field eksikse veya property entry degilse function nil dondurur. property entry bulundugunda function scriptable state okur, istenen boolean ile property reference degerini scriptable override cache icine kaydeder ve previous scriptable state value dondurur. GameIndexHook ve GameNewIndexHook daha sonra bu cache degerini, tek bir indexed read veya write icin property field scriptable flag degerini gecici ayarlayip ardindan previous field flag degerini geri yukleyerek kullanir.
    </Card>
  </CardGroup>
</div>
