<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sinfar.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LockOn</id>
	<title>Sinfar - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sinfar.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LockOn"/>
	<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php/Special:Contributions/LockOn"/>
	<updated>2026-08-12T21:20:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1220</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1220"/>
		<updated>2026-06-26T14:30:22Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NOTOC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#0b090a; border:1px solid #6f5730; color:#e8dcc8; padding:16px; box-shadow:0 0 22px rgba(0,0,0,0.35); font-size:14px; line-height:1.5;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;text-align:center; border:1px solid #8b6b3a; background:linear-gradient(180deg,#181214,#0b090a); padding:12px 14px; margin-bottom:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:30px; letter-spacing:3px; color:#d8b46a; text-shadow:0 0 10px rgba(143,36,50,0.55);&amp;quot;&amp;gt;&lt;br /&gt;
Frequently Asked Questions&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:8px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
What Sinfar is about&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is actually going on here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&#039;s Neverwinter Nights in a shared server environment.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What do you offer here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve new to Neverwinter nights RP, how do you do that?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
At the very basic level, situations that happen In Character (IC), should remain and be considered IC; and experiences that happen Out of Character (OOC), should stay OOC.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;IC behavior can be defined as: -Things your character, not you; the player, is saying; and doing. Dialogue, and conversations between two, or more characters concerning events, and casual situations happening to or around those characters.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* This includes emotes as well; which detail the actions that your character is making. &lt;br /&gt;
* Emotes typically convey actions your character is taking.&lt;br /&gt;
* Waving hello could be written in the chat window as *waves hello*, ;;Waves hello.;; or some other combination of markers to denote the text that&#039;s actually being emoted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OOC behavior can be defined as: You, the player&#039;s comments, and additions to a conversation.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Your character doesn&#039;t say this, and this should never be taken in RP as something that another character says.&lt;br /&gt;
* OOC statements are almost all begun with // to denote something is Out of Character.&lt;br /&gt;
* OOC comments should be kept to a minimum in public channels; this interrupts the flow of what&#039;s going on, and can be very disruptive to others around the ooc situation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#8fc6ff; border-bottom:1px solid #34577a; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Game Settings&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How can I log into Sinfar to get the code I need to register on the forum if to log into Sinfar I need special Hak files to get in?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The welcome room is a buffer module that players log into the first time they connect to the game, no haks are needed in this area, this is also the same area where you can get your secret log in code for this forum.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Why do I need a special code to register on this forum?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The context of this assumes you have a copy of Neverwinter Nights 1.69 (Diamond) that you can use to play Sinfar, this also functions as a security feature that proves your a human not a bot.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I am very interested in playing on Sinfar where can I get a copy of Neverwinter Nights so I can play?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Neverwinter Nights is currently for sale at places like Steam, Gog, and Itch.io. All 3 sites offer the game for sale. Currently, Sinfar uses the Neverwinter Nights Diamond edition which is only available as an add on download from Gog at the moment. However in late 2026, Sinfar is expected to migrate to the EE edition currently sold by Beamdog on all major sites.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Whats so special about such an old game? Why do people even come here to play? Why would it be worth all the trouble?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
NWN mods are not like other game mods.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;A typical mod alters the main campaign of whatever game its tied to, while a NWN Module (.mod) is basically a game within itself. Modders can use hakpacks to add in custom content to their Modules. Therefore, servers like Sinfar are like mini MMOs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The module is a custom world with custom scripts and features, that contains hakpacks which add all the extra-engine content (The stuff you can&#039;t get right out of the box, like adult animations.) This makes Sinfar a very NEW game in its own right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;It is supported and updated with new content regularly and its content is created by players for players in an active community.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;If Sinfar is like its own mini MMO how much do I have to pay to play there?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is free to play.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#91d38f; border-bottom:1px solid #446b35; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Gameplay&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to level up?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
Leveling is such a hotly debated topic, there&#039;s an entire channel on the discord devoted to it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;https://discord.com/channels/335514516051984385/1393451095774330984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Generally speaking though, exploring can get you enough XP to easily get to lvl 5. From there you can start to grind out levels either in the basement of the Sinifer City Temple in Halcyon, or hit up the Wu Jen Training Grounds, in the Lotus Isles. After that, ask around, people have lots of suggestions for this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to get starter gear?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Starting gear can be purchased in the Emporium in Halcyon Ward of Sinifer City. Lots of monsters drop gear though that will quickly out-perform it. The best gear in the game is obtained through crafting, which is an entire topic unto itself.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I buy arrows/bullets/darts/ammo?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Individual ammo isn&#039;t sold by the vendors in Sinfar. Instead there are widgets you can buy that make the ammo your weapon uses.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Am I allowed to play a character from [insert setting here]?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar&#039;s lore accommodates a wide variety of players form almost any setting imaginable. While we frown on playing named characters from specific settings, no one is going to think twice about your scimitar wielding dark elf named Derrigible, or your sci-fi bounty hunter Moma Hett.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m max level, now what???&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Now you can start engaging in shard runs, or get involved with the arena PvP scene. Arche Terre has a vibrant and actively managed RP storyline going on right now, led by some of our terrific DM teams.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I made a mistake when I leveled up, is my character doomed?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Only if you made your mistake at level one. First level characters are not allowed to respec due to skill requirements and a few other things that can cause issues. But levels 2-40 can be re-leveled by visiting Vichan in the OOC area.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is the PvP scene like? What kind of PvP is available on Sinfar? Where and when does it happen?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Random PvP is frowned upon on Sinfar main, but arena nights are where PvP&#039;ers go to shine. There are also weekly games of Capture the Flag, a home brew PvP team match game.  Arch Terre has factional PvP as well.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How do I use animations, or access server settings for my character, like the location notifications and settings?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;All players when they enter Sinfar are issued a player wand. This tool is bound to the F1 hotkey and can be accessed by pressing the button and then mouse clicking on yourself. This will open a dialogue menu with access to a WIDE variety of features. Emotes, accessories, dice rolling, and many more options, all are found here.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#c49cff; border-bottom:1px solid #5b3b78; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Sinfar Community&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where do I go to meet people?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;On the weekends, the streets are bursting with people and player run events. Wander around the cities or follow the announcement threads. There are also posted boards with activities up and coming, as well as RP opportunities at the Notice Boards in the center of town in Halcyon Ward, Sinifer City.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m having trouble getting to know people, do you have any advice?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Don&#039;t be afraid to park yourself in a high-volume area and just listen and hang out. Feel free to interact with the public chats that are going on. Post your interest in things on the notice boards or seek out the IC-posts channel on the Discord. Barring that, you can always just post that you&#039;re looking for something to do in the various chat channels on the server (action, ffa, etc).&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve got some ideas for a storyline and want to get people involved. What are some tips for success?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Determine in advance how many people you want to get involved? Keep it small if it&#039;s your first time. Make it bigger as you get more confident. Remember that when you&#039;re running a storyline, you&#039;re basically a tabletop RPG DM, and anyone you invite into it is your tabletop RPG player and your job is to make sure they have fun.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Just how adult is the adult part of this server?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is both sex positive and LGBTQIA positive as well.  You will see a wide variety of things on the server when you join.  It is highly encouraged that you create a profile for your character and make use of the traffic light system, to help determine what flavors of RP you are interested in exploring with others here.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1219</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1219"/>
		<updated>2026-06-26T14:27:59Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NOTOC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#0b090a; border:1px solid #6f5730; color:#e8dcc8; padding:16px; box-shadow:0 0 22px rgba(0,0,0,0.35); font-size:14px; line-height:1.5;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;text-align:center; border:1px solid #8b6b3a; background:linear-gradient(180deg,#181214,#0b090a); padding:12px 14px; margin-bottom:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:30px; letter-spacing:3px; color:#d8b46a; text-shadow:0 0 10px rgba(143,36,50,0.55);&amp;quot;&amp;gt;&lt;br /&gt;
Frequently Asked Questions&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:8px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
What Sinfar is about&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is actually going on here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&#039;s Neverwinter Nights in a shared server environment.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What do you offer here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve new to Neverwinter nights RP, how do you do that?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
At the very basic level, situations that happen In Character (IC), should remain and be considered IC; and experiences that happen Out of Character (OOC), should stay OOC.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;IC behavior can be defined as: -Things your character, not you; the player, is saying; and doing. Dialogue, and conversations between two, or more characters concerning events, and casual situations happening to or around those characters.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* This includes emotes as well; which detail the actions that your character is making. &lt;br /&gt;
* Emotes typically convey actions your character is taking.&lt;br /&gt;
* Waving hello could be written in the chat window as *waves hello*, ;;Waves hello.;; or some other combination of markers to denote the text that&#039;s actually being emoted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OOC behavior can be defined as: You, the player&#039;s comments, and additions to a conversation.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Your character doesn&#039;t say this, and this should never be taken in RP as something that another character says.&lt;br /&gt;
* OOC statements are almost all begun with // to denote something is Out of Character.&lt;br /&gt;
* OOC comments should be kept to a minimum in public channels; this interrupts the flow of what&#039;s going on, and can be very disruptive to others around the ooc situation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#8fc6ff; border-bottom:1px solid #34577a; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Game Settings&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How can I log into Sinfar to get the code I need to register on the forum if to log into Sinfar I need special Hak files to get in?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The welcome room is a buffer module that players log into the first time they connect to the game, no haks are needed in this area, this is also the same area where you can get your secret log in code for this forum.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Why do I need a special code to register on this forum?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The context of this assumes you have a copy of Neverwinter Nights 1.69 (Diamond) that you can use to play Sinfar, this also functions as a security feature that proves your a human not a bot.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I am very interested in playing on Sinfar where can I get a copy of Neverwinter Nights so I can play?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Neverwinter Nights is currently for sale at places like Steam, Gog, and Itch.io. All 3 sites offer the game for sale. Currently, Sinfar uses the Neverwinter Nights Diamond edition which is only available as an add on download from Gog at the moment. However in late 2026, Sinfar is expected to migrate to the EE edition currently sold by Beamdog on all major sites.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Whats so special about such an old game? Why do people even come here to play? Why would it be worth all the trouble?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
NWN mods are not like other game mods.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;A typical mod alters the main campaign of whatever game its tied to, while a NWN Module (.mod) is basically a game within itself. Modders can use hakpacks to add in custom content to their Modules. Therefore, servers like Sinfar are like mini MMOs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The module is a custom world with custom scripts and features, that contains hakpacks which add all the extra-engine content (The stuff you can&#039;t get right out of the box, like adult animations.) This makes Sinfar a very NEW game in its own right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;It is supported and updated with new content regularly and its content is created by players for players in an active community.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;If Sinfar is like its own mini MMO how much do I have to pay to play there?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is free to play.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#91d38f; border-bottom:1px solid #446b35; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Gameplay&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to level up?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
Leveling is such a hotly debated topic, there&#039;s an entire channel on the discord devoted to it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;https://discord.com/channels/335514516051984385/1393451095774330984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Generally speaking though, exploring can get you enough XP to easily get to lvl 5. From there you can start to grind out levels either in the basement of the Sinifer City Temple in Halcyon, or hit up the Wu Jen Training Grounds, in the Lotus Isles. After that, ask around, people have lots of suggestions for this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to get starter gear?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Starting gear can be purchased in the Emporium in Halcyon Ward of Sinifer City. Lots of monsters drop gear though that will quickly out-perform it. The best gear in the game is obtained through crafting, which is an entire topic unto itself.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I buy arrows/bullets/darts/ammo?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Individual ammo isn&#039;t sold by the vendors in Sinfar. Instead there are widgets you can buy that make the ammo your weapon uses.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Am I allowed to play a character from [insert setting here]?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar&#039;s lore accommodates a wide variety of players form almost any setting imaginable. While we frown on playing named characters from specific settings, no one is going to think twice about your scimitar wielding dark elf named Derrigible, or your sci-fi bounty hunter Moma Hett.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m max level, now what???&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Now you can start engaging in shard runs, or get involved with the arena PvP scene. Arche Terre has a vibrant and actively managed RP storyline going on right now, led by some of our terrific DM teams.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I made a mistake when I leveled up, is my character doomed?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Only if you made your mistake at level one. First level characters are not allowed to respec due to skill requirements and a few other things that can cause issues. But levels 2-40 can be re-leveled by visiting Vichan in the OOC area.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is the PvP scene like? What kind of PvP is available on Sinfar? Where and when does it happen?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Random PvP is frowned upon on Sinfar main, but arena nights are where PvP&#039;ers go to shine. There are also weekly games of Capture the Flag, a home brew PvP team match game.  Arch Terre has factional PvP as well.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How do I use animations, or access server settings for my character, like the location notifications and settings?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;All players when they enter Sinfar are issued a player wand. This tool is bound to the F1 hotkey and can be accessed by pressing the button and then mouse clicking on yourself. This will open a dialogue menu with access to a WIDE variety of features. Emotes, accessories, dice rolling, and many more options, all are found here.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#c49cff; border-bottom:1px solid #5b3b78; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Sinfar Community&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where do I go to meet people?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;On the weekends, the streets are bursting with people and player run events. Wander around the cities or follow the announcement threads. There are also posted boards with activities up and coming, as well as RP opportunities at the Notice Boards in the center of town in Halcyon Ward, Sinifer City.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m having trouble getting to know people, do you have any advice?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Don&#039;t be afraid to park yourself in a high-volume area and just listen and hang out. Feel free to interact with the public chats that are going on. Post your interest in things on the notice boards or seek out the IC-posts channel on the Discord. Barring that, you can always just post that you&#039;re looking for something to do in the various chat channels on the server (action, ffa, etc).&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve got some ideas for a storyline and want to get people involved. What are some tips for success?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Determine in advance how many people you want to get involved? Keep it small if it&#039;s your first time. Make it bigger as you get more confident. Remember that when you&#039;re running a storyline, you&#039;re basically a tabletop RPG DM, and anyone you invite into it is your tabletop RPG player and your job is to make sure they have fun.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve got some ideas for a storyline and want to get people involved. What are some tips for success?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Determine in advance how many people you want to get involved? Keep it small if it&#039;s your first time. Make it bigger as you get more confident. Remember that when you&#039;re running a storyline, you&#039;re basically a tabletop RPG DM, and anyone you invite into it is your tabletop RPG player and your job is to make sure they have fun.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1218</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1218"/>
		<updated>2026-06-25T19:14:59Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NOTOC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#0b090a; border:1px solid #6f5730; color:#e8dcc8; padding:16px; box-shadow:0 0 22px rgba(0,0,0,0.35); font-size:14px; line-height:1.5;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;text-align:center; border:1px solid #8b6b3a; background:linear-gradient(180deg,#181214,#0b090a); padding:12px 14px; margin-bottom:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:30px; letter-spacing:3px; color:#d8b46a; text-shadow:0 0 10px rgba(143,36,50,0.55);&amp;quot;&amp;gt;&lt;br /&gt;
Frequently Asked Questions&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:8px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
What Sinfar is about&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is actually going on here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&#039;s Neverwinter Nights in a shared server environment.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What do you offer here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve new to Neverwinter nights RP, how do you do that?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
At the very basic level, situations that happen In Character (IC), should remain and be considered IC; and experiences that happen Out of Character (OOC), should stay OOC.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;IC behavior can be defined as: -Things your character, not you; the player, is saying; and doing. Dialogue, and conversations between two, or more characters concerning events, and casual situations happening to or around those characters.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* This includes emotes as well; which detail the actions that your character is making. &lt;br /&gt;
* Emotes typically convey actions your character is taking.&lt;br /&gt;
* Waving hello could be written in the chat window as *waves hello*, ;;Waves hello.;; or some other combination of markers to denote the text that&#039;s actually being emoted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OOC behavior can be defined as: You, the player&#039;s comments, and additions to a conversation.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Your character doesn&#039;t say this, and this should never be taken in RP as something that another character says.&lt;br /&gt;
* OOC statements are almost all begun with // to denote something is Out of Character.&lt;br /&gt;
* OOC comments should be kept to a minimum in public channels; this interrupts the flow of what&#039;s going on, and can be very disruptive to others around the ooc situation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#8fc6ff; border-bottom:1px solid #34577a; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Game Settings&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How can I log into Sinfar to get the code I need to register on the forum if to log into Sinfar I need special Hak files to get in?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The welcome room is a buffer module that players log into the first time they connect to the game, no haks are needed in this area, this is also the same area where you can get your secret log in code for this forum.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Why do I need a special code to register on this forum?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The context of this assumes you have a copy of Neverwinter Nights 1.69 (Diamond) that you can use to play Sinfar, this also functions as a security feature that proves your a human not a bot.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I am very interested in playing on Sinfar where can I get a copy of Neverwinter Nights so I can play?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Neverwinter Nights is currently for sale at places like Steam, Gog, and Itch.io. All 3 sites offer the game for sale. Currently, Sinfar uses the Neverwinter Nights Diamond edition which is only available as an add on download from Gog at the moment. However in late 2026, Sinfar is expected to migrate to the EE edition currently sold by Beamdog on all major sites.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Whats so special about such an old game? Why do people even come here to play? Why would it be worth all the trouble?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
NWN mods are not like other game mods.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;A typical mod alters the main campaign of whatever game its tied to, while a NWN Module (.mod) is basically a game within itself. Modders can use hakpacks to add in custom content to their Modules. Therefore, servers like Sinfar are like mini MMOs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The module is a custom world with custom scripts and features, that contains hakpacks which add all the extra-engine content (The stuff you can&#039;t get right out of the box, like adult animations.) This makes Sinfar a very NEW game in its own right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;It is supported and updated with new content regularly and its content is created by players for players in an active community.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;If Sinfar is like its own mini MMO how much do I have to pay to play there?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is free to play.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#91d38f; border-bottom:1px solid #446b35; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Gameplay&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to level up?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
Leveling is such a hotly debated topic, there&#039;s an entire channel on the discord devoted to it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;https://discord.com/channels/335514516051984385/1393451095774330984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Generally speaking though, exploring can get you enough XP to easily get to lvl 5. From there you can start to grind out levels either in the basement of the Sinifer City Temple in Halcyon, or hit up the Wu Jen Training Grounds, in the Lotus Isles. After that, ask around, people have lots of suggestions for this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to get starter gear?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Starting gear can be purchased in the Emporium in Halcyon Ward of Sinifer City. Lots of monsters drop gear though that will quickly out-perform it. The best gear in the game is obtained through crafting, which is an entire topic unto itself.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I buy arrows/bullets/darts/ammo?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Individual ammo isn&#039;t sold by the vendors in Sinfar. Instead there are widgets you can buy that make the ammo your weapon uses.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Am I allowed to play a character from [insert setting here]?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar&#039;s lore accommodates a wide variety of players form almost any setting imaginable. While we frown on playing named characters from specific settings, no one is going to think twice about your scimitar wielding dark elf named Derrigible, or your sci-fi bounty hunter Moma Hett.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m max level, now what???&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Now you can start engaging in shard runs, or get involved with the arena PvP scene. Arche Terre has a vibrant and actively managed RP storyline going on right now, led by some of our terrific DM teams.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I made a mistake when I leveled up, is my character doomed?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Only if you made your mistake at level one. First level characters are not allowed to respec due to skill requirements and a few other things that can cause issues. But levels 2-40 can be re-leveled by visiting Vichan in the OOC area.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is the PvP scene like? What kind of PvP is available on Sinfar? Where and when does it happen?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;One-v-One PvP is frowned upon on Sinfar main, but arena nights are where PvP&#039;ers go to shine. There are also weekly games of Capture the Flag, a home brew PvP team match game.  Arch Terre has factional PvP as well.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How do I use animations, or access server settings for my character, like the location notifications and settings?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;All players when they enter Sinfar are issued a player wand. This tool is bound to the F1 hotkey and can be accessed by pressing the button and then mouse clicking on yourself. This will open a dialogue menu with access to a WIDE variety of features. Emotes, accessories, dice rolling, and many more options, all are found here.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#c49cff; border-bottom:1px solid #5b3b78; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Sinfar Community&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where do I go to meet people?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;On the weekends, the streets are bursting with people and player run events. Wander around the cities or follow the announcement threads. There are also posted boards with activities up and coming, as well as RP opportunities at the Notice Boards in the center of town in Halcyon Ward, Sinifer City.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m having trouble getting to know people, do you have any advice?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Don&#039;t be afraid to park yourself in a high-volume area and just listen and hang out. Feel free to interact with the public chats that are going on. Post your interest in things on the notice boards or seek out the IC-posts channel on the Discord. Barring that, you can always just post that you&#039;re looking for something to do in the various chat channels on the server (action, ffa, etc).&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve got some ideas for a storyline and want to get people involved. What are some tips for success?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Determine in advance how many people you want to get involved? Keep it small if it&#039;s your first time. Make it bigger as you get more confident. Remember that when you&#039;re running a storyline, you&#039;re basically a tabletop RPG DM, and anyone you invite into it is your tabletop RPG player and your job is to make sure they have fun.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1217</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1217"/>
		<updated>2026-06-25T19:09:32Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NOTOC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#0b090a; border:1px solid #6f5730; color:#e8dcc8; padding:16px; box-shadow:0 0 22px rgba(0,0,0,0.35); font-size:14px; line-height:1.5;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;text-align:center; border:1px solid #8b6b3a; background:linear-gradient(180deg,#181214,#0b090a); padding:12px 14px; margin-bottom:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:30px; letter-spacing:3px; color:#d8b46a; text-shadow:0 0 10px rgba(143,36,50,0.55);&amp;quot;&amp;gt;&lt;br /&gt;
Frequently Asked Questions&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:8px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
What Sinfar is about&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is actually going on here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&#039;s Neverwinter Nights in a shared server environment.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What do you offer here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve new to Neverwinter nights RP, how do you do that?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
At the very basic level, situations that happen In Character (IC), should remain and be considered IC; and experiences that happen Out of Character (OOC), should stay OOC.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;IC behavior can be defined as: -Things your character, not you; the player, is saying; and doing. Dialogue, and conversations between two, or more characters concerning events, and casual situations happening to or around those characters.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* This includes emotes as well; which detail the actions that your character is making. &lt;br /&gt;
* Emotes typically convey actions your character is taking.&lt;br /&gt;
* Waving hello could be written in the chat window as *waves hello*, ;;Waves hello.;; or some other combination of markers to denote the text that&#039;s actually being emoted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OOC behavior can be defined as: You, the player&#039;s comments, and additions to a conversation.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Your character doesn&#039;t say this, and this should never be taken in RP as something that another character says.&lt;br /&gt;
* OOC statements are almost all begun with // to denote something is Out of Character.&lt;br /&gt;
* OOC comments should be kept to a minimum in public channels; this interrupts the flow of what&#039;s going on, and can be very disruptive to others around the ooc situation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#8fc6ff; border-bottom:1px solid #34577a; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Game Settings&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How can I log into Sinfar to get the code I need to register on the forum if to log into Sinfar I need special Hak files to get in?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The welcome room is a buffer module that players log into the first time they connect to the game, no haks are needed in this area, this is also the same area where you can get your secret log in code for this forum.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Why do I need a special code to register on this forum?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The context of this forum assumes you have a copy of Neverwinter Nights 1.69 (Diamond) that you can use to play Sinfar, this also functions as a security feature that proves your a human not a bot.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I am very interested in playing on Sinfar where can I get a copy of Neverwinter Nights so I can play?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Neverwinter Nights is currently for sale at places like Steam, Gog, and Itch.io. All 3 sites offer the game for sale. Currently, Sinfar uses the Neverwinter Nights Diamond edition which is only available as an add on download from Gog at the moment. However in late 2026, Sinfar is expected to migrate to the EE edition currently sold by Beamdog on all major sites.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Whats so special about such an old game? Why do people even come here to play? Why would it be worth all the trouble?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
NWN mods are not like other game mods.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;A typical mod alters the main campaign of whatever game its tied to, while a NWN Module (.mod) is basically a game within itself. Modders can use hakpacks to add in custom content to their Modules. Therefore, servers like Sinfar are like mini MMOs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The module is a custom world with custom scripts and features, that contains hakpacks which add all the extra-engine content (The stuff you can&#039;t get right out of the box, like adult animations.) This makes Sinfar a very NEW game in its own right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;It is supported and updated with new content regularly and its content is created by players for players in an active community.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;If Sinfar is like its own mini MMO how much do I have to pay to play there?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is free to play.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#91d38f; border-bottom:1px solid #446b35; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Gameplay&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to level up?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
Leveling is such a hotly debated topic, there&#039;s an entire channel on the discord devoted to it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;https://discord.com/channels/335514516051984385/1393451095774330984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Generally speaking though, exploring can get you enough XP to easily get to lvl 5. From there you can start to grind out levels either in the basement of the Sinifer City Temple in Halcyon, or hit up the Wu Jen Training Grounds, in the Lotus Isles. After that, ask around, people have lots of suggestions for this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to get starter gear?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Starting gear can be purchased in the Emporium in Halcyon Ward of Sinifer City. Lots of monsters drop gear though that will quickly out=perform it though. The best gear in the game is obtained through crafting, which is an entire topic unto itself.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I buy arrows/bullets/darts/ammo?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Individual ammo isn&#039;t sold by the vendors in Sinfar. Instead there are widgets you can buy that make the ammo your weapon uses.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Am I allowed to play a character from [insert setting here]?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar&#039;s lore accomodates a wide variety of players form almost any setting imaginable. While we frown on playing named characters from specific settings, no one is going to think twice about your scimitar weilding dark elf named Derrigible, or your sci fi bounty hunter Moma Hett.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m max level, now what???&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Now you can start engaging in shard runs, or get involved with the arena PvP scene. Arche Terre has a vibrant and actively managed RP storyline going on right now, led by some of our terrific DM teams.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I made a mistake when I leveled up, is my character doomed?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Only if you made your mistake at level one. First level characters are not allowed to respec due to skill requirements and a few other things that can cause issues. But levels 2-40 can be releveled by visiting Vichan in the OOC area.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is the PvP scene like? What kind of PvP is available on Sinfar? Where and when does it happen?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;One-v-One PvP is frowned upon on Sinfar main, but arena nights are where PvP&#039;ers go to shine. Arch Terre has factional PvP as well.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How do I use animations, or access server settings for my character, like the location notifications and settings?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;All players when they enter Sinfar are issued a player wand. This tool is bound to the F1 hotkey and can be accessed by pressing the button and then mouse clicking on yourself. This will open a dialogue menu with access to a WIDE variety of features. Emotes, accessories, dice rolling, and many more options, all are found here.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#c49cff; border-bottom:1px solid #5b3b78; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Sinfar Community&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where do I go to meet people?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;On the weekends, the streets are bursting with people and player run events. Wander around the cities or follow the announcement threads. There are also posted boards with activities up and coming, as well as RP opportunities at the Notice Boards in the center of town in Halcyon Ward, Sinifer City.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m having trouble getting to know people, do you have any advice?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Don&#039;t be afraid to park yourself in a high-volume area and just listen and hang out. Feel free to interact with the public chats that are going on. Post your interest in things on the notice boards or seek out the IC-posts channel on the Discord. Barring that, you can always just post that you&#039;re looking for something to do in the various chat channels on the server (action, ffa, etc).&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve got some ideas for a storyline and want to get people involved. What are some tips for success?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Determine in advance how many people you want to get involved? Keep it small if it&#039;s your first time. Make it bigger as you get more confident. Remember that when you&#039;re running a storyline, you&#039;re basically a tabletop RPG DM, and anyone you invite into it is your tabletop RPG player and your job is to make sure they have fun.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1216</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1216"/>
		<updated>2026-06-25T19:08:13Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NOTOC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#0b090a; border:1px solid #6f5730; color:#e8dcc8; padding:16px; box-shadow:0 0 22px rgba(0,0,0,0.35); font-size:14px; line-height:1.5;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;text-align:center; border:1px solid #8b6b3a; background:linear-gradient(180deg,#181214,#0b090a); padding:12px 14px; margin-bottom:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:30px; letter-spacing:3px; color:#d8b46a; text-shadow:0 0 10px rgba(143,36,50,0.55);&amp;quot;&amp;gt;&lt;br /&gt;
Frequently Asked Questions&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:8px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
What Sinfar is about&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is actually going on here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&#039;s Neverwinter Nights in a shared server environment.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What do you offer here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve new to Neverwinter nights RP, how do you do that?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
At the very basic level, situations that happen In Character (IC), should remain and be considered IC; and experiences that happen Out of Character (OOC), should stay OOC.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;IC behavior can be defined as: -Things your character, not you; the player, is saying; and doing. Dialogue, and conversations between two, or more characters concerning events, and casual situations happening to or around those characters.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* This includes emotes as well; which detail the actions that your character is making. Emotes typically convey actions your character is taking.&lt;br /&gt;
* Waving hello could be written in the chat window as *waves hello*, ;;Waves hello.;; or some other combination of markers to denote the text that&#039;s actually being emoted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OOC behavior can be defined as: You, the player&#039;s comments, and additions to a conversation.&lt;br /&gt;
&amp;lt;br&amp;gt;Your character doesn&#039;t say this, and this should never be taken in RP as something that another character says. -OOC statements are almost all begun with // to denote something is Out of Character. -OOC comments should be kept to a minimum in public channels; this interrupts the flow of what&#039;s going on, and can be very disruptive to others around the ooc situation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#8fc6ff; border-bottom:1px solid #34577a; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Game Settings&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How can I log into Sinfar to get the code I need to register on the forum if to log into Sinfar I need special Hak files to get in?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The welcome room is a buffer module that players log into the first time they connect to the game, no haks are needed in this area, this is also the same area where you can get your secret log in code for this forum.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Why do I need a special code to register on this forum?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The context of this forum assumes you have a copy of Neverwinter Nights 1.69 (Diamond) that you can use to play Sinfar, this also functions as a security feature that proves your a human not a bot.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I am very interested in playing on Sinfar where can I get a copy of Neverwinter Nights so I can play?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Neverwinter Nights is currently for sale at places like Steam, Gog, and Itch.io. All 3 sites offer the game for sale. Currently, Sinfar uses the Neverwinter Nights Diamond edition which is only available as an add on download from Gog at the moment. However in late 2026, Sinfar is expected to migrate to the EE edition currently sold by Beamdog on all major sites.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Whats so special about such an old game? Why do people even come here to play? Why would it be worth all the trouble?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
NWN mods are not like other game mods.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;A typical mod alters the main campaign of whatever game its tied to, while a NWN Module (.mod) is basically a game within itself. Modders can use hakpacks to add in custom content to their Modules. Therefore, servers like Sinfar are like mini MMOs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The module is a custom world with custom scripts and features, that contains hakpacks which add all the extra-engine content (The stuff you can&#039;t get right out of the box, like adult animations.) This makes Sinfar a very NEW game in its own right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;It is supported and updated with new content regularly and its content is created by players for players in an active community.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;If Sinfar is like its own mini MMO how much do I have to pay to play there?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is free to play.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#91d38f; border-bottom:1px solid #446b35; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Gameplay&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to level up?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
Leveling is such a hotly debated topic, there&#039;s an entire channel on the discord devoted to it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;https://discord.com/channels/335514516051984385/1393451095774330984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Generally speaking though, exploring can get you enough XP to easily get to lvl 5. From there you can start to grind out levels either in the basement of the Sinifer City Temple in Halcyon, or hit up the Wu Jen Training Grounds, in the Lotus Isles. After that, ask around, people have lots of suggestions for this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to get starter gear?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Starting gear can be purchased in the Emporium in Halcyon Ward of Sinifer City. Lots of monsters drop gear though that will quickly out=perform it though. The best gear in the game is obtained through crafting, which is an entire topic unto itself.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I buy arrows/bullets/darts/ammo?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Individual ammo isn&#039;t sold by the vendors in Sinfar. Instead there are widgets you can buy that make the ammo your weapon uses.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Am I allowed to play a character from [insert setting here]?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar&#039;s lore accomodates a wide variety of players form almost any setting imaginable. While we frown on playing named characters from specific settings, no one is going to think twice about your scimitar weilding dark elf named Derrigible, or your sci fi bounty hunter Moma Hett.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m max level, now what???&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Now you can start engaging in shard runs, or get involved with the arena PvP scene. Arche Terre has a vibrant and actively managed RP storyline going on right now, led by some of our terrific DM teams.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I made a mistake when I leveled up, is my character doomed?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Only if you made your mistake at level one. First level characters are not allowed to respec due to skill requirements and a few other things that can cause issues. But levels 2-40 can be releveled by visiting Vichan in the OOC area.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is the PvP scene like? What kind of PvP is available on Sinfar? Where and when does it happen?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;One-v-One PvP is frowned upon on Sinfar main, but arena nights are where PvP&#039;ers go to shine. Arch Terre has factional PvP as well.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How do I use animations, or access server settings for my character, like the location notifications and settings?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;All players when they enter Sinfar are issued a player wand. This tool is bound to the F1 hotkey and can be accessed by pressing the button and then mouse clicking on yourself. This will open a dialogue menu with access to a WIDE variety of features. Emotes, accessories, dice rolling, and many more options, all are found here.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#c49cff; border-bottom:1px solid #5b3b78; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Sinfar Community&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where do I go to meet people?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;On the weekends, the streets are bursting with people and player run events. Wander around the cities or follow the announcement threads. There are also posted boards with activities up and coming, as well as RP opportunities at the Notice Boards in the center of town in Halcyon Ward, Sinifer City.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m having trouble getting to know people, do you have any advice?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Don&#039;t be afraid to park yourself in a high-volume area and just listen and hang out. Feel free to interact with the public chats that are going on. Post your interest in things on the notice boards or seek out the IC-posts channel on the Discord. Barring that, you can always just post that you&#039;re looking for something to do in the various chat channels on the server (action, ffa, etc).&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve got some ideas for a storyline and want to get people involved. What are some tips for success?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Determine in advance how many people you want to get involved? Keep it small if it&#039;s your first time. Make it bigger as you get more confident. Remember that when you&#039;re running a storyline, you&#039;re basically a tabletop RPG DM, and anyone you invite into it is your tabletop RPG player and your job is to make sure they have fun.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1215</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1215"/>
		<updated>2026-06-25T19:07:01Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NOTOC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#0b090a; border:1px solid #6f5730; color:#e8dcc8; padding:16px; box-shadow:0 0 22px rgba(0,0,0,0.35); font-size:14px; line-height:1.5;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;text-align:center; border:1px solid #8b6b3a; background:linear-gradient(180deg,#181214,#0b090a); padding:12px 14px; margin-bottom:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:30px; letter-spacing:3px; color:#d8b46a; text-shadow:0 0 10px rgba(143,36,50,0.55);&amp;quot;&amp;gt;&lt;br /&gt;
Frequently Asked Questions&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:8px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
What Sinfar is about&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is actually going on here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&#039;s Neverwinter Nights in a shared server environment.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What do you offer here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve new to Neverwinter nights RP, how do you do that?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
At the very basic level, situations that happen In Character (IC), should remain and be considered IC; and experiences that happen Out of Character (OOC), should stay OOC.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;IC behavior can be defined as: -Things your character, not you; the player, is saying; and doing. Dialogue, and conversations between two, or more characters concerning events, and casual situations happening to or around those characters.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* This includes emotes as well; which detail the actions that your character is making. Emotes typically convey actions your character is taking.&lt;br /&gt;
* Waving hello could be written in the chat window as *waves hello*, ;;Waves hello.;; or some other combination of markers to denote the text that&#039;s actually being emoted.&lt;br /&gt;
* OOC behavior can be defined as: -You, the player&#039;s comments, and additions to a conversation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Your character doesn&#039;t say this, and this should never be taken in RP as something that another character says. -OOC statements are almost all begun with // to denote something is Out of Character. -OOC comments should be kept to a minimum in public channels; this interrupts the flow of what&#039;s going on, and can be very disruptive to others around the ooc situation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#8fc6ff; border-bottom:1px solid #34577a; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Game Settings&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How can I log into Sinfar to get the code I need to register on the forum if to log into Sinfar I need special Hak files to get in?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The welcome room is a buffer module that players log into the first time they connect to the game, no haks are needed in this area, this is also the same area where you can get your secret log in code for this forum.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Why do I need a special code to register on this forum?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The context of this forum assumes you have a copy of Neverwinter Nights 1.69 (Diamond) that you can use to play Sinfar, this also functions as a security feature that proves your a human not a bot.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I am very interested in playing on Sinfar where can I get a copy of Neverwinter Nights so I can play?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Neverwinter Nights is currently for sale at places like Steam, Gog, and Itch.io. All 3 sites offer the game for sale. Currently, Sinfar uses the Neverwinter Nights Diamond edition which is only available as an add on download from Gog at the moment. However in late 2026, Sinfar is expected to migrate to the EE edition currently sold by Beamdog on all major sites.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Whats so special about such an old game? Why do people even come here to play? Why would it be worth all the trouble?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
NWN mods are not like other game mods.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;A typical mod alters the main campaign of whatever game its tied to, while a NWN Module (.mod) is basically a game within itself. Modders can use hakpacks to add in custom content to their Modules. Therefore, servers like Sinfar are like mini MMOs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The module is a custom world with custom scripts and features, that contains hakpacks which add all the extra-engine content (The stuff you can&#039;t get right out of the box, like adult animations.) This makes Sinfar a very NEW game in its own right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;It is supported and updated with new content regularly and its content is created by players for players in an active community.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;If Sinfar is like its own mini MMO how much do I have to pay to play there?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is free to play.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#91d38f; border-bottom:1px solid #446b35; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Gameplay&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to level up?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
Leveling is such a hotly debated topic, there&#039;s an entire channel on the discord devoted to it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;https://discord.com/channels/335514516051984385/1393451095774330984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Generally speaking though, exploring can get you enough XP to easily get to lvl 5. From there you can start to grind out levels either in the basement of the Sinifer City Temple in Halcyon, or hit up the Wu Jen Training Grounds, in the Lotus Isles. After that, ask around, people have lots of suggestions for this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to get starter gear?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Starting gear can be purchased in the Emporium in Halcyon Ward of Sinifer City. Lots of monsters drop gear though that will quickly out=perform it though. The best gear in the game is obtained through crafting, which is an entire topic unto itself.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I buy arrows/bullets/darts/ammo?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Individual ammo isn&#039;t sold by the vendors in Sinfar. Instead there are widgets you can buy that make the ammo your weapon uses.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Am I allowed to play a character from [insert setting here]?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar&#039;s lore accomodates a wide variety of players form almost any setting imaginable. While we frown on playing named characters from specific settings, no one is going to think twice about your scimitar weilding dark elf named Derrigible, or your sci fi bounty hunter Moma Hett.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m max level, now what???&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Now you can start engaging in shard runs, or get involved with the arena PvP scene. Arche Terre has a vibrant and actively managed RP storyline going on right now, led by some of our terrific DM teams.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I made a mistake when I leveled up, is my character doomed?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Only if you made your mistake at level one. First level characters are not allowed to respec due to skill requirements and a few other things that can cause issues. But levels 2-40 can be releveled by visiting Vichan in the OOC area.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is the PvP scene like? What kind of PvP is available on Sinfar? Where and when does it happen?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;One-v-One PvP is frowned upon on Sinfar main, but arena nights are where PvP&#039;ers go to shine. Arch Terre has factional PvP as well.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How do I use animations, or access server settings for my character, like the location notifications and settings?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;All players when they enter Sinfar are issued a player wand. This tool is bound to the F1 hotkey and can be accessed by pressing the button and then mouse clicking on yourself. This will open a dialogue menu with access to a WIDE variety of features. Emotes, accessories, dice rolling, and many more options, all are found here.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#c49cff; border-bottom:1px solid #5b3b78; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Sinfar Community&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where do I go to meet people?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;On the weekends, the streets are bursting with people and player run events. Wander around the cities or follow the announcement threads. There are also posted boards with activities up and coming, as well as RP opportunities at the Notice Boards in the center of town in Halcyon Ward, Sinifer City.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m having trouble getting to know people, do you have any advice?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Don&#039;t be afraid to park yourself in a high-volume area and just listen and hang out. Feel free to interact with the public chats that are going on. Post your interest in things on the notice boards or seek out the IC-posts channel on the Discord. Barring that, you can always just post that you&#039;re looking for something to do in the various chat channels on the server (action, ffa, etc).&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve got some ideas for a storyline and want to get people involved. What are some tips for success?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Determine in advance how many people you want to get involved? Keep it small if it&#039;s your first time. Make it bigger as you get more confident. Remember that when you&#039;re running a storyline, you&#039;re basically a tabletop RPG DM, and anyone you invite into it is your tabletop RPG player and your job is to make sure they have fun.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1214</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1214"/>
		<updated>2026-06-25T19:06:20Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NOTOC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#0b090a; border:1px solid #6f5730; color:#e8dcc8; padding:16px; box-shadow:0 0 22px rgba(0,0,0,0.35); font-size:14px; line-height:1.5;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;text-align:center; border:1px solid #8b6b3a; background:linear-gradient(180deg,#181214,#0b090a); padding:12px 14px; margin-bottom:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:30px; letter-spacing:3px; color:#d8b46a; text-shadow:0 0 10px rgba(143,36,50,0.55);&amp;quot;&amp;gt;&lt;br /&gt;
Frequently Asked Questions&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:8px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
What Sinfar is about&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is actually going on here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&#039;s Neverwinter Nights in a shared server environment.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What do you offer here?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve new to Neverwinter nights RP, how do you do that?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
At the very basic level, situations that happen In Character (IC), should remain and be considered IC; and experiences that happen Out of Character (OOC), should stay OOC.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;IC behavior can be defined as: -Things your character, not you; the player, is saying; and doing. Dialogue, and conversations between two, or more characters concerning events, and casual situations happening to or around those characters.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* This includes emotes as well; which detail the actions that your character is making. Emotes typically convey actions your character is taking.&lt;br /&gt;
* Waving hello could be written in the chat window as waves hello; Waves hello. or some other combination of markers to denote the text that&#039;s actually being emoted.&lt;br /&gt;
* OOC behavior can be defined as: -You, the player&#039;s comments, and additions to a conversation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Your character doesn&#039;t say this, and this should never be taken in RP as something that another character says. -OOC statements are almost all begun with // to denote something is Out of Character. -OOC comments should be kept to a minimum in public channels; this interrupts the flow of what&#039;s going on, and can be very disruptive to others around the ooc situation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#8fc6ff; border-bottom:1px solid #34577a; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Game Settings&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How can I log into Sinfar to get the code I need to register on the forum if to log into Sinfar I need special Hak files to get in?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The welcome room is a buffer module that players log into the first time they connect to the game, no haks are needed in this area, this is also the same area where you can get your secret log in code for this forum.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Why do I need a special code to register on this forum?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;The context of this forum assumes you have a copy of Neverwinter Nights 1.69 (Diamond) that you can use to play Sinfar, this also functions as a security feature that proves your a human not a bot.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I am very interested in playing on Sinfar where can I get a copy of Neverwinter Nights so I can play?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Neverwinter Nights is currently for sale at places like Steam, Gog, and Itch.io. All 3 sites offer the game for sale. Currently, Sinfar uses the Neverwinter Nights Diamond edition which is only available as an add on download from Gog at the moment. However in late 2026, Sinfar is expected to migrate to the EE edition currently sold by Beamdog on all major sites.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Whats so special about such an old game? Why do people even come here to play? Why would it be worth all the trouble?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
NWN mods are not like other game mods.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;A typical mod alters the main campaign of whatever game its tied to, while a NWN Module (.mod) is basically a game within itself. Modders can use hakpacks to add in custom content to their Modules. Therefore, servers like Sinfar are like mini MMOs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The module is a custom world with custom scripts and features, that contains hakpacks which add all the extra-engine content (The stuff you can&#039;t get right out of the box, like adult animations.) This makes Sinfar a very NEW game in its own right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;It is supported and updated with new content regularly and its content is created by players for players in an active community.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#101820; border:1px solid #34577a; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;If Sinfar is like its own mini MMO how much do I have to pay to play there?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar is free to play.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#91d38f; border-bottom:1px solid #446b35; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Gameplay&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to level up?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
Leveling is such a hotly debated topic, there&#039;s an entire channel on the discord devoted to it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;https://discord.com/channels/335514516051984385/1393451095774330984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Generally speaking though, exploring can get you enough XP to easily get to lvl 5. From there you can start to grind out levels either in the basement of the Sinifer City Temple in Halcyon, or hit up the Wu Jen Training Grounds, in the Lotus Isles. After that, ask around, people have lots of suggestions for this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I go to get starter gear?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Starting gear can be purchased in the Emporium in Halcyon Ward of Sinifer City. Lots of monsters drop gear though that will quickly out=perform it though. The best gear in the game is obtained through crafting, which is an entire topic unto itself.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where can I buy arrows/bullets/darts/ammo?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Individual ammo isn&#039;t sold by the vendors in Sinfar. Instead there are widgets you can buy that make the ammo your weapon uses.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Am I allowed to play a character from [insert setting here]?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Sinfar&#039;s lore accomodates a wide variety of players form almost any setting imaginable. While we frown on playing named characters from specific settings, no one is going to think twice about your scimitar weilding dark elf named Derrigible, or your sci fi bounty hunter Moma Hett.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m max level, now what???&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Now you can start engaging in shard runs, or get involved with the arena PvP scene. Arche Terre has a vibrant and actively managed RP storyline going on right now, led by some of our terrific DM teams.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I made a mistake when I leveled up, is my character doomed?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Only if you made your mistake at level one. First level characters are not allowed to respec due to skill requirements and a few other things that can cause issues. But levels 2-40 can be releveled by visiting Vichan in the OOC area.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;What is the PvP scene like? What kind of PvP is available on Sinfar? Where and when does it happen?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;One-v-One PvP is frowned upon on Sinfar main, but arena nights are where PvP&#039;ers go to shine. Arch Terre has factional PvP as well.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#111a12; border:1px solid #446b35; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;How do I use animations, or access server settings for my character, like the location notifications and settings?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;All players when they enter Sinfar are issued a player wand. This tool is bound to the F1 hotkey and can be accessed by pressing the button and then mouse clicking on yourself. This will open a dialogue menu with access to a WIDE variety of features. Emotes, accessories, dice rolling, and many more options, all are found here.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#c49cff; border-bottom:1px solid #5b3b78; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Sinfar Community&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;Where do I go to meet people?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;On the weekends, the streets are bursting with people and player run events. Wander around the cities or follow the announcement threads. There are also posted boards with activities up and coming, as well as RP opportunities at the Notice Boards in the center of town in Halcyon Ward, Sinifer City.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;m having trouble getting to know people, do you have any advice?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Don&#039;t be afraid to park yourself in a high-volume area and just listen and hang out. Feel free to interact with the public chats that are going on. Post your interest in things on the notice boards or seek out the IC-posts channel on the Discord. Barring that, you can always just post that you&#039;re looking for something to do in the various chat channels on the server (action, ffa, etc).&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;background:#19111d; border:1px solid #5b3b78; padding:10px 12px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#f0d28a; font-weight:bold;&amp;quot;&amp;gt;I&#039;ve got some ideas for a storyline and want to get people involved. What are some tips for success?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px;&amp;quot;&amp;gt;Determine in advance how many people you want to get involved? Keep it small if it&#039;s your first time. Make it bigger as you get more confident. Remember that when you&#039;re running a storyline, you&#039;re basically a tabletop RPG DM, and anyone you invite into it is your tabletop RPG player and your job is to make sure they have fun.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1209</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1209"/>
		<updated>2026-06-25T01:36:31Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What Sinfar is about ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is actually going on here?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&#039;s Neverwinter Nights in a shared server environment.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What do you offer here?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;ve new to Neverwinter nights RP, how do you do that?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At the very basic level, situations that happen In Character (IC), should remain and be considered IC; and experiences that happen Out of Character (OOC), should stay OOC.&lt;br /&gt;
&lt;br /&gt;
IC behavior can be defined as:&lt;br /&gt;
-Things your character, not you; the player, is saying; and doing. Dialogue, and conversations between two, or more characters concerning events, and casual situations happening to or around those characters. This includes emotes as well; which detail the actions that your character is making. &lt;br /&gt;
-Emotes typically convey actions your character is taking.  Waving hello could be written in the chat window as *waves hello*; ***Waves hello.*** or some other combination of markers to denote the text that&#039;s actually being emoted.&lt;br /&gt;
&lt;br /&gt;
OOC behavior can be defined as:&lt;br /&gt;
-You, the player&#039;s comments, and additions to a conversation. Your character doesn&#039;t say this, and this should never be taken in RP as something that another character says.&lt;br /&gt;
-OOC statements are almost all begun with // to denote something is Out of Character.&lt;br /&gt;
-OOC comments should be kept to a minimum in public channels; this interrupts the flow of what&#039;s going on, and can be very disruptive to others around the ooc situation.&lt;br /&gt;
&lt;br /&gt;
=== Game Settings ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How can I log into Sinfar to get the code I need to register on the forum if to log into Sinfar I need special Hak files to get in?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The welcome room is a buffer module that players log into the first time they connect to the game, no haks are needed in this area, this is also the same area where you can get your secret log in code for this forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why do I need a special code to register on this forum?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The context of this forum assumes you have a copy of Neverwinter Nights 1.69 (Diamond) that you can use to play Sinfar, this also functions as a security feature that proves your a human not a bot.&lt;br /&gt;
&lt;br /&gt;
I am very interested in playing on Sinfar where can I get a copy of Neverwinter Nights so I can play?&lt;br /&gt;
&lt;br /&gt;
Neverwinter Nights is currently for sale at places like Steam, Gog, and Itch.io.  All 3 sites offer the game for sale.  Currently, Sinfar uses the Neverwinter Nights Diamond edition which is only available as an add on download from Gog at the moment.  However in late 2026, Sinfar is expected to migrate to the EE edition currently sold by Beamdog on all major sites.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Whats so special about such an old game? Why do people even come here to play? Why would it be worth all the trouble?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
NWN mods are not like other game mods. A typical mod alters the main campaign of whatever game its tied to, while a NWN Module (.mod) is basically a game within itself. Modders can use hakpacks to add in custom content to their Modules. Therefore, servers like Sinfar are like mini MMOs. The module is a custom world with custom scripts and features, that contains hakpacks which add all the extra-engine content (The stuff you can&#039;t get right out of the box, like adult animations.) This makes Sinfar a very NEW game in its own right. It is supported and updated with new content regularly and its content is created by players for players in an active community.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If Sinfar is like its own mini MMO how much do I have to pay to play there?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sinfar is free to play.&lt;br /&gt;
&lt;br /&gt;
=== Gameplay ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where can I go to level up?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Leveling is such a hotly debated topic, there&#039;s an entire channel on the discord devoted to it.  https://discord.com/channels/335514516051984385/1393451095774330984&lt;br /&gt;
&lt;br /&gt;
Generally speaking though, exploring can get you enough XP to easily get to lvl 5.  From there you can start to grind out levels either in the basement of the Sinifer City Temple in Halcyon, or hit up the Wu Jen Training Grounds, in the Lotus Isles.  After that, ask around, people have lots of suggestions for this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where can I go to get starter gear?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting gear can be purchased in the Emporium in Halcyon Ward of Sinifer City.  Lots of monsters drop gear though that will quickly out=perform it though.  The best gear in the game is obtained through crafting, which is an entire topic unto itself.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where can I buy arrows/bullets/darts/ammo?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Individual ammo isn&#039;t sold by the vendors in Sinfar.  Instead there are widgets you can buy that make the ammo your weapon uses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Am I allowed to play a character from [insert setting here]?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sinfar&#039;s lore accomodates a wide variety of players form almost any setting imaginable.  While we frown on playing named characters from specific settings, no one is going to think twice about your scimitar weilding dark elf named Derrigible, or your sci fi bounty hunter Moma Hett.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m max level, now what???&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now you can start engaging in shard runs, or get involved with the arena PvP scene.  Arche Terre has a vibrant and actively managed RP storyline going on right now, led by some of our terrific DM teams.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I made a mistake when I leveled up, is my character doomed?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Only if you made your mistake at level one.  First level characters are not allowed to respec due to skill requirements and a few other things that can cause issues.  But levels 2-40 can be releveled by visiting Vichan in the OOC area.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the PvP scene like? What kind of PvP is available on Sinfar? Where and when does it happen?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One-v-One PvP is frowned upon on Sinfar main, but arena nights are where PvP&#039;ers go to shine.  Arch Terre has factional PvP as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do I use animations, or access server settings for my character, like the location notifications and settings?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All players when they enter Sinfar are issued a player wand.  This tool is bound to the F1 hotkey and can be accessed by pressing the button and then mouse clicking on yourself.  This will open a dialogue menu with access to a WIDE variety of features.  Emotes, accessories, dice rolling, and many more options, all are found here.&lt;br /&gt;
&lt;br /&gt;
=== Sinfar Community ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where do I go to meet people?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On the weekends, the streets are bursting with people and player run events.  Wander around the cities or follow the announcement threads.  There are also posted boards with activities up and coming, as well as RP opportunities at the Notice Boards in the center of town in Halcyon Ward, Sinifer City.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m having trouble getting to know people, do you have any advice?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t be afraid to park yourself in a high-volume area and just listen and hang out.  Feel free to interact with the public chats that are going on.  Post your interest in things on the notice boards or seek out the IC-posts channel on the Discord.  Barring that, you can always just post that you&#039;re looking for something to do in the various chat channels on the server (action, ffa, etc).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;ve got some ideas for a storyline and want to get people involved. What are some tips for success?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine in advance how many people you want to get involved?  Keep it small if it&#039;s your first time.  Make it bigger as you get more confident.  Remember that when you&#039;re running a storyline, you&#039;re basically a tabletop RPG DM, and anyone you invite into it is your tabletop RPG player and your job is to make sure they have fun.&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1208</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1208"/>
		<updated>2026-06-25T01:35:44Z</updated>

		<summary type="html">&lt;p&gt;LockOn: /* What Sinfar is about */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What Sinfar is about ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;What is actually going on here?&#039;&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&#039;s Neverwinter Nights in a shared server environment.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What do you offer here?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;ve new to Neverwinter nights RP, how do you do that?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At the very basic level, situations that happen In Character (IC), should remain and be considered IC; and experiences that happen Out of Character (OOC), should stay OOC.&lt;br /&gt;
&lt;br /&gt;
IC behavior can be defined as:&lt;br /&gt;
-Things your character, not you; the player, is saying; and doing. Dialogue, and conversations between two, or more characters concerning events, and casual situations happening to or around those characters. This includes emotes as well; which detail the actions that your character is making. &lt;br /&gt;
-Emotes typically convey actions your character is taking.  Waving hello could be written in the chat window as *waves hello*; ***Waves hello.*** or some other combination of markers to denote the text that&#039;s actually being emoted.&lt;br /&gt;
&lt;br /&gt;
OOC behavior can be defined as:&lt;br /&gt;
-You, the player&#039;s comments, and additions to a conversation. Your character doesn&#039;t say this, and this should never be taken in RP as something that another character says.&lt;br /&gt;
-OOC statements are almost all begun with // to denote something is Out of Character.&lt;br /&gt;
-OOC comments should be kept to a minimum in public channels; this interrupts the flow of what&#039;s going on, and can be very disruptive to others around the ooc situation.&lt;br /&gt;
&lt;br /&gt;
=== Game Settings ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How can I log into Sinfar to get the code I need to register on the forum if to log into Sinfar I need special Hak files to get in?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The welcome room is a buffer module that players log into the first time they connect to the game, no haks are needed in this area, this is also the same area where you can get your secret log in code for this forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why do I need a special code to register on this forum?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The context of this forum assumes you have a copy of Neverwinter Nights 1.69 (Diamond) that you can use to play Sinfar, this also functions as a security feature that proves your a human not a bot.&lt;br /&gt;
&lt;br /&gt;
I am very interested in playing on Sinfar where can I get a copy of Neverwinter Nights so I can play?&lt;br /&gt;
&lt;br /&gt;
Neverwinter Nights is currently for sale at places like Steam, Gog, and Itch.io.  All 3 sites offer the game for sale.  Currently, Sinfar uses the Neverwinter Nights Diamond edition which is only available as an add on download from Gog at the moment.  However in late 2026, Sinfar is expected to migrate to the EE edition currently sold by Beamdog on all major sites.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Whats so special about such an old game? Why do people even come here to play? Why would it be worth all the trouble?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
NWN mods are not like other game mods. A typical mod alters the main campaign of whatever game its tied to, while a NWN Module (.mod) is basically a game within itself. Modders can use hakpacks to add in custom content to their Modules. Therefore, servers like Sinfar are like mini MMOs. The module is a custom world with custom scripts and features, that contains hakpacks which add all the extra-engine content (The stuff you can&#039;t get right out of the box, like adult animations.) This makes Sinfar a very NEW game in its own right. It is supported and updated with new content regularly and its content is created by players for players in an active community.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If Sinfar is like its own mini MMO how much do I have to pay to play there?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sinfar is free to play.&lt;br /&gt;
&lt;br /&gt;
=== Gameplay ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where can I go to level up?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Leveling is such a hotly debated topic, there&#039;s an entire channel on the discord devoted to it.  https://discord.com/channels/335514516051984385/1393451095774330984&lt;br /&gt;
&lt;br /&gt;
Generally speaking though, exploring can get you enough XP to easily get to lvl 5.  From there you can start to grind out levels either in the basement of the Sinifer City Temple in Halcyon, or hit up the Wu Jen Training Grounds, in the Lotus Isles.  After that, ask around, people have lots of suggestions for this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where can I go to get starter gear?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting gear can be purchased in the Emporium in Halcyon Ward of Sinifer City.  Lots of monsters drop gear though that will quickly out=perform it though.  The best gear in the game is obtained through crafting, which is an entire topic unto itself.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where can I buy arrows/bullets/darts/ammo?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Individual ammo isn&#039;t sold by the vendors in Sinfar.  Instead there are widgets you can buy that make the ammo your weapon uses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Am I allowed to play a character from [insert setting here]?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sinfar&#039;s lore accomodates a wide variety of players form almost any setting imaginable.  While we frown on playing named characters from specific settings, no one is going to think twice about your scimitar weilding dark elf named Derrigible, or your sci fi bounty hunter Moma Hett.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m max level, now what???&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now you can start engaging in shard runs, or get involved with the arena PvP scene.  Arche Terre has a vibrant and actively managed RP storyline going on right now, led by some of our terrific DM teams.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I made a mistake when I leveled up, is my character doomed?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Only if you made your mistake at level one.  First level characters are not allowed to respec due to skill requirements and a few other things that can cause issues.  But levels 2-40 can be releveled by visiting Vichan in the OOC area.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the PvP scene like? What kind of PvP is available on Sinfar? Where and when does it happen?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One-v-One PvP is frowned upon on Sinfar main, but arena nights are where PvP&#039;ers go to shine.  Arch Terre has factional PvP as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do I use animations, or access server settings for my character, like the location notifications and settings?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All players when they enter Sinfar are issued a player wand.  This tool is bound to the F1 hotkey and can be accessed by pressing the button and then mouse clicking on yourself.  This will open a dialogue menu with access to a WIDE variety of features.  Emotes, accessories, dice rolling, and many more options, all are found here.&lt;br /&gt;
&lt;br /&gt;
=== Sinfar Community ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where do I go to meet people?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On the weekends, the streets are bursting with people and player run events.  Wander around the cities or follow the announcement threads.  There are also posted boards with activities up and coming, as well as RP opportunities at the Notice Boards in the center of town in Halcyon Ward, Sinifer City.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m having trouble getting to know people, do you have any advice?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t be afraid to park yourself in a high-volume area and just listen and hang out.  Feel free to interact with the public chats that are going on.  Post your interest in things on the notice boards or seek out the IC-posts channel on the Discord.  Barring that, you can always just post that you&#039;re looking for something to do in the various chat channels on the server (action, ffa, etc).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;ve got some ideas for a storyline and want to get people involved. What are some tips for success?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine in advance how many people you want to get involved?  Keep it small if it&#039;s your first time.  Make it bigger as you get more confident.  Remember that when you&#039;re running a storyline, you&#039;re basically a tabletop RPG DM, and anyone you invite into it is your tabletop RPG player and your job is to make sure they have fun.&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1207</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1207"/>
		<updated>2026-06-25T01:35:06Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What Sinfar is about ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is actually going on here?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&#039;s Neverwinter Nights in a shared server environment.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What do you offer here?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;ve new to Neverwinter nights RP, how do you do that?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At the very basic level, situations that happen In Character (IC), should remain and be considered IC; and experiences that happen Out of Character (OOC), should stay OOC.&lt;br /&gt;
&lt;br /&gt;
IC behavior can be defined as:&lt;br /&gt;
-Things your character, not you; the player, is saying; and doing. Dialogue, and conversations between two, or more characters concerning events, and casual situations happening to or around those characters. This includes emotes as well; which detail the actions that your character is making. &lt;br /&gt;
-Emotes typically convey actions your character is taking.  Waving hello could be written in the chat window as *waves hello*; ***Waves hello.*** or some other combination of markers to denote the text that&#039;s actually being emoted.&lt;br /&gt;
&lt;br /&gt;
OOC behavior can be defined as:&lt;br /&gt;
-You, the player&#039;s comments, and additions to a conversation. Your character doesn&#039;t say this, and this should never be taken in RP as something that another character says.&lt;br /&gt;
-OOC statements are almost all begun with // to denote something is Out of Character.&lt;br /&gt;
-OOC comments should be kept to a minimum in public channels; this interrupts the flow of what&#039;s going on, and can be very disruptive to others around the ooc situation. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== Game Settings ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How can I log into Sinfar to get the code I need to register on the forum if to log into Sinfar I need special Hak files to get in?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The welcome room is a buffer module that players log into the first time they connect to the game, no haks are needed in this area, this is also the same area where you can get your secret log in code for this forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why do I need a special code to register on this forum?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The context of this forum assumes you have a copy of Neverwinter Nights 1.69 (Diamond) that you can use to play Sinfar, this also functions as a security feature that proves your a human not a bot.&lt;br /&gt;
&lt;br /&gt;
I am very interested in playing on Sinfar where can I get a copy of Neverwinter Nights so I can play?&lt;br /&gt;
&lt;br /&gt;
Neverwinter Nights is currently for sale at places like Steam, Gog, and Itch.io.  All 3 sites offer the game for sale.  Currently, Sinfar uses the Neverwinter Nights Diamond edition which is only available as an add on download from Gog at the moment.  However in late 2026, Sinfar is expected to migrate to the EE edition currently sold by Beamdog on all major sites.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Whats so special about such an old game? Why do people even come here to play? Why would it be worth all the trouble?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
NWN mods are not like other game mods. A typical mod alters the main campaign of whatever game its tied to, while a NWN Module (.mod) is basically a game within itself. Modders can use hakpacks to add in custom content to their Modules. Therefore, servers like Sinfar are like mini MMOs. The module is a custom world with custom scripts and features, that contains hakpacks which add all the extra-engine content (The stuff you can&#039;t get right out of the box, like adult animations.) This makes Sinfar a very NEW game in its own right. It is supported and updated with new content regularly and its content is created by players for players in an active community.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If Sinfar is like its own mini MMO how much do I have to pay to play there?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sinfar is free to play.&lt;br /&gt;
&lt;br /&gt;
=== Gameplay ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where can I go to level up?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Leveling is such a hotly debated topic, there&#039;s an entire channel on the discord devoted to it.  https://discord.com/channels/335514516051984385/1393451095774330984&lt;br /&gt;
&lt;br /&gt;
Generally speaking though, exploring can get you enough XP to easily get to lvl 5.  From there you can start to grind out levels either in the basement of the Sinifer City Temple in Halcyon, or hit up the Wu Jen Training Grounds, in the Lotus Isles.  After that, ask around, people have lots of suggestions for this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where can I go to get starter gear?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting gear can be purchased in the Emporium in Halcyon Ward of Sinifer City.  Lots of monsters drop gear though that will quickly out=perform it though.  The best gear in the game is obtained through crafting, which is an entire topic unto itself.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where can I buy arrows/bullets/darts/ammo?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Individual ammo isn&#039;t sold by the vendors in Sinfar.  Instead there are widgets you can buy that make the ammo your weapon uses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Am I allowed to play a character from [insert setting here]?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sinfar&#039;s lore accomodates a wide variety of players form almost any setting imaginable.  While we frown on playing named characters from specific settings, no one is going to think twice about your scimitar weilding dark elf named Derrigible, or your sci fi bounty hunter Moma Hett.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m max level, now what???&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now you can start engaging in shard runs, or get involved with the arena PvP scene.  Arche Terre has a vibrant and actively managed RP storyline going on right now, led by some of our terrific DM teams.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I made a mistake when I leveled up, is my character doomed?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Only if you made your mistake at level one.  First level characters are not allowed to respec due to skill requirements and a few other things that can cause issues.  But levels 2-40 can be releveled by visiting Vichan in the OOC area.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the PvP scene like? What kind of PvP is available on Sinfar? Where and when does it happen?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One-v-One PvP is frowned upon on Sinfar main, but arena nights are where PvP&#039;ers go to shine.  Arch Terre has factional PvP as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do I use animations, or access server settings for my character, like the location notifications and settings?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All players when they enter Sinfar are issued a player wand.  This tool is bound to the F1 hotkey and can be accessed by pressing the button and then mouse clicking on yourself.  This will open a dialogue menu with access to a WIDE variety of features.  Emotes, accessories, dice rolling, and many more options, all are found here.&lt;br /&gt;
&lt;br /&gt;
=== Sinfar Community ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where do I go to meet people?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On the weekends, the streets are bursting with people and player run events.  Wander around the cities or follow the announcement threads.  There are also posted boards with activities up and coming, as well as RP opportunities at the Notice Boards in the center of town in Halcyon Ward, Sinifer City.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m having trouble getting to know people, do you have any advice?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t be afraid to park yourself in a high-volume area and just listen and hang out.  Feel free to interact with the public chats that are going on.  Post your interest in things on the notice boards or seek out the IC-posts channel on the Discord.  Barring that, you can always just post that you&#039;re looking for something to do in the various chat channels on the server (action, ffa, etc).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;ve got some ideas for a storyline and want to get people involved. What are some tips for success?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine in advance how many people you want to get involved?  Keep it small if it&#039;s your first time.  Make it bigger as you get more confident.  Remember that when you&#039;re running a storyline, you&#039;re basically a tabletop RPG DM, and anyone you invite into it is your tabletop RPG player and your job is to make sure they have fun.&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1206</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1206"/>
		<updated>2026-06-24T18:15:49Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What Sinfar is about ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is actually going on here?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&#039;s Neverwinter Nights in a shared server environment.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What do you offer here?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;ve new to Neverwinter nights RP, how do you do that?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At the very basic level, situations that happen In Character (IC), should remain and be considered IC; and experiences that happen Out of Character (OOC), should stay OOC.&lt;br /&gt;
&lt;br /&gt;
IC behavior can be defined as:&lt;br /&gt;
-Things your character, not you; the player, is saying; and doing. Dialogue, and conversations between two, or more characters concerning events, and casual situations happening to or around those characters. This includes emotes as well; which detail the actions that your character is making. &lt;br /&gt;
-Emotes typically convey actions your character is taking.  Waving hello could be written in the chat window as *waves hello*; ***Waves hello.*** or some other combination of markers to denote the text that&#039;s actually being emoted.&lt;br /&gt;
&lt;br /&gt;
OOC behavior can be defined as:&lt;br /&gt;
-You, the player&#039;s comments, and additions to a conversation. Your character doesn&#039;t say this, and this should never be taken in RP as something that another character says.&lt;br /&gt;
-OOC statements are almost all begun with // to denote something is Out of Character.&lt;br /&gt;
-OOC comments should be kept to a minimum in public channels; this interrupts the flow of what&#039;s going on, and can be very disruptive to others around the ooc situation. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== Game Settings ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How can I log into Sinfar to get the code I need to register on the forum if to log into Sinfar I need special Hak files to get in?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The welcome room is a buffer module that players log into the first time they connect to the game, no haks are needed in this area, this is also the same area where you can get your secret log in code for this forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why do I need a special code to register on this forum?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The context of this forum assumes you have a copy of Neverwinter Nights 1.69 (Diamond) that you can use to play Sinfar, this also functions as a security feature that proves your a human not a bot.&lt;br /&gt;
&lt;br /&gt;
I am very interested in playing on Sinfar where can I get a copy of Neverwinter Nights so I can play?&lt;br /&gt;
&lt;br /&gt;
Neverwinter Nights is currently for sale at places like Steam, Gog, and Itch.io.  All 3 sites offer the game for sale.  Currently, Sinfar uses the Neverwinter Nights Diamond edition which is only available as an add on download from Gog at the moment.  However in late 2026, Sinfar is expected to migrate to the EE edition currently sold by Beamdog on all major sites.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Whats so special about such an old game? Why do people even come here to play? Why would it be worth all the trouble?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
NWN mods are not like other game mods. A typical mod alters the main campaign of whatever game its tied to, while a NWN Module (.mod) is basically a game within itself. Modders can use hakpacks to add in custom content to their Modules. Therefore, servers like Sinfar are like mini MMOs. The module is a custom world with custom scripts and features, that contains hakpacks which add all the extra-engine content (The stuff you can&#039;t get right out of the box, like adult animations.) This makes Sinfar a very NEW game in its own right. It is supported and updated with new content regularly and its content is created by players for players in an active community.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If Sinfar is like its own mini MMO how much do I have to pay to play there?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sinfar is free to play.&lt;br /&gt;
&lt;br /&gt;
Gameplay&lt;br /&gt;
&lt;br /&gt;
Sinfar Community&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1205</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Faq&amp;diff=1205"/>
		<updated>2026-06-24T17:45:58Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Created page with &amp;quot;== Frequently Asked Questions ==    === What Sinfar is about === &amp;#039;&amp;#039;&amp;#039; What is actually going on here?&amp;#039;&amp;#039;&amp;#039;  Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&amp;#039;s Neverwinter Nights in a shared server environment.    What do you offer here?  Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.  I&amp;#039;ve new to Neverwinter nights RP, how do you do that?  A...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What Sinfar is about ===&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
What is actually going on here?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sinfar is a multi-server community of like minded indivduals playing Bioware/Beamdog&#039;s Neverwinter Nights in a shared server environment.  &lt;br /&gt;
&lt;br /&gt;
What do you offer here?&lt;br /&gt;
&lt;br /&gt;
Here on Sinfar we cater to adult playstyles offering PvE, PvP, crafting, housing, RP and Social engagement with our broader community of players.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve new to Neverwinter nights RP, how do you do that?&lt;br /&gt;
&lt;br /&gt;
At the very basic level, situations that happen In Character (IC), should remain and be considered IC; and experiences that happen Out of Character (OOC), should stay OOC.&lt;br /&gt;
&lt;br /&gt;
IC behavior can be defined as:&lt;br /&gt;
-Things your character, not you; the player, is saying; and doing. Dialogue, and conversations between two, or more characters concerning events, and casual situations happening to or around those characters. This includes emotes as well; which detail the actions that your character is making. &lt;br /&gt;
-Emotes typically convey actions your character is taking.  Waving hello could be written in the chat window as *waves hello*; ***Waves hello.*** or some other combination of markers to denote the text that&#039;s actually being emoted.&lt;br /&gt;
&lt;br /&gt;
OOC behavior can be defined as:&lt;br /&gt;
-You, the player&#039;s comments, and additions to a conversation. Your character doesn&#039;t say this, and this should never be taken in RP as something that another character says.&lt;br /&gt;
-OOC statements are almost all begun with // to denote something is Out of Character.&lt;br /&gt;
-OOC comments should be kept to a minimum in public channels; this interrupts the flow of what&#039;s going on, and can be very disruptive to others around the ooc situation. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Game Settings&lt;br /&gt;
&lt;br /&gt;
Gameplay&lt;br /&gt;
&lt;br /&gt;
Sinfar Community&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Rules&amp;diff=1178</id>
		<title>Rules</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Rules&amp;diff=1178"/>
		<updated>2026-06-23T01:18:32Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Made some changes to the top line and also edited the second read first box.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#0b090a; border:1px solid #6f5730; color:#e8dcc8; padding:16px; box-shadow:0 0 22px rgba(0,0,0,0.35); font-size:14px; line-height:1.5;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; border:1px solid #8b6b3a; background:linear-gradient(180deg,#181214,#0b090a); padding:12px 14px; margin-bottom:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:30px; letter-spacing:3px; color:#d8b46a; text-shadow:0 0 10px rgba(143,36,50,0.55);&amp;quot;&amp;gt;&lt;br /&gt;
SERVER RULES&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:5px; color:#c9bda9;&amp;quot;&amp;gt;&lt;br /&gt;
Required conduct standards for Sinfar, its game servers, chat channels, and Discord.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#181214; border-left:4px solid #8f2432; border-top:1px solid #6f5730; border-bottom:1px solid #6f5730; padding:10px 12px; margin-bottom:10px;&amp;quot;&amp;gt;&lt;br /&gt;
Rules are subject to change and are reviewed regularly.  A DM may make a ruling on something not listed if the situation is warranted.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:8px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Read First&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;width:100%; border-collapse:separate; border-spacing:8px; color:#e8dcc8;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:25%; vertical-align:top; background:#21171a; border:1px solid #8f2432; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Zero Tolerance&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Threats, blackmail, revenge porn, severe OOC hostility, and sexual RP involving underage characters can result in the strongest available punishments.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:25%; vertical-align:top; background:#21171a; border:1px solid #6f5730; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Consent &amp;amp; Comfort&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Players may remove themselves from ANY situations that make them uncomfortable OOCly. Traffic lights must be respected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:25%; vertical-align:top; background:#21171a; border:1px solid #6f5730; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;PvP Requires RP&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
PvP requires roleplay before engagement. Do not use alignment, class, or faction identity as an excuse to attack without interaction.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:25%; vertical-align:top; background:#21171a; border:1px solid #6f5730; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Respect Staff Rulings&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Do not staff-shop after being told no. Do not abuse loopholes, systems, transitions, or consent mechanics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Rule Index&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;width:100%; border-collapse:separate; border-spacing:8px; color:#e8dcc8;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:25%; vertical-align:top; background:#181214; border:1px solid #6f5730; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[#General|General]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Permakilling, descriptions, staff conduct, exploits, extreme OOC behavior.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:25%; vertical-align:top; background:#181214; border:1px solid #6f5730; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[#Character_Creation|Character Creation]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Child characters, remakes, names, appearances, staff-like accounts.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:25%; vertical-align:top; background:#181214; border:1px solid #6f5730; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[#Harassment|Harassment]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Stalking, unwanted tells, unwanted emotes, trolling.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:25%; vertical-align:top; background:#181214; border:1px solid #6f5730; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[#Role_Playing|Role Playing]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Setting conduct, public/private content, acronyms, adult restrictions.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:25%; vertical-align:top; background:#181214; border:1px solid #6f5730; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[#Traffic_Lights|Traffic Lights]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Red, yellow, and green lights for adult-themed situations.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:25%; vertical-align:top; background:#181214; border:1px solid #6f5730; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[#PvP|Player Versus Player]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
PvP consent, defeat, assassinations, griefing, transition abuse.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:25%; vertical-align:top; background:#181214; border:1px solid #6f5730; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[#Chat_Channels|Chat Channels]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Public channel standards, spam, harassment, event channel limits.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:25%; vertical-align:top; background:#181214; border:1px solid #6f5730; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[#Discord_Rules|Discord Rules]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Discord conduct, discrimination, spam, and moderation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;General&amp;quot; style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
General&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:12px 14px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Permakilling&#039;&#039;&#039; — Only you, the player, have the right to say when your character should, if ever, be permakilled. It cannot be enforced by another player. Exceptions may exist for known villains through DM events with consent granted ahead of time. Character deletion is also rarely used as punishment by the DM team.&lt;br /&gt;
* &#039;&#039;&#039;Character Descriptions&#039;&#039;&#039; — Character descriptions are strongly recommended. They help others determine RP compatibility and may include ERP lights, from detailed preferences to a simple statement of disinterest.&lt;br /&gt;
* &#039;&#039;&#039;Sexual Situations&#039;&#039;&#039; — You have the right to remove yourself from any sexual situation that makes you uncomfortable OOCly.&lt;br /&gt;
* &#039;&#039;&#039;Description Limits&#039;&#039;&#039; — Descriptions are not to blacklist specific players. Lights should be generic, kink-focused, and not used to bash specific kinks. Offensive or inappropriate descriptions may be adjusted by staff.&lt;br /&gt;
* &#039;&#039;&#039;Server / Staff Bashing&#039;&#039;&#039; — Staff may explain rules, events, changes, or reasoning, but insults and mockery toward the server or staff are not tolerated in chat, tells, or other spaces.&lt;br /&gt;
* &#039;&#039;&#039;Staff Switching&#039;&#039;&#039; — Do not take the same issue to multiple staff members after one staff member has already told you no.&lt;br /&gt;
* &#039;&#039;&#039;Exploits&#039;&#039;&#039; — Anything reasonably assumed to give a reward beyond normal effort or server norms may count as an exploit. Suspected exploits should be reported to DM/Admin staff.&lt;br /&gt;
* &#039;&#039;&#039;Extreme OOC Behaviour&#039;&#039;&#039; — Threats of violence, threats of self-violence, stalking with intent to blackmail, blackmail, revenge porn, and similar hostile OOC actions are zero-tolerance behaviors. Punishments may include character deletion, account deletion, and lifetime bans from the server and Discord.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;Character_Creation&amp;quot; style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Character Creation / Modification&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:12px 14px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Child Characters or NPCs&#039;&#039;&#039; — No child representation is welcome on Sinfar, including child-like adults.&lt;br /&gt;
* &#039;&#039;&#039;Character Remakes&#039;&#039;&#039; — XP transfers are not provided. If level one stats were built incorrectly, the character must be rerolled. Items can be transferred through the bank.&lt;br /&gt;
* &#039;&#039;&#039;Character Names and Descriptions&#039;&#039;&#039; — Names, appearances, and portraits may not include discrimination, racial slang, derogatory or inflammatory religious/political commentary, real-world current-event figures, historical figures, or popular fiction figures. Do not copy the names of existing Sinfar characters.&lt;br /&gt;
* &#039;&#039;&#039;Generic Names&#039;&#039;&#039; — Generic names may reasonably be used by multiple characters. Unique first-and-last-name combinations should not be copied.&lt;br /&gt;
* &#039;&#039;&#039;Staff Account Names&#039;&#039;&#039; — Account names starting with &amp;lt;code&amp;gt;DM&amp;lt;/code&amp;gt; are illegal. Names that may be mistaken for active staff members are also not permitted.&lt;br /&gt;
* &#039;&#039;&#039;Untargettable Appearances&#039;&#039;&#039; — Untargettable appearances and characters Z-shifted below ground level may be punished with immediate character deletion.&lt;br /&gt;
* &#039;&#039;&#039;Disruptive Appearances / Troll Characters&#039;&#039;&#039; — Individuality is encouraged, but characters that interrupt RP or function as troll concepts may be subject to immediate deletion.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;Harassment&amp;quot; style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Harassment — IC and OOC&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:12px 14px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Stalking&#039;&#039;&#039; — Do not follow another player with the intention of disrupting their RP. Always acquire permission to enter private areas such as player housing, tavern rooms, or inn rooms.&lt;br /&gt;
* &#039;&#039;&#039;Unwanted Tells&#039;&#039;&#039; — You have the right to ignore tells. If tells continue and are unwelcome, tell the player not to send more tells and document the exchange with screenshots. After telling them to stop, do not continue replying. The Tell Block tool is available under &amp;lt;code&amp;gt;REST MENU &amp;amp;gt; GENERAL TOOLS &amp;amp;gt; TELL BLOCK&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Unwanted Emote-Animations&#039;&#039;&#039; — Spamming voice emotes, bartering, or animations against a person or group can be harassment if you do not stop when asked OOCly.&lt;br /&gt;
* &#039;&#039;&#039;Trolling&#039;&#039;&#039; — Trolling includes disruptive behavior not otherwise listed. Staff may address disruptive behavior even when the exact method is not specifically named.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#120d10; border-left:4px solid #8f2432; padding:8px 10px; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Related PSA:&#039;&#039;&#039; [https://forum.sinfar.net/viewtopic.php?f=268&amp;amp;t=15670 PSA: Harassment and Stalking]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;Role_Playing&amp;quot; style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Role Playing&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:12px 14px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;No Underage Sexual RP&#039;&#039;&#039; — Sexual RP involving underage characters is not permitted. Characters must be of proper maturity, 18 years or older. This can result in an immediate ban.&lt;br /&gt;
* &#039;&#039;&#039;Foul Language Use&#039;&#039;&#039; — Cursing in character is permitted, but players should remember Sinfar is a fantasy setting.&lt;br /&gt;
* &#039;&#039;&#039;Scat / Toilet Play&#039;&#039;&#039; — This content cannot take place publicly, IC or OOC. Use a private location.&lt;br /&gt;
* &#039;&#039;&#039;Acronyms&#039;&#039;&#039; — Acronyms such as &amp;lt;code&amp;gt;lol&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;k bbl&amp;lt;/code&amp;gt; are not acceptable in IC spaces. Any place not clearly labeled OOC requires RP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;Traffic_Lights&amp;quot; style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Traffic Lights&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:12px 14px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The traffic light system is based on safe and sane conduct. Players may list their lights in biographies and on the forums. These lights must be respected. Intentional violation of the light system can result in a ban, including permanent bans.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#120d10; border-left:4px solid #8f2432; padding:8px 10px; margin:8px 0;&amp;quot;&amp;gt;&lt;br /&gt;
The light system applies directly and exclusively to adult-themed situations. It cannot be used to red-light a player, character, staff member, PvP, IC consequences, or similar non-adult-theme issues.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;width:100%; border-collapse:separate; border-spacing:8px; color:#e8dcc8;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:33%; vertical-align:top; background:#21171a; border:1px solid #8f2432; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Red Lights&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Things the player wants no part of in roleplay.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:33%; vertical-align:top; background:#21171a; border:1px solid #8b6b3a; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Yellow Lights&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Things that may or may not make the player uncomfortable depending on mood or circumstance.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:33%; vertical-align:top; background:#21171a; border:1px solid #6f5730; padding:10px 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Green Lights&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Things generally enjoyed by the player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;PvP&amp;quot; style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Player Versus Player — PvP&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:12px 14px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Mindless PvP&#039;&#039;&#039; — PvP requires RP before engagement. Being Chaotic Evil, Paladin, Demon, Devil, or any similar concept is not an excuse to attack on sight. If the situation is questionable, take screenshots of the RP or lack of RP leading to the conflict.&lt;br /&gt;
* &#039;&#039;&#039;Subservers&#039;&#039;&#039; — Individual subservers such as Dreaded Lands and Arche Terre may have clearer guidelines, but the main PvP rules still apply there.&lt;br /&gt;
* &#039;&#039;&#039;Request Spamming&#039;&#039;&#039; — Repeated PvP requests may be harassment. In areas without consent options, spamming dislike to disrupt ongoing PvP is considered exploiting.&lt;br /&gt;
* &#039;&#039;&#039;Consequences&#039;&#039;&#039; — PvP rules do not give a player the right to taunt others while hiding behind consent systems. In marked areas, PvP consent can be overridden if three unique people in your party repeatedly toggle dislike on another character. This should only be used as a last resort.&lt;br /&gt;
* &#039;&#039;&#039;Logging Off / Switching Characters&#039;&#039;&#039; — Logging out or switching characters to avoid PvP after initiating or engaging in it may result in punishment.&lt;br /&gt;
* &#039;&#039;&#039;Defeat&#039;&#039;&#039; — After losing PvP, whether by respawn or subdual, you must wait at least &#039;&#039;&#039;30 minutes&#039;&#039;&#039; before reengaging the same player or group. Do not rest and immediately return. Do not continue provoking through RP after defeat.&lt;br /&gt;
* &#039;&#039;&#039;DM Events&#039;&#039;&#039; — By participating in a DM-managed event or plot, you recognize that potential PvP may occur. Traffic lights still apply if adult content is involved.&lt;br /&gt;
* &#039;&#039;&#039;Assassinations&#039;&#039;&#039; — Being hired to attack someone does not grant a free pass to jump them. OOC permission is required. A DM can help preserve the assassin’s identity and monitor the situation.&lt;br /&gt;
* &#039;&#039;&#039;Metagaming Assassinations&#039;&#039;&#039; — If you learn about an impending assassination, do not metagame by buffing up or immediately fleeing.&lt;br /&gt;
* &#039;&#039;&#039;Transition Hopping&#039;&#039;&#039; — Do not move back and forth through transitions or abuse transitions to gain PvP advantage.&lt;br /&gt;
* &#039;&#039;&#039;Resized Forms / Appearances&#039;&#039;&#039; — Using any skin smaller than a halfling, below 3&#039;4&amp;quot;, in PvP is illegal.&lt;br /&gt;
* &#039;&#039;&#039;Griefing&#039;&#039;&#039; — Taking OOC revenge through PvP disguised as RP, including switching characters to taunt someone into combat, may be investigated by staff.&lt;br /&gt;
* &#039;&#039;&#039;Paving&#039;&#039;&#039; — Resurrecting a defeated player only to immediately kill them again is trolling and illegal.&lt;br /&gt;
* &#039;&#039;&#039;Resurrection Addendum&#039;&#039;&#039; — If a defeated character is resurrected by the opposing party, Defeat and Paving rules apply. If resurrected by their own party, those rules do not apply.&lt;br /&gt;
* &#039;&#039;&#039;Bystanders&#039;&#039;&#039; — A bystander resurrecting a defeated character becomes eligible for immediate retaliation by the opposing party and cannot claim neutrality. A bystander resurrecting someone to avoid the Paving rule may be treated as part of the opposing party.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#120d10; border-left:4px solid #8f2432; padding:8px 10px; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Related PSA:&#039;&#039;&#039; [https://forum.sinfar.net/viewtopic.php?f=268&amp;amp;t=16082 PSA on PvP overrides and consequences]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;Chat_Channels&amp;quot; style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Chat Channel Use&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:12px 14px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pornography / NSFW Links&#039;&#039;&#039; — Public chat channels and the web client may not be used to share pornography or other NSFW material. Links that violate Sinfar rules may result in punishment.&lt;br /&gt;
* &#039;&#039;&#039;Portrait Discussion&#039;&#039;&#039; — NSFW portraits may exist. If seeking opinions, ask for interested players to send tells instead of posting explicit material publicly.&lt;br /&gt;
* &#039;&#039;&#039;Group / Kink Bashing&#039;&#039;&#039; — Public bashing, mocking, or taunting of character groups or fetishes is not tolerated. Personal preference is allowed; hostile generalizations are not.&lt;br /&gt;
* &#039;&#039;&#039;Discrimination&#039;&#039;&#039; — Do not use offensive slang against real-life groups based on race, ethnicity, gender, religion, or similar traits.&lt;br /&gt;
* &#039;&#039;&#039;Spam&#039;&#039;&#039; — Chat channels are for communication, not rapid trollish posting, silly spam, or extended walkthroughs of unrelated games or movies.&lt;br /&gt;
* &#039;&#039;&#039;Event Channel&#039;&#039;&#039; — One post per hour regarding a single event.&lt;br /&gt;
* &#039;&#039;&#039;Role Playing&#039;&#039;&#039; — Unless the channel is intended for IC posting, do not RP full scenes or situations through public chat channels. Find the other players in-game.&lt;br /&gt;
* &#039;&#039;&#039;Harassment&#039;&#039;&#039; — Do not call out players or characters negatively in public channels. Public chat is not for gossip.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;Discord_Rules&amp;quot; style=&amp;quot;font-family:Georgia,serif; font-size:21px; color:#d8b46a; border-bottom:1px solid #6f5730; padding-bottom:4px; margin:9px 0 5px 0;&amp;quot;&amp;gt;&lt;br /&gt;
Discord Rules&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#181214; border:1px solid #6f5730; padding:12px 14px; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Group / Kink Bashing&#039;&#039;&#039; — Publicly bashing, mocking, or taunting groups of characters or fetishes is not tolerated.&lt;br /&gt;
* &#039;&#039;&#039;Discrimination&#039;&#039;&#039; — Do not post offensive slang, images, or memes against real-life groups or countries based on race, ethnicity, gender, religion, political opinion, or similar traits.&lt;br /&gt;
* &#039;&#039;&#039;Spam&#039;&#039;&#039; — Discord channels are for communication, not trollish posting, excessive silly messages, or detailed walkthroughs of unrelated games or movies.&lt;br /&gt;
* &#039;&#039;&#039;Moderation&#039;&#039;&#039; — Text and images that do not comply with the rules will be removed. Repeated issues may result in timeout and eventual Discord ban.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:14px; padding:12px 14px; text-align:center; background:#120d10; border-top:1px solid #6f5730; color:#b7a995;&amp;quot;&amp;gt;&lt;br /&gt;
[[Main Page|Return to Main Page]] · [[Getting Started]] · [[Character Customisation]] · [[Solving Client or Connection Issues]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Magical_Items&amp;diff=1138</id>
		<title>Magical Items</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Magical_Items&amp;diff=1138"/>
		<updated>2026-06-18T21:25:48Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Shield updates on 6-18-2026&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sinfar has very specific rules when it comes to what magical power can be found on items. You will never find items with a magical power beyond what is allowed. There are also numerous [[Custom Weapons]] available from the Sinfar haks. These are added in such a way that they can still be used by Weapon Masters or with Weapon Focus feats despite no custom feats being added for them, as they will work with pre-existing feats instead. This also means you can be more versatile in your weapon choice as a weapon master, swapping between a regular spear or a short spear with a shield without losing your class bonuses.&lt;br /&gt;
&lt;br /&gt;
== The Enchanting Forge ==&lt;br /&gt;
The enchanting forge, located in Sinifer and other main cities, let you add magical property to crafted items. Crafted items can be bought from the travelling merchant in the emporium of Sinifer and also in other main cities.&lt;br /&gt;
&lt;br /&gt;
To enchant a crafted item, you need to put a non-enchanted, crafted items in an enchanting forge and close it. A dialog will let you select the properties that you want to add, but it is restricted.&lt;br /&gt;
&lt;br /&gt;
Each items can accept a certain number of PP (Property Points) and each property cost a certain number of PP. So when you will choose a property, the forge will tell you how much PP it cost and it must be equal or bellow the number of PP left that you can put on the item. This is for balance reasons.&lt;br /&gt;
&lt;br /&gt;
After selecting the properties that you want, you will need to find the required components. The forge tells you what components you will need and how many of them.&lt;br /&gt;
&lt;br /&gt;
Once you get the components, put them in the forge, with your crafted items and retry to add the properties. The forge should let you process and after some magical operations, your crafted item will be enchanted. Note that components inside bags are still counted normally, so you don&#039;t need to add each item individually.&lt;br /&gt;
&lt;br /&gt;
Once an item has been enchanted once, it can never be modified again (except its appearance). Be sure to add all the properties you want the first time, or you will have to re-acquire the components you used for the next, proper enchantment.&lt;br /&gt;
&lt;br /&gt;
==Power Points==&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===Armor Power Points===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Name!!Armor Type!!Armor Class (AC)!!Max Dexterity Bonus!!PP&lt;br /&gt;
|-&lt;br /&gt;
|Cloth||Light||0||-||6&lt;br /&gt;
|-&lt;br /&gt;
|Padded||Light||1||8||6&lt;br /&gt;
|-&lt;br /&gt;
|Hide||Light||3||4||7&lt;br /&gt;
|-&lt;br /&gt;
|Leather||Light||2||6||8&lt;br /&gt;
|-&lt;br /&gt;
|Breastplate||Medium||5||2||8&lt;br /&gt;
|-&lt;br /&gt;
|Scale Mail||Medium||4||4||8&lt;br /&gt;
|-&lt;br /&gt;
|Banded Mail||Heavy||6||1||8&lt;br /&gt;
|-&lt;br /&gt;
|Half Plate||Heavy||7||1||7&lt;br /&gt;
|-&lt;br /&gt;
|Full Plate||Heavy||8||1||6&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
=== Accessory Power Points===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Item!!PP     &lt;br /&gt;
|-&lt;br /&gt;
|Amulet||3&lt;br /&gt;
|-&lt;br /&gt;
|Belt||3     &lt;br /&gt;
|-&lt;br /&gt;
|Boot||3     &lt;br /&gt;
|-&lt;br /&gt;
|Bracer||1         &lt;br /&gt;
|-&lt;br /&gt;
|Cloak||3 &lt;br /&gt;
|-&lt;br /&gt;
|Helm||3         &lt;br /&gt;
|-&lt;br /&gt;
|Ring||2&lt;br /&gt;
|-&lt;br /&gt;
|Buckler and Shield||3        &lt;br /&gt;
|-&lt;br /&gt;
|Tower Shield&lt;br /&gt;
|4&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===Simple Melee Weapons===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Simple Weapons!!PP&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Assassin&#039;s Dagger|Uses Dagger for weapon focus feats, including for Weapon Master}}||4&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Chirurgical Tool|Uses Sickle for weapon focus feats, including for Weapon Master}}||4&lt;br /&gt;
|-&lt;br /&gt;
|Club||6&lt;br /&gt;
|-&lt;br /&gt;
|Dagger||4&lt;br /&gt;
|-&lt;br /&gt;
|Dagger, Prehistoric||4&lt;br /&gt;
|-&lt;br /&gt;
|Gauntlet (unarmed)||6&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Goad|Uses Spear for weapon focus feats, including for Weapon Master}}||6&lt;br /&gt;
|-&lt;br /&gt;
|Quarterstaff||7&lt;br /&gt;
|-&lt;br /&gt;
|Sickle||5&lt;br /&gt;
|-&lt;br /&gt;
|Spear||5&lt;br /&gt;
|-&lt;br /&gt;
|Spear, Prehistoric||5&lt;br /&gt;
|-&lt;br /&gt;
|Staff (Magic)||10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===Martial Melee Weapons===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Martial Weapons!!PP&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Ankus|Uses Warhammer for weapon focus feats, including for Weapon Master}}||2&lt;br /&gt;
|-&lt;br /&gt;
|Battleaxe||4&lt;br /&gt;
|-&lt;br /&gt;
|Great Axe||5&lt;br /&gt;
|-&lt;br /&gt;
|Great Sword||5&lt;br /&gt;
|-&lt;br /&gt;
|Halberd||5&lt;br /&gt;
|-&lt;br /&gt;
|Handaxe||4&lt;br /&gt;
|-&lt;br /&gt;
|Heavy Flail||5&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Heavy Mace|Uses Light Mace for weapon focus feats, including for Weapon Master}}||5&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Heavy Pick|Uses Warhammer for weapon focus feats, including for Weapon Master}}||2&lt;br /&gt;
|-&lt;br /&gt;
|Light Flail||6&lt;br /&gt;
|-&lt;br /&gt;
|Light Hammer||6&lt;br /&gt;
|-&lt;br /&gt;
|Light Mace||5&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Light Pick|Uses Light Hammer for weapon focus feats, including for Weapon Master}}||2&lt;br /&gt;
|-&lt;br /&gt;
|Longsword||4&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Maug Doublesword|Uses Longsword for weapon focus feats, including for Weapon Master}}||4&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Maul|Uses Warhammer for weapon focus feats, including for Weapon Master}}||5&lt;br /&gt;
|-&lt;br /&gt;
|Morningstar||5&lt;br /&gt;
|-&lt;br /&gt;
|Rapier||2&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Sap|Uses Sling for weapon focus feats, including for Weapon Master}}||6&lt;br /&gt;
|-&lt;br /&gt;
|Scimitar||2&lt;br /&gt;
|-&lt;br /&gt;
|Short Spear||4&lt;br /&gt;
|-&lt;br /&gt;
|Short Sword||4&lt;br /&gt;
|-&lt;br /&gt;
|Trident||6&lt;br /&gt;
|-&lt;br /&gt;
|Warhammer||4&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===Exotic Melee Weapons===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Exotic Weapons!!PP&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Bagh Nak|Uses Kama for weapon focus feats, including for Weapon Master}}||2&lt;br /&gt;
|-&lt;br /&gt;
|Bastard Sword||4&lt;br /&gt;
|-&lt;br /&gt;
|Combat Fan||2&lt;br /&gt;
|-&lt;br /&gt;
|Dire Mace||7&lt;br /&gt;
|-&lt;br /&gt;
|Double Axe||4&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Double Scimitar|Uses Scimitar for weapon focus feats, including for Weapon Master}}||2&lt;br /&gt;
|-&lt;br /&gt;
|Dwarven Waraxe||4&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Falchion|Uses Scimitar for weapon focus feats, including for Weapon Master}}||2&lt;br /&gt;
|-&lt;br /&gt;
|Kama||2&lt;br /&gt;
|-&lt;br /&gt;
|Katana||4&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Katar|Uses Kama for weapon focus feats, including for Weapon Master}}||2&lt;br /&gt;
|-&lt;br /&gt;
|Kukri ||3&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Nonchaku|Uses Morningstar for weapon focus feats, including for Weapon Master}}||6&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Sai|Uses Dagger for weapon focus feats, including for Weapon Master}}||7&lt;br /&gt;
|-&lt;br /&gt;
|Scythe||3&lt;br /&gt;
|-&lt;br /&gt;
|Tome (Magic)||10&lt;br /&gt;
|-&lt;br /&gt;
|Two-Bladed Sword||5&lt;br /&gt;
|-&lt;br /&gt;
|Whip||6&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Wind Fire Wheel|Uses Bastard Sword for weapon focus feats, including for Weapon Master}}||6&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===Ranged Weapons &amp;amp; Ammunition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Ranged Weapons!!PP&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Flintlock|Uses Crossbow for weapon focus feats, including for Weapon Master}}||2&lt;br /&gt;
|-&lt;br /&gt;
|Heavy Crossbow||3&lt;br /&gt;
|-&lt;br /&gt;
|Light Crossbow||3&lt;br /&gt;
|-&lt;br /&gt;
|Longbow||2&lt;br /&gt;
|-&lt;br /&gt;
|Shortbow||2&lt;br /&gt;
|-&lt;br /&gt;
|Sling||2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Ammo/Thrown!!PP&lt;br /&gt;
|-&lt;br /&gt;
|Arrow Maker||5&lt;br /&gt;
|-&lt;br /&gt;
|Bolt Maker||5&lt;br /&gt;
|-&lt;br /&gt;
|Bullet Maker||6&lt;br /&gt;
|-&lt;br /&gt;
|Dart Maker||4&lt;br /&gt;
|-&lt;br /&gt;
|Flintlock Maker||5&lt;br /&gt;
|-&lt;br /&gt;
|Shuriken Maker||5&lt;br /&gt;
|-&lt;br /&gt;
|Throwing Axes||4&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Item Properties ==&lt;br /&gt;
Using the above tables, the following properties can be added to different items, classed into Armour and Accessory properties or Weapon Properties. Some weapon properties are for melee and ammo only  while others are ranged only.&lt;br /&gt;
&lt;br /&gt;
=== Armour and Accessory Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Enchantment&lt;br /&gt;
!Bonus per PP&lt;br /&gt;
!Max Bonus&lt;br /&gt;
!PP usage at Max&lt;br /&gt;
|-&lt;br /&gt;
|Ability Bonus&lt;br /&gt;
| +3&lt;br /&gt;
| +12&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Armor Class|+1, +2 and +3 armor class cost 0 PP, +4 and +5 both cost 1 PP}}&lt;br /&gt;
| +1&lt;br /&gt;
| +5&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Damage Reduction&lt;br /&gt;
|7/+5&lt;br /&gt;
|7/+10&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|Elemental Damage Resistance&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Haste|Is always at max power when enchanted.}}&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Immunity: Knockdown|Is always at max power when enchanted.}}&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|Regeneration&lt;br /&gt;
| +1&lt;br /&gt;
| +8&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|Saving Throw&lt;br /&gt;
| +4&lt;br /&gt;
| +20&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|Skill Bonus (Concentration or Discipline)&lt;br /&gt;
| +6&lt;br /&gt;
| +48&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Spell Resistance|Spell Resistance +10 costs 0 PP, and +1 PP per 4 extra after that.}}&lt;br /&gt;
|10&lt;br /&gt;
|30&lt;br /&gt;
|5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Weapon Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Enchantment&lt;br /&gt;
!Bonus per PP&lt;br /&gt;
!Max Bonus&lt;br /&gt;
!PP usage at Max&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Attack/Enhancement Bonus|+1 to +4 cost 0 PP and +1 PP per level after that.}}&lt;br /&gt;
| +1&lt;br /&gt;
| +6&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Elemental Damage Bonus&lt;br /&gt;
| +1d4&lt;br /&gt;
| +1d12&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Physical Damage Bonus|Starts at +3 (2 PP), +1d8 (3 PP), +6 (4 PP), +2d8 (6 PP).}}&lt;br /&gt;
| +3&lt;br /&gt;
| +2d8&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Positive Damage Bonus|Gives +1 damage per PP except 5 PP which is +2d4, 7 PP, which is +2d6 and 9 PP which is +2d8.}}&lt;br /&gt;
| +1&lt;br /&gt;
| 10&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Keen|Is always at max power when enchanted.}}&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Massive Criticals&lt;br /&gt;
| +2d6&lt;br /&gt;
| +2d12&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Mighty|Always 0 PP.}}&lt;br /&gt;
| +3&lt;br /&gt;
| +20&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Vampiric Regeneration&lt;br /&gt;
| +1&lt;br /&gt;
| +7&lt;br /&gt;
|7&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Spell Focus|Costs 5 PP per school added.}}&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Bonus Spell Slots, Wizard|Bonus slots of levels 0-5 cost 1 PP each and levels 6-9 cost 2 PP each.}}&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|{{#inline-tooltip:Bonus Spell Slots, Other|Bonus slots of levels 0-2 cost 1 PP each, levels 3-5 cost 2 PP, levels 6-8 cost 3 PP and level 9 cost 4 PP.}}&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pre-Enchanted Items ==&lt;br /&gt;
&lt;br /&gt;
There are many stores across the world that sell various items including already enchanted ones.&lt;br /&gt;
&lt;br /&gt;
Those stores should never provide items as good as what the enchanting forge can produce. If you find any items that are comparable to what the forge can make, you should report it. For example, if you see an item that cast a spell that is not available for potions (see below), like ice storm, then this item is not legal.&lt;br /&gt;
&lt;br /&gt;
However, custom and pre-enchanted items may have unique appearances, some of which may only be obtainable inside dungeons or from various events.&lt;br /&gt;
&lt;br /&gt;
== Potions ==&lt;br /&gt;
The &#039;Brew Potions&#039; feat let you create potions from a limited number of spells:&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Is CatGrace.png]]&lt;br /&gt;
|Cat&#039;s Grace&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is BullStr.png]]||Bull&#039;s Strength&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is OwlWis.png]]||Owl&#039;s Wisdom&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is FoxCunng.png]]||Fox&#039;s Cunning&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is Endurce.png]]||Endurance&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is EagleSpl.png]]||Eagle Splendor&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is Clarity.png]]||Clarity&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is DarkVis.png]]||Ultravision&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is SeeInvis.png]]||See Invisibility&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is MageArm.png]]||Mage Armor&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is DeaWard.png]]||Death Ward&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is CurLgtW.png]]||Cure and Inflict Wounds Spells&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is Light.png]]||Light&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is DisMagic.png]]||Dispel Magic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The caster level of enchanted potions is fixed, depending on the spell. The dispel DC of potions is equal to 75% of your character level.&lt;br /&gt;
&lt;br /&gt;
== Wands ==&lt;br /&gt;
The craft wand feat lets you enchant bone wands, with all spells that can be use to brew potions plus the following ones:&lt;br /&gt;
{|&lt;br /&gt;
![[File:Is TrueSee.png]]&lt;br /&gt;
|True Seeing&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is LsSpBrch.png]]&lt;br /&gt;
|Lesser Spell Breach&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is EndElem.png]]&lt;br /&gt;
|Endure Elements&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is ResElem.png]]&lt;br /&gt;
|Resist Elements&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is PrElement.png]]&lt;br /&gt;
|Protection From Elements&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is TimeStop.png]]&lt;br /&gt;
|Timestop&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is Stoneskn.png]]&lt;br /&gt;
|Stoneskin&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is mmm.png]]&lt;br /&gt;
|Mordenkainen&#039;s Magnificent Mansion&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is Invisib.png]]&lt;br /&gt;
|Invisibility&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Is NegProt.png]]&lt;br /&gt;
|Negative Energy Protection&lt;br /&gt;
|}&lt;br /&gt;
Wands have a caster level equal to the caster level from which they have been enchanted. Their dispel DC is also equal to this same caster level. You can only use enchanted wands when you have the ability to cast the spell at the specific level or if you have a Use Magic Device skill of at least (3 x Spell Level + Caster Level).&lt;br /&gt;
&lt;br /&gt;
== Scrolls ==&lt;br /&gt;
Scrolls are like an extension to your spell book. They let you cast a spell exactly as if you were casting it from your spell book but without the need to memorize it. You must be able to cast the spell naturally to use a scroll version of the same spell.&lt;br /&gt;
[[Category:Player Tools]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1095</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1095"/>
		<updated>2025-12-03T20:54:00Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tags ==&lt;br /&gt;
&lt;br /&gt;
=== home_tag ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Set tags&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set a Placeables Tag&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| TAG:String&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:string GetHomeSafeTag(string sOriginalTag); string GetHomeTagByID(string sOriginalTag, int nHomeID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_npc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tailor Models&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| HS_SPAWN_NPC_ID&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_spawn ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drones&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be used in conjunction with hs_store_xferspw. Will transform a usable placeable into a standard merchant with basic conversation options for facilitating sales of player made items to other players.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_UP:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_DOWN:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_NO_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_YES_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt; (Can go from 0-5)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Appearance strings can be used to customize the appearance of the merchant. The toolset has a 1024 character limit per variable. If your appearance string is longer than 2048 characters, you&#039;ll need to make it less complex.&lt;br /&gt;
Store tag is used to differentiate stores in the player home. Multiple stores with multiple tags are supported (for different vendors with different inventories).&lt;br /&gt;
&lt;br /&gt;
Mark up and mark down prices on items function based on a standardized formula.&lt;br /&gt;
&lt;br /&gt;
* price = item value * (x-1000) where x is the markup variable. (You can get the item value of any item by using the player tool on it.).&lt;br /&gt;
&lt;br /&gt;
However there is a hard cap of 10 million gold that can be collected in the chest at any one time. Any gold collected after the cap is hit will be lost. Price and monitor carefully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_xferspw ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drone inventory&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be set to Plot. Must be Useable. And must have invetory.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Once set, the container can be used to place inventory items into the store for sale to other players. Once placed, the items will disappear and only be available through the Merchant interface used by hs_store_spawn.&lt;br /&gt;
Gold from all sales is collected when the player opens the chest. This is not security coded, so locking chests is recommended if you want to get paid for your work versus handing out free gold to any nosy person wandering in.&lt;br /&gt;
&lt;br /&gt;
Stacks of items placed in the chest will be sold as stacks. Individual items placed, are sold as single items. Ammo from ammo makers is not sellable and will be discarded if placed in the chest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevate and Rotate ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Elevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Elevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_plc_used_turn ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force turn a placeable&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnUsed&lt;br /&gt;
| G_TURN_BACK_DELAY : Integer&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_cbar_hb ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_onclickexamine ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_force_emote ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_makenboard ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_tipjar ===&lt;br /&gt;
&#039;&#039;&#039;Obtaining tips&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Will turn any placeable with an inventory into a usable tip jar. Ownership is coded to the house owner and will only supply the owner with the gold collected from the jar when they open it. All other uses will only see an empty box. Note, the tip function works only on gold passed, not other items. It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Shackle Scripts ==&lt;br /&gt;
&lt;br /&gt;
=== shckle_p_ondeath ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Bashable shackes&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| The script to allow a PC to bash free of the shackles .&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnDeath&lt;br /&gt;
| NA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== shckle_p_talk ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Bashable shackes&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Trigger for shackle placeables.&lt;br /&gt;
| Trigger&lt;br /&gt;
| NA&lt;br /&gt;
| NA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_shackle ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Full shackle system&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| CHAIN_LENGTH: Float&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : StringScript: hs_use_wc_image&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1094</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1094"/>
		<updated>2025-12-03T20:48:29Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tags ==&lt;br /&gt;
&lt;br /&gt;
=== home_tag ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Set tags&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set a Placeables Tag&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| TAG:String&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:string GetHomeSafeTag(string sOriginalTag); string GetHomeTagByID(string sOriginalTag, int nHomeID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_npc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tailor Models&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| HS_SPAWN_NPC_ID&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_spawn ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drones&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be used in conjunction with hs_store_xferspw. Will transform a usable placeable into a standard merchant with basic conversation options for facilitating sales of player made items to other players.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_UP:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_DOWN:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_NO_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_YES_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt; (Can go from 0-5)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Appearance strings can be used to customize the appearance of the merchant. The toolset has a 1024 character limit per variable. If your appearance string is longer than 2048 characters, you&#039;ll need to make it less complex.&lt;br /&gt;
Store tag is used to differentiate stores in the player home. Multiple stores with multiple tags are supported (for different vendors with different inventories).&lt;br /&gt;
&lt;br /&gt;
Mark up and mark down prices on items function based on a standardized formula.&lt;br /&gt;
&lt;br /&gt;
* price = item value * (x-1000) where x is the markup variable. (You can get the item value of any item by using the player tool on it.).&lt;br /&gt;
&lt;br /&gt;
However there is a hard cap of 10 million gold that can be collected in the chest at any one time. Any gold collected after the cap is hit will be lost. Price and monitor carefully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_xferspw ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drone inventory&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be set to Plot. Must be Useable. And must have invetory.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Once set, the container can be used to place inventory items into the store for sale to other players. Once placed, the items will disappear and only be available through the Merchant interface used by hs_store_spawn.&lt;br /&gt;
Gold from all sales is collected when the player opens the chest. This is not security coded, so locking chests is recommended if you want to get paid for your work versus handing out free gold to any nosy person wandering in.&lt;br /&gt;
&lt;br /&gt;
Stacks of items placed in the chest will be sold as stacks. Individual items placed, are sold as single items. Ammo from ammo makers is not sellable and will be discarded if placed in the chest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevate and Rotate ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Elevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Elevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_plc_used_turn ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force turn a placeable&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnUsed&lt;br /&gt;
| G_TURN_BACK_DELAY : Integer&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_cbar_hb ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_onclickexamine ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_force_emote ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_makenboard ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_tipjar ===&lt;br /&gt;
&#039;&#039;&#039;Obtaining tips&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Will turn any placeable with an inventory into a usable tip jar. Ownership is coded to the house owner and will only supply the owner with the gold collected from the jar when they open it. All other uses will only see an empty box. Note, the tip function works only on gold passed, not other items. It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Shackle Scripts ==&lt;br /&gt;
&lt;br /&gt;
=== shckle_p_ondeath ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Bashable shackes&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| The script to allow a PC to bash free of the shackles .&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnDeath&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== shckle_p_talk ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Bashable shackes&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Trigger for shackle placeables.&lt;br /&gt;
| Trigger&lt;br /&gt;
| NA&lt;br /&gt;
| NA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = shckle_p_talk&lt;br /&gt;
&lt;br /&gt;
Trigger for shackle placeables.&lt;br /&gt;
Slave Tether&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Variable: CHAIN_LENGTH : Float&lt;br /&gt;
&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
&lt;br /&gt;
This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
Stores&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5374&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1093</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1093"/>
		<updated>2025-12-03T20:40:00Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tags ==&lt;br /&gt;
&lt;br /&gt;
=== home_tag ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Set tags&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set a Placeables Tag&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| TAG:String&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:string GetHomeSafeTag(string sOriginalTag); string GetHomeTagByID(string sOriginalTag, int nHomeID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_npc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tailor Models&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| HS_SPAWN_NPC_ID&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_spawn ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drones&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be used in conjunction with hs_store_xferspw. Will transform a usable placeable into a standard merchant with basic conversation options for facilitating sales of player made items to other players.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_UP:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_DOWN:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_NO_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_YES_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt; (Can go from 0-5)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Appearance strings can be used to customize the appearance of the merchant. The toolset has a 1024 character limit per variable. If your appearance string is longer than 2048 characters, you&#039;ll need to make it less complex.&lt;br /&gt;
Store tag is used to differentiate stores in the player home. Multiple stores with multiple tags are supported (for different vendors with different inventories).&lt;br /&gt;
&lt;br /&gt;
Mark up and mark down prices on items function based on a standardized formula.&lt;br /&gt;
&lt;br /&gt;
* price = item value * (x-1000) where x is the markup variable. (You can get the item value of any item by using the player tool on it.).&lt;br /&gt;
&lt;br /&gt;
However there is a hard cap of 10 million gold that can be collected in the chest at any one time. Any gold collected after the cap is hit will be lost. Price and monitor carefully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_xferspw ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drone inventory&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be set to Plot. Must be Useable. And must have invetory.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Once set, the container can be used to place inventory items into the store for sale to other players. Once placed, the items will disappear and only be available through the Merchant interface used by hs_store_spawn.&lt;br /&gt;
Gold from all sales is collected when the player opens the chest. This is not security coded, so locking chests is recommended if you want to get paid for your work versus handing out free gold to any nosy person wandering in.&lt;br /&gt;
&lt;br /&gt;
Stacks of items placed in the chest will be sold as stacks. Individual items placed, are sold as single items. Ammo from ammo makers is not sellable and will be discarded if placed in the chest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevate and Rotate ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Elevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Elevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_plc_used_turn ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force turn a placeable&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnUsed&lt;br /&gt;
| G_TURN_BACK_DELAY : Integer&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_cbar_hb ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_onclickexamine ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_force_emote ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_makenboard ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_tipjar ===&lt;br /&gt;
&#039;&#039;&#039;Obtaining tips&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Will turn any placeable with an inventory into a usable tip jar. Ownership is coded to the house owner and will only supply the owner with the gold collected from the jar when they open it. All other uses will only see an empty box. Note, the tip function works only on gold passed, not other items. It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a Placables Tag&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = home_tag&lt;br /&gt;
&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
&lt;br /&gt;
Variable: TAG : String&lt;br /&gt;
&lt;br /&gt;
Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:&lt;br /&gt;
&lt;br /&gt;
string GetHomeSafeTag(string sOriginalTag);&lt;br /&gt;
&lt;br /&gt;
string GetHomeTagByID(string sOriginalTag, int nHomeID);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shackles (Bashable)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
The script to allow a PC to bash free of the shackles . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = shckle_p_talk&lt;br /&gt;
&lt;br /&gt;
Trigger for shackle placeables.&lt;br /&gt;
Slave Tether&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Variable: CHAIN_LENGTH : Float&lt;br /&gt;
&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
&lt;br /&gt;
This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
Stores&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5374&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1092</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1092"/>
		<updated>2025-12-03T20:17:04Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_npc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tailor Models&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| HS_SPAWN_NPC_ID&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_spawn ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drones&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be used in conjunction with hs_store_xferspw. Will transform a usable placeable into a standard merchant with basic conversation options for facilitating sales of player made items to other players.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_UP:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_DOWN:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_NO_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_YES_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt; (Can go from 0-5)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Appearance strings can be used to customize the appearance of the merchant. The toolset has a 1024 character limit per variable. If your appearance string is longer than 2048 characters, you&#039;ll need to make it less complex.&lt;br /&gt;
Store tag is used to differentiate stores in the player home. Multiple stores with multiple tags are supported (for different vendors with different inventories).&lt;br /&gt;
&lt;br /&gt;
Mark up and mark down prices on items function based on a standardized formula.&lt;br /&gt;
&lt;br /&gt;
* price = item value * (x-1000) where x is the markup variable. (You can get the item value of any item by using the player tool on it.).&lt;br /&gt;
&lt;br /&gt;
However there is a hard cap of 10 million gold that can be collected in the chest at any one time. Any gold collected after the cap is hit will be lost. Price and monitor carefully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_xferspw ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drone inventory&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be set to Plot. Must be Useable. And must have invetory.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Once set, the container can be used to place inventory items into the store for sale to other players. Once placed, the items will disappear and only be available through the Merchant interface used by hs_store_spawn.&lt;br /&gt;
Gold from all sales is collected when the player opens the chest. This is not security coded, so locking chests is recommended if you want to get paid for your work versus handing out free gold to any nosy person wandering in.&lt;br /&gt;
&lt;br /&gt;
Stacks of items placed in the chest will be sold as stacks. Individual items placed, are sold as single items. Ammo from ammo makers is not sellable and will be discarded if placed in the chest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevate and Rotate ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Elevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Elevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_plc_used_turn ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force turn a placeable&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnUsed&lt;br /&gt;
| G_TURN_BACK_DELAY : Integer&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_cbar_hb ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_onclickexamine ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_force_emote ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_makenboard ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_tipjar ===&lt;br /&gt;
&#039;&#039;&#039;Obtaining tips&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Will turn any placeable with an inventory into a usable tip jar. Ownership is coded to the house owner and will only supply the owner with the gold collected from the jar when they open it. All other uses will only see an empty box. Note, the tip function works only on gold passed, not other items. It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a Placables Tag&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = home_tag&lt;br /&gt;
&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
&lt;br /&gt;
Variable: TAG : String&lt;br /&gt;
&lt;br /&gt;
Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:&lt;br /&gt;
&lt;br /&gt;
string GetHomeSafeTag(string sOriginalTag);&lt;br /&gt;
&lt;br /&gt;
string GetHomeTagByID(string sOriginalTag, int nHomeID);&lt;br /&gt;
Shackles (Bashable)&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
The script to allow a PC to bash free of the shackles . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = shckle_p_talk&lt;br /&gt;
&lt;br /&gt;
Trigger for shackle placeables.&lt;br /&gt;
Slave Tether&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Variable: CHAIN_LENGTH : Float&lt;br /&gt;
&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
&lt;br /&gt;
This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
Stores&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5374&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1091</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1091"/>
		<updated>2025-12-03T19:55:31Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_npc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tailor Models&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| HS_SPAWN_NPC_ID&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_spawn ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drones&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be used in conjunction with hs_store_xferspw. Will transform a usable placeable into a standard merchant with basic conversation options for facilitating sales of player made items to other players.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_UP:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_DOWN:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_NO_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_YES_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt; (Can go from 0-5)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Appearance strings can be used to customize the appearance of the merchant. The toolset has a 1024 character limit per variable. If your appearance string is longer than 2048 characters, you&#039;ll need to make it less complex.&lt;br /&gt;
Store tag is used to differentiate stores in the player home. Multiple stores with multiple tags are supported (for different vendors with different inventories).&lt;br /&gt;
&lt;br /&gt;
Mark up and mark down prices on items function based on a standardized formula.&lt;br /&gt;
&lt;br /&gt;
* price = item value * (x-1000) where x is the markup variable. (You can get the item value of any item by using the player tool on it.).&lt;br /&gt;
&lt;br /&gt;
However there is a hard cap of 10 million gold that can be collected in the chest at any one time. Any gold collected after the cap is hit will be lost. Price and monitor carefully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_xferspw ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drone inventory&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be set to Plot. Must be Useable. And must have invetory.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Once set, the container can be used to place inventory items into the store for sale to other players. Once placed, the items will disappear and only be available through the Merchant interface used by hs_store_spawn.&lt;br /&gt;
Gold from all sales is collected when the player opens the chest. This is not security coded, so locking chests is recommended if you want to get paid for your work versus handing out free gold to any nosy person wandering in.&lt;br /&gt;
&lt;br /&gt;
Stacks of items placed in the chest will be sold as stacks. Individual items placed, are sold as single items. Ammo from ammo makers is not sellable and will be discarded if placed in the chest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevate and Rotate ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Elevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Elevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_plc_used_turn ===&lt;br /&gt;
Force &lt;br /&gt;
&lt;br /&gt;
Force &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnUsed&lt;br /&gt;
| G_TURN_BACK_DELAY : Integer&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_cbar_hb ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_onclickexamine ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_force_emote ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_makenboard ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_tipjar ===&lt;br /&gt;
&#039;&#039;&#039;Obtaining tips&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Will turn any placeable with an inventory into a usable tip jar. Ownership is coded to the house owner and will only supply the owner with the gold collected from the jar when they open it. All other uses will only see an empty box. Note, the tip function works only on gold passed, not other items. It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rotate Placable on Use ==&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_used_turn&lt;br /&gt;
&lt;br /&gt;
Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_TURN_BACK_DELAY : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a Placables Tag&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = home_tag&lt;br /&gt;
&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
&lt;br /&gt;
Variable: TAG : String&lt;br /&gt;
&lt;br /&gt;
Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:&lt;br /&gt;
&lt;br /&gt;
string GetHomeSafeTag(string sOriginalTag);&lt;br /&gt;
&lt;br /&gt;
string GetHomeTagByID(string sOriginalTag, int nHomeID);&lt;br /&gt;
Shackles (Bashable)&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
The script to allow a PC to bash free of the shackles . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = shckle_p_talk&lt;br /&gt;
&lt;br /&gt;
Trigger for shackle placeables.&lt;br /&gt;
Slave Tether&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Variable: CHAIN_LENGTH : Float&lt;br /&gt;
&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
&lt;br /&gt;
This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
Stores&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5374&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1090</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1090"/>
		<updated>2025-12-03T18:52:06Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_npc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tailor Models&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| HS_SPAWN_NPC_ID&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_spawn ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drones&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be used in conjunction with hs_store_xferspw. Will transform a usable placeable into a standard merchant with basic conversation options for facilitating sales of player made items to other players.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_UP:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_DOWN:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_NO_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_YES_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt; (Can go from 0-5)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Appearance strings can be used to customize the appearance of the merchant. The toolset has a 1024 character limit per variable. If your appearance string is longer than 2048 characters, you&#039;ll need to make it less complex.&lt;br /&gt;
Store tag is used to differentiate stores in the player home. Multiple stores with multiple tags are supported (for different vendors with different inventories).&lt;br /&gt;
&lt;br /&gt;
Mark up and mark down prices on items function based on a standardized formula.&lt;br /&gt;
&lt;br /&gt;
* price = item value * (x-1000) where x is the markup variable. (You can get the item value of any item by using the player tool on it.).&lt;br /&gt;
&lt;br /&gt;
However there is a hard cap of 10 million gold that can be collected in the chest at any one time. Any gold collected after the cap is hit will be lost. Price and monitor carefully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_xferspw ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drone inventory&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be set to Plot. Must be Useable. And must have invetory.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Once set, the container can be used to place inventory items into the store for sale to other players. Once placed, the items will disappear and only be available through the Merchant interface used by hs_store_spawn.&lt;br /&gt;
Gold from all sales is collected when the player opens the chest. This is not security coded, so locking chests is recommended if you want to get paid for your work versus handing out free gold to any nosy person wandering in.&lt;br /&gt;
&lt;br /&gt;
Stacks of items placed in the chest will be sold as stacks. Individual items placed, are sold as single items. Ammo from ammo makers is not sellable and will be discarded if placed in the chest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevations ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_cbar_hb ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_onclickexamine ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_force_emote ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_makenboard ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_tipjar ===&lt;br /&gt;
&#039;&#039;&#039;Obtaining tips&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Will turn any placeable with an inventory into a usable tip jar. Ownership is coded to the house owner and will only supply the owner with the gold collected from the jar when they open it. All other uses will only see an empty box. Note, the tip function works only on gold passed, not other items. It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rotate Placable on Use ==&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_used_turn&lt;br /&gt;
&lt;br /&gt;
Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_TURN_BACK_DELAY : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
Set a Placables Tag&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = home_tag&lt;br /&gt;
&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
&lt;br /&gt;
Variable: TAG : String&lt;br /&gt;
&lt;br /&gt;
Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:&lt;br /&gt;
&lt;br /&gt;
string GetHomeSafeTag(string sOriginalTag);&lt;br /&gt;
&lt;br /&gt;
string GetHomeTagByID(string sOriginalTag, int nHomeID);&lt;br /&gt;
Shackles (Bashable)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
The script to allow a PC to bash free of the shackles . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = shckle_p_talk&lt;br /&gt;
&lt;br /&gt;
Trigger for shackle placeables.&lt;br /&gt;
Slave Tether&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Variable: CHAIN_LENGTH : Float&lt;br /&gt;
&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
&lt;br /&gt;
This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
Stores&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5374&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1089</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1089"/>
		<updated>2025-12-03T17:42:18Z</updated>

		<summary type="html">&lt;p&gt;LockOn: spacing these out to fix for later.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_npc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tailor Models&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| HS_SPAWN_NPC_ID&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_spawn ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drones&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be used in conjunction with hs_store_xferspw. Will transform a usable placeable into a standard merchant with basic conversation options for facilitating sales of player made items to other players.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_UP:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_DOWN:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_NO_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_YES_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt; (Can go from 0-5)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Appearance strings can be used to customize the appearance of the merchant. The toolset has a 1024 character limit per variable. If your appearance string is longer than 2048 characters, you&#039;ll need to make it less complex.&lt;br /&gt;
Store tag is used to differentiate stores in the player home. Multiple stores with multiple tags are supported (for different vendors with different inventories).&lt;br /&gt;
&lt;br /&gt;
Mark up and mark down prices on items function based on a standardized formula.&lt;br /&gt;
&lt;br /&gt;
* price = item value * (x-1000) where x is the markup variable. (You can get the item value of any item by using the player tool on it.).&lt;br /&gt;
&lt;br /&gt;
However there is a hard cap of 10 million gold that can be collected in the chest at any one time. Any gold collected after the cap is hit will be lost. Price and monitor carefully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_xferspw ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drone inventory&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be set to Plot. Must be Useable. And must have invetory.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Once set, the container can be used to place inventory items into the store for sale to other players. Once placed, the items will disappear and only be available through the Merchant interface used by hs_store_spawn.&lt;br /&gt;
Gold from all sales is collected when the player opens the chest. This is not security coded, so locking chests is recommended if you want to get paid for your work versus handing out free gold to any nosy person wandering in.&lt;br /&gt;
&lt;br /&gt;
Stacks of items placed in the chest will be sold as stacks. Individual items placed, are sold as single items. Ammo from ammo makers is not sellable and will be discarded if placed in the chest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevations ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_cbar_hb ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== g_onclickexamine ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_force_emote ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== hs_hb_makenboard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== hs_tipjar ==&lt;br /&gt;
&#039;&#039;&#039;Obtaining tips&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Will turn any placeable with an inventory into a usable tip jar. Ownership is coded to the house owner and will only supply the owner with the gold collected from the jar when they open it. All other uses will only see an empty box. Note, the tip function works only on gold passed, not other items. It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rotate Placable on Use ==&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_used_turn&lt;br /&gt;
&lt;br /&gt;
Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_TURN_BACK_DELAY : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
Set a Placables Tag&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = home_tag&lt;br /&gt;
&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
&lt;br /&gt;
Variable: TAG : String&lt;br /&gt;
&lt;br /&gt;
Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:&lt;br /&gt;
&lt;br /&gt;
string GetHomeSafeTag(string sOriginalTag);&lt;br /&gt;
&lt;br /&gt;
string GetHomeTagByID(string sOriginalTag, int nHomeID);&lt;br /&gt;
Shackles (Bashable)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
The script to allow a PC to bash free of the shackles . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = shckle_p_talk&lt;br /&gt;
&lt;br /&gt;
Trigger for shackle placeables.&lt;br /&gt;
Slave Tether&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Variable: CHAIN_LENGTH : Float&lt;br /&gt;
&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
&lt;br /&gt;
This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
Stores&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5374&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1088</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1088"/>
		<updated>2025-12-03T17:36:19Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Moving around some of the scripts that were not labeled properly and have just been cut and pasted into the end of this page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_npc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tailor Models&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| HS_SPAWN_NPC_ID&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_spawn ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drones&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be used in conjunction with hs_store_xferspw. Will transform a usable placeable into a standard merchant with basic conversation options for facilitating sales of player made items to other players.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_UP:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_DOWN:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_NO_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_YES_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt; (Can go from 0-5)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Appearance strings can be used to customize the appearance of the merchant. The toolset has a 1024 character limit per variable. If your appearance string is longer than 2048 characters, you&#039;ll need to make it less complex.&lt;br /&gt;
Store tag is used to differentiate stores in the player home. Multiple stores with multiple tags are supported (for different vendors with different inventories).&lt;br /&gt;
&lt;br /&gt;
Mark up and mark down prices on items function based on a standardized formula.&lt;br /&gt;
&lt;br /&gt;
* price = item value * (x-1000) where x is the markup variable. (You can get the item value of any item by using the player tool on it.).&lt;br /&gt;
&lt;br /&gt;
However there is a hard cap of 10 million gold that can be collected in the chest at any one time. Any gold collected after the cap is hit will be lost. Price and monitor carefully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_xferspw ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drone inventory&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be set to Plot. Must be Useable. And must have invetory.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Once set, the container can be used to place inventory items into the store for sale to other players. Once placed, the items will disappear and only be available through the Merchant interface used by hs_store_spawn.&lt;br /&gt;
Gold from all sales is collected when the player opens the chest. This is not security coded, so locking chests is recommended if you want to get paid for your work versus handing out free gold to any nosy person wandering in.&lt;br /&gt;
&lt;br /&gt;
Stacks of items placed in the chest will be sold as stacks. Individual items placed, are sold as single items. Ammo from ammo makers is not sellable and will be discarded if placed in the chest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevations ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_cbar_hb ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== g_onclickexamine ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_force_emote ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== hs_hb_makenboard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== hs_tipjar ==&lt;br /&gt;
&#039;&#039;&#039;Obtaining tips&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Will turn any placeable with an inventory into a usable tip jar. Ownership is coded to the house owner and will only supply the owner with the gold collected from the jar when they open it. All other uses will only see an empty box. Note, the tip function works only on gold passed, not other items. It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rotate Placable on Use ==&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_used_turn&lt;br /&gt;
&lt;br /&gt;
Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_TURN_BACK_DELAY : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
Set a Placables Tag&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = home_tag&lt;br /&gt;
&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
&lt;br /&gt;
Variable: TAG : String&lt;br /&gt;
&lt;br /&gt;
Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:&lt;br /&gt;
&lt;br /&gt;
string GetHomeSafeTag(string sOriginalTag);&lt;br /&gt;
&lt;br /&gt;
string GetHomeTagByID(string sOriginalTag, int nHomeID);&lt;br /&gt;
Shackles (Bashable)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
The script to allow a PC to bash free of the shackles . Script: Placeable Used = shckle_p_talk&lt;br /&gt;
&lt;br /&gt;
Trigger for shackle placeables.&lt;br /&gt;
Slave Tether&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Variable: CHAIN_LENGTH : Float&lt;br /&gt;
&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
&lt;br /&gt;
This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
Stores&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5374&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_store_xferspw&lt;br /&gt;
&lt;br /&gt;
All items put in the inventory of this placeable will be moved to the store identified by the variable HS_STORE_TAG.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_STORE_TAG : String&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_store_spawn&lt;br /&gt;
&lt;br /&gt;
Turn a useable placeable into a merchant NPC. The merchant will open a store identified by the variable HS_STORE_TAG (10 characters max). You can fill that store with the hs_store_xferspw script.&lt;br /&gt;
&lt;br /&gt;
You can control the cost if the items with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_UP:&lt;br /&gt;
&lt;br /&gt;
is added to the stores default mark up percentage on items sold (-100 to 100)&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_DOWN:&lt;br /&gt;
&lt;br /&gt;
added to the stores default mark down percentage on items bought (-100 to 100)&lt;br /&gt;
&lt;br /&gt;
You can set the properties of the NPC with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_GENDER:&lt;br /&gt;
&lt;br /&gt;
1 for female, 0 for male&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_BODY_APPEARANCE:&lt;br /&gt;
&lt;br /&gt;
Use the body model to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_HEADV2:&lt;br /&gt;
&lt;br /&gt;
Use the body model, new heads section, to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_ARMOR_APPEARANCE:&lt;br /&gt;
&lt;br /&gt;
Use the tailoring model to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_0 - HS_SPAWN_VFX_5:&lt;br /&gt;
&lt;br /&gt;
Visual effects (horns, eyes, hat…), from the visualeffects.2da file.&lt;br /&gt;
&lt;br /&gt;
You can control what the NPC say with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_SOUND: Sound resref to play when the dialog start.&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION: Animation to play when the dialog start. Use the !EINFO command to find out the value of this variable.&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_TEXT&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_YES_TEXT&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_NO_TEXT&lt;br /&gt;
&lt;br /&gt;
Notes: - You can use the web client to copy the values spoken by the body or tailoring models. - You can&#039;t get the gold of your sales. This is a non-profit script. If you want to get gold from you items, you have to sell them yourself.&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_0 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_1 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_2 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_3 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_4 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_5 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_DOWN : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_UP : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_SOUND : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_NO_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_YES_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_ARMOR_APPEARANCE : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_BODY_APPEARANCE : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_GENDER : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_HEADV2 : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_TAG : String&lt;br /&gt;
Tailor NPCs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Dungeon_Running&amp;diff=1025</id>
		<title>Dungeon Running</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Dungeon_Running&amp;diff=1025"/>
		<updated>2025-07-20T16:54:36Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Sub title change on the christenholme dungeon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dungeon running in Sinfar is a long-established and deep game-play experience on Sinfar.  There are multiple dungeons with unique rewards available to dungeon runners who play through them.&lt;br /&gt;
&lt;br /&gt;
Below is a brief overview of the various dungeons available on the server.&lt;br /&gt;
&lt;br /&gt;
=== Shard Runs ===&lt;br /&gt;
Shard Run dungeons are considered the premium dungeon experience in Sinfar.  These dungeons require specific builds and tactics to be run efficiently and are considered the top tier dungeons on our Servers.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Name&lt;br /&gt;
!Abbreviation&lt;br /&gt;
|-&lt;br /&gt;
|Searing Chasm&lt;br /&gt;
|SC&lt;br /&gt;
|-&lt;br /&gt;
|Heaven vs Hell&lt;br /&gt;
|HvH&lt;br /&gt;
|-&lt;br /&gt;
|Crystal Archon Complex&lt;br /&gt;
|CAC&lt;br /&gt;
|-&lt;br /&gt;
|Dark Matter Dimension&lt;br /&gt;
|DMD&lt;br /&gt;
|-&lt;br /&gt;
|Path of Elements&lt;br /&gt;
|PoE&lt;br /&gt;
|-&lt;br /&gt;
|The Witch&#039;s Menagerie&lt;br /&gt;
|Witch&lt;br /&gt;
|-&lt;br /&gt;
|Bards Haunted Mansion&lt;br /&gt;
|BHM&lt;br /&gt;
|-&lt;br /&gt;
|Corrupted Town&lt;br /&gt;
|CT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Non-Shard Runs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Name&lt;br /&gt;
!Abbreviation&lt;br /&gt;
|-&lt;br /&gt;
|Christenholme&lt;br /&gt;
|None I know of?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Crystal Key Fragments ===&lt;br /&gt;
There are dungeons scattered on Main Server where you need to kill a set of 6 difference bosses which do drop Crystal Key Fragmets which can be used to open CAC or SC (But SC has also Glacier Keys so the Fragment Keys are used in 99% of time only for CAC).&lt;br /&gt;
&lt;br /&gt;
# The Lord of Terror can be found in the Icenfar cathedral deep in the forest, on the main floor of the cathedral near the pentagram. &lt;br /&gt;
# The Blight can be found underneath the cathedral by circling around it and using the entrance in the back. &lt;br /&gt;
# The Blighted King is in the burial grounds west of Icenfar town. Find a small hill with 2 opposing entrances, one of these is the entrance, the other the exit.&lt;br /&gt;
# The Ice Drake is in a cave at the top of the Icenfar mountain. &lt;br /&gt;
# The Frost Giant King is inside said mountain. Approach the mountain from the south, go east 1 map and head north to find the entrance cave near a spawn of feral bears. Inside the mountain, head straight till you find a cave entrance guarded by ice themed monsters. &lt;br /&gt;
# The Ender of Fate can be found close to the dwarven kingdom inside the Icenfar mountain. In the town of Icenfar is a building guarded by a single NPC, enter and then enter the hole in the ground. Make your way through the long path and you&#039;ll approach the gates to the dwarven kingdom from the south, head west instead to find a dwarf riding a hog guarding a spiral way up to the Ender of Fate.&lt;br /&gt;
&lt;br /&gt;
==== Crystal Key Fragments can be also collected on Arche Terre ====&lt;br /&gt;
&lt;br /&gt;
# The Ender of Fate - North of Hivernales a chromatic dragon (Also drops Grimoar of Eldritch Secrets which is a Key to summon the Witch) &lt;br /&gt;
# Ice King - A king of Yetis in Hivernales (Also drops  Witch Staff  which is a Key to summon the Witch) &lt;br /&gt;
# Undead Mausoleum beneath Mur Cemetery &lt;br /&gt;
# The Blight west of Aztika (Also drops Witches Hat which is a Key to summon the Witch) &lt;br /&gt;
# The Lord of Terror - Beneath Hivernales Yeti tunnels  (Also drops Witches Pipe which is a Key to summon the Witch) &lt;br /&gt;
# Ice Dragon accessible from tunnel in Everneige - Belmorga Pass&lt;br /&gt;
&lt;br /&gt;
==== Path of Elements Book Locations ====&lt;br /&gt;
The Compass key, which unlocks the PoE entrance, requires 3 different Books to create. &lt;br /&gt;
&lt;br /&gt;
# One book is found on the Devastation Spider in the spider caves of Forest of Eternity (main island). &lt;br /&gt;
# The 2nd Book can be found on the lower level of Hamunaptra, the Saban pyramid (main island). &lt;br /&gt;
# The 3rd Book can be found in the Yeti caves in Hivernales, in the hills (Arche Terre).&lt;br /&gt;
&lt;br /&gt;
=== Arche Terre&#039;s Tunnel System ===&lt;br /&gt;
System with shared mechanics in terms of LEVEL SCALING as some of these dungeons will have creatures that differ in power and level so that you can enter as lv1 or even as lv40 they work as levelling roads too but yield a good loot and reveal some AT related drops etc... the party size will affect difficulty as well as more party members equals more enemies&lt;br /&gt;
&lt;br /&gt;
* House of Terror :  Port Embria - Riverbend&lt;br /&gt;
* Skinners :  Embria Road - The River&lt;br /&gt;
* Minotaurs :  Smithy Volcano Mountain&lt;br /&gt;
* Ant Tunnels : Deep Ancestral Pineforest Road&lt;br /&gt;
* Ponies : Northern Road - Rocky Highlands&lt;br /&gt;
* Troll Tunnels : West Road - South - Campsite&lt;br /&gt;
* Cult of Leviathan : Pirate Airship Transport&lt;br /&gt;
* Saltmarsh : Durakiss - Approach&lt;br /&gt;
* Rogue&#039;s Challenge : West Road - South - Runoff&lt;br /&gt;
* Pirate&#039;s Cove (Sambrune Road)&lt;br /&gt;
&lt;br /&gt;
=== Arche Terre&#039;s bonus dungeons ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(These are not part of the tunnel system afaik but obey the same rules as them) &lt;br /&gt;
&lt;br /&gt;
# Inquisition : Durakiss - North (There are Inqusitors spawns over on Arche around Blacklake and Durakiss if you ddefeat the lord inquisitor in Castle Justice you will make the roads safer for a week or so)&lt;br /&gt;
# Surt the king of Ogres : Special dungeon you need a key from ogre elite then you can open a path in there thru a AT captain Anika • 5 Chromatic Dragons quest&amp;lt;blockquote&amp;gt;► Blue (Arid Stale Tunnel - Sambrune) &lt;br /&gt;
&lt;br /&gt;
► Red  (Foul Smelling Cave - Mur Moutains) &lt;br /&gt;
&lt;br /&gt;
► Black (Putrid Bog Hole - Aztika) &lt;br /&gt;
&lt;br /&gt;
► Green (Noxious Meadow - West Roads) &lt;br /&gt;
&lt;br /&gt;
► White (Frigid Ice Cave - Hivernales)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Spider Queen (Deep Ancestral Pineforest Road - There are Spiders spawns over on Arche around Deep Ancestral Pineforest if you defeat the Spider Queen in her lair  you will make the roads safer for a week or so)&lt;br /&gt;
# Necromancer Quest ( South East Coast - Elysium Track - very difficult dungeon with a single encounter if you collected dragon parts from previous quest)&lt;br /&gt;
# Gnoll&#039;s Blood God (Sambrune Desert)&lt;br /&gt;
# Rhemoraz (Mystic Cave - Hivernales)&lt;br /&gt;
# Lizardfolk Camp (Sambrune Road)&lt;br /&gt;
&lt;br /&gt;
=== Arche Terre World Plot Dungeons ===&lt;br /&gt;
Obeys same rules as tunnel system in terms of party size difficulty increment (needs special keys and unlike the others is part of the Arche Terre&#039;s world plot story) &lt;br /&gt;
&lt;br /&gt;
• Instarius : Blacklake Draal - Lake &lt;br /&gt;
&lt;br /&gt;
• The Vessle : Sambrune - Graves&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sinfar Dungeons&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
===== Christenholme, the Decaying City =====&lt;br /&gt;
The Dungeon of Christenholme is on the main Sinifer Server and it&#039;s connected to the Palace of Coins Casino which is found in the server hub&#039;s waterfront area, and it&#039;s systems are intimately tied into the gambling system found within. Compromised of four areas- Shalamoya, The Broken Harbor- Shalamoya, the Decaying City- Shalamoya: Crumbling Homes- and Shalamoya - Christenholme - The Church of Them. The players explore a city who has been overtaken by some strange slime and slowly uncover the state of the city as it collapsed under the weight of false worship, tyranny, and the plague which spread among them.&lt;br /&gt;
&lt;br /&gt;
The Dungeon sees spurts in development as new features are added and developed. The loot can either be sold for gold or donated for Casino Tokens to play the games at the Palace of Coins.&lt;br /&gt;
&lt;br /&gt;
Players can influence the direction and the hopes of the citizens of the Broken Harbor by contributing and communicating with the builder of the area, XCRs Bitch.&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Builder_List&amp;diff=1021</id>
		<title>Builder List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Builder_List&amp;diff=1021"/>
		<updated>2025-07-19T19:26:51Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Builder List&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Builder List by Island ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Island&lt;br /&gt;
!Builder&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&#039;&#039;&#039;Sinfar Islands&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Angellos Island&lt;br /&gt;
|Hadikori&lt;br /&gt;
|-&lt;br /&gt;
|Cinder Isle&lt;br /&gt;
|Zephyrys&lt;br /&gt;
|-&lt;br /&gt;
|Forest of Eternity&lt;br /&gt;
|None&lt;br /&gt;
|-&lt;br /&gt;
|Leisure Isle&lt;br /&gt;
|None&lt;br /&gt;
|-&lt;br /&gt;
|Lotus Isles&lt;br /&gt;
|Hadikori&lt;br /&gt;
|-&lt;br /&gt;
|Middle of Nowhere&lt;br /&gt;
|None&lt;br /&gt;
|-&lt;br /&gt;
|Sakura&lt;br /&gt;
|Leikeze&lt;br /&gt;
|-&lt;br /&gt;
|Port Saban&lt;br /&gt;
|Kezef&lt;br /&gt;
|-&lt;br /&gt;
|Darkmist&lt;br /&gt;
|Violet, Fading&lt;br /&gt;
|-&lt;br /&gt;
|Shadebrook Village&lt;br /&gt;
|Ghost Type&lt;br /&gt;
|-&lt;br /&gt;
|Sinfar Island&lt;br /&gt;
|LockOn&lt;br /&gt;
|-&lt;br /&gt;
|Urskoy&lt;br /&gt;
|Ghost Type&lt;br /&gt;
|-&lt;br /&gt;
|Wyrmtooth Island&lt;br /&gt;
|Fallen Angel&lt;br /&gt;
|-&lt;br /&gt;
|Esus&lt;br /&gt;
|Fallen Angel&lt;br /&gt;
|-&lt;br /&gt;
|Sinfar Isle - The Slums&lt;br /&gt;
|XCR&#039;s Bitch&lt;br /&gt;
|-&lt;br /&gt;
|Lenny&#039;s Isle&lt;br /&gt;
|ChittychittyBangbang&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&#039;&#039;&#039;Outer Isles&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Aeon Empire&lt;br /&gt;
|Carcerian&lt;br /&gt;
|-&lt;br /&gt;
|Aeon Nim&lt;br /&gt;
|Atomic Blonde&lt;br /&gt;
|-&lt;br /&gt;
|Aglon&lt;br /&gt;
|Eternal Serenity&lt;br /&gt;
|-&lt;br /&gt;
|Cat Ta Berry&lt;br /&gt;
|She lonely&lt;br /&gt;
|-&lt;br /&gt;
|Celestial Anvil&lt;br /&gt;
|None&lt;br /&gt;
|-&lt;br /&gt;
|Copa Tel Morilinde&lt;br /&gt;
|None&lt;br /&gt;
|-&lt;br /&gt;
|Granas Falls&lt;br /&gt;
|None&lt;br /&gt;
|-&lt;br /&gt;
|Aossi Isle&lt;br /&gt;
|Busy_BZ_Bee&lt;br /&gt;
|-&lt;br /&gt;
|Icenfar&lt;br /&gt;
|Badger&lt;br /&gt;
|-&lt;br /&gt;
|Kissmet&lt;br /&gt;
|Road Apples&lt;br /&gt;
|-&lt;br /&gt;
|Lost World: Village of Psamathe&lt;br /&gt;
|Road Apples&lt;br /&gt;
|-&lt;br /&gt;
|Moonvale&lt;br /&gt;
|Fallen Angel&lt;br /&gt;
|-&lt;br /&gt;
|Radatonga&lt;br /&gt;
|Carcerian&lt;br /&gt;
|-&lt;br /&gt;
|Ruins of Illswyn&lt;br /&gt;
|Busy_BZ_Bee&lt;br /&gt;
|-&lt;br /&gt;
|Sandy Moore&lt;br /&gt;
|Eternal Serenity&lt;br /&gt;
|-&lt;br /&gt;
|Maurnan V&#039;dre&lt;br /&gt;
|Carcerian&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Arche Terre&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Spankitty Overall&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Che&#039;El Oloth&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Competition Island&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Durakiss&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Elysium Port&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Hivernales&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Lomidar Village&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Lost Lands&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Mur County&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Mur Harbor&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Mur Village&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Port Embria&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sambrune&lt;br /&gt;
|Stranger&lt;br /&gt;
|-&lt;br /&gt;
|Tal En&#039;Dae&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tal&#039;Malelee&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Whiteharbor&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&#039;&#039;&#039;Dread Isles&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Dungeon Island&lt;br /&gt;
|ItsaBadger&lt;br /&gt;
|-&lt;br /&gt;
|Faerun&lt;br /&gt;
|Carcerian&lt;br /&gt;
|-&lt;br /&gt;
|Kara tur&lt;br /&gt;
|Hadikori&lt;br /&gt;
|-&lt;br /&gt;
|Isle of Dread&lt;br /&gt;
|Xordac&lt;br /&gt;
|-&lt;br /&gt;
|Skull Island&lt;br /&gt;
|Dynama/Stranger&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Main_Page&amp;diff=1020</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Main_Page&amp;diff=1020"/>
		<updated>2025-07-19T19:20:03Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Added the builder list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to the &#039;&#039;&#039;Sinfar Wiki&#039;&#039;&#039;==&lt;br /&gt;
Here you will find information about the server, its various areas and systems, guides and introductions. This Wiki is made up of user-submitted articles, and you can make your own contributions. You will require a functioning [[Sinfar account]] to log in and you can help us organize how to do our styling and formatting. Be sure to join our [https://discord.gg/sinfar Discord] and check the [https://forum.sinfar.net/ Forums].&lt;br /&gt;
&lt;br /&gt;
When making new or editing existing articles, please respect that any article on here should be written in as an objective manner as possible, focusing on facts and information. If you write info about areas of the server, please avoid spoiling surprises and focus instead on general things and/or the area history. Articles may include specific characters who may hold prominent positions, but should not be a substitute for the in-game descriptions available on nwn.sinfar.net and in game. Please see [[Contributing]] for further details.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--I&#039;d like to add a search box here but I want it to look nice (see Star Citizen wiki for examples). Will need to add extensions.--&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;span style=&amp;quot;color:#955919&amp;gt; for the golden text colour&amp;lt;/span&amp;gt;--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot; margin: auto;text-align: center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;&amp;lt;big&amp;gt;&amp;lt;center&amp;gt;New to Sinfar or NWN? Look up the following guides to get started.&amp;lt;/center&amp;gt;&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[About Sinfar]] || [[Getting Started]] || [[Recommended Settings]] || [[Solving Client or Connection Issues]]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|&#039;&#039;&#039;&amp;lt;center&amp;gt;Returning or just need the necessary downloads?&amp;lt;/center&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center;&amp;quot;|Download for the Sinfar [[Hak Files]] ||colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center;&amp;quot;|Download for the [[Sinfar Client Extender (SinfarX)]]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center&amp;quot;|&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;&amp;lt;center&amp;gt;Also be sure to read up on our [[Rules]]!&amp;lt;/center&amp;gt;&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
You can find information for players, supporters and builders.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&#039;&#039;&#039;For Players&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Character Customisation]]&lt;br /&gt;
|[[Dungeon Running]]&lt;br /&gt;
|[[Chat Commands]]&lt;br /&gt;
|[[Magical Items]]&lt;br /&gt;
|[[House Scripts]]&lt;br /&gt;
|[[Player Housing]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Class Changes]]&lt;br /&gt;
|[[Feat Changes]]&lt;br /&gt;
|[[Spell Changes]]&lt;br /&gt;
|[[Chat Channels]]&lt;br /&gt;
|[[Custom Emotes]]&lt;br /&gt;
|[[Class Bonuses]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Suporters&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Custom Scripting]]&lt;br /&gt;
|[[Your Resources]]&lt;br /&gt;
|[[All Supporter Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Builders&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Creature Event System]]&lt;br /&gt;
|[[Registered Events]]&lt;br /&gt;
|[[Variable Events]]&lt;br /&gt;
|[[Builder List]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Scripters&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Common Includes]]&lt;br /&gt;
|[[:Category:Systems|Scripting Systems]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |The following categories are set up and should be set on relevant new pages. More categories can be applied.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builder Contributions|Builder Contributions]]&lt;br /&gt;
|For guides and instructions on your ERFs and contributions. Generally only useful for other builders. &lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builders Tools|Builders Tools]]&lt;br /&gt;
|Guides and instructions of various Sinfar tools specifically for builders.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Sinfar Supporters|Sinfar Supporters]]&lt;br /&gt;
|Tools for Supporters to use primarily within their houses.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Player Businesses|Player Businesses]]&lt;br /&gt;
|Lore articles for in-game establishments.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builder Businesses|Builder Businesses]]&lt;br /&gt;
|Instructions and details about businesses made by builders that exist outside player houses.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Player Tools|Player Tools]]&lt;br /&gt;
|Various useful tools and pages for all players.&lt;br /&gt;
|}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Dungeon_Running&amp;diff=1019</id>
		<title>Dungeon Running</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Dungeon_Running&amp;diff=1019"/>
		<updated>2025-07-19T18:47:19Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Clean up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dungeon running in Sinfar is a long-established and deep game-play experience on Sinfar.  There are multiple dungeons with unique rewards available to dungeon runners who play through them.&lt;br /&gt;
