Garry's Mod Wiki

Revision Difference

file.Open#514967

<function name="Open" parent="file" type="libraryfunc"> <description>Attempts to open a file with the given mode.</description> <realm>Shared and Menu</realm> <args> <arg name="fileName" type="string">The files name. See &lt;page&gt;file.Write&lt;/page&gt; for details on filename restrictions when writing to files.</arg> <arg name="fileMode" type="string">The mode to open the file in. Possible values are:&#xA;* **r** - read mode&#xA;* **w** - write mode&#xA;* **a** - append mode&#xA;&#xA;* **rb** - binary read mode&#xA;* **wb** - binary write mode&#xA;* **ab** - binary append mode</arg> <arg name="path" type="string">The path type. See &lt;page&gt;File Search Paths&lt;/page&gt;&#xA;&#xA;Common paths are:&#xA;* &quot;GAME&quot; - Structured like base folder (garrysmod/), searches all the mounted content (main folder, addons, mounted games etc)&#xA;* &quot;LUA&quot; or &quot;lsv&quot; - All Lua folders (lua/) including gamesmodes and addons&#xA;* &quot;DATA&quot; - Local to Data folder, has write access (garrysmod/data)&#xA;* &quot;MOD&quot; - Strictly the game folder (garrysmod/), ignores mounting.</arg> </args> <rets> <ret name="" type="File">The opened file object, or nil if it failed to open due to it not existing or being used by another process.</ret> </rets> </function> <example> <description>Open a file in read only mode, reads a line, tells where the current file pointer is at and then closes the file handle.</description> <code> local f = file.Open( "cfg/mapcycle.txt", "r", "MOD" ) print( f:ReadLine() ) print( f:ReadLine() ) print( f:Tell() ) f:Close() </code> <outputfixedwidth>Fixed width</outputfixedwidth> <output> // // Default mapcycle file for Garry's Mod. 45 </output> </example>