mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
10 lines
19 KiB
HTML
10 lines
19 KiB
HTML
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <title>Strings - 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>Strings | sfall</title> <meta property="og:title" content="Strings" /> <meta property="og:locale" content="en_US" /> <meta name="description" content="Sfall documentation" /> <meta property="og:description" content="Sfall documentation" /> <link rel="canonical" href="/strings/" /> <meta property="og:url" content="/strings/" /> <meta property="og:site_name" content="sfall" /> <script type="application/ld+json"> {"@type":"WebPage","image":null,"url":"/strings/","publisher":null,"author":null,"headline":"Strings","dateModified":null,"datePublished":null,"sameAs":null,"description":"Sfall documentation","mainEntityOfPage":null,"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"><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 "><a href="/array-functions/" class="nav-list-link">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 active"><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 active"><a href="/strings/" class="nav-list-link active">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="/variables/">Variables</a></li> <li class="breadcrumb-nav-list-item"><span>Strings</span></li> </ol> </nav> <div id="main-content" class="main-content" role="main"> <h1 class="no_toc" id="strings"> <a href="#strings" class="anchor-heading" aria-labelledby="strings"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Strings </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="#charcode" id="markdown-toc-charcode"><strong>charcode</strong></a></li> <li><a href="#get_string_pointer" id="markdown-toc-get_string_pointer"><strong>get_string_pointer</strong></a></li> <li><a href="#string_format" id="markdown-toc-string_format"><strong>string_format</strong></a></li> <li><a href="#string_split" id="markdown-toc-string_split"><strong>string_split</strong></a></li> <li><a href="#string_to_case" id="markdown-toc-string_to_case"><strong>string_to_case</strong></a></li> <li><a href="#strlen" id="markdown-toc-strlen"><strong>strlen</strong></a></li> <li><a href="#substr" id="markdown-toc-substr"><strong>substr</strong></a></li> </ul><hr /> <h3 id="charcode"> <a href="#charcode" class="anchor-heading" aria-labelledby="charcode"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>charcode</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">charcode</span><span class="p">(</span><span class="n">string</span> <span class="n">text</span><span class="p">)</span>
|
|
</code></pre></div></div> <p>Returns ASCII code for the first character in given string.</p><hr /> <h3 class="d-inline-block" id="get_string_pointer"> <a href="#get_string_pointer" class="anchor-heading" aria-labelledby="get_string_pointer"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>get_string_pointer</strong> </h3> <p class="label label-green">sfall.h</p> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">get_string_pointer</span><span class="p">(</span><span class="n">string</span> <span class="n">text</span><span class="p">)</span>
|
|
</code></pre></div></div> <p>Returns a pointer to a string variable or to a text.</p><hr /> <h3 class="d-inline-block" id="string_format"> <a href="#string_format" class="anchor-heading" aria-labelledby="string_format"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>string_format</strong> </h3> <p class="label label-green">sfall.h</p> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">string</span> <span class="n">string_format</span><span class="p">(</span><span class="n">string</span> <span class="n">format</span><span class="p">,</span> <span class="n">any</span> <span class="n">val1</span><span class="p">,</span> <span class="n">any</span> <span class="n">val2</span><span class="p">,</span> <span class="p">...)</span>
|
|
</code></pre></div></div> <p>Formats given value using standard syntax of C printf function (google “printf” for format details). However it is limited to formatting up to 4 values.</p> <ul> <li>formatting is only supported for %s and %d, and the format string is limited to 1024 characters</li> </ul><hr /> <h3 id="string_split"> <a href="#string_split" class="anchor-heading" aria-labelledby="string_split"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>string_split</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">array</span> <span class="n">string_split</span><span class="p">(</span><span class="n">string</span><span class="p">,</span> <span class="n">split</span><span class="p">)</span>
|
|
</code></pre></div></div> <p>Takes a string and a seperator, searches the string for all instances of the seperator, and returns a temp array filled with the pieces of the string split at each instance. If you give an empty string as the seperator, the string is split into individual characters. You can use this to search for a substring in a string like this: <code class="highlighter-rouge">strlen(get_array(string_split(haystack, needle), 0))</code></p><hr /> <h3 id="string_to_case"> <a href="#string_to_case" class="anchor-heading" aria-labelledby="string_to_case"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>string_to_case</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">string</span> <span class="n">sfall_func2</span><span class="p">(</span><span class="s">"string_to_case"</span><span class="p">,</span> <span class="n">string</span> <span class="n">text</span><span class="p">,</span> <span class="kt">int</span> <span class="n">toCase</span><span class="p">)</span>
|
|
</code></pre></div></div> <p>Converts all letters in the given string to the specified case.</p> <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>toCase: 0 - lowercase, 1 - uppercase
|
|
</code></pre></div></div> <p>NOTE: this function works only for English letters of A-Z/a-z.</p><hr /> <h3 id="strlen"> <a href="#strlen" class="anchor-heading" aria-labelledby="strlen"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>strlen</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">strlen</span><span class="p">(</span><span class="n">string</span> <span class="n">text</span><span class="p">)</span>
|
|
</code></pre></div></div> <p>Returns string length.</p><hr /> <h3 id="substr"> <a href="#substr" class="anchor-heading" aria-labelledby="substr"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>substr</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">string</span> <span class="n">substr</span><span class="p">(</span><span class="n">string</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">length</span><span class="p">)</span>
|
|
</code></pre></div></div> <p>Cuts a substring from a string starting at “start” up to “length” characters. The first character position is 0 (zero).</p> <ul> <li>If start is negative - it indicates starting position from the end of the string (for example <code class="highlighter-rouge">substr("test", -2, 2)</code> will return last 2 charactes: “st”).</li> <li>If length is negative - it means so many characters will be omitted from the end of string (example: <code class="highlighter-rouge">substr("test", 0, -2)</code> will return string without last 2 characters: “te”).</li> <li>If length is zero - it will return a string from the starting position to the end of the string <strong>New behavior</strong> for sfall 4.2.2/3.8.22</li> </ul> </div> </div> <div class="search-overlay"></div> </div> </body> </html>
|