mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
19 lines
35 KiB
HTML
19 lines
35 KiB
HTML
<!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 invenObj’s 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 (can’t 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 script’s <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>
|