&lt;br /&gt;
Below is a brief overview of the various dungones available on the server.&lt;br /&gt;
&lt;br /&gt;
=== Shard Runs ===&lt;br /&gt;
Shard Run dungeons are considered the premium dungeon experience in Sinfar.  These dungeons require specific builds and tactics to be run efficiently and are considered the top tier dungeons on our Servers.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Name&lt;br /&gt;
!Abbreviation&lt;br /&gt;
|-&lt;br /&gt;
|Searing Chasm&lt;br /&gt;
|SC&lt;br /&gt;
|-&lt;br /&gt;
|Heaven vs Hell&lt;br /&gt;
|HvH&lt;br /&gt;
|-&lt;br /&gt;
|Crystal Archon Complex&lt;br /&gt;
|CAC&lt;br /&gt;
|-&lt;br /&gt;
|Dark Matter Dimension&lt;br /&gt;
|DMD&lt;br /&gt;
|-&lt;br /&gt;
|Path of Elements&lt;br /&gt;
|PoE&lt;br /&gt;
|-&lt;br /&gt;
|The Witch&#039;s Menagerie&lt;br /&gt;
|Witch&lt;br /&gt;
|-&lt;br /&gt;
|Bards Haunted Mansion&lt;br /&gt;
|BHM&lt;br /&gt;
|-&lt;br /&gt;
|Corrupted Town&lt;br /&gt;
|CT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Crystal Key Fragments ===&lt;br /&gt;
There are dungeons scattered on Main Server where you need to kill a set of 6 difference bosses which do drop Crystal Key Fragmets which can be used to open CAC or SC (But SC has also Glacier Keys so the Fragment Keys are used in 99% of time only for CAC).&lt;br /&gt;
&lt;br /&gt;
# The Lord of Terror can be found in the Icenfar cathedral deep in the forest, on the main floor of the cathedral near the pentagram. &lt;br /&gt;
# The Blight can be found underneath the cathedral by circling around it and using the entrance in the back. &lt;br /&gt;
# The Blighted King is in the burial grounds west of Icenfar town. Find a small hill with 2 opposing entrances, one of these is the entrance, the other the exit.&lt;br /&gt;
# The Ice Drake is in a cave at the top of the Icenfar mountain. &lt;br /&gt;
# The Frost Giant King is inside said mountain. Approach the mountain from the south, go east 1 map and head north to find the entrance cave near a spawn of feral bears. Inside the mountain, head straight till you find a cave entrance guarded by ice themed monsters. &lt;br /&gt;
# The Ender of Fate can be found close to the dwarven kingdom inside the Icenfar mountain. In the town of Icenfar is a building guarded by a single NPC, enter and then enter the hole in the ground. Make your way through the long path and you&#039;ll approach the gates to the dwarven kingdom from the south, head west instead to find a dwarf riding a hog guarding a spiral way up to the Ender of Fate.&lt;br /&gt;
&lt;br /&gt;
==== Crystal Key Fragments can be also collected on Arche Terre ====&lt;br /&gt;
&lt;br /&gt;
# The Ender of Fate - North of Hivernales a chromatic dragon (Also drops Grimoar of Eldritch Secrets which is a Key to summon the Witch) &lt;br /&gt;
# Ice King - A king of Yetis in Hivernales (Also drops  Witch Staff  which is a Key to summon the Witch) &lt;br /&gt;
# Undead Mausoleum beneath Mur Cemetery &lt;br /&gt;
# The Blight west of Aztika (Also drops Witches Hat which is a Key to summon the Witch) &lt;br /&gt;
# The Lord of Terror - Beneath Hivernales Yeti tunnels  (Also drops Witches Pipe which is a Key to summon the Witch) &lt;br /&gt;
# Ice Dragon accessible from tunnel in Everneige - Belmorga Pass&lt;br /&gt;
&lt;br /&gt;
==== Path of Elements Book Locations ====&lt;br /&gt;
The Compass key, which unlocks the PoE entrance, requires 3 different Books to create. &lt;br /&gt;
&lt;br /&gt;
# One book is found on the Devastation Spider in the spider caves of Forest of Eternity (main island). &lt;br /&gt;
# The 2nd Book can be found on the lower level of Hamunaptra, the Saban pyramid (main island). &lt;br /&gt;
# The 3rd Book can be found in the Yeti caves in Hivernales, in the hills (Arche Terre).&lt;br /&gt;
&lt;br /&gt;
=== Arche Terre&#039;s Tunnel System ===&lt;br /&gt;
System with shared mechanics in terms of LEVEL SCALING as some of these dungeons will have creatures that differ in power and level so that you can enter as lv1 or even as lv40 they work as levelling roads too but yield a good loot and reveal some AT related drops etc... the party size will affect difficulty as well as more party members equals more enemies&lt;br /&gt;
&lt;br /&gt;
* House of Terror :  Port Embria - Riverbend&lt;br /&gt;
* Skinners :  Embria Road - The River&lt;br /&gt;
* Minotaurs :  Smithy Volcano Mountain&lt;br /&gt;
* Ant Tunnels : Deep Ancestral Pineforest Road&lt;br /&gt;
* Ponies : Northern Road - Rocky Highlands&lt;br /&gt;
* Troll Tunnels : West Road - South - Campsite&lt;br /&gt;
* Cult of Leviathan : Pirate Airship Transport&lt;br /&gt;
* Saltmarsh : Durakiss - Approach&lt;br /&gt;
* Rogue&#039;s Challenge : West Road - South - Runoff&lt;br /&gt;
* Pirate&#039;s Cove (Sambrune Road)&lt;br /&gt;
&lt;br /&gt;
=== Arche Terre&#039;s bonus dungeons ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(These are not part of the tunnel system afaik but obey the same rules as them) &lt;br /&gt;
&lt;br /&gt;
# Inquisition : Durakiss - North (There are Inqusitors spawns over on Arche around Blacklake and Durakiss if you ddefeat the lord inquisitor in Castle Justice you will make the roads safer for a week or so)&lt;br /&gt;
# Surt the king of Ogres : Special dungeon you need a key from ogre elite then you can open a path in there thru a AT captain Anika • 5 Chromatic Dragons quest&amp;lt;blockquote&amp;gt;► Blue (Arid Stale Tunnel - Sambrune) &lt;br /&gt;
&lt;br /&gt;
► Red  (Foul Smelling Cave - Mur Moutains) &lt;br /&gt;
&lt;br /&gt;
► Black (Putrid Bog Hole - Aztika) &lt;br /&gt;
&lt;br /&gt;
► Green (Noxious Meadow - West Roads) &lt;br /&gt;
&lt;br /&gt;
► White (Frigid Ice Cave - Hivernales)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Spider Queen (Deep Ancestral Pineforest Road - There are Spiders spawns over on Arche around Deep Ancestral Pineforest if you defeat the Spider Queen in her lair  you will make the roads safer for a week or so)&lt;br /&gt;
# Necromancer Quest ( South East Coast - Elysium Track - very difficult dungeon with a single encounter if you collected dragon parts from previous quest)&lt;br /&gt;
# Gnoll&#039;s Blood God (Sambrune Desert)&lt;br /&gt;
# Rhemoraz (Mystic Cave - Hivernales)&lt;br /&gt;
# Lizardfolk Camp (Sambrune Road)&lt;br /&gt;
&lt;br /&gt;
=== Arche Terre World Plot Dungeons ===&lt;br /&gt;
Obeys same rules as tunnel system in terms of party size difficulty increment (needs special keys and unlike the others is part of the Arche Terre&#039;s world plot story) &lt;br /&gt;
&lt;br /&gt;
• Instarius : Blacklake Draal - Lake &lt;br /&gt;
&lt;br /&gt;
• The Vessle : Sambrune - Graves&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Dungeon_Running&amp;diff=1018</id>
		<title>Dungeon Running</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Dungeon_Running&amp;diff=1018"/>
		<updated>2025-07-19T18:44:13Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Created our Dungeon Summary Page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dungeon running in Sinfar is a long-established and deep game-play experience on Sinfar.  There are multiple dungeons with unique rewards available to dungeon runners who play through them.&lt;br /&gt;
&lt;br /&gt;
Below is a brief overview of the various dungones available on the server.&lt;br /&gt;
&lt;br /&gt;
=== Shard Runs ===&lt;br /&gt;
Shard Run dungeons are considered the premium dungeon experience in Sinfar.  These dungeons require specific builds and tactics to be run efficiently and are considered the top tier dungeons on our Servers.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Name&lt;br /&gt;
!Abbreviation&lt;br /&gt;
|-&lt;br /&gt;
|Searing Chasm&lt;br /&gt;
|SC&lt;br /&gt;
|-&lt;br /&gt;
|Heaven vs Hell&lt;br /&gt;
|HvH&lt;br /&gt;
|-&lt;br /&gt;
|Crystal Archon Complex&lt;br /&gt;
|CAC&lt;br /&gt;
|-&lt;br /&gt;
|Dark Matter Dimension&lt;br /&gt;
|DMD&lt;br /&gt;
|-&lt;br /&gt;
|Path of Elements&lt;br /&gt;
|PoE&lt;br /&gt;
|-&lt;br /&gt;
|The Witch&#039;s Menagerie&lt;br /&gt;
|Witch&lt;br /&gt;
|-&lt;br /&gt;
|Bards Haunted Mansion&lt;br /&gt;
|BHM&lt;br /&gt;
|-&lt;br /&gt;
|Corrupted Town&lt;br /&gt;
|CT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Crystal Key Fragments ===&lt;br /&gt;
There are dungeons scattered on Main Server where you need to kill a set of 6 difference bosses which do drop Crystal Key Fragmets which can be used to open CAC or SC (But SC has also Glacier Keys so the Fragment Keys are used in 99% of time only for CAC).&lt;br /&gt;
&lt;br /&gt;
# The Lord of Terror can be found in the Icenfar cathedral deep in the forest, on the main floor of the cathedral near the pentagram. &lt;br /&gt;
# The Blight can be found underneath the cathedral by circling around it and using the entrance in the back. &lt;br /&gt;
# The Blighted King is in the burial grounds west of Icenfar town. Find a small hill with 2 opposing entrances, one of these is the entrance, the other the exit.&lt;br /&gt;
# The Ice Drake is in a cave at the top of the Icenfar mountain. &lt;br /&gt;
# The Frost Giant King is inside said mountain. Approach the mountain from the south, go east 1 map and head north to find the entrance cave near a spawn of feral bears. Inside the mountain, head straight till you find a cave entrance guarded by ice themed monsters. &lt;br /&gt;
# The Ender of Fate can be found close to the dwarven kingdom inside the Icenfar mountain. In the town of Icenfar is a building guarded by a single NPC, enter and then enter the hole in the ground. Make your way through the long path and you&#039;ll approach the gates to the dwarven kingdom from the south, head west instead to find a dwarf riding a hog guarding a spiral way up to the Ender of Fate.&lt;br /&gt;
&lt;br /&gt;
==== Crystal Key Fragments can be also collected on Arche Terre ====&lt;br /&gt;
&lt;br /&gt;
# The Ender of Fate - North of Hivernales a chromatic dragon (Also drops Grimoar of Eldritch Secrets which is a Key to summon the Witch) &lt;br /&gt;
# Ice King - A king of Yetis in Hivernales (Also drops  Witch Staff  which is a Key to summon the Witch) &lt;br /&gt;
# Undead Mausoleum beneath Mur Cemetery &lt;br /&gt;
# The Blight west of Aztika (Also drops Witches Hat which is a Key to summon the Witch) &lt;br /&gt;
# The Lord of Terror - Beneath Hivernales Yeti tunnels  (Also drops Witches Pipe which is a Key to summon the Witch) &lt;br /&gt;
# Ice Dragon accessible from tunnel in Everneige - Belmorga Pass&lt;br /&gt;
&lt;br /&gt;
==== Path of Elements Book Locations ====&lt;br /&gt;
The Compass key, which unlocks the PoE entrance, requires 3 different Books to create. &lt;br /&gt;
&lt;br /&gt;
# One book is found on the Devastation Spider in the spider caves of Forest of Eternity (main island). &lt;br /&gt;
# The 2nd Book can be found on the lower level of Hamunaptra, the Saban pyramid (main island). &lt;br /&gt;
# The 3rd Book can be found in the Yeti caves in Hivernales, in the hills (Arche Terre).&lt;br /&gt;
&lt;br /&gt;
=== Arche Terre&#039;s Tunnel System ===&lt;br /&gt;
System with shared mechanics in terms of LEVEL SCALING as some of these dungeons will have creatures that differ in power and level so that you can enter as lv1 or even as lv40 they work as levelling roads too but yield a good loot and reveal some AT related drops etc... the party size will affect difficulty as well as more party members equals more enemies&lt;br /&gt;
&lt;br /&gt;
• House of Terror :  Port Embria - Riverbend &lt;br /&gt;
&lt;br /&gt;
• Skinners :  Embria Road - The River &lt;br /&gt;
&lt;br /&gt;
• Minotaurs :  Smithy Volcano Mountain &lt;br /&gt;
&lt;br /&gt;
• Ant Tunnels : Deep Ancestral Pineforest Road &lt;br /&gt;
&lt;br /&gt;
• Ponies : Northern Road - Rocky Highlands &lt;br /&gt;
&lt;br /&gt;
• Troll Tunnels : West Road - South - Campsite &lt;br /&gt;
&lt;br /&gt;
• Cult of Leviathan : Pirate Airship Transport &lt;br /&gt;
&lt;br /&gt;
• Saltmarsh : Durakiss - Approach &lt;br /&gt;
&lt;br /&gt;
• Rogue&#039;s Challenge : West Road - South - Runoff &lt;br /&gt;
&lt;br /&gt;
• Pirate&#039;s Cove (Sambrune Road)&lt;br /&gt;
&lt;br /&gt;
=== Arche Terre&#039;s bonus dungeons ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(These are not part of the tunnel system afaik but obey the same rules as them) &lt;br /&gt;
&lt;br /&gt;
• Inquisition : Durakiss - North (There are Inqusitors spawns over on Arche around Blacklake and Durakiss if you ddefeat the lord inquisitor in Castle Justice you will make the roads safer for a week or so) &lt;br /&gt;
&lt;br /&gt;
• Surt the king of Ogres : Special dungeon you need a key from ogre elite then you can open a path in there thru a AT captain Anika • 5 Chromatic Dragons quest&amp;lt;blockquote&amp;gt;► Blue (Arid Stale Tunnel - Sambrune) &lt;br /&gt;
&lt;br /&gt;
► Red  (Foul Smelling Cave - Mur Moutains) &lt;br /&gt;
&lt;br /&gt;
► Black (Putrid Bog Hole - Aztika) &lt;br /&gt;
&lt;br /&gt;
► Green (Noxious Meadow - West Roads) &lt;br /&gt;
&lt;br /&gt;
► White (Frigid Ice Cave - Hivernales)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
• Spider Queen (Deep Ancestral Pineforest Road - There are Spiders spawns over on Arche around Deep Ancestral Pineforest if you defeat the Spider Queen in her lair  you will make the roads safer for a week or so) &lt;br /&gt;
&lt;br /&gt;
• Necromancer Quest ( South East Coast - Elysium Track - very difficult dungeon with a single encounter if you collected dragon parts from previous quest) &lt;br /&gt;
&lt;br /&gt;
• Gnoll&#039;s Blood God (Sambrune Desert) &lt;br /&gt;
&lt;br /&gt;
• Rhemoraz (Mystic Cave - Hivernales) &lt;br /&gt;
&lt;br /&gt;
• Lizardfolk Camp (Sambrune Road)&lt;br /&gt;
&lt;br /&gt;
=== Arche Terre World Plot Dungeons ===&lt;br /&gt;
Obeys same rules as tunnel system in terms of party size difficulty increment (needs special keys and unlike the others is part of the Arche Terre&#039;s world plot story) &lt;br /&gt;
&lt;br /&gt;
• Instarius : Blacklake Draal - Lake &lt;br /&gt;
&lt;br /&gt;
• The Vessle : Sambrune - Graves&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Main_Page&amp;diff=1017</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Main_Page&amp;diff=1017"/>
		<updated>2025-07-19T18:28:02Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Trying to get the new page done.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to the &#039;&#039;&#039;Sinfar Wiki&#039;&#039;&#039;==&lt;br /&gt;
Here you will find information about the server, its various areas and systems, guides and introductions. This Wiki is made up of user-submitted articles, and you can make your own contributions. You will require a functioning [[Sinfar account]] to log in and you can help us organize how to do our styling and formatting. Be sure to join our [https://discord.gg/sinfar Discord] and check the [https://forum.sinfar.net/ Forums].&lt;br /&gt;
&lt;br /&gt;
When making new or editing existing articles, please respect that any article on here should be written in as an objective manner as possible, focusing on facts and information. If you write info about areas of the server, please avoid spoiling surprises and focus instead on general things and/or the area history. Articles may include specific characters who may hold prominent positions, but should not be a substitute for the in-game descriptions available on nwn.sinfar.net and in game. Please see [[Contributing]] for further details.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--I&#039;d like to add a search box here but I want it to look nice (see Star Citizen wiki for examples). Will need to add extensions.--&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;span style=&amp;quot;color:#955919&amp;gt; for the golden text colour&amp;lt;/span&amp;gt;--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot; margin: auto;text-align: center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;&amp;lt;big&amp;gt;&amp;lt;center&amp;gt;New to Sinfar or NWN? Look up the following guides to get started.&amp;lt;/center&amp;gt;&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[About Sinfar]] || [[Getting Started]] || [[Recommended Settings]] || [[Solving Client or Connection Issues]]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|&#039;&#039;&#039;&amp;lt;center&amp;gt;Returning or just need the necessary downloads?&amp;lt;/center&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center;&amp;quot;|Download for the Sinfar [[Hak Files]] ||colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center;&amp;quot;|Download for the [[Sinfar Client Extender (SinfarX)]]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center&amp;quot;|&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;&amp;lt;center&amp;gt;Also be sure to read up on our [[Rules]]!&amp;lt;/center&amp;gt;&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
You can find information for players, supporters and builders.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&#039;&#039;&#039;For Players&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Character Customisation]]&lt;br /&gt;
|[[Dungeon Running]]&lt;br /&gt;
|[[Chat Commands]]&lt;br /&gt;
|[[Magical Items]]&lt;br /&gt;
|[[House Scripts]]&lt;br /&gt;
|[[Player Housing]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Class Changes]]&lt;br /&gt;
|[[Feat Changes]]&lt;br /&gt;
|[[Spell Changes]]&lt;br /&gt;
|[[Chat Channels]]&lt;br /&gt;
|[[Custom Emotes]]&lt;br /&gt;
|[[Class Bonuses]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Suporters&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Custom Scripting]]&lt;br /&gt;
|[[Your Resources]]&lt;br /&gt;
|[[All Supporter Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Builders&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Creature Event System]]&lt;br /&gt;
|[[Registered Events]]&lt;br /&gt;
|[[Variable Events]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Scripters&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Common Includes]]&lt;br /&gt;
|[[:Category:Systems|Scripting Systems]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |The following categories are set up and should be set on relevant new pages. More categories can be applied.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builder Contributions|Builder Contributions]]&lt;br /&gt;
|For guides and instructions on your ERFs and contributions. Generally only useful for other builders. &lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builders Tools|Builders Tools]]&lt;br /&gt;
|Guides and instructions of various Sinfar tools specifically for builders.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Sinfar Supporters|Sinfar Supporters]]&lt;br /&gt;
|Tools for Supporters to use primarily within their houses.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Player Businesses|Player Businesses]]&lt;br /&gt;
|Lore articles for in-game establishments.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builder Businesses|Builder Businesses]]&lt;br /&gt;
|Instructions and details about businesses made by builders that exist outside player houses.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Player Tools|Player Tools]]&lt;br /&gt;
|Various useful tools and pages for all players.&lt;br /&gt;
|}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Main_Page&amp;diff=1016</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Main_Page&amp;diff=1016"/>
		<updated>2025-07-19T18:23:19Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Removed approval points.  Going to replace it with Dungeon Running once the page is created.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to the &#039;&#039;&#039;Sinfar Wiki&#039;&#039;&#039;==&lt;br /&gt;
