2026-01-27 07:17:52 +00:00
<!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 ( 3 )) > 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 ( 3 ) > a { font-weight : 600 ; text-decoration : none ; }. site-nav > ul . nav-list : first-child > li : nth-child ( 3 ) > button svg { transform : rotate ( -90 deg ); }. site-nav > ul . nav-list : first-child > li . nav-list-item : nth-child ( 3 ) > 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 > Best practices | sfall</ title > < meta name = "generator" content = "Jekyll v3.9.0" /> < meta property = "og:title" content = "Best practices" /> < 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/best-practices/" /> < meta property = "og:url" content = "/sfall/best-practices/" /> < meta property = "og:site_name" content = "sfall" /> < meta property = "og:type" content = "website" /> < meta name = "twitter:card" content = "summary" /> < meta property = "twitter:title" content = "Best practices" /> < script type = "application/ld+json" > { "@context" : "https://schema.org" , "@type" : "WebPage" , "description" : "Sfall documentation" , "headline" : "Best practices" , "url" : "/sfall/best-practices/" }</ 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
2022-04-07 13:19:56 +00:00
<span class=" err " > #</ span >< span class = "nx" > define</ span > < span class = "nx" > ndebug</ span >< span class = "p" > (</ span >< span class = "nx" > message</ span >< span class = "p" > )</ span > < span class = "nx" > debug_msg</ span >< span class = "p" > (</ span >< span class = "nx" > NAME</ span > < span class = "o" > +</ span > < span class = "dl" > "</ span >< span class = "s2" > : </ span >< span class = "dl" > "</ span > < span class = "o" > +</ span > < span class = "nx" > message</ span > < span class = "o" > +</ span > < span class = "dl" > "</ span >< span class = "se" > \n</ span >< span class = "dl" > "</ span >< span class = "p" > )</ span >
2021-06-01 04:05:32 +00:00
< span class = "nx" > procedure</ span > < span class = "nx" > start</ span > < span class = "nx" > begin</ span >
< span class = "k" > if</ span > < span class = "nx" > game_loaded</ span > < span class = "nx" > then</ span > < span class = "nx" > begin</ span >
2022-04-07 13:19:56 +00:00
< span class = "nx" > set_sfall_global</ span >< span class = "p" > (</ span >< span class = "dl" > "</ span >< span class = "s2" > a_myvar</ span >< span class = "dl" > "</ span >< span class = "p" > ,</ span > < span class = "mi" > 1000</ span >< span class = "p" > );</ span >
< span class = "nx" > ndebug</ span >< span class = "p" > (</ span >< span class = "dl" > "</ span >< span class = "s2" > initialized</ span >< span class = "dl" > "</ span >< span class = "p" > );</ span >
2021-06-01 04:05:32 +00:00
< span class = "nx" > end</ span >
< span class = "nx" > end</ span >
< span class = "p" > ...</ span >
2026-01-27 07:17:52 +00:00
</ code ></ pre ></ div ></ div > < h2 id = "performance" > < a href = "#performance" class = "anchor-heading" aria-labelledby = "performance" >< svg viewBox = "0 0 16 16" aria-hidden = "true" >< use xlink:href = "#svg-link" ></ use ></ svg ></ a > Performance </ h2 > < ol > < li > Do not abuse < a href = "/sfall/global-scripts/" > set_global_script_repeat</ a > . Whenever possible, register your script as a < a href = "/sfall/hooks/" > hook</ a > instead. You can register the same procedure at multiple hook points, if necessary. < ul > < li > If you have < code class = "language-plaintext highlighter-rouge" > set_global_script_repeat(300)</ code > in your script, you’ re probably doing something wrong. That’ s an invocation every 3-5 seconds, approximately.</ li > < li > If you have < code class = "language-plaintext highlighter-rouge" > set_global_script_repeat(30)</ code > , you are definitely doing something wrong. Look for suitable hooks harder, think of another way for implementing it, ask fellow modders for help.</ li > </ ul > </ li > </ ol > </ 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 >