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

19 lines
35 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"> <link rel="stylesheet" href="/sfall/assets/css/just-the-docs-default.css"> <link rel="stylesheet" href="/sfall/assets/css/just-the-docs-head-nav.css" id="jtd-head-nav-stylesheet"> <style id="jtd-nav-activation"> .site-nav > ul.nav-list:first-child > li:not(:nth-child(23)) > a, .site-nav > ul.nav-list:first-child > li > ul > li a { background-image: none; } .site-nav > ul.nav-list:not(:first-child) a, .site-nav li.external a { background-image: none; } .site-nav > ul.nav-list:first-child > li:nth-child(23) > a { font-weight: 600; text-decoration: none; }.site-nav > ul.nav-list:first-child > li:nth-child(23) > button svg { transform: rotate(-90deg); }.site-nav > ul.nav-list:first-child > li.nav-list-item:nth-child(23) > ul.nav-list { display: block; } </style> <script src="/sfall/assets/js/vendor/lunr.min.js"></script> <script src="/sfall/assets/js/just-the-docs.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" href="/sfall/favicon.ico" type="image/x-icon"> <!-- Begin Jekyll SEO tag v2.8.0 --> <title>Objects and scripts | sfall</title> <meta name="generator" content="Jekyll v3.9.2" /> <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" /> <meta property="og:type" content="website" /> <meta name="twitter:card" content="summary" /> <meta property="twitter:title" content="Objects and scripts" /> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"WebPage","description":"Sfall documentation","headline":"Objects and scripts","url":"/sfall/objects-and-scripts/"}</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> <a class="skip-to-main" href="#main-content">Skip to main content</a> <svg xmlns="http://www.w3.org/2000/svg" class="d-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-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> <!-- Feather. MIT License: https://github.com/feathericons/feather/blob/master/LICENSE --> <symbol id="svg-external-link" 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-external-link"> <title id="svg-external-link-title">(external link)</title> <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line> </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> <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> <!-- Bootstrap Icons. MIT License: https://github.com/twbs/icons/blob/main/LICENSE.md --> <symbol id="svg-copy" viewBox="0 0 16 16"> <title>Copy</title> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard" viewBox="0 0 16 16"> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/> <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/> </svg> </symbol> <symbol id="svg-copied" viewBox="0 0 16 16"> <title>Copied</title> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard-check-fill" viewBox="0 0 16 16"> <path d="M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z"/> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm6.854 7.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708Z"/> </svg> </symbol> </svg> <header class="side-bar"> <div class="site-header"> <a href="/sfall/" class="site-title lh-tight"> sfall </a> <button id="menu-button" class="site-button btn-reset" aria-label="Menu" aria-expanded="false"> <svg viewBox="0 0 24 24" class="icon" aria-hidden="true"><use xlink:href="#svg-menu"></use></svg> </button> </div> <nav 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"><button class="nav-list-expander btn-reset" aria-label="Arrays submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><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"><button class="nav-list-expander btn-reset" aria-label="Global scripts submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><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"><button class="nav-list-expander btn-reset" aria-label="Hooks submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><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"><button class="nav-list-expander btn-reset" aria-label="Combat submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><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"><button class="nav-list-expander btn-reset" aria-label="Direct memory access submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><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"><button class="nav-list-expander btn-reset" aria-label="Interface submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><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"><button class="nav-list-expander btn-reset" aria-label="Maps and encounters submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><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"><a href="/sfall/objects-and-scripts/" class="nav-list-link">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"><button class="nav-list-expander btn-reset" aria-label="Perks and traits submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><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"><button class="nav-list-expander btn-reset" aria-label="Sfall submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><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"><button class="nav-list-expander btn-reset" aria-label="Stats submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><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"><button class="nav-list-expander btn-reset" aria-label="Utility submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/sfall/utility/" class="nav-list-link">Utility</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> <div class="d-md-block d-none site-footer"> This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll. </div> </header> <div class="main" id="top"> <div id="main-header" class="main-header"> <div class="search" role="search"> <div class="search-input-wrap"> <input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search sfall" autocomplete="off"> <label for="search-input" class="search-label"> <span class="sr-only">Search sfall</span> <svg viewBox="0 0 24 24" class="search-icon" aria-hidden="true"><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 class="main-content-wrap"> <div id="main-content" class="main-content"> <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_is_openable" id="markdown-toc-obj_is_openable"><strong>obj_is_openable</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>
</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>Returns the current value of object flags (see <strong>define_extra.h</strong> 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="language-plaintext highlighter-rouge">OBJ_DATA_*</code> constants in <strong>define_extra.h</strong> 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="n">obj</span><span class="p">)</span>
</code></pre></div></div> <p>Accepts a pointer to an object and returns its <code class="language-plaintext highlighter-rouge">scriptID</code> (line number in <code class="language-plaintext highlighter-rouge">scripts.lst</code>), or 0 if the object is unscripted.</p> <ul> <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>
</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="language-plaintext 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="language-plaintext 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_is_openable"> <a href="#obj_is_openable" class="anchor-heading" aria-labelledby="obj_is_openable"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> <strong>obj_is_openable</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">bool</span> <span class="n">obj_is_openable</span><span class="p">(</span><span class="n">object</span> <span class="n">obj</span><span class="p">)</span>
</code></pre></div></div> <p>Returns True if the object is openable (i.e. has an opening/closing animation), False otherwise</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="language-plaintext 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>
</code></pre></div></div> <p>Returns the initial <code class="language-plaintext highlighter-rouge">dude_obj</code> after <code class="language-plaintext 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="n">obj</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.</p> <ul> <li>All flags are rewritten with the given <code class="language-plaintext highlighter-rouge">flags</code> integer, so first get the current flags with <code class="language-plaintext highlighter-rouge">get_flags</code> and use <code class="language-plaintext highlighter-rouge">bwor</code>/<code class="language-plaintext highlighter-rouge">bwand</code> to set/remove specific flags.</li> </ul><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="language-plaintext 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="language-plaintext 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 and overrides the name only once for the same object until reset</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="n">obj</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="language-plaintext highlighter-rouge">create_object_sid</code> from sfall 3.6).</p> <ul> <li>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.</li> <li>Calling <code class="language-plaintext highlighter-rouge">set_script</code> on <code class="language-plaintext highlighter-rouge">self_obj</code> will have all sorts of wacky side effects, and should be avoided.</li> <li>If you add 0x80000000 to the scriptID when calling <code class="language-plaintext highlighter-rouge">set_script</code>, <code class="language-plaintext highlighter-rouge">map_enter_p_proc</code> will be SKIPPED. The <code class="language-plaintext highlighter-rouge">start</code> proc will always be run.</li> </ul><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="n">setObj</span><span class="p">)</span>
</code></pre></div></div> <p>Overrides the scripts <code class="language-plaintext 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="language-plaintext highlighter-rouge">self_obj</code> parameter (e.g. <code class="language-plaintext highlighter-rouge">drop_obj</code>) from global scripts, but it can also be used from normal scripts.</li> <li><code class="language-plaintext highlighter-rouge">self_obj</code> will be reverted to its original value after the next function call.</li> <li>Calling <code class="language-plaintext highlighter-rouge">set_self(0)</code> will also revert <code class="language-plaintext highlighter-rouge">self_obj</code> to its original value. It is recommended to call this after each use of <code class="language-plaintext highlighter-rouge">set_self</code> in normal scripts in order to avoid unforeseen side effects.</li> <li><code class="language-plaintext highlighter-rouge">source_obj</code>, <code class="language-plaintext highlighter-rouge">target_obj</code>, and similar functions will not work if preceded by <code class="language-plaintext highlighter-rouge">set_self</code>.</li> <li><strong>NOTE:</strong> for <code class="language-plaintext highlighter-rouge">use_obj</code>, <code class="language-plaintext highlighter-rouge">use_obj_on_obj</code> vanilla functions to work correctly, it is required to call <code class="language-plaintext highlighter-rouge">set_self</code> twice. You can also access the local variables in the script of an object after calling <code class="language-plaintext 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="language-plaintext 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="language-plaintext 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> </main> <hr> <footer> <div class="d-md-none mt-4 fs-2"> This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll. </div> </footer> </div> </div> <div class="search-overlay"></div> </div> </body> </html>