Here you will find information about the server, its various areas and systems, guides and introductions. This Wiki is made up of user-submitted articles, and you can make your own contributions. You will require a functioning [[Sinfar account]] to log in and you can help us organize how to do our styling and formatting. Be sure to join our [https://discord.gg/sinfar Discord] and check the [https://forum.sinfar.net/ Forums].&lt;br /&gt;
&lt;br /&gt;
When making new or editing existing articles, please respect that any article on here should be written in as an objective manner as possible, focusing on facts and information. If you write info about areas of the server, please avoid spoiling surprises and focus instead on general things and/or the area history. Articles may include specific characters who may hold prominent positions, but should not be a substitute for the in-game descriptions available on nwn.sinfar.net and in game. Please see [[Contributing]] for further details.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--I&#039;d like to add a search box here but I want it to look nice (see Star Citizen wiki for examples). Will need to add extensions.--&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;span style=&amp;quot;color:#955919&amp;gt; for the golden text colour&amp;lt;/span&amp;gt;--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot; margin: auto;text-align: center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;&amp;lt;big&amp;gt;&amp;lt;center&amp;gt;New to Sinfar or NWN? Look up the following guides to get started.&amp;lt;/center&amp;gt;&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[About Sinfar]] || [[Getting Started]] || [[Recommended Settings]] || [[Solving Client or Connection Issues]]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|&#039;&#039;&#039;&amp;lt;center&amp;gt;Returning or just need the necessary downloads?&amp;lt;/center&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center;&amp;quot;|Download for the Sinfar [[Hak Files]] ||colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center;&amp;quot;|Download for the [[Sinfar Client Extender (SinfarX)]]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center&amp;quot;|&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;&amp;lt;center&amp;gt;Also be sure to read up on our [[Rules]]!&amp;lt;/center&amp;gt;&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
You can find information for players, supporters and builders.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&#039;&#039;&#039;For Players&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Character Customisation]]&lt;br /&gt;
|&lt;br /&gt;
|[[Chat Commands]]&lt;br /&gt;
|[[Magical Items]]&lt;br /&gt;
|[[House Scripts]]&lt;br /&gt;
|[[Player Housing]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Class Changes]]&lt;br /&gt;
|[[Feat Changes]]&lt;br /&gt;
|[[Spell Changes]]&lt;br /&gt;
|[[Chat Channels]]&lt;br /&gt;
|[[Custom Emotes]]&lt;br /&gt;
|[[Class Bonuses]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Suporters&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Custom Scripting]]&lt;br /&gt;
|[[Your Resources]]&lt;br /&gt;
|[[All Supporter Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Builders&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Creature Event System]]&lt;br /&gt;
|[[Registered Events]]&lt;br /&gt;
|[[Variable Events]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Scripters&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Common Includes]]&lt;br /&gt;
|[[:Category:Systems|Scripting Systems]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |The following categories are set up and should be set on relevant new pages. More categories can be applied.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builder Contributions|Builder Contributions]]&lt;br /&gt;
|For guides and instructions on your ERFs and contributions. Generally only useful for other builders. &lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builders Tools|Builders Tools]]&lt;br /&gt;
|Guides and instructions of various Sinfar tools specifically for builders.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Sinfar Supporters|Sinfar Supporters]]&lt;br /&gt;
|Tools for Supporters to use primarily within their houses.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Player Businesses|Player Businesses]]&lt;br /&gt;
|Lore articles for in-game establishments.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builder Businesses|Builder Businesses]]&lt;br /&gt;
|Instructions and details about businesses made by builders that exist outside player houses.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Player Tools|Player Tools]]&lt;br /&gt;
|Various useful tools and pages for all players.&lt;br /&gt;
|}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1009</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1009"/>
		<updated>2025-06-15T21:30:28Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Minor edits to&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_spawn ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drones&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be used in conjunction with hs_store_xferspw. Will transform a usable placeable into a standard merchant with basic conversation options for facilitating sales of player made items to other players.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_UP:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_DOWN:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_NO_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_YES_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt; (Can go from 0-5)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Appearance strings can be used to customize the appearance of the merchant. The toolset has a 1024 character limit per variable. If your appearance string is longer than 2048 characters, you&#039;ll need to make it less complex.&lt;br /&gt;
