mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
15 lines
22 KiB
HTML
15 lines
22 KiB
HTML
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <title>Array functions - sfall</title> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> <link rel="stylesheet" href="/assets/css/just-the-docs-default.css"> <script type="text/javascript" src="/assets/js/vendor/lunr.min.js"></script> <script type="text/javascript" src="/assets/js/just-the-docs.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Begin Jekyll SEO tag v2.3.0 --> <title>Array functions | sfall</title> <meta property="og:title" content="Array functions" /> <meta property="og:locale" content="en_US" /> <meta name="description" content="Sfall documentation" /> <meta property="og:description" content="Sfall documentation" /> <link rel="canonical" href="/array-functions/" /> <meta property="og:url" content="/array-functions/" /> <meta property="og:site_name" content="sfall" /> <script type="application/ld+json"> {"@type":"WebPage","image":null,"url":"/array-functions/","headline":"Array functions","dateModified":null,"datePublished":null,"sameAs":null,"author":null,"mainEntityOfPage":null,"publisher":null,"description":"Sfall documentation","name":null,"@context":"http://schema.org"}</script> <!-- End Jekyll SEO tag --> <link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon/favicon-16x16.png"> <link rel="manifest" href="/assets/favicon/site.webmanifest"> <link rel="mask-icon" href="/assets/favicon/safari-pinned-tab.svg" color="#5bbad5"> <meta name="msapplication-TileColor" content="#da532c"> <meta name="msapplication-config" content="/assets/favicon/browserconfig.xml"> <meta name="theme-color" content="#ffffff"> </head> <body> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <symbol id="svg-link" viewBox="0 0 24 24"> <title>Link</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link"> <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path> </svg> </symbol> <symbol id="svg-search" viewBox="0 0 24 24"> <title>Search</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"> <circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line> </svg> </symbol> <symbol id="svg-menu" viewBox="0 0 24 24"> <title>Menu</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu"> <line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line> </svg> </symbol> <symbol id="svg-arrow-right" viewBox="0 0 24 24"> <title>Expand</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"> <polyline points="9 18 15 12 9 6"></polyline> </svg> </symbol> <symbol id="svg-doc" viewBox="0 0 24 24"> <title>Document</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file"> <path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline> </svg> </symbol> </svg> <div class="side-bar"> <div class="site-header"> <a href="/" class="site-title lh-tight"> sfall </a> <a href="#" id="menu-button" class="site-button"> <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg> </a> </div> <nav role="navigation" aria-label="Main" id="site-nav" class="site-nav"> <ul class="nav-list"><li class="nav-list-item"><a href="/" class="nav-list-link">Home</a></li><li class="nav-list-item active"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/arrays/" class="nav-list-link">Arrays</a><ul class="nav-list "><li class="nav-list-item active"><a href="/array-functions/" class="nav-list-link active">Array functions</a></li><li class="nav-list-item "><a href="/lists/" class="nav-list-link">Lists</a></li></ul></li><li class="nav-list-item"><a href="/best-practices/" class="nav-list-link">Best practices</a></li><li class="nav-list-item"><a href="/data-types/" class="nav-list-link">Data types</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/global-scripts/" class="nav-list-link">Global scripts</a><ul class="nav-list "><li class="nav-list-item "><a href="/global-script-functions/" class="nav-list-link">Global script functions</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/hooks/" class="nav-list-link">Hooks</a><ul class="nav-list "><li class="nav-list-item "><a href="/hook-functions/" class="nav-list-link">Hook functions</a></li><li class="nav-list-item "><a href="/hook-types/" class="nav-list-link">Hook types</a></li></ul></li><li class="nav-list-item"><a href="/sslc/" class="nav-list-link">SSLC</a></li><li class="nav-list-item"><a href="/optimization/" class="nav-list-link">Optimization</a></li><li class="nav-list-item"><a href="/animations/" class="nav-list-link">Animations</a></li><li class="nav-list-item"><a href="/art-and-appearance/" class="nav-list-link">Art and appearance</a></li><li class="nav-list-item"><a href="/audio/" class="nav-list-link">Audio</a></li><li class="nav-list-item"><a href="/car/" class="nav-list-link">Car</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/combat/" class="nav-list-link">Combat</a><ul class="nav-list "><li class="nav-list-item "><a href="/knockback/" class="nav-list-link">Knockback</a></li><li class="nav-list-item "><a href="/weapons-and-ammo/" class="nav-list-link">Weapons and ammo</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/direct-memory-access/" class="nav-list-link">Direct memory access</a><ul class="nav-list "><li class="nav-list-item "><a href="/call_offset_vx/" class="nav-list-link">call_offset_vX</a></li><li class="nav-list-item "><a href="/read_xxx/" class="nav-list-link">read_xxx</a></li><li class="nav-list-item "><a href="/write_xxx/" class="nav-list-link">write_xxx</a></li></ul></li><li class="nav-list-item"><a href="/explosions/" class="nav-list-link">Explosions</a></li><li class="nav-list-item"><a href="/global-variables/" class="nav-list-link">Global variables</a></li><li class="nav-list-item"><a href="/graphics/" class="nav-list-link">Graphics</a></li><li class="nav-list-item"><a href="/ini-settings/" class="nav-list-link">INI settings</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/interface/" class="nav-list-link">Interface</a><ul class="nav-list "><li class="nav-list-item "><a href="/cursor/" class="nav-list-link">Cursor</a></li><li class="nav-list-item "><a href="/inventory/" class="nav-list-link">Inventory</a></li><li class="nav-list-item "><a href="/main-interface/" class="nav-list-link">Main interface</a></li><li class="nav-list-item "><a href="/outline/" class="nav-list-link">Outline</a></li><li class="nav-list-item "><a href="/pip-boy/" class="nav-list-link">Pip-Boy</a></li><li class="nav-list-item "><a href="/tags/" class="nav-list-link">Tags</a></li><li class="nav-list-item "><a href="/windows-and-images/" class="nav-list-link">Windows and images</a></li></ul></li><li class="nav-list-item"><a href="/keyboard-and-mouse/" class="nav-list-link">Keyboard and mouse</a></li><li class="nav-list-item"><a href="/locks/" class="nav-list-link">Locks</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/maps-and-encounters/" class="nav-list-link">Maps and encounters</a><ul class="nav-list "><li class="nav-list-item "><a href="/rest/" class="nav-list-link">Rest</a></li><li class="nav-list-item "><a href="/worldmap/" class="nav-list-link">Worldmap</a></li></ul></li><li class="nav-list-item"><a href="/objects-and-scripts/" class="nav-list-link">Objects and scripts</a></li><li class="nav-list-item"><a href="/other/" class="nav-list-link">Other</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/perks-and-traits/" class="nav-list-link">Perks and traits</a><ul class="nav-list "><li class="nav-list-item "><a href="/npc-perks/" class="nav-list-link">NPC perks</a></li></ul></li><li class="nav-list-item"><a href="/sfall-funcx-macros/" class="nav-list-link">Sfall funcX macros</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/sfall/" class="nav-list-link">Sfall</a><ul class="nav-list "><li class="nav-list-item "><a href="/funcx/" class="nav-list-link">funcX</a></li><li class="nav-list-item "><a href="/version/" class="nav-list-link">Version</a></li></ul></li><li class="nav-list-item"><a href="/skills/" class="nav-list-link">Skills</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/stats/" class="nav-list-link">Stats</a><ul class="nav-list "><li class="nav-list-item "><a href="/alter-min-max/" class="nav-list-link">Alter min/max</a></li></ul></li><li class="nav-list-item"><a href="/tiles-and-paths/" class="nav-list-link">Tiles and paths</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="/variables/" class="nav-list-link">Variables</a><ul class="nav-list "><li class="nav-list-item "><a href="/math/" class="nav-list-link">Math</a></li><li class="nav-list-item "><a href="/strings/" class="nav-list-link">Strings</a></li></ul></li><li class="nav-list-item"><a href="/virtual-file-system/" class="nav-list-link">Virtual file system</a></li></ul> </nav> <footer class="site-footer"> This site uses <a href="https://github.com/pmarsceill/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll. </footer> </div> <div class="main" id="top"> <div id="main-header" class="main-header"> <div class="search"> <div class="search-input-wrap"> <input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search sfall" aria-label="Search sfall" autocomplete="off"> <label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label> </div> <div id="search-results" class="search-results"></div> </div> <nav aria-label="Auxiliary" class="aux-nav"> <ul class="aux-nav-list"> <li class="aux-nav-list-item"> <a href="https://nma-fallout.com/threads/fo2-engine-tweaks-sfall.178390/" class="site-button" > Forum </a> </li> <li class="aux-nav-list-item"> <a href="https://github.com/phobos2077/sfall/" class="site-button" > GitHub </a> </li> </ul> </nav> </div> <div id="main-content-wrap" class="main-content-wrap"> <nav aria-label="Breadcrumb" class="breadcrumb-nav"> <ol class="breadcrumb-nav-list"> <li class="breadcrumb-nav-list-item"><a href="/arrays/">Arrays</a></li> <li class="breadcrumb-nav-list-item"><span>Array functions</span></li> </ol> </nav> <div id="main-content" class="main-content" role="main"> <h1 class="no_toc" id="array-functions"> <a href="#array-functions" class="anchor-heading" aria-labelledby="array-functions"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Array functions </h1> <h2 class="no_toc" id="functions"> <a href="#functions" class="anchor-heading" aria-labelledby="functions"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Functions </h2> <ul id="markdown-toc"> <li><a href="#array_key" id="markdown-toc-array_key"><strong>array_key</strong></a></li> <li><a href="#arrayexpr" id="markdown-toc-arrayexpr"><strong>arrayexpr</strong></a></li> <li><a href="#create_array" id="markdown-toc-create_array"><strong>create_array</strong></a></li> <li><a href="#fix_array" id="markdown-toc-fix_array"><strong>fix_array</strong></a></li> <li><a href="#free_array" id="markdown-toc-free_array"><strong>free_array</strong></a></li> <li><a href="#get_array" id="markdown-toc-get_array"><strong>get_array</strong></a></li> <li><a href="#len_array" id="markdown-toc-len_array"><strong>len_array</strong></a></li> <li><a href="#load_array" id="markdown-toc-load_array"><strong>load_array</strong></a></li> <li><a href="#resize_array" id="markdown-toc-resize_array"><strong>resize_array</strong></a></li> <li><a href="#save_array" id="markdown-toc-save_array"><strong>save_array</strong></a></li> <li><a href="#scan_array" id="markdown-toc-scan_array"><strong>scan_array</strong></a></li> <li><a href="#set_array" id="markdown-toc-set_array"><strong>set_array</strong></a></li> <li><a href="#temp_array" id="markdown-toc-temp_array"><strong>temp_array</strong></a></li> </ul><hr /> <h3 id="array_key"> <a href="#array_key" class="anchor-heading" aria-labelledby="array_key"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>array_key</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">mixed</span> <span class="n">array_key</span><span class="p">(</span><span class="kt">int</span> <span class="n">arrayID</span><span class="p">,</span> <span class="kt">int</span> <span class="n">index</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Don’t use it directly; it is generated by the compiler in foreach loops.</p><hr /> <h3 id="arrayexpr"> <a href="#arrayexpr" class="anchor-heading" aria-labelledby="arrayexpr"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>arrayexpr</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">arrayexpr</span><span class="p">(</span><span class="n">mixed</span> <span class="n">key</span><span class="p">,</span> <span class="n">mixed</span> <span class="n">value</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Don’t use it directly; it is used by compiler to create array expressions.</p><hr /> <h3 id="create_array"> <a href="#create_array" class="anchor-heading" aria-labelledby="create_array"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>create_array</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">create_array</span><span class="p">(</span><span class="kt">int</span> <span class="n">size</span><span class="p">,</span> <span class="kt">int</span> <span class="n">nothing</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Creates permanent array (but not “saved”).</p><hr /> <h3 id="fix_array"> <a href="#fix_array" class="anchor-heading" aria-labelledby="fix_array"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>fix_array</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="n">fix_array</span><span class="p">(</span><span class="kt">int</span> <span class="n">arrayID</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Changes “temporary” array into “permanent” (“permanent” arrays are not automatically saved into savegames).</p><hr /> <h3 id="free_array"> <a href="#free_array" class="anchor-heading" aria-labelledby="free_array"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>free_array</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="n">free_array</span><span class="p">(</span><span class="kt">int</span> <span class="n">arrayID</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Deletes any array.</p><hr /> <h3 id="get_array"> <a href="#get_array" class="anchor-heading" aria-labelledby="get_array"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>get_array</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">mixed</span> <span class="n">get_array</span><span class="p">(</span><span class="kt">int</span> <span class="n">arrayID</span><span class="p">,</span> <span class="n">mixed</span> <span class="n">key</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Returns array value by key or index (shorthand: arrayID[key]).</p><hr /> <h3 id="len_array"> <a href="#len_array" class="anchor-heading" aria-labelledby="len_array"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>len_array</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">len_array</span><span class="p">(</span><span class="kt">int</span> <span class="n">arrayID</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Returns number of elements or key=>value pairs in a given array.</p><hr /> <h3 id="load_array"> <a href="#load_array" class="anchor-heading" aria-labelledby="load_array"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>load_array</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">load_array</span><span class="p">(</span><span class="n">mixed</span> <span class="n">key</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Load array from savegame data by the same key provided in “save_array”.</p><hr /> <h3 id="resize_array"> <a href="#resize_array" class="anchor-heading" aria-labelledby="resize_array"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>resize_array</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="n">resize_array</span><span class="p">(</span><span class="kt">int</span> <span class="n">arrayID</span><span class="p">,</span> <span class="kt">int</span> <span class="n">size</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Changes array size.</p><hr /> <h3 id="save_array"> <a href="#save_array" class="anchor-heading" aria-labelledby="save_array"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>save_array</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="n">save_array</span><span class="p">(</span><span class="n">mixed</span> <span class="n">key</span><span class="p">,</span> <span class="kt">int</span> <span class="n">arrayID</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Array is saved (arrayID is associated with given “key”).</p><hr /> <h3 id="scan_array"> <a href="#scan_array" class="anchor-heading" aria-labelledby="scan_array"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>scan_array</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">mixed</span> <span class="n">scan_array</span><span class="p">(</span><span class="kt">int</span> <span class="n">arrayID</span><span class="p">,</span> <span class="n">mixed</span> <span class="n">value</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Searches for a first occurence of given value inside given array.</p><hr /> <h3 id="set_array"> <a href="#set_array" class="anchor-heading" aria-labelledby="set_array"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>set_array</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="n">set_array</span><span class="p">(</span><span class="kt">int</span> <span class="n">arrayID</span><span class="p">,</span> <span class="n">mixed</span> <span class="n">key</span><span class="p">,</span> <span class="n">mixed</span> <span class="n">value</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Sets array value (shorthand: arrayID[key] := value).</p><hr /> <h3 id="temp_array"> <a href="#temp_array" class="anchor-heading" aria-labelledby="temp_array"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>temp_array</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">temp_array</span><span class="p">(</span><span class="kt">int</span> <span class="n">size</span><span class="p">,</span> <span class="kt">int</span> <span class="n">nothing</span><span class="p">)</span>
|
||
</code></pre></div></div> <p>Works exactly like “create_array”, only created array becomes “temporary.”</p> </div> </div> <div class="search-overlay"></div> </div> </body> </html>
|