Files
sfall/array-functions/index.html
T

15 lines
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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>Dont 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>Dont 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=&gt;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>