Store tag is used to differentiate stores in the player home. Multiple stores with multiple tags are supported (for different vendors with different inventories).&lt;br /&gt;
&lt;br /&gt;
Mark up and mark down prices on items function based on a standardized formula.&lt;br /&gt;
&lt;br /&gt;
* price = item value * (x-1000) where x is the markup variable. (You can get the item value of any item by using the player tool on it.).&lt;br /&gt;
&lt;br /&gt;
However there is a hard cap of 10 million gold that can be collected in the chest at any one time. Any gold collected after the cap is hit will be lost. Price and monitor carefully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_xferspw ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drone inventory&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be set to Plot. Must be Useable. And must have invetory.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Once set, the container can be used to place inventory items into the store for sale to other players. Once placed, the items will disappear and only be available through the Merchant interface used by hs_store_spawn.&lt;br /&gt;
Gold from all sales is collected when the player opens the chest. This is not security coded, so locking chests is recommended if you want to get paid for your work versus handing out free gold to any nosy person wandering in.&lt;br /&gt;
&lt;br /&gt;
Stacks of items placed in the chest will be sold as stacks. Individual items placed, are sold as single items. Ammo from ammo makers is not sellable and will be discarded if placed in the chest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevations ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_cbar_hb ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== g_onclickexamine ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_force_emote ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== hs_hb_makenboard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== hs_tipjar ==&lt;br /&gt;
&#039;&#039;&#039;Obtaining tips&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Will turn any placeable with an inventory into a usable tip jar. Ownership is coded to the house owner and will only supply the owner with the gold collected from the jar when they open it. All other uses will only see an empty box. Note, the tip function works only on gold passed, not other items. It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rotate Placable on Use ==&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_used_turn&lt;br /&gt;
&lt;br /&gt;
Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_TURN_BACK_DELAY : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
Set a Placables Tag&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = home_tag&lt;br /&gt;
&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
&lt;br /&gt;
Variable: TAG : String&lt;br /&gt;
&lt;br /&gt;
Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:&lt;br /&gt;
&lt;br /&gt;
string GetHomeSafeTag(string sOriginalTag);&lt;br /&gt;
&lt;br /&gt;
string GetHomeTagByID(string sOriginalTag, int nHomeID);&lt;br /&gt;
Shackles (Bashable)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
The script to allow a PC to bash free of the shackles . Script: Placeable Used = shckle_p_talk&lt;br /&gt;
&lt;br /&gt;
Trigger for shackle placeables.&lt;br /&gt;
Slave Tether&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Variable: CHAIN_LENGTH : Float&lt;br /&gt;
&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
&lt;br /&gt;
This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
Stores&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5374&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_store_xferspw&lt;br /&gt;
&lt;br /&gt;
All items put in the inventory of this placeable will be moved to the store identified by the variable HS_STORE_TAG.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_STORE_TAG : String&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_store_spawn&lt;br /&gt;
&lt;br /&gt;
Turn a useable placeable into a merchant NPC. The merchant will open a store identified by the variable HS_STORE_TAG (10 characters max). You can fill that store with the hs_store_xferspw script.&lt;br /&gt;
&lt;br /&gt;
You can control the cost if the items with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_UP:&lt;br /&gt;
&lt;br /&gt;
is added to the stores default mark up percentage on items sold (-100 to 100)&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_DOWN:&lt;br /&gt;
&lt;br /&gt;
added to the stores default mark down percentage on items bought (-100 to 100)&lt;br /&gt;
&lt;br /&gt;
You can set the properties of the NPC with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_GENDER:&lt;br /&gt;
&lt;br /&gt;
1 for female, 0 for male&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_BODY_APPEARANCE:&lt;br /&gt;
&lt;br /&gt;
Use the body model to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_HEADV2:&lt;br /&gt;
&lt;br /&gt;
Use the body model, new heads section, to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_ARMOR_APPEARANCE:&lt;br /&gt;
&lt;br /&gt;
Use the tailoring model to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_0 - HS_SPAWN_VFX_5:&lt;br /&gt;
&lt;br /&gt;
Visual effects (horns, eyes, hat…), from the visualeffects.2da file.&lt;br /&gt;
&lt;br /&gt;
You can control what the NPC say with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_SOUND: Sound resref to play when the dialog start.&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION: Animation to play when the dialog start. Use the !EINFO command to find out the value of this variable.&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_TEXT&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_YES_TEXT&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_NO_TEXT&lt;br /&gt;
&lt;br /&gt;
Notes: - You can use the web client to copy the values spoken by the body or tailoring models. - You can&#039;t get the gold of your sales. This is a non-profit script. If you want to get gold from you items, you have to sell them yourself.&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_0 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_1 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_2 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_3 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_4 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_5 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_DOWN : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_UP : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_SOUND : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_NO_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_YES_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_ARMOR_APPEARANCE : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_BODY_APPEARANCE : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_GENDER : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_HEADV2 : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_TAG : String&lt;br /&gt;
Tailor NPCs&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_spawn_npc&lt;br /&gt;
&lt;br /&gt;
Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SPAWN_NPC_ID : Integer&lt;br /&gt;
Trash Cans&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1008</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1008"/>
		<updated>2025-06-15T20:52:56Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Moved  hs_tipjar out of the npc section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_spawn ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drones&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be used in conjunction with hs_store_xferspw. Will transform a usable placeable into a standard merchant with basic conversation options for facilitating sales of player made items to other players.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_UP:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_DOWN:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_NPC_WELCOME_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_NO_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_DIALOG_PC_YES_TEXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt; (Can go from 0-5)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Appearance strings can be used to customize the appearance of the merchant. The toolset has a 1024 character limit per variable. If your appearance string is longer than 2048 characters, you&#039;ll need to make it less complex.&lt;br /&gt;
