Files
sfall/objects-and-scripts/index.html
T

18 lines
29 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>Objects and scripts - sfall</title> <link rel="shortcut icon" href="/sfall/favicon.ico" type="image/x-icon"> <link rel="stylesheet" href="/sfall/assets/css/just-the-docs-default.css"> <script type="text/javascript" src="/sfall/assets/js/vendor/lunr.min.js"></script> <script type="text/javascript" src="/sfall/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>Objects and scripts | sfall</title> <meta property="og:title" content="Objects and scripts" /> <meta property="og:locale" content="en_US" /> <meta name="description" content="Sfall documentation" /> <meta property="og:description" content="Sfall documentation" /> <link rel="canonical" href="/sfall/objects-and-scripts/" /> <meta property="og:url" content="/sfall/objects-and-scripts/" /> <meta property="og:site_name" content="sfall" /> <script type="application/ld+json"> {"@type":"WebPage","mainEntityOfPage":null,"image":null,"url":"/sfall/objects-and-scripts/","author":null,"headline":"Objects and scripts","dateModified":null,"datePublished":null,"sameAs":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="/sfall/" 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="/sfall/" 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="/sfall/arrays/" class="nav-list-link">Arrays</a><ul class="nav-list "><li class="nav-list-item "><a href="/sfall/array-functions/" class="nav-list-link">Array functions</a></li><li class="nav-list-item "><a href="/sfall/lists/" class="nav-list-link">Lists</a></li></ul></li><li class="nav-list-item"><a href="/sfall/best-practices/" class="nav-list-link">Best practices</a></li><li class="nav-list-item"><a href="/sfall/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="/sfall/global-scripts/" class="nav-list-link">Global scripts</a><ul class="nav-list "><li class="nav-list-item "><a href="/sfall/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="/sfall/hooks/" class="nav-list-link">Hooks</a><ul class="nav-list "><li class="nav-list-item "><a href="/sfall/hook-functions/" class="nav-list-link">Hook functions</a></li><li class="nav-list-item "><a href="/sfall/hook-types/" class="nav-list-link">Hook types</a></li></ul></li><li class="nav-list-item"><a href="/sfall/sslc/" class="nav-list-link">SSLC</a></li><li class="nav-list-item"><a href="/sfall/optimization/" class="nav-list-link">Optimization</a></li><li class="nav-list-item"><a href="/sfall/animations/" class="nav-list-link">Animations</a></li><li class="nav-list-item"><a href="/sfall/art-and-appearance/" class="nav-list-link">Art and appearance</a></li><li class="nav-list-item"><a href="/sfall/audio/" class="nav-list-link">Audio</a></li><li class="nav-list-item"><a href="/sfall/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="/sfall/combat/" class="nav-list-link">Combat</a><ul class="nav-list "><li class="nav-list-item "><a href="/sfall/knockback/" class="nav-list-link">Knockback</a></li><li class="nav-list-item "><a href="/sfall/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="/sfall/direct-memory-access/" class="nav-list-link">Direct memory access</a><ul class="nav-list "><li class="nav-list-item "><a href="/sfall/call_offset_vx/" class="nav-list-link">call_offset_vX</a></li><li class="nav-list-item "><a href="/sfall/read_xxx/" class="nav-list-link">read_xxx</a></li><li class="nav-list-item "><a href="/sfall/write_xxx/" class="nav-list-link">write_xxx</a></li></ul></li><li class="nav-list-item"><a href="/sfall/explosions/" class="nav-list-link">Explosions</a></li><li class="nav-list-item"><a href="/sfall/global-variables/" class="nav-list-link">Global variables</a></li><li class="nav-list-item"><a href="/sfall/graphics/" class="nav-list-link">Graphics</a></li><li class="nav-list-item"><a href="/sfall/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="/sfall/interface/" class="nav-list-link">Interface</a><ul class="nav-list "><li class="nav-list-item "><a href="/sfall/cursor/" class="nav-list-link">Cursor</a></li><li class="nav-list-item "><a href="/sfall/inventory/" class="nav-list-link">Inventory</a></li><li class="nav-list-item "><a href="/sfall/main-interface/" class="nav-list-link">Main interface</a></li><li class="nav-list-item "><a href="/sfall/outline/" class="nav-list-link">Outline</a></li><li class="nav-list-item "><a href="/sfall/pip-boy/" class="nav-list-link">Pip-Boy</a></li><li class="nav-list-item "><a href="/sfall/tags/" class="nav-list-link">Tags</a></li><li class="nav-list-item "><a href="/sfall/windows-and-images/" class="nav-list-link">Windows and images</a></li></ul></li><li class="nav-list-item"><a href="/sfall/keyboard-and-mouse/" class="nav-list-link">Keyboard and mouse</a></li><li class="nav-list-item"><a href="/sfall/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="/sfall/maps-and-encounters/" class="nav-list-link">Maps and encounters</a><ul class="nav-list "><li class="nav-list-item "><a href="/sfall/rest/" class="nav-list-link">Rest</a></li><li class="nav-list-item "><a href="/sfall/worldmap/" class="nav-list-link">Worldmap</a></li></ul></li><li class="nav-list-item active"><a href="/sfall/objects-and-scripts/" class="nav-list-link active">Objects and scripts</a></li><li class="nav-list-item"><a href="/sfall/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="/sfall/perks-and-traits/" class="nav-list-link">Perks and traits</a><ul class="nav-list "><li class="nav-list-item "><a href="/sfall/npc-perks/" class="nav-list-link">NPC perks</a></li></ul></li><li class="nav-list-item"><a href="/sfall/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/sfall/" class="nav-list-link">Sfall</a><ul class="nav-list "><li class="nav-list-item "><a href="/sfall/funcx/" class="nav-list-link">funcX</a></li><li class="nav-list-item "><a href="/sfall/version/" class="nav-list-link">Version</a></li></ul></li><li class="nav-list-item"><a href="/sfall/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="/sfall/stats/" class="nav-list-link">Stats</a><ul class="nav-list "><li class="nav-list-item "><a href="/sfall/alter-min-max/" class="nav-list-link">Alter min/max</a></li></ul></li><li class="nav-list-item"><a href="/sfall/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="/sfall/variables/" class="nav-list-link">Variables</a><ul class="nav-list "><li class="nav-list-item "><a href="/sfall/math/" class="nav-list-link">Math</a></li><li class="nav-list-item "><a href="/sfall/strings/" class="nav-list-link">Strings</a></li></ul></li><li class="nav-list-item"><a href="/sfall/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"> <div id="main-content" class="main-content" role="main"> <h1 class="no_toc" id="objects-and-scripts"> <a href="#objects-and-scripts" class="anchor-heading" aria-labelledby="objects-and-scripts"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Objects and scripts </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="#dialog_obj" id="markdown-toc-dialog_obj"><strong>dialog_obj</strong></a></li> <li><a href="#get_flags" id="markdown-toc-get_flags"><strong>get_flags</strong></a></li> <li><a href="#get_object_data" id="markdown-toc-get_object_data"><strong>get_object_data</strong></a></li> <li><a href="#get_script" id="markdown-toc-get_script"><strong>get_script</strong></a></li> <li><a href="#loot_obj" id="markdown-toc-loot_obj"><strong>loot_obj</strong></a></li> <li><a href="#obj_is_carrying_obj" id="markdown-toc-obj_is_carrying_obj"><strong>obj_is_carrying_obj</strong></a></li> <li><a href="#obj_under_cursor" id="markdown-toc-obj_under_cursor"><strong>obj_under_cursor</strong></a></li> <li><a href="#real_dude_obj" id="markdown-toc-real_dude_obj"><strong>real_dude_obj</strong></a></li> <li><a href="#remove_script" id="markdown-toc-remove_script"><strong>remove_script</strong></a></li> <li><a href="#set_dude_obj" id="markdown-toc-set_dude_obj"><strong>set_dude_obj</strong></a></li> <li><a href="#set_flags" id="markdown-toc-set_flags"><strong>set_flags</strong></a></li> <li><a href="#set_object_data" id="markdown-toc-set_object_data"><strong>set_object_data</strong></a></li> <li><a href="#set_scr_name" id="markdown-toc-set_scr_name"><strong>set_scr_name</strong></a></li> <li><a href="#set_script" id="markdown-toc-set_script"><strong>set_script</strong></a></li> <li><a href="#set_self" id="markdown-toc-set_self"><strong>set_self</strong></a></li> <li><a href="#set_unique_id" id="markdown-toc-set_unique_id"><strong>set_unique_id</strong></a></li> </ul><hr /> <h3 class="d-inline-block" id="dialog_obj"> <a href="#dialog_obj" class="anchor-heading" aria-labelledby="dialog_obj"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>dialog_obj</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">ObjectPtr</span> <span class="n">dialog_obj</span><span class="p">()</span>
</code></pre></div></div> <p>Returns a pointer to the object (critter) the player is having a conversation or bartering with.</p><hr /> <h3 class="d-inline-block" id="get_flags"> <a href="#get_flags" class="anchor-heading" aria-labelledby="get_flags"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>get_flags</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_flags</span><span class="p">(</span><span class="n">ObjectPtr</span> <span class="n">obj</span><span class="p">)</span>
</code></pre></div></div> <p>Gets the current value of object flags (see <code class="highlighter-rouge">define_extra.h</code> for available flags).</p><hr /> <h3 class="d-inline-block" id="get_object_data"> <a href="#get_object_data" class="anchor-heading" aria-labelledby="get_object_data"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>get_object_data</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">get_object_data</span><span class="p">(</span><span class="n">ObjectPtr</span> <span class="n">object</span><span class="p">,</span> <span class="kt">int</span> <span class="n">offset</span><span class="p">)</span>
</code></pre></div></div> <p>Returns the data at the specified offset of an object (see <code class="highlighter-rouge">OBJ_DATA_*</code> constants in <code class="highlighter-rouge">define_extra.h</code> for offsets).</p><hr /> <h3 id="get_script"> <a href="#get_script" class="anchor-heading" aria-labelledby="get_script"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>get_script</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="n">get_script</span><span class="p">(</span><span class="n">ObjectPtr</span><span class="p">)</span>
</code></pre></div></div> <ul> <li>accepts a pointer to an object and returns its scriptID (line number in <code class="highlighter-rouge">scripts.lst</code>), or 0 if the object is unscripted.</li> <li>returns -1 on argument error.</li> </ul><hr /> <h3 class="d-inline-block" id="loot_obj"> <a href="#loot_obj" class="anchor-heading" aria-labelledby="loot_obj"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>loot_obj</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">ObjectPtr</span> <span class="n">loot_obj</span><span class="p">()</span>
</code></pre></div></div> <p>Returns a pointer to the target object (container or critter) of the loot screen.</p><hr /> <h3 id="obj_is_carrying_obj"> <a href="#obj_is_carrying_obj" class="anchor-heading" aria-labelledby="obj_is_carrying_obj"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>obj_is_carrying_obj</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">int</span> <span class="p">(</span><span class="n">ObjectPtr</span> <span class="n">invenObj</span><span class="p">,</span> <span class="n">ObjectPtr</span> <span class="n">itemObj</span><span class="p">)</span>
</code></pre></div></div> <p>Returns number of <code class="highlighter-rouge">itemObj</code> inside invenObjs inventory, note that both arguments are object pointers. useful when dealing with different stacks of same item (<code class="highlighter-rouge">obj_is_carrying_obj_pid</code> just returns total for all stacks of the same PID.)</p><hr /> <h3 class="d-inline-block" id="obj_under_cursor"> <a href="#obj_under_cursor" class="anchor-heading" aria-labelledby="obj_under_cursor"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>obj_under_cursor</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">ObjectPtr</span> <span class="n">obj_under_cursor</span><span class="p">(</span><span class="kt">bool</span> <span class="n">onlyCritter</span><span class="p">,</span> <span class="kt">bool</span> <span class="n">includeDude</span><span class="p">)</span>
</code></pre></div></div> <p>Returns the object under the cursor on the main game screen.</p> <ul> <li>onlyCritter: <ul> <li>True - only checks critters and ignores their cover (roof tiles, walls, scenery, etc.)</li> <li>False - checks all objects (cant check critters under objects)</li> </ul> </li> <li>passing False to the includeDude argument will ignore dude_obj <ul> <li><strong>NOTE:</strong> to get an object located on a tile when the cursor is in movement mode (hexagon cursor), use the <code class="highlighter-rouge">tile_under_cursor</code> function</li> </ul> </li> </ul><hr /> <h3 class="d-inline-block" id="real_dude_obj"> <a href="#real_dude_obj" class="anchor-heading" aria-labelledby="real_dude_obj"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>real_dude_obj</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">ObjectPtr</span> <span class="n">real_dude_obj</span><span class="p">()</span>
</code></pre></div></div> <p>Returns the initial <code class="highlighter-rouge">dude_obj</code> after <code class="highlighter-rouge">set_dude_obj</code> was used.</p><hr /> <h3 id="remove_script"> <a href="#remove_script" class="anchor-heading" aria-labelledby="remove_script"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>remove_script</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="n">remove_script</span><span class="p">(</span><span class="n">ObjectPtr</span><span class="p">)</span>
</code></pre></div></div> <p>Accepts a pointer to an object and will remove the script from that object.</p><hr /> <h3 class="d-inline-block" id="set_dude_obj"> <a href="#set_dude_obj" class="anchor-heading" aria-labelledby="set_dude_obj"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>set_dude_obj</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">void</span> <span class="n">set_dude_obj</span><span class="p">(</span><span class="n">ObjectPtr</span> <span class="n">critter</span><span class="p">)</span>
</code></pre></div></div> <p>Take control of a given critter. Passing value 0 will reset control back to “real” dude.</p><hr /> <h3 class="d-inline-block" id="set_flags"> <a href="#set_flags" class="anchor-heading" aria-labelledby="set_flags"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>set_flags</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">void</span> <span class="n">set_flags</span><span class="p">(</span><span class="n">ObjectPtr</span> <span class="n">obj</span><span class="p">,</span> <span class="kt">int</span> <span class="n">flags</span><span class="p">)</span>
</code></pre></div></div> <p>Sets the current flags of an object. All flags are rewritten with given integer, so first get current flags with <code class="highlighter-rouge">get_flags</code> and use <code class="highlighter-rouge">bwor/bwand</code> to set/remove specific flag.</p><hr /> <h3 class="d-inline-block" id="set_object_data"> <a href="#set_object_data" class="anchor-heading" aria-labelledby="set_object_data"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>set_object_data</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">set_object_data</span><span class="p">(</span><span class="n">ObjectPtr</span> <span class="n">object</span><span class="p">,</span> <span class="kt">int</span> <span class="n">offset</span><span class="p">,</span> <span class="kt">int</span> <span class="n">data</span><span class="p">)</span>
</code></pre></div></div> <p>Sets the data at the specified offset of an object.</p><hr /> <h3 class="d-inline-block" id="set_scr_name"> <a href="#set_scr_name" class="anchor-heading" aria-labelledby="set_scr_name"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>set_scr_name</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">void</span> <span class="n">set_scr_name</span><span class="p">(</span><span class="n">string</span> <span class="n">name</span><span class="p">)</span>
</code></pre></div></div> <p>Overrides the name of the script object that was set from <code class="highlighter-rouge">scrname.msg</code>.</p> <ul> <li>The changed name will be reset each time the player leaves the map or reloads the game</li> <li>Passing an empty string (“”) to the <code class="highlighter-rouge">name</code> argument or omitting it will allow the game to get the name for the object from pro_*.msg files</li> <li><strong>NOTE:</strong> this function is intended for use in normal game scripts</li> </ul><hr /> <h3 id="set_script"> <a href="#set_script" class="anchor-heading" aria-labelledby="set_script"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>set_script</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="n">set_script</span><span class="p">(</span><span class="n">ObjectPtr</span><span class="p">,</span> <span class="kt">int</span> <span class="n">scriptid</span><span class="p">)</span>
</code></pre></div></div> <p>Accepts a pointer to an object and scriptID, and applies the given script to an object (scriptID accept the same values as <code class="highlighter-rouge">create_object_sid </code>from sfall 3.6). If used on an object that is already scripted, it will remove the existing script first; you cannot have multiple scripts attached to a single object. Calling <code class="highlighter-rouge">set_script</code> on <code class="highlighter-rouge">self_obj</code> will have all sorts of wacky side effects, and should be avoided. If you add 0x80000000 to the sid when calling <code class="highlighter-rouge">set_script</code>, <code class="highlighter-rouge">map_enter_p_proc</code> will be SKIPPED. The <code class="highlighter-rouge">start</code> proc will always be run.</p><hr /> <h3 id="set_self"> <a href="#set_self" class="anchor-heading" aria-labelledby="set_self"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>set_self</strong> </h3> <div class="language-c++ highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="n">set_self</span><span class="p">(</span><span class="n">ObjectPtr</span><span class="p">)</span>
</code></pre></div></div> <p>Overrides the scripts <code class="highlighter-rouge">self_obj</code> for the next function call.</p> <ul> <li>It is primarily used to allow the calling of functions which take an implicit <code class="highlighter-rouge">self_obj</code> parameter (e.g. <code class="highlighter-rouge">drop_obj</code>) from global scripts, but it can also be used from normal scripts.</li> <li>Will revert back to its original value after the next function call.</li> <li>Calling <code class="highlighter-rouge">self_obj(0)</code> will also revert <code class="highlighter-rouge">self_obj</code> to original value. It is recommended to call this after each use of <code class="highlighter-rouge">set_self</code> in normal scripts in order to avoid unforeseen side effects.</li> <li><code class="highlighter-rouge">source_obj</code>, <code class="highlighter-rouge">target_obj</code>, and similar functions will not work if preceded by <code class="highlighter-rouge">set_self</code>.</li> <li><strong>NOTE:</strong> for <code class="highlighter-rouge">use_obj</code>, <code class="highlighter-rouge">use_obj_on_obj</code> vanilla functions to work correctly, it is required to call <code class="highlighter-rouge">set_self</code> twice.</li> </ul><hr /> <h3 class="d-inline-block" id="set_unique_id"> <a href="#set_unique_id" class="anchor-heading" aria-labelledby="set_unique_id"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>set_unique_id</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">set_unique_id</span><span class="p">(</span><span class="n">ObjectPtr</span> <span class="n">object</span><span class="p">,</span> <span class="kt">int</span> <span class="n">flag</span><span class="p">)</span>
</code></pre></div></div> <p>Assigns a unique ID number to the object and returns it. If a unique ID number has already been assigned to an object, then ID number is returned without reassignment. <code class="highlighter-rouge">flag</code> is optional.</p> <ul> <li>items with unique IDs will not stack with other items of the same type in the inventory</li> <li>to just get the current ID number of an object, use <code class="highlighter-rouge">get_object_data(object, OBJ_DATA_ID)</code></li> <li>unique ID numbers are saved in your savegame, and have a range from 0x10000000 to 0x7FFFFFFF</li> <li>there is also a unique ID number range for the player and party members from 18000 to 83535</li> <li>to assign a new ID number generated by the engine to the object (i.e. unassign a unique ID), call the function with two arguments and pass -1 for the flag argument</li> </ul> </div> </div> <div class="search-overlay"></div> </div> </body> </html>