Store tag is used to differentiate stores in the player home. Multiple stores with multiple tags are supported (for different vendors with different inventories).&lt;br /&gt;
&lt;br /&gt;
Mark up and mark down prices on items function based on a standardized formula, however there is a hard cap of 1 million gold that can be collected on any item sold. The script will allow players to set a markup price over 1 million gold, and sell at that price.  However, all gold spent on the sale past that limit, will be lost, and the store owner will only collect 1 million for the sale. Price carefully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_xferspw ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drone inventory&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be set to Plot. Must be Useable. And must have invetory.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Once set, the container can be used to place inventory items into the store for sale to other players. Once placed, the items will disappear and only be available through the Merchant interface used by hs_store_spawn.&lt;br /&gt;
Gold from all sales is collected when the player opens the chest. This is not security coded, so locking chests is recommended if you want to get paid for your work versus handing out free gold to any nosy person wandering in.&lt;br /&gt;
&lt;br /&gt;
Stacks of items placed in the chest will be sold as stacks. Individual items placed, are sold as single items. Ammo from ammo makers is not sellable and will be discarded if placed in the chest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevations ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_cbar_hb ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== g_onclickexamine ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_force_emote ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== hs_hb_makenboard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== hs_tipjar ==&lt;br /&gt;
&#039;&#039;&#039;Obtaining tips&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Will turn any placeable with an inventory into a usable tip jar. Ownership is coded to the house owner and will only supply the owner with the gold collected from the jar when they open it. All other uses will only see an empty box. Note, the tip function works only on gold passed, not other items. It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rotate Placable on Use ==&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_used_turn&lt;br /&gt;
&lt;br /&gt;
Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_TURN_BACK_DELAY : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
Set a Placables Tag&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = home_tag&lt;br /&gt;
&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
&lt;br /&gt;
Variable: TAG : String&lt;br /&gt;
&lt;br /&gt;
Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:&lt;br /&gt;
&lt;br /&gt;
string GetHomeSafeTag(string sOriginalTag);&lt;br /&gt;
&lt;br /&gt;
string GetHomeTagByID(string sOriginalTag, int nHomeID);&lt;br /&gt;
Shackles (Bashable)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
The script to allow a PC to bash free of the shackles . Script: Placeable Used = shckle_p_talk&lt;br /&gt;
&lt;br /&gt;
Trigger for shackle placeables.&lt;br /&gt;
Slave Tether&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Variable: CHAIN_LENGTH : Float&lt;br /&gt;
&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
&lt;br /&gt;
This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
Stores&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5374&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_store_xferspw&lt;br /&gt;
&lt;br /&gt;
All items put in the inventory of this placeable will be moved to the store identified by the variable HS_STORE_TAG.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_STORE_TAG : String&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_store_spawn&lt;br /&gt;
&lt;br /&gt;
Turn a useable placeable into a merchant NPC. The merchant will open a store identified by the variable HS_STORE_TAG (10 characters max). You can fill that store with the hs_store_xferspw script.&lt;br /&gt;
&lt;br /&gt;
You can control the cost if the items with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_UP:&lt;br /&gt;
&lt;br /&gt;
is added to the stores default mark up percentage on items sold (-100 to 100)&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_DOWN:&lt;br /&gt;
&lt;br /&gt;
added to the stores default mark down percentage on items bought (-100 to 100)&lt;br /&gt;
&lt;br /&gt;
You can set the properties of the NPC with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_GENDER:&lt;br /&gt;
&lt;br /&gt;
1 for female, 0 for male&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_BODY_APPEARANCE:&lt;br /&gt;
&lt;br /&gt;
Use the body model to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_HEADV2:&lt;br /&gt;
&lt;br /&gt;
Use the body model, new heads section, to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_ARMOR_APPEARANCE:&lt;br /&gt;
&lt;br /&gt;
Use the tailoring model to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_0 - HS_SPAWN_VFX_5:&lt;br /&gt;
&lt;br /&gt;
Visual effects (horns, eyes, hat…), from the visualeffects.2da file.&lt;br /&gt;
&lt;br /&gt;
You can control what the NPC say with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_SOUND: Sound resref to play when the dialog start.&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION: Animation to play when the dialog start. Use the !EINFO command to find out the value of this variable.&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_TEXT&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_YES_TEXT&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_NO_TEXT&lt;br /&gt;
&lt;br /&gt;
Notes: - You can use the web client to copy the values spoken by the body or tailoring models. - You can&#039;t get the gold of your sales. This is a non-profit script. If you want to get gold from you items, you have to sell them yourself.&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_0 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_1 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_2 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_3 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_4 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_5 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_DOWN : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_UP : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_SOUND : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_NO_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_YES_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_ARMOR_APPEARANCE : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_BODY_APPEARANCE : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_GENDER : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_HEADV2 : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_TAG : String&lt;br /&gt;
Tailor NPCs&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_spawn_npc&lt;br /&gt;
&lt;br /&gt;
Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SPAWN_NPC_ID : Integer&lt;br /&gt;
Trash Cans&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1005</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1005"/>
		<updated>2025-06-15T15:30:31Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Minor edits and language cleanups on the three new scripts added.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_tipjar ===&lt;br /&gt;
&#039;&#039;&#039;Obtaining tips&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Will turn any placeable with an inventory into a usable tip jar. Ownership is coded to the house owner and will only supply the owner with the gold collected from the jar when they open it. All other uses will only see an empty box. Note, the tip function works only on gold passed, not other items. It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_spawn ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drones&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be used in conjunction with hs_store_xferspw. Will transform a usable placeable into a standard merchant with basic conversation options for facilitating sales of player made items to other players.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_UP:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_DOWN:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Appearance strings can be used to customize the appearance of the merchant. The toolset has a 1024 character limit per variable. If your appearance string is longer than 2048 characters, you&#039;ll need to make it less complex.&lt;br /&gt;
Store tag is used to differentiate stores in the player home. Multiple stores with multiple tags are supported (for different vendors with different inventories).&lt;br /&gt;
&lt;br /&gt;
Mark up and mark down prices on items function based on a standardized formula, however there is a hard cap of 1 million gold that can be collected on any item sold. The script will allow players to set a markup price over 1 million gold, and sell at that price.  However, all gold spent on the sale past that limit, will be lost, and the store owner will only collect 1 million for the sale. Price carefully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_xferspw ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drone inventory&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be set to Plot. Must be Useable. And must have invetory.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Once set, the container can be used to place inventory items into the store for sale to other players. Once placed, the items will disappear and only be available through the Merchant interface used by hs_store_spawn.&lt;br /&gt;
Gold from all sales is collected when the player opens the chest. This is not security coded, so locking chests is recommended if you want to get paid for your work versus handing out free gold to any nosy person wandering in.&lt;br /&gt;
&lt;br /&gt;
Stacks of items placed in the chest will be sold as stacks. Individual items placed, are sold as single items. Ammo from ammo makers is not sellable and will be discarded if placed in the chest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevations ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_cbar_hb ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== g_onclickexamine ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_force_emote ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== hs_hb_makenboard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rotate Placable on Use ==&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_used_turn&lt;br /&gt;
&lt;br /&gt;
Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_TURN_BACK_DELAY : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
Set a Placables Tag&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = home_tag&lt;br /&gt;
&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
&lt;br /&gt;
Variable: TAG : String&lt;br /&gt;
&lt;br /&gt;
Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:&lt;br /&gt;
&lt;br /&gt;
string GetHomeSafeTag(string sOriginalTag);&lt;br /&gt;
&lt;br /&gt;
string GetHomeTagByID(string sOriginalTag, int nHomeID);&lt;br /&gt;
Shackles (Bashable)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
The script to allow a PC to bash free of the shackles . Script: Placeable Used = shckle_p_talk&lt;br /&gt;
&lt;br /&gt;
Trigger for shackle placeables.&lt;br /&gt;
Slave Tether&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Variable: CHAIN_LENGTH : Float&lt;br /&gt;
&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
&lt;br /&gt;
This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
Stores&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5374&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_store_xferspw&lt;br /&gt;
&lt;br /&gt;
All items put in the inventory of this placeable will be moved to the store identified by the variable HS_STORE_TAG.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_STORE_TAG : String&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_store_spawn&lt;br /&gt;
&lt;br /&gt;
Turn a useable placeable into a merchant NPC. The merchant will open a store identified by the variable HS_STORE_TAG (10 characters max). You can fill that store with the hs_store_xferspw script.&lt;br /&gt;
&lt;br /&gt;
You can control the cost if the items with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_UP:&lt;br /&gt;
&lt;br /&gt;
is added to the stores default mark up percentage on items sold (-100 to 100)&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_DOWN:&lt;br /&gt;
&lt;br /&gt;
added to the stores default mark down percentage on items bought (-100 to 100)&lt;br /&gt;
&lt;br /&gt;
You can set the properties of the NPC with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_GENDER:&lt;br /&gt;
&lt;br /&gt;
1 for female, 0 for male&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_BODY_APPEARANCE:&lt;br /&gt;
&lt;br /&gt;
Use the body model to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_HEADV2:&lt;br /&gt;
&lt;br /&gt;
Use the body model, new heads section, to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_ARMOR_APPEARANCE:&lt;br /&gt;
&lt;br /&gt;
Use the tailoring model to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_0 - HS_SPAWN_VFX_5:&lt;br /&gt;
&lt;br /&gt;
Visual effects (horns, eyes, hat…), from the visualeffects.2da file.&lt;br /&gt;
&lt;br /&gt;
You can control what the NPC say with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_SOUND: Sound resref to play when the dialog start.&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION: Animation to play when the dialog start. Use the !EINFO command to find out the value of this variable.&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_TEXT&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_YES_TEXT&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_NO_TEXT&lt;br /&gt;
&lt;br /&gt;
Notes: - You can use the web client to copy the values spoken by the body or tailoring models. - You can&#039;t get the gold of your sales. This is a non-profit script. If you want to get gold from you items, you have to sell them yourself.&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_0 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_1 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_2 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_3 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_4 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_5 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_DOWN : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_UP : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_SOUND : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_NO_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_YES_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_ARMOR_APPEARANCE : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_BODY_APPEARANCE : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_GENDER : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_HEADV2 : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_TAG : String&lt;br /&gt;
Tailor NPCs&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_spawn_npc&lt;br /&gt;
&lt;br /&gt;
Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SPAWN_NPC_ID : Integer&lt;br /&gt;
Trash Cans&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1004</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1004"/>
		<updated>2025-06-15T15:20:04Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Added hs_store_spawn and hs_store_xferspw to the list for player uses.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_tipjar ===&lt;br /&gt;
&#039;&#039;&#039;Obtaining tips&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The script hs_tipjar will turn any placeable with an inventory into a usable tip jar.  Ownership is coded to the house owner and will only supply the owner with the contents of the jar when they open it themselves.  All other uses will only see an empty box, suitable for placing gold.  Note, the tip function works only on gold passed, not other items.  It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_spawn ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drones&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be used in conjunction with hs_store_xferspw.  Will transform a usable placeable into a standard merchant with basic conversation options for facilitating sales of player made items to other players.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_MERCHANT_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_UP:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_STORE_BONUS_MARK_DOWN:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Appearance strings can be used to customize the appearance of the merchant, but remember the toolset has a 1024 character limit per variable.  If you&#039;re appearance string is longer than 2048 characters, you&#039;ll need to make it less complex.&lt;br /&gt;
Store tag is used to differentiate the store in the player home.  Multiple stores with multiple tags are supported (for different vendors with different inventories).&lt;br /&gt;
Mark up and mark down prices on items function based on a standardized formula, however there is a hard cap of 1 million gold that can be collected on any item sold.  If your markup price is over that 1 million limit, all gold spent on the sale past that limit, will be lost.  Price carefully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_store_xferspw ===&lt;br /&gt;
&#039;&#039;&#039;Merchant drone inventory&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Must be set to Plot.  Must be Useable.  And must have invetory.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_STORE_TAG:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Once set, the container can be used to place inventory items into the store for sale to other players.  Once placed, the items will disappear and only be available through the Merchant interface used by hs_store_spawn.&lt;br /&gt;
Gold from all sales is collected when the player opens the chest.  This is not security coded, so locking chests is recommended if you want to get paid for your work.&lt;br /&gt;
Stacks of items placed in the chest will be sold as stacks.  Individual items placed, are sold as single items.  Ammo from ammo makers is not sellable, and will be discarded if placed in the chest.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevations ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_cbar_hb ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== g_onclickexamine ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_force_emote ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== hs_hb_makenboard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rotate Placable on Use ==&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_used_turn&lt;br /&gt;
&lt;br /&gt;
Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_TURN_BACK_DELAY : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
Set a Placables Tag&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = home_tag&lt;br /&gt;
&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
&lt;br /&gt;
Variable: TAG : String&lt;br /&gt;
&lt;br /&gt;
Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:&lt;br /&gt;
&lt;br /&gt;
string GetHomeSafeTag(string sOriginalTag);&lt;br /&gt;
&lt;br /&gt;
string GetHomeTagByID(string sOriginalTag, int nHomeID);&lt;br /&gt;
Shackles (Bashable)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
The script to allow a PC to bash free of the shackles . Script: Placeable Used = shckle_p_talk&lt;br /&gt;
&lt;br /&gt;
Trigger for shackle placeables.&lt;br /&gt;
Slave Tether&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Variable: CHAIN_LENGTH : Float&lt;br /&gt;
&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
&lt;br /&gt;
This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
Stores&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5374&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_store_xferspw&lt;br /&gt;
&lt;br /&gt;
All items put in the inventory of this placeable will be moved to the store identified by the variable HS_STORE_TAG.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_STORE_TAG : String&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_store_spawn&lt;br /&gt;
&lt;br /&gt;
Turn a useable placeable into a merchant NPC. The merchant will open a store identified by the variable HS_STORE_TAG (10 characters max). You can fill that store with the hs_store_xferspw script.&lt;br /&gt;
&lt;br /&gt;
You can control the cost if the items with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_UP:&lt;br /&gt;
&lt;br /&gt;
is added to the stores default mark up percentage on items sold (-100 to 100)&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_DOWN:&lt;br /&gt;
&lt;br /&gt;
added to the stores default mark down percentage on items bought (-100 to 100)&lt;br /&gt;
&lt;br /&gt;
You can set the properties of the NPC with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_GENDER:&lt;br /&gt;
&lt;br /&gt;
1 for female, 0 for male&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_BODY_APPEARANCE:&lt;br /&gt;
&lt;br /&gt;
Use the body model to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_HEADV2:&lt;br /&gt;
&lt;br /&gt;
Use the body model, new heads section, to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_ARMOR_APPEARANCE:&lt;br /&gt;
&lt;br /&gt;
Use the tailoring model to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_0 - HS_SPAWN_VFX_5:&lt;br /&gt;
&lt;br /&gt;
Visual effects (horns, eyes, hat…), from the visualeffects.2da file.&lt;br /&gt;
&lt;br /&gt;
You can control what the NPC say with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_SOUND: Sound resref to play when the dialog start.&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION: Animation to play when the dialog start. Use the !EINFO command to find out the value of this variable.&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_TEXT&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_YES_TEXT&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_NO_TEXT&lt;br /&gt;
&lt;br /&gt;
Notes: - You can use the web client to copy the values spoken by the body or tailoring models. - You can&#039;t get the gold of your sales. This is a non-profit script. If you want to get gold from you items, you have to sell them yourself.&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_0 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_1 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_2 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_3 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_4 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_5 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_DOWN : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_UP : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_SOUND : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_NO_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_YES_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_ARMOR_APPEARANCE : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_BODY_APPEARANCE : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_GENDER : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_HEADV2 : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_TAG : String&lt;br /&gt;
Tailor NPCs&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_spawn_npc&lt;br /&gt;
&lt;br /&gt;
Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SPAWN_NPC_ID : Integer&lt;br /&gt;
Trash Cans&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1003</id>
		<title>House Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=House_Scripts&amp;diff=1003"/>
		<updated>2025-06-15T14:57:20Z</updated>

		<summary type="html">&lt;p&gt;LockOn: Added hs_tipjar to the NPC list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The official reference is here: https://nwn.sinfar.net/houses_scriptlist.php, but you can find more information on how to use those scripts here.&lt;br /&gt;
&amp;lt;!-- Table template:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Briefly the type of script&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| String description including forum link if relevant.&lt;br /&gt;
| Object Type&lt;br /&gt;
| OnWhichEvent&lt;br /&gt;
| &amp;lt;code&amp;gt;FIRST VARIABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;SECOND VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Note text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate Placeables ==&lt;br /&gt;
=== bi_activate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Set on a useable placeable, this script will by default activate its animation if it has one - for example, if it&#039;s a lever or a button, it will be pulled or pushed respectively. Additionally, the variables will change the nature of the Placeable itself if BI_TARGET is not set - if BI_TARGET is a valid object, the object used will still play its animation but the other effects will play on the target. This can be used, for example, to activate a shower in a bathroom by moving the water spray placeable above or below the floor with the variable &amp;lt;code&amp;gt;BI_MOVEZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5292&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Target Placeables require the script &amp;lt;code&amp;gt;[[home_tag]]&amp;lt;/code&amp;gt; in the OnHeartbeat event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT&amp;lt;/code&amp;gt; which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.&lt;br /&gt;
&lt;br /&gt;
This script will toggle the animation state of placeable objects and also the illumination status, if the placeable supports that. It also supports lots of other transformations that you may wish to perform on a placable or door.&lt;br /&gt;
&lt;br /&gt;
If the string variable BI_TARGET is not specified, the used object will be activated. Otherwise it will try to active the objects in the area with a matching tag. By default all tags inside player housing are removed so you will need to use the &amp;lt;code&amp;gt;home_tag&amp;lt;/code&amp;gt; script to set a house safe tag on the placeable. Outside of housing it words on the normal NWN tagging system. In either case you may only activate things in the same area.&lt;br /&gt;
&lt;br /&gt;
In the event that its not possible to use the same tag for all of the targets, additional target tags can be specified by appending a number to the end of the variable name starting with 1, so the script will check for string BI_TARGET, string BI_TARGET1, string BI_TARGET2 and so on.&lt;br /&gt;
&lt;br /&gt;
The script also supports other transformations:&lt;br /&gt;
&lt;br /&gt;
Move the placeable between two locations, the alternate location is specified using one or more of the following float local variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A common use for this is to conceal a placeable under the floor then make it appear by setting BI_MOVEZ =0.0 , this works very well for showers.&lt;br /&gt;
&lt;br /&gt;
It is also possible to turn a placeable by a set amount using:&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the placeable play a sound:&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a VFX to the placeable - very useful for lighting:&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also if a beam VFX is required the source tag may be specified using:&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of the alternative transformations is specified the script will only perform the activation animation when BI_ACTIVATE (int) is set to 1. You can also tell the script that the object is already activated by setting &amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
Likewise if the object is a sound object you may tell the script that its on by setting &amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt; to 1.&lt;br /&gt;
&lt;br /&gt;
The script can also be set to automatically toggle the state back after a set number of seconds:&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default (idle) placeable animation is a problem for the script as it is unable to reliably toggle it into an alternate state. For most placeables the default is the deactivate animation so this is what the script will assume. If this is incorrect an explicit animation must be selected when placing the object. The script will then correctly toggle between either activate/deactivate or open/close.&lt;br /&gt;
&lt;br /&gt;
It may not be possible to use all of the features inside players homes, I suspect that tagging sound objects for example may be impossible. Doors are also re-tagged so it will not be possible to target them inside a home.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_trig ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Trigger&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Attaches itself to the closest trigger which will toggle when the first creature enters the trigger and then the last leaves. Otherwise it should be identical to bi_activate, except that the placeable need not be useble.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |See notes from bi_activate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_activate_osca ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Activate/Deactivate Placeables via Spell&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A wrapper for bi_activate that triggers when a spell is cast at the placeable. A spell ID should be defined using BI_SPELLID, this will be compared against the spell ID held in the spell.2da file and the spell cast at the placeable.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_SPELLID:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATED:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ACTIVATE_NEAREST_SOUND_OBJECT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BEAM_SOURCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FACE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEX:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEY:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MOVEZ:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RESET:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_OBJECT_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SOUND_ON:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TARGET2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_TURN:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use a negative spell ID if you want the check to be disabled and use -2 if you want to to report the spell ID of the spell that its it.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important that you pick a spell that can affect the placeable and that the placeable is not plot, lots of hit points will help.&lt;br /&gt;
&lt;br /&gt;
See additional notes from bi_activate.&lt;br /&gt;
&lt;br /&gt;
The placeable cannot be flagged as Plot. It must be able to take damage for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NPCs ==&lt;br /&gt;
=== hs_spawn_animnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Animated NPCs&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into an animated NPC. The NPC can be customized like the hs_store_spawn script.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?f=33&amp;amp;t=111&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_ANIMNPC_PHENOTYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ANIMATION_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_ANIMATION:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_SOUND:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_TALKTO_MESSAGE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_ANIMNPC_SCALE:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Use !E INFO to get the PHENOTYPE and ANIMATION integers. ANIMATION_SPEED is relative to 1.0, with higher being faster and lower being slower.&lt;br /&gt;
&lt;br /&gt;
TALKTO variables include SOUND as a ResRef of a sound file, animation will fire once when the NPC is activated and the MESSAGE will be said in talk volume.&lt;br /&gt;
&lt;br /&gt;
If using APPEARANCE2 variables, do NOT use Armor, Body, Head or Gender variables. And similar - if you use any of those, do not use APPEARANCE2. APPEARANCE2 is acquired as a full string from a body or tailor model speaking the whole appearance rather than specific parts. Each PART can be max 1024 characters long. If your string exceeds that length, remove accessories/VFX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_deadnpc ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Corpses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable into dead creature.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART1:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE2_PART2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_APPEARANCE_TYPE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_ARMOR_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_BODY_APPEARANCE:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_GENDER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_DEADNPC_HEADV2:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_0:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_4:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_SPAWN_VFX_5:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |APPEARANCE2 variables are max 1024 characters each. If your string exceeds this, use PART2 as well. Acquired from body or tailor models. If your total string exceeds 2048 characters, remove some VFX/accessories.&lt;br /&gt;
&lt;br /&gt;
APPEARANCE_TYPE is the creature appearance index from the appearance.2da file. Use 6 for base human.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_tipjar ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a useable placeable with inventory into a tipjar, suitable for collecting gold.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The script hs_tipjar will turn any placeable with an inventory into a usable tip jar.  Ownership is coded to the house owner and will only supply the owner with the contents of the jar when they open it themselves.  All other uses will only see an empty box, suitable for placing gold.  Note, the tip function works only on gold passed, not other items.  It is not recommended to use it for anything other than gold.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Doors and Locking ==&lt;br /&gt;
&lt;br /&gt;
=== bi_create_bdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - to other player houses&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door or a placeable that can go to another house on the same island/in the same erf. For example, all of Sinfar counts as the same island, whereas cities on Arche Terre are their own - you cannot create a backdoor from Lomidar to Durakiss, but you can create one from Sinifer to Ackalia. Backdoors are one-way, and the opposite side has to be set up correctly for them to go both ways. This is intended to be used to go from one house to another, not to be used within the same house though it will work like that as well.&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;BACKDOOR_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NOKEY:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TARGET:String&amp;lt;/code&amp;gt; have to match on each end - the NAME of one side matches the TARGET on the other side, and vice-versa.&lt;br /&gt;
&lt;br /&gt;
You cannot make a backdoor portal outside the ERF of your house - that&#039;s typically one island but may be one city depending on the server. Backdoors are generally not allowed on Dread Lands server, EXCEPT the Cottage Island.&lt;br /&gt;
&lt;br /&gt;
To ensure it works smoothly, be sure that your NAME and TAG variables are unique, always! They should not exceed 16 characters.&lt;br /&gt;
&lt;br /&gt;
If you do not wish a key, you must include the NOKEY:integer variable set to 1. You should not include NOKEY if you use a key.&lt;br /&gt;
&lt;br /&gt;
Backdoors can fail unless the target house has been loaded onto the server. The house area has to be entered at least once after a reset for that to happen. If it fails, simply navigate to the target house once manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_create_ebdoor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Back Doors - from house interiors to server areas&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates a portal from a door (specifically a door) that can go to an area outside of the house, presumably in the adjacent area, but not required.  &lt;br /&gt;
The standard back door script bi_create_bdoor is not well suited for linking to external server side back doors.  This is a simplified version that does not require coordination between the server and home builders.&lt;br /&gt;
Forum discussion: https://forum.sinfar.net/viewtopic.php?f=64&amp;amp;t=12539&lt;br /&gt;
| Doors, Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;NUMBER:Integer&amp;lt;/code&amp;gt; is the number of the back door on the server side, usually 1. &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt; work as for g_door_autoclose.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Home Builders&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Inside player homes, bi_create_ebdoor will work perfectly without any local variables, just add it as the door&#039;s heartbeat script. If this does not work then your house does not have access to any external backdoors, you will need to put in a request for one to be added in the appropriate housing forum.&lt;br /&gt;
&lt;br /&gt;
If your house has access to more than one external back door then you may use the local integer variable named NUMBER to select the door of your choice. By default this will be 1 which will select the first back door.&lt;br /&gt;
&lt;br /&gt;
The script should copy over locking information to the external door from the one inside the house. If no lock information is set, it will alternatively copy over the lock information from the main house door. If you always want the back door unlocked, then set a key value but leave the locked check box empty.&lt;br /&gt;
&lt;br /&gt;
The script will also accept G_CLOSE_DELAY and G_CLOSE_LOCK and apply g_door_autoclose if G_CLOSE_DELAY is set.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_autoclose ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Door auto-lose and lock&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Automatically closes and optionally locks a door after it&#039;s been opened&lt;br /&gt;
| Doors&lt;br /&gt;
| OnOpen&lt;br /&gt;
| &amp;lt;code&amp;gt;G_CLOSE_DELAY:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;G_CLOSE_LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |The door will automatically close after 15 seconds by default, or however many seconds set by &amp;lt;code&amp;gt;G_CLOSE_DELAY&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;G_CLOSE_LOCK&amp;lt;/code&amp;gt; is set to 1, it will also lock.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_door_locker ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lock switches&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lock or unlock the nearest door.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Add a key tag to the door to further restrict access, such as in bedrooms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Chairs and Sitting ==&lt;br /&gt;
=== g_bench_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_bench_rsit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates multiple seats on a bench when used, facing reverse direction.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Some placeables are reversed. If you use &amp;lt;code&amp;gt;g_bench_sit&amp;lt;/code&amp;gt; and your character sits the wrong way, use this one instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_chair_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| For a single seat on a chair or similar.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_onclick_sit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sit-able objects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit.&lt;br /&gt;
&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2809&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnClick&lt;br /&gt;
| &amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PLACES:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_RADIUS:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_WIDTH:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DEBUG:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Unlike the existing sit scripts which are designed for OnUsed, it should be added as an OnClick script. The script will checks if it knows about the placeable and if there are any local variable parameters. If it knows what to do it will add one or more invisible sit points, correct the elevation of the placeable so that it will meet your characters bottom then remove itself. If I doesn&#039;t know what to do it will replace itself with the standard g_chair_sit script and hope for the best.&lt;br /&gt;
&lt;br /&gt;
In most cases the script should work without any local variables but the defaults that I have selected may not be exactly what you want. Most of the time you may as well just add the invisible sit point in the toolset but it you have many chairs or benches to place it may be worth the trouble to use the script and provide your own sit parameters.&lt;br /&gt;
&lt;br /&gt;
As the script only adds sit points on demand it will usually be more efficient than manually placed sit points, and while its more expensive than the bench scripts on its first run it should be cheaper when people use the bench afterwards. That said, its better to use g_chair_sit unless there is a problem with the chair.&lt;br /&gt;
&lt;br /&gt;
BI_RADIUS variable is for curved benches/seats. BI_PLACES is a count from 1-16 with how many seats should be for benches.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Elevations ==&lt;br /&gt;
=== bi_p_elevate ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Apply the script and specify the elevation value on the placeable as a local variable float, then use the toolset to create a generic trigger area over or close to the placeable. Any creature entering the trigger area will then be elevated by the value supplied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_elevatestep ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ELevation triggers&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Creates an elevated walkable area near or over a (non-static) placeable, with steps like a staircase.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ELEVATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;STEP:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A test version of bi_p_elevate, to allow “steps” that have to be gone up in order, so that simulated upper and lower walkable areas are possible. Character will elevate on any trigger one step higher, even, or any lower numbered trigger. The triggers need to overlap slightly at the points players are to cross from one step to the next.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;STEP&amp;lt;/code&amp;gt; variable should be incremented for each step, starting at 1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Minimap Options ==&lt;br /&gt;
=== hs_hb_showarea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Reveal the minimap to players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap revealed.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_hb_hidearea ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Hide the minimap for players.&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Any player entering the same area as the placeable with this script will have their minimap hidden.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Lights, Music and Buttons ==&lt;br /&gt;
=== lwjb_jukebox ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Jukebox and Lights System&lt;br /&gt;
!Description !! Objects !! Event&lt;br /&gt;
|-&lt;br /&gt;
| Starts Lil&#039;s Jukebox and Light Controller&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== bi_p_lightswitch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Lightswitch&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Create a placeable that can turn lights on or off.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;SWITCH:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LIGHT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ACTIVATE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECTS:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_1:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_2:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_3:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;EFFECT_4:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Requires two or more placeables - 1 lightswitch and any number of lights. &amp;lt;code&amp;gt;SWITCH(int)1&amp;lt;/code&amp;gt; variable set on the switch itself and &amp;lt;code&amp;gt;LIGHT(int)1&amp;lt;/code&amp;gt; set on the lights. Use the various EFFECT variables to set extra visual effects if desired. Use &amp;lt;code&amp;gt;ACTIVATE(int)1&amp;lt;/code&amp;gt; if the switch should activate (such as with buttons or levers that are animated). The &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt; must be the same for the switch and all lights it&#039;s meant to activate.&lt;br /&gt;
&lt;br /&gt;
For VFX, set up to 4 - use EFFECTS(int) to specify how many and EFFECT_# to specify the visual effect number.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== yasm_doorbell ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Doorbells&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;ENABLE_SHOUT:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;KEY_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;MSG_TXT:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;NAME_USER:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PLAY_SOUND:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== g_playsound ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Sound Effects&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Plays sound effects on used.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;G_PLAYSOUND:String&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Plays the sound defined by the &amp;lt;code&amp;gt;G_PLAYSOUND&amp;lt;/code&amp;gt; variable when the placeable is used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_cbar_hb ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Drinks Store&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Scripts that allows you to add a custom drinks bar to a house, it is fairly complex so the documentation is in a forum topic. See topic: http://sinfar.net/forum/viewtopic.php?t=4561&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;ITEM0:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;ITEM29:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;LOCK:Integer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A common request that get is to offer custom drinks for player house bars and breweries. Rather than forcing everyone to go though a builder I thought that it would be nice to offer a script that allows players to make their own drinks inside of housing areas.&lt;br /&gt;
&lt;br /&gt;
To use the script you will need to add a useable container, the plot flag must not be set. Then add bi_p_cbar_hb as the heartbeat script.&lt;br /&gt;
&lt;br /&gt;
The script will look for number string variables beginning with “ITEM” followed by a numeric suffix beginning at zero. ITEM0, ITEM1, ITEM2 and so on.&lt;br /&gt;
&lt;br /&gt;
The string value must begin with a type to identify the base item then some parameters.&lt;br /&gt;
&lt;br /&gt;
Currently the script only supports alcoholic drinks in potion bottles that are charged at 50 Gold a time when a bottle is removed from the container.&lt;br /&gt;
&lt;br /&gt;
The syntax for a potion bottles with the one use alcoholic effect is:&lt;br /&gt;
&lt;br /&gt;
PotionA:Name:Appearance:Description&lt;br /&gt;
&lt;br /&gt;
Where Appearance is defined as follows:&lt;br /&gt;
&lt;br /&gt;
ModelTop;ColorTop;ModelMiddle;ColorMiddle;ModelBottom;ColorBottom&lt;br /&gt;
&lt;br /&gt;
ModelTop=1-7&lt;br /&gt;
&lt;br /&gt;
ColorTop=1-9&lt;br /&gt;
&lt;br /&gt;
ModelMiddle=1-7&lt;br /&gt;
&lt;br /&gt;
ColorMiddle=1-9&lt;br /&gt;
&lt;br /&gt;
ModelBottom=1-24&lt;br /&gt;
&lt;br /&gt;
ColorBottom=1-9&lt;br /&gt;
&lt;br /&gt;
eg 1;2;1;2;1;2&lt;br /&gt;
&lt;br /&gt;
ITEM0 (string) PotionA:Whisky:1;1;1;1;1;1:A bottle of single malt whisky.&lt;br /&gt;
&lt;br /&gt;
If you wish the container to auto lock add LOCK (int) 1&lt;br /&gt;
&lt;br /&gt;
The script will automatically make the bar plot, so that you do not need to.&lt;br /&gt;
&lt;br /&gt;
Obviously, since you control the Name and Description you are also free to make a RP potions if you wish. The effect will still be alcohol however.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== g_onclickexamine ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Examine a placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Immediately examine/open the description of a Placeable when clicking on it.&lt;br /&gt;
| Placeable&lt;br /&gt;
| OnClick&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bi_p_force_emote ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Force Emote with a Placeable&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| A simpler shackle script with a few additional options.&lt;br /&gt;
Forum discussion: http://sinfar.net/forum/viewtopic.php?t=2743&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;BI1_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI1_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI2_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI3_Z:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_ANIM:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_BODYPART:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DESC:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DIRECTION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_DURATION:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_FE_SET:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_KEY:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_MSG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_PHENO:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SHACKLE_MODE:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_SPEED:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_X:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Y:Float&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;BI_Z:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |A shackle script supporting an extensive selection of placeeables and offering the option to customise the emotes. It can also be used without a lock to allow characters to kneel on pillows or perform other emotes relative to a placeable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== hs_hb_makenboard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Noticeboards&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Turn a usable placeable into a notice board.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX:String&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&amp;lt;code&amp;gt;HS_NOTICE_BOARD_TAG_SUFFIX&amp;lt;/code&amp;gt; must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
=== hs_portal_used ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a portal from one part of a house to another.&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnUsed&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Sets up a portal that can be used to teleport inside a house. It will not allow going from one house to another. Requires &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt; to set up the destination. Use the variable &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; to designate the location - this should match the variable on the object used with &amp;lt;code&amp;gt;hs_spawn_portwp&amp;lt;/code&amp;gt;. It shouldn&#039;t have more than 10 characters. Set a custom VFX or delay from clicking with the other variables.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== hs_spawn_portwp ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+In-House Portals&lt;br /&gt;
!Description !! Objects !! Event !! Variables&lt;br /&gt;
|-&lt;br /&gt;
| Sets up a waypoint used with hs_portal_used&lt;br /&gt;
| Placeables&lt;br /&gt;
| OnHeartbeat&lt;br /&gt;
| &amp;lt;code&amp;gt;HS_PORTAL_TAG:String&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_VFX:Integer&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;HS_PORTAL_DELAY:Float&amp;lt;/code&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Turn the usable placeable into a waypoint where another placeable can bring characters to with the script hs_portal_used. The variable name should match exactly the &amp;lt;code&amp;gt;HS_PORTAL_TAG&amp;lt;/code&amp;gt; defined on the other placeable. It shouldn&#039;t have more than 10 characters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rotate Placable on Use ==&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_used_turn&lt;br /&gt;
&lt;br /&gt;
Turns the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.&lt;br /&gt;
&lt;br /&gt;
When it turns, you can make it play a sound defined by the variable G_TURN_SOUND.&lt;br /&gt;
&lt;br /&gt;
The placeable will be turned back after 30 seconds, or by the number of second that you set in the G_TURN_BACK_DELAY variable.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_TURN_BACK_DELAY : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_DEGREE : Integer&lt;br /&gt;
&lt;br /&gt;
G_TURN_SOUND : String&lt;br /&gt;
Set a Placables Tag&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = home_tag&lt;br /&gt;
&lt;br /&gt;
Adds a tag to the placeable so that the placeable may be accessed by other scripts.&lt;br /&gt;
&lt;br /&gt;
For security reasons Tags are usually removed or replaced when homes are uploaded, this script provides a safe tag for home builders to work with.&lt;br /&gt;
&lt;br /&gt;
Variable: TAG : String&lt;br /&gt;
&lt;br /&gt;
Server script builders should, #include “home_inc_tag” and use one of the following fucntions to get a matching tag:&lt;br /&gt;
&lt;br /&gt;
string GetHomeSafeTag(string sOriginalTag);&lt;br /&gt;
&lt;br /&gt;
string GetHomeTagByID(string sOriginalTag, int nHomeID);&lt;br /&gt;
Shackles (Bashable)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Death = shckle_p_ondeath&lt;br /&gt;
&lt;br /&gt;
The script to allow a PC to bash free of the shackles . Script: Placeable Used = shckle_p_talk&lt;br /&gt;
&lt;br /&gt;
Trigger for shackle placeables.&lt;br /&gt;
Slave Tether&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=1162&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = yasm_shackle&lt;br /&gt;
&lt;br /&gt;
Variable: CHAIN_LENGTH : Float&lt;br /&gt;
&lt;br /&gt;
Misc: Set PLC&#039;s Key to Owner&#039;s Key&lt;br /&gt;
&lt;br /&gt;
This system chains the prisoner to a shackle, allowing them freedom to move and emote whilst secured, but they are trapped within the length of the chain. A tether.&lt;br /&gt;
&lt;br /&gt;
To deploy the system in your house build simply put down a suitable placeable object, set it as usable and give it yasm_shackle as its heartbeat script.&lt;br /&gt;
&lt;br /&gt;
Whether or not you set a lock key determines how securely the prisoner is chained. With no key set the prisoner is released by just click/using the shackle. If a lock key is set the player needs to have an item with the required tag to unlock the prisoner. Keys tags work in the same manner as for doors &amp;amp; containers.&lt;br /&gt;
&lt;br /&gt;
The length of the chain can be controlled by setting a local variable, CHAIN_LENGTH (float), but this is optional and if omitted will default to 2.0&lt;br /&gt;
&lt;br /&gt;
In game usage is very simple, the prisoner clicks the shackle and they are locked. Usage implies consent to the consequences. If the shackle has a lock then Unlock (rather than Use) to release the prisoner. Escaping is as simple as typing !ooc, and by the time you transition back with !ic the shackle will have reset itself.&lt;br /&gt;
&lt;br /&gt;
You will notice that the system uses a trap mechanism, unfortunately the game engine spews a little bit of spam as players move in and out of the area of an active shackle/trap, sorry but that cant be muted. Just ignore the background noise and have fun emoting with the prisoner.&lt;br /&gt;
Stores&lt;br /&gt;
&lt;br /&gt;
Discussion: http://sinfar.net/forum/viewtopic.php?f=64&amp;amp;t=5374&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_store_xferspw&lt;br /&gt;
&lt;br /&gt;
All items put in the inventory of this placeable will be moved to the store identified by the variable HS_STORE_TAG.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_STORE_TAG : String&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_store_spawn&lt;br /&gt;
&lt;br /&gt;
Turn a useable placeable into a merchant NPC. The merchant will open a store identified by the variable HS_STORE_TAG (10 characters max). You can fill that store with the hs_store_xferspw script.&lt;br /&gt;
&lt;br /&gt;
You can control the cost if the items with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_UP:&lt;br /&gt;
&lt;br /&gt;
is added to the stores default mark up percentage on items sold (-100 to 100)&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_DOWN:&lt;br /&gt;
&lt;br /&gt;
added to the stores default mark down percentage on items bought (-100 to 100)&lt;br /&gt;
&lt;br /&gt;
You can set the properties of the NPC with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_GENDER:&lt;br /&gt;
&lt;br /&gt;
1 for female, 0 for male&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_BODY_APPEARANCE:&lt;br /&gt;
&lt;br /&gt;
Use the body model to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_HEADV2:&lt;br /&gt;
&lt;br /&gt;
Use the body model, new heads section, to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_ARMOR_APPEARANCE:&lt;br /&gt;
&lt;br /&gt;
Use the tailoring model to get the value of this variable&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_0 - HS_SPAWN_VFX_5:&lt;br /&gt;
&lt;br /&gt;
Visual effects (horns, eyes, hat…), from the visualeffects.2da file.&lt;br /&gt;
&lt;br /&gt;
You can control what the NPC say with the following variables:&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_SOUND: Sound resref to play when the dialog start.&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION: Animation to play when the dialog start. Use the !EINFO command to find out the value of this variable.&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_TEXT&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_YES_TEXT&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_NO_TEXT&lt;br /&gt;
&lt;br /&gt;
Notes: - You can use the web client to copy the values spoken by the body or tailoring models. - You can&#039;t get the gold of your sales. This is a non-profit script. If you want to get gold from you items, you have to sell them yourself.&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_0 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_1 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_2 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_3 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_4 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_SPAWN_VFX_5 : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_DOWN : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_BONUS_MARK_UP : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_SOUND : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_NPC_WELCOME_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_NO_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_DIALOG_PC_YES_TEXT : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_ARMOR_APPEARANCE : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_BODY_APPEARANCE : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_GENDER : Integer&lt;br /&gt;
&lt;br /&gt;
HS_STORE_MERCHANT_HEADV2 : String&lt;br /&gt;
&lt;br /&gt;
HS_STORE_TAG : String&lt;br /&gt;
Tailor NPCs&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = hs_spawn_npc&lt;br /&gt;
&lt;br /&gt;
Replaces the placeable by a given NPC. The placeable must be set as useable. The NPC to spawn is determined by the HS_SPAWN_NPC_ID variable, it can take one of the following values:&lt;br /&gt;
&lt;br /&gt;
1 = Male Tailoring Model&lt;br /&gt;
&lt;br /&gt;
2 = Female Tailoring Model&lt;br /&gt;
&lt;br /&gt;
3 = Male Body Model&lt;br /&gt;
&lt;br /&gt;
4 = Female Body Model&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SPAWN_NPC_ID : Integer&lt;br /&gt;
Trash Cans&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Close = pcplc_trash_cls&lt;br /&gt;
&lt;br /&gt;
If the placeable has the script “pcplc_trash_cls” in its OnClose event, then it will act as a trash and so its inventory will be cleaned when closed.&lt;br /&gt;
&lt;br /&gt;
Important Note: It is not advisable making garbage cans in areas with persistent storage, as item loss can occur when adding or removing persistent storage not properly tagged.&lt;br /&gt;
Turn Placeables State On/Off on use (with Sound Effects)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_plc_onoff&lt;br /&gt;
&lt;br /&gt;
Turn on/off a placeable.&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLC_IS_ON : Integer&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_OFF_SOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLC_TURN_ON_SOUND : String&lt;br /&gt;
VFX Heartbeat (with On/Off switch)&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Heartbeat = plcvfx_self&lt;br /&gt;
&lt;br /&gt;
You can add any number of visual effects on a non-static placeable.&lt;br /&gt;
&lt;br /&gt;
For that, you need to add the script “plcvfx_self” in the OnHeartbeat event of the placeable. Then, you need to add 1 variable for each visual effect that you want to see on this placeable.&lt;br /&gt;
&lt;br /&gt;
This variable must be set as follow:&lt;br /&gt;
&lt;br /&gt;
⦁ Type: Integer.&lt;br /&gt;
&lt;br /&gt;
⦁ Name: PLCVFX_SELF#, where # is the index of the visual effect. The first index is 1 so the first visual effect will have “PLCVFX_SELF1” as variable name.&lt;br /&gt;
&lt;br /&gt;
⦁ Value: It is the row index of the visual effect in the visualeffects 2da.&lt;br /&gt;
&lt;br /&gt;
(Note: If you only want to add the light visual effect on a placeable, then you just need to put the script “zep_torchspawn” in the OnHeartbeat event.)&lt;br /&gt;
&lt;br /&gt;
Each visual effect count as 1 dynamic object and so, a placeable with 1 visual effect count as 2 dynamic objects. If it has 3 visual effects, then it count as 4 dynamic objects.&lt;br /&gt;
&lt;br /&gt;
Variables: PLCVFX_SELF1, PLCVFX_SELF2, PLCVFX_SELF3, Etc…&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = plcvfx_switchoff&lt;br /&gt;
&lt;br /&gt;
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.&lt;br /&gt;
VFX on Placeable use&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx&lt;br /&gt;
&lt;br /&gt;
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.&lt;br /&gt;
&lt;br /&gt;
Variable: G_PLAYVFX : Integer&lt;br /&gt;
VFX and SFX on Placable use&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = g_play_vfx_sound&lt;br /&gt;
&lt;br /&gt;
Play a sound and an -instant- visual effect (FNF) when the placeable is used.&lt;br /&gt;
&lt;br /&gt;
Variables:&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX: visual effect index to display.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND: sound resref to play.&lt;br /&gt;
&lt;br /&gt;
G_PLAYSOUND : String&lt;br /&gt;
&lt;br /&gt;
G_PLAYVFX : Integer&lt;br /&gt;
Web Client Media Support&lt;br /&gt;
&lt;br /&gt;
When used a placeable sends an Image, Sound, or Video to web client.&lt;br /&gt;
&lt;br /&gt;
Script: Placeable Used = hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Sends an image to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_IMAGE_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Sends a sound to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_SOUND_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_image&lt;br /&gt;
&lt;br /&gt;
Placeable Heartbeat = hs_hb_wc_music&lt;br /&gt;
Web Client Music Loop.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_MUSIC_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_sound&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Sends a video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
Variable: HS_VIDEO_URL : String&lt;br /&gt;
&lt;br /&gt;
Script: hs_use_wc_video&lt;br /&gt;
&lt;br /&gt;
Placeable Used = hs_use_wc_youtub&lt;br /&gt;
&lt;br /&gt;
Sends a you tube video to the web client of the player using the placeable.&lt;br /&gt;
&lt;br /&gt;
HS_YOUTUBE_ID is the string of your youtube page&#039;s URL past “?v=”&lt;br /&gt;
&lt;br /&gt;
(If your URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then your ID string = AMKYQZHfaf8)&lt;br /&gt;
&lt;br /&gt;
Variable: HS_YOUTUBE_ID : String&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Main_Page&amp;diff=423</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Main_Page&amp;diff=423"/>
		<updated>2024-09-19T16:44:39Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to the &#039;&#039;&#039;Sinfar Wiki&#039;&#039;&#039;==&lt;br /&gt;
Here you will find information about the server, its various areas and systems, guides and introductions. This Wiki is made up of user-submitted articles, and you can make your own contributions. You will require a functioning [[Sinfar account]] to log in and you can help us organize how to do our styling and formatting. Be sure to join our [https://https//discord.gg/jVaNBmj Discord] and check the [https://forum.sinfar.net/ Forums].&lt;br /&gt;
&lt;br /&gt;
When making new or editing existing articles, please respect that any article on here should be written in as an objective manner as possible, focusing on facts and information. If you write info about areas of the server, please avoid spoiling surprises and focus instead on general things and/or the area history. Articles may include specific characters who may hold prominent positions, but should not be a substitute for the in-game descriptions available on nwn.sinfar.net and in game. Please see [[Contributing]] for further details.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--I&#039;d like to add a search box here but I want it to look nice (see Star Citizen wiki for examples). Will need to add extensions.--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|&#039;&#039;&#039;New to Sinfar or NWN? Look up the following guides to get started.&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[About Sinfar]] || [[Getting Started - Diamond Edition]] || [[Getting Started - Diamond Edition on Linux]] || [[Getting Started - Enhanced Edition]] || [[Recommended Settings]] || [[Solving Client or Connection Issues]]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|&#039;&#039;&#039;Returning or just need the necessary downloads?&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center;&amp;quot;|Download for the Sinfar [[Hak Files]] ||colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center;&amp;quot;|Download for the [[Sinfar Client Extender (SinfarX)]]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center&amp;quot;|&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;&amp;lt;center&amp;gt;Also be sure to read up on our [[Rules]]!&amp;lt;/center&amp;gt;&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
You can find information for players, supporters and builders.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&#039;&#039;&#039;For Players&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Character Customisation]]&lt;br /&gt;
|[[Approval Points]]&lt;br /&gt;
|[[Chat Commands]]&lt;br /&gt;
|[[Magical Items]]&lt;br /&gt;
|[[House Scripts]]&lt;br /&gt;
|[[Player Housing]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Class Changes]]&lt;br /&gt;
|[[Feat Changes]]&lt;br /&gt;
|[[Spell Changes]]&lt;br /&gt;
|[[Chat Channels]]&lt;br /&gt;
|[[Custom Emotes]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Suporters&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Custom Scripting]]&lt;br /&gt;
|[[Your Resources]]&lt;br /&gt;
|[[All Supporter Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Builders&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Creature Event System]]&lt;br /&gt;
|[[Registered Events]]&lt;br /&gt;
|[[Variable Events]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Scripters&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Common Includes]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |The following categories are set up and should be set on relevant new pages. More categories can be applied.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builder Contributions|Builder Contributions]]&lt;br /&gt;
|For guides and instructions on your ERFs and contributions. Generally only useful for other builders. &lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builders Tools|Builders Tools]]&lt;br /&gt;
|Guides and instructions of various Sinfar tools specifically for builders.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Sinfar Supporters|Sinfar Supporters]]&lt;br /&gt;
|Tools for Supporters to use primarily within their houses.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Player Businesses|Player Businesses]]&lt;br /&gt;
|Lore articles for in-game establishments.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builder Businesses|Builder Businesses]]&lt;br /&gt;
|Instructions and details about businesses made by builders that exist outside player houses.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Player Tools|Player Tools]]&lt;br /&gt;
|Various useful tools and pages for all players.&lt;br /&gt;
|}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Main_Page&amp;diff=422</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Main_Page&amp;diff=422"/>
		<updated>2024-09-19T16:44:18Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to the &#039;&#039;&#039;Sinfar Wiki&#039;&#039;&#039;==&lt;br /&gt;
Here you will find information about the server, its various areas and systems, guides and introductions. This Wiki is made up of user-submitted articles, and you can make your own contributions. You will require a functioning [[Sinfar account]] to log in and you can help us organize how to do our styling and formatting. Be sure to join our [https://https//discord.gg/jVaNBmj Discord] and check the [https://forum.sinfar.net/ Forums].&lt;br /&gt;
&lt;br /&gt;
When making new or editing existing articles, please respect that any article on here should be written in as an objective manner as possible, focusing on facts and information. If you write info about areas of the server, please avoid spoiling surprises and focus instead on general things and/or the area history. Articles may include specific characters who may hold prominent positions, but should not be a substitute for the in-game descriptions available on nwn.sinfar.net and in game. Please see [[Contributing]] for further details.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--I&#039;d like to add a search box here but I want it to look nice (see Star Citizen wiki for examples). Will need to add extensions.--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|&#039;&#039;&#039;New to Sinfar or NWN? Look up the following guides to get started.&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[About Sinfar]] || [[Getting Started - Diamond Edition]] || [[Getting Started - Diamond Edition on Linux]] || [[Getting Started - Enhanced Edition]] || [[Recommended Settings]] || [[Solving Client or Connection Issues]]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|&#039;&#039;&#039;Returning or just need the necessary downloads?&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center;&amp;quot;|Download for the Sinfar [[Hak Files]] ||colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center;&amp;quot;|Download for the [[Sinfar Client Extender (SinfarX)]]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center&amp;quot;|&#039;&#039;&#039;&amp;lt;big&amp;gt;Also be sure to read up on our [[Rules]]!&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;&amp;lt;center&amp;gt;Also be sure to read up on our [[Rules]]!&amp;lt;/center&amp;gt;&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
You can find information for players, supporters and builders.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&#039;&#039;&#039;For Players&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Character Customisation]]&lt;br /&gt;
|[[Approval Points]]&lt;br /&gt;
|[[Chat Commands]]&lt;br /&gt;
|[[Magical Items]]&lt;br /&gt;
|[[House Scripts]]&lt;br /&gt;
|[[Player Housing]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Class Changes]]&lt;br /&gt;
|[[Feat Changes]]&lt;br /&gt;
|[[Spell Changes]]&lt;br /&gt;
|[[Chat Channels]]&lt;br /&gt;
|[[Custom Emotes]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Suporters&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Custom Scripting]]&lt;br /&gt;
|[[Your Resources]]&lt;br /&gt;
|[[All Supporter Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Builders&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Creature Event System]]&lt;br /&gt;
|[[Registered Events]]&lt;br /&gt;
|[[Variable Events]]&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;For Scripters&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[[Common Includes]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |The following categories are set up and should be set on relevant new pages. More categories can be applied.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builder Contributions|Builder Contributions]]&lt;br /&gt;
|For guides and instructions on your ERFs and contributions. Generally only useful for other builders. &lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builders Tools|Builders Tools]]&lt;br /&gt;
|Guides and instructions of various Sinfar tools specifically for builders.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Sinfar Supporters|Sinfar Supporters]]&lt;br /&gt;
|Tools for Supporters to use primarily within their houses.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Player Businesses|Player Businesses]]&lt;br /&gt;
|Lore articles for in-game establishments.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Builder Businesses|Builder Businesses]]&lt;br /&gt;
|Instructions and details about businesses made by builders that exist outside player houses.&lt;br /&gt;
|-&lt;br /&gt;
|[[:Category:Player Tools|Player Tools]]&lt;br /&gt;
|Various useful tools and pages for all players.&lt;br /&gt;
|}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=421</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=421"/>
		<updated>2024-09-18T04:43:32Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image8.jpg|thumb|left|Pondering the situation.|274x274px]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=420</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=420"/>
		<updated>2024-09-18T04:43:17Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image8.jpg|thumb|left|Pondering the situation.|274x274px]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=419</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=419"/>
		<updated>2024-09-18T04:43:06Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image8.jpg|thumb|left|Pondering the situation.|274x274px]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=418</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=418"/>
		<updated>2024-09-18T04:42:57Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image8.jpg|thumb|left|Pondering the situation.|274x274px]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=417</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=417"/>
		<updated>2024-09-18T04:42:31Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image8.jpg|thumb|left|Pondering the situation.|274x274px]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=416</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=416"/>
		<updated>2024-09-18T04:41:55Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image8.jpg|thumb|left|Pondering the situation.|274x274px]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=415</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=415"/>
		<updated>2024-09-18T04:41:42Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image8.jpg|thumb|right|Pondering the situation.|274x274px]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=414</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=414"/>
		<updated>2024-09-18T04:41:08Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
&lt;br /&gt;
[[File:Image8.jpg|thumb|Pondering the situation.|274x274px]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=413</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=413"/>
		<updated>2024-09-18T04:40:27Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
&lt;br /&gt;
[[File:Image8.jpg|thumb|Pondering the situation.]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=412</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=412"/>
		<updated>2024-09-18T04:39:54Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
[[File:Image8.jpg|thumb|Pondering the situation.]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=411</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=411"/>
		<updated>2024-09-18T04:39:41Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
[[File:Image8.jpg|thumb|Pondering the situation.]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=410</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=410"/>
		<updated>2024-09-18T04:38:40Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
[[File:Image8.jpg|thumb|Pondering the situation.]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=409</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=409"/>
		<updated>2024-09-18T04:38:13Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
[[File:Image8.jpg|thumb|Pondering the situation.]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=408</id>
		<title>About Sinfar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=About_Sinfar&amp;diff=408"/>
		<updated>2024-09-18T04:38:03Z</updated>

		<summary type="html">&lt;p&gt;LockOn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar.  Here, you&#039;ll find a persistent game world, built with the Neverwinter Nights Aurora Engine, for all 18+ players.&lt;br /&gt;
&lt;br /&gt;
Originally founded in 2010, Sinfar boasts years of volunteer-created content, in a true sand box environment.  Here, our players socialize, engage in role play, level characters, run raid-level content, and can engage in controlled PvP, including factional PvP, with custom made characters within the game.&lt;br /&gt;
[[File:CtF 3.jpg|thumb|baseline|378x378px|Carnage on the battlefield!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sinfar has the single best character/costume creation tools in all of the Neverwinter Nights Persistent server community.  Racial and physical characteristics can be easily modified, costume pieces are all color tintable, and a wide variety of accessories exist.  We even allow for custom shapes to be player-made, to enhance a given player&#039;s appearance and experience.&lt;br /&gt;
[[File:Image9.jpg|alt=|thumb|left|378x378px|A white skinned barbarian beauty. Don&#039;t ask her how she keeps those furs in place, unless you want the business end of her axe.]]&lt;br /&gt;
Being a sand box style RP server, players have a lot of freedom to make the kinds of characters they want to be.  The server boasts a large and very friendly LGBTQ+ population, with players logging in from 5 different continents all around the world.  Global perspectives mix to help us have the best community possible, and we&#039;re proud of our players and our volunteers who help to make our server a great place to play and hang out.&lt;br /&gt;
[[File:Image2.jpg|thumb|378x378px|Samurai in repose.]]&lt;br /&gt;
[[File:Image8.jpg|thumb|Pondering the situation.]]&lt;br /&gt;
Currently Sinfar operates best on Neverwinter Nights Diamond edition, though it is possible, with some small effort, to run the server with NWN Extended Edition.  Plans are underway to migrate Sinfar to a fully functional EE server at some point in the future, but are still incomplete as of the time of this writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image11.jpg|thumb|1108x1108px|Beach Party!  Hooray!]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image12.jpg|thumb|Who invited this guy?]]&lt;/div&gt;</summary>
		<author><name>LockOn</name></author>
	</entry>
</feed>