Player Name:   Password:    

Scripts for houses

EventScript NameDescriptionVariables
Placeable Heartbeat areaban_p_list
The script is place in the HB event of any placeable, and the variable for it on the same.

Variable (Set on the placeable):
AREABAN_BANNED_PCS - string - This is for a specific characters

This six digit numbers seperated in groups by a delimiter.
As an example, say my character Dribo started a fight in your bar/home, and you decided to ban her from your area, it would be:
AREABAN_BANNED_PCS - (string) - "000091"

Say after that, another of my characters (Messara Ban'ei, to pick one) was caught having sex on the bar, and was banned ICly from returning again, the new variable would look like:
AREABAN_BANNED_PCS - (string) - "000091_031982"

This is a new function in testing at the moment, so any bannings added to homes used as public bars should ideally have some manner of screenshot documenting the incident that led to it.

Mav: This script is not there to let you ban people you dont like. You must have a -very- good reason to ban someone (someone that -repeatedly- break the immersion -while they are in your house-) and you must be ready to explain why you banned them and give proof (screenshots or an action that could have been logged: an attack, death, a spell cast, an item used...). The bans should also be temporary: You must give a second and third chance to people you ban and so unban them every few weeks until they cause problems again.
Anyone that dont use this script as it should will loose this power.
AREABAN_BANNED_PCS : String
Placeable Used bi_activate
Activate/Deactive a placeable object, a full description is available here.http://sinfar.net/forum/viewtopic.php?f=64&t=5292

Edit by Mav: Added BI_ACTIVATE_NEAREST_SOUND_OBJECT which will activate or deactivate (base on the the BI_SOUND_ON variable) the nearest sound object, in addition to the current object.

Note: Requires script 'home_tag' for target objects.
BI_ACTIVATE : Integer
BI_ACTIVATED : Integer
BI_ACTIVATE_NEAREST_SOUND_OBJECT : Integer
BI_BEAM_SOURCE : String
BI_FACE : Float
BI_MOVEX : Float
BI_MOVEY : Float
BI_MOVEZ : Float
BI_RESET : Float
BI_SOUND : String
BI_SOUND_OBJECT_TAG : String
BI_SOUND_ON : Integer
BI_TARGET : String
BI_TARGET1 : String
BI_TARGET2 : String
BI_TURN : Float
BI_VFX : Integer
Placeable Heartbeat bi_activate_osca
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.
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.
It'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.
BI_ACTIVATE : Integer
BI_ACTIVATED : Integer
BI_ACTIVATE_NEAREST_SOUND_OBJECT : Integer
BI_BEAM_SOURCE : String
BI_FACE : Float
BI_MOVEX : Float
BI_MOVEY : Float
BI_MOVEZ : Float
BI_RESET : Float
BI_SOUND : String
BI_SOUND_OBJECT_TAG : String
BI_SOUND_ON : Integer
BI_SPELLID : Integer
BI_TARGET : String
BI_TARGET1 : String
BI_TARGET2 : String
BI_TURN : Float
BI_VFX : Integer
Placeable Heartbeat bi_activate_trig
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.

BI_ACTIVATE : Integer
BI_ACTIVATED : Integer
BI_ACTIVATE_NEAREST_SOUND_OBJECT : Integer
BI_BEAM_SOURCE : String
BI_FACE : Float
BI_MOVEX : Float
BI_MOVEY : Float
BI_MOVEZ : Float
BI_RESET : Float
BI_SOUND : String
BI_SOUND_OBJECT_TAG : String
BI_SOUND_ON : Integer
BI_TARGET : String
BI_TARGET1 : String
BI_TARGET2 : String
BI_TURN : Float
BI_VFX : Integer
Placeable Heartbeat bi_create_bdoor
Updated script from "jj_create_bdoor"
http://forum.sinfar.net/viewtopic.php?f=64&t=352&p=2338#p2338
BACKDOOR_VFX : Integer
KEY : String
NAME : String
NOKEY : Integer
TARGET : String
Door Heartbeat bi_create_bdoor
Updated script from "jj_create_bdoor"
http://forum.sinfar.net/viewtopic.php?f=64&t=352&p=2338#p2338
BACKDOOR_VFX : Integer
KEY : String
NAME : String
NOKEY : Integer
TARGET : String
Door Heartbeat bi_create_ebdoor
A simplified version of bi_create_bdoor for external back doors only. For a single back door inside a house, just add the script and it should work.

A full description can be found here http://forum.sinfar.net/viewtopic.php?f=64&t=12539
G_CLOSE_DELAY : Integer
G_CLOSE_LOCK : Integer
NUMBER : Integer
Placeable Click bi_onclick_sit
An alternative sit script supporting benches and the many chairs that do not work correctly with g_chair_sit. http://sinfar.net/forum/viewtopic.php?t=2809
BI_DIRECTION : Float
BI_PLACES : Integer
BI_RADIUS : Float
BI_WIDTH : Float
BI_X : Float
BI_Y : Float
BI_Z : Float
Placeable Heartbeat bi_p_cbar_hb
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 http://sinfar.net/forum/viewtopic.php?t=4561
ITEM0 : String
ITEM1 : String
ITEM10 : String
ITEM11 : String
ITEM12 : String
ITEM13 : String
ITEM14 : String
ITEM15 : String
ITEM16 : String
ITEM17 : String
ITEM18 : String
ITEM19 : String
ITEM2 : String
ITEM20 : String
ITEM21 : String
ITEM22 : String
ITEM23 : String
ITEM24 : String
ITEM25 : String
ITEM26 : String
ITEM27 : String
ITEM28 : String
ITEM29 : String
ITEM3 : String
ITEM4 : String
ITEM5 : String
ITEM6 : String
ITEM7 : String
ITEM8 : String
ITEM9 : String
LOCK : Integer
Placeable Used bi_p_chairsit_z
A visual "sitting height" altering chairsit script, with compensations for scaled characters.

"HEIGHT_MOD" - For shorter/Taller chairs. Standard sit height is 0.05m, some are different sizes. (!move up/down increments are 0.05, so modifier needed can be found that way)
"FACING_MOD" - Offset in degrees +/-, used for chairs that sit a player on an angle.
FACING_MOD : Float
HEIGHT_MOD : Float
Placeable Used bi_p_clock
A simple hour/day/month clock, for a placeables OnUsed event.

If "AUDIBLE" is set to 1, "USE_INTERVAL" can be set, to determine how often the clock will "speak" the time using the standard chat channel. Default is 10 seconds.

If "AUDIBLE" is unset, or set to 0, or the clock is used again before the interval is up, the time will be sent to the using PC alone.
AUDIBLE : Integer
USE_INTERVAL : Integer
Placeable Heartbeat bi_p_elevate
Creates an elevated walkable area near or over a (non-static) placeable. Apply the script and specify the elevation value on the placeable 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.
ELEVATION : Float
Placeable Heartbeat bi_p_elevatestep
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.
ELEVATION : Float
STEP : Integer
Placeable Used bi_p_force_emote
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.
http://sinfar.net/forum/viewtopic.php?t=2743
BI1_ANIM : Integer
BI1_BODYPART : Integer
BI1_DESC : String
BI1_DIRECTION : Float
BI1_DURATION : Float
BI1_MSG : String
BI1_PHENO : Integer
BI1_SPEED : Float
BI1_VFX : Integer
BI1_X : Float
BI1_Y : Float
BI1_Z : Float
BI2_ANIM : Integer
BI2_BODYPART : Integer
BI2_DESC : String
BI2_DIRECTION : Float
BI2_DURATION : Float
BI2_MSG : String
BI2_PHENO : Integer
BI2_SPEED : Float
BI2_VFX : Integer
BI2_X : Float
BI2_Y : Float
BI2_Z : Float
BI3_ANIM : Integer
BI3_BODYPART : Integer
BI3_DESC : String
BI3_DIRECTION : Float
BI3_DURATION : Float
BI3_MSG : String
BI3_PHENO : Integer
BI3_SPEED : Float
BI3_VFX : Integer
BI3_X : Float
BI3_Y : Float
BI3_Z : Float
BI_ANIM : Integer
BI_BODYPART : Integer
BI_DESC : String
BI_DIRECTION : Float
BI_DURATION : Float
BI_FE_SET : Integer
BI_KEY : String
BI_MSG : String
BI_PHENO : Integer
BI_SHACKLE_MODE : Integer
BI_SPEED : Float
BI_VFX : Integer
BI_X : Float
BI_Y : Float
BI_Z : Float
Placeable Heartbeat bi_p_lightswitch
This is the heartbeat set up script for both the activating placeable, and the target placeable. The switch placeable should be usable, and neither placeable should be set to static.

Switch needs these variables set:
"SWITCH" - int - 1
"NAME" - string - common name shared with the placeable to activate.

The light needs these set:
"LIGHT" - int - 1
"NAME" - string - common name shared with the activating placeable.

The light also needs the effects and/or activation variables set on it
"ACTIVATE" - int - Set to 1 if the activated placeable should play its activate animation when the switch is used.
"EFFECTS" - int - 1 to 4 - dur type vfx can be applied to the placeable when turned on.
"EFFECT_1" to "EFFECT_4" - int - The number of the Dur type VFX to apply
ACTIVATE : Integer
EFFECTS : Integer
EFFECT_1 : Integer
EFFECT_2 : Integer
EFFECT_3 : Integer
EFFECT_4 : Integer
LIGHT : Integer
NAME : String
SWITCH : Integer
Placeable Heartbeat bi_p_nodominate
Placed on a non-static placeable in the OnHeartbeat script, this will block all dominated creatures from being able to enter the area.
Placeable Heartbeat bi_p_nopets
Placed on a non-static placeable in the OnHeartbeat script, this will block all pets, mounts, or various types of henchmen from being able to enter the area.
Removed henchmen will be placed outside the door entered, if the transition target of it is an exterior area, or the OOC area if not.
This is indiscriminate, and will remove the home owner's henchmen as well, if brought into the area.

This should be used primarily only if experiencing recurring issues with players leaving their pets in your house, rather than just to outright block all henchmen, which would also limit potential RP derived from them.
Placeable Heartbeat bi_p_trash_hb
Sets up a usable placeable with an inventory with the trash can scripts.

This script will set the trash container to plot, after the persistent containers in the house are processed.
It's recommended the placeable not be set to plot in the toolset, to avoid any risk of chest contents being shuffled around during the house validation process.
Placeable Used g_bench_rsit
Sit on a bench 2.0
Placeable Used g_bench_sit
sit on a bench
Placeable Used g_chair_sit
sit on a chair
Door Open g_door_autoclose
The door will close itself after a certain number of seconds defined by the variable G_CLOSE_DELAY
By default it is 15 seconds.

If the variable G_CLOSE_LOCK is set to 1, the door will also be locked.

if G_OPEN_ANIMATION is set to 1 or 2, door opening direction can be set. (1 == out, 2 == in, it seems. This could well vary.)
Note: This option does not work on the MAIN_DOOR tagged house door.
G_CLOSE_DELAY : Integer
G_CLOSE_LOCK : Integer
G_OPEN_ANIMATION : Integer
Placeable Used g_door_locker
lock/unlock the nearest door
Placeable Click g_onclickexamine
examine the placeable that has been clicked, immediately
Placeable Used g_play_vfx
Plays a permanent VFX on an object when used, will remove the VFX on a second use. Will also work for instant effects.
G_PLAYVFX : Integer
Placeable Used g_play_vfx_sound
Play a sound and a visual effect when the placeable is used. Using it again will remove the visual effect.

G_PLAYVFX: int - visual effect index to display.
G_PLAYSOUND: string - sound resref to play.
G_PLAYSOUND : String
G_PLAYVFX : Integer
Placeable Used g_playsound
play the sound resref defined by the G_PLAYSOUND variable
G_PLAYSOUND : String
Placeable Used g_plc_onoff
Turn on/off a placeable.
G_PLC_IS_ON: Set this to 1 if the placeable is initially on/activated/open.
G_PLC_TURN_ON_SOUND: Sound ResRef to play when the placeable is turn on.
G_PLC_TURN_OFF_SOUND: Sound ResRef to play when the placeable is turn off.
G_PLC_IS_ON : Integer
G_PLC_TURN_OFF_SOUND : String
G_PLC_TURN_ON_SOUND : String
Placeable Used g_plc_used_turn
Turn the used placeable by 30 degree, or the number of degree defined by the G_TURN_DEGREE variable.

When it turn, you can make it play a sound defined by the variable G_TURN_SOUND.

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.
G_TURN_BACK_DELAY : Integer
G_TURN_DEGREE : Integer
G_TURN_SOUND : String
Placeable Heartbeat home_tag
Adds a tag to the placeable so that the placeable may be accessed by other scripts.
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. Do not use this on placeables with inventory as it will not work.
If it finds XDATA it will also convert the placeable into a static. Keep in mind changes to a static only appear when you enter the area.

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);
TAG : String
XDATA : String
Placeable Heartbeat hs_hb_areaflags
Set how some core systems should behave in the area of the placeable.

The placeable must be non-static, or useable.

XS_NO_JUMP_TOOL: Set it to 1 to prevent people from using their jumping widget.
IS_ARENA: Set it to 1 to turn off the PvP consent and disable all roleplay tools (like jumping widgets).
S_DISABLE_MMM: Set it to one to disallow the use of the Mordenkainen's Magnificent Mansion spell.
NO_DEATH: Set it to one to let characters dying in your house will be able to respawn in place (like in an OOC area)
NO_TPS: Blocks the TPS portable placeables from being usable in the area.
IS_ARENA : Integer
NO_DEATH : Integer
NO_TPS : Integer
S_DISABLE_MMM : Integer
XS_NO_JUMP_TOOL : Integer
Placeable Heartbeat hs_hb_hidearea
Any player entering the same area of the placeable with this script will have their minimap unexplored.
Placeable Heartbeat hs_hb_lock_ps
Will auto lock a placeable with inventory when closed and make it persistent. In addition if the placable has no key it will synchronize the lock to match the front door.

This should significantly increase the security of persistent storage containers but it is still safer to keep them in a locked room.
Placeable Heartbeat hs_hb_makenboard
Turn a usable placeable into a notice board. HS_NOTICE_BOARD_TAG_SUFFIX must be set to a unique tag of maximum 10, A-Z,0-9,_ characters.
HS_NOTICE_BOARD_TAG_SUFFIX : String
Placeable Heartbeat hs_hb_showarea
Any player entering the same area of the placeable with this script will have their minimap explored.
Placeable Heartbeat hs_hb_wc_music
Make the web client of players in area, play a music in a loop.
HS_MUSIC_URL : String
Placeable Used hs_portal_used
Telport the character that used the placeable to a waypoint spawned with the hs_spawn_portwp script and identified with the HS_PORTAL_TAG variable.
HS_PORTAL_TAG: Same as the variable used for the hs_spawn_portwp script.
HS_PORTAL_VFX (Optional): A visual effect to apply on the character before the teleportation.
HS_PORTAL_DELAY (Optional): The time between the placeable action and the teleportation.
HS_PORTAL_DELAY : Float
HS_PORTAL_TAG : String
HS_PORTAL_VFX : Integer
Placeable Heartbeat hs_spawn_animnpc
Turn a useable placeable into an animated NPC.

The NPC can be customized like the hs_store_spawn script.

HS_ANIMNPC_PHENOTYPE - HS_ANIMNPC_ANIMATION: Animation to play, use the !EINFO command to find out the value for those 2 variables.
HS_ANIMNPC_ANIMATION_SPEED: Speed of the animation, relative to 1.0

HS_ANIMNPC_TALKTO_ANIMATION: Animation to play when talked to.
HS_ANIMNPC_TALKTO_SOUND: Sound resref to play when talked to.
HS_ANIMNPC_TALKTO_MESSAGE: Message to say when talked to.
HS_ANIMNPC_ANIMATION : Integer
HS_ANIMNPC_ANIMATION_SPEED : Float
HS_ANIMNPC_ARMOR_APPEARANCE : String
HS_ANIMNPC_BODY_APPEARANCE : String
HS_ANIMNPC_GENDER : Integer
HS_ANIMNPC_HEADV2 : String
HS_ANIMNPC_PHENOTYPE : Integer
HS_ANIMNPC_TALKTO_ANIMATION : Integer
HS_ANIMNPC_TALKTO_MESSAGE : String
HS_ANIMNPC_TALKTO_SOUND : String
HS_SPAWN_VFX_0 : Integer
HS_SPAWN_VFX_1 : Integer
HS_SPAWN_VFX_2 : Integer
HS_SPAWN_VFX_3 : Integer
HS_SPAWN_VFX_4 : Integer
HS_SPAWN_VFX_5 : Integer
Placeable Heartbeat hs_spawn_deadnpc
Turn a useable placeable into dead creature.

The creature can be customized like the hs_store_spawn script.

HS_DEADNPC_APPEARANCE_TYPE: Creature appearance index from the appearance.2da file.
Note: This will not show any creature appearance flagged as [ToDo] in the toolset/appearance.2da.
HS_DEADNPC_APPEARANCE_TYPE : Integer
HS_DEADNPC_ARMOR_APPEARANCE : String
HS_DEADNPC_BODY_APPEARANCE : String
HS_DEADNPC_GENDER : Integer
HS_DEADNPC_HEADV2 : String
HS_SPAWN_VFX_0 : Integer
HS_SPAWN_VFX_1 : Integer
HS_SPAWN_VFX_2 : Integer
HS_SPAWN_VFX_3 : Integer
HS_SPAWN_VFX_4 : Integer
HS_SPAWN_VFX_5 : Integer
Placeable Heartbeat hs_spawn_npc
Replace 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:
1 = Male Tailoring Model
2 = Female Tailoring Model
3 = Male Body Model
4 = Female Body Model
HS_SPAWN_NPC_ID : Integer
Placeable Heartbeat hs_spawn_portwp
Turn the useable placeable into a waypoint where another placeable can bring characters to with the scsript hs_portal_used.
HS_PORTAL_TAG: a key word to identify the location in the house. It shouln't have more than 10 characters.
HS_PORTAL_TAG : String
Placeable Heartbeat hs_store_spawn
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.
You can control the cost if the items with the following variable:
HS_STORE_BONUS_MARK_UP: is added to the stores default mark up percentage on items sold (-100 to 100)
HS_STORE_BONUS_MARK_DOWN: is added to the stores default mark down percentage on items bought (-100 to 100)

You can set the properties of the NPC with the following variables:
HS_STORE_MERCHANT_GENDER: 1 for female, 0 for male
HS_STORE_MERCHANT_BODY_APPEARANCE: Use the body model to get the value of this variable
HS_STORE_MERCHANT_HEADV2: Use the body model, new heads section, to get the value of this variable
HS_STORE_MERCHANT_ARMOR_APPEARANCE: Use the tailoring model to get the value of this variable
HS_SPAWN_VFX_0 - HS_SPAWN_VFX_5: Visual effects (horns, eyes, hat...), from the visualeffects.2da file.

You can control what the NPC say with the following variables:
HS_STORE_DIALOG_NPC_WELCOME_SOUND: Sound resref to play when the dialog start.
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.
HS_STORE_DIALOG_NPC_WELCOME_TEXT
HS_STORE_DIALOG_PC_YES_TEXT
HS_STORE_DIALOG_PC_NO_TEXT

Notes:
- You can use the web client to copy the values spoken by the body or tailoring models.
- You can'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.

If you have questions, you can ask them here: http://sinfar.net/forum/viewtopic.php?f=64&t=5374
HS_SPAWN_VFX_0 : Integer
HS_SPAWN_VFX_1 : Integer
HS_SPAWN_VFX_2 : Integer
HS_SPAWN_VFX_3 : Integer
HS_SPAWN_VFX_4 : Integer
HS_SPAWN_VFX_5 : Integer
HS_STORE_BONUS_MARK_DOWN : Integer
HS_STORE_BONUS_MARK_UP : Integer
HS_STORE_DIALOG_NPC_WELCOME_ANIMATION : Integer
HS_STORE_DIALOG_NPC_WELCOME_SOUND : String
HS_STORE_DIALOG_NPC_WELCOME_TEXT : String
HS_STORE_DIALOG_PC_NO_TEXT : String
HS_STORE_DIALOG_PC_YES_TEXT : String
HS_STORE_MERCHANT_ARMOR_APPEARANCE : String
HS_STORE_MERCHANT_BODY_APPEARANCE : String
HS_STORE_MERCHANT_GENDER : Integer
HS_STORE_MERCHANT_HEADV2 : String
HS_STORE_TAG : String
Placeable Heartbeat hs_store_xferspw
All items put in the inventory of this placeable will be moved to the store identified by the variable HS_STORE_TAG.

See the hs_store_spawn script for more information.
HS_STORE_TAG : String
Placeable Used hs_use_wc_image
Send an image to the web client of the player using the placeable.
HS_IMAGE_URL : String
Placeable Used hs_use_wc_sound
Send a sound to the web client of the player using the placeable.
HS_SOUND_URL : String
Placeable Used hs_use_wc_video
Send a video to the web client of the player using the placeable.
HS_VIDEO_URL : String
Placeable Used hs_use_wc_youtub
Send a YouTube video to the web client of the player using the placeable.

HS_YOUTUBE_ID: ID of the youtube video, you can find it out from the URL of the youtube page: If the URL is http://www.youtube.com/watch?v=AMKYQZHfaf8 then the ID is AMKYQZHfaf8
HS_YOUTUBE_ID : String
Door Heartbeat jj_create_bdoor
Deprecated, left in for legacy support. Use "bi_create_bdoor" now instead.
BACKDOOR_VFX : Integer
KEY : String
NAME : String
NOKEY : Integer
TARGET : String
Placeable Heartbeat jj_create_bdoor
Deprecated, left in for legacy support. Use "bi_create_bdoor" now instead.
BACKDOOR_VFX : Integer
KEY : String
NAME : String
NOKEY : Integer
TARGET : String
Placeable Used lwjb_jukebox
Starts Lil's Jukebox LWJB.
Placeable Heartbeat mail_recvbox_hb
Turn the usable placeable into a mail box. Mails that are sent to your house address will be put in it. You can only have one mailbox per house.
Placeable must have an inventory, letters are loaded into it when opened.

MAIL_NO_WARNING: Set it to 1 to not get a warning when you have new mails in this mailbox.
MAIL_NO_WARNING : Integer
Placeable Heartbeat plcvfx_self
You can add any number of visual effects on a non-static placeable.
Add 1 variable for each visual effect that you want to see on this placeable.
This variable must be set as follow:

Type: Integer.
Name: PLCVFX_SELFn, where n is the index of the visual effect. The first index is 1 so the first visual effect will have "PLCVFX_SELF1" as variable name.
Value: It is the row index of the visual effect in the visualeffects 2da.

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.
PLCVFX_SELF1 : Integer
PLCVFX_SELF2 : Integer
PLCVFX_SELF3 : Integer
Placeable Used plcvfx_switchoff
Turn off/on the visual effect applied by the plcvfx_self heartbeat script.

Instructions
Placeable Heartbeat pmote_hb
A replacement for bi_p_force_emote that also includes functionality from bi_activate and does much more then either.
Primarily intended for shackles and infernal machines intended to degrade and humiliate their victims. As the script is able to provide elevation corrections and deal with dynamically sized characters, it is also great for chairs including bar stools and other furniture that PC's may interact with. Instructions are here as script is rather complex to describe quickly. http://forum.sinfar.net/viewtopic.php?f=64&t=9094&p=69514

I'm still testing this so please some patience may be required, I would appreciate feedback on issues otherwise it should work fine in the simple context of a default behavior for one of supported placeables. That is to say the script without any local variables.
PMOTE0 : String
PMOTE1 : String
PMOTE10 : String
PMOTE11 : String
PMOTE12 : String
PMOTE13 : String
PMOTE14 : String
PMOTE15 : String
PMOTE2 : String
PMOTE3 : String
PMOTE4 : String
PMOTE5 : String
PMOTE6 : String
PMOTE7 : String
PMOTE8 : String
PMOTE9 : String
PMOTE_ACTIVATE : String
PMOTE_CAPTURE : String
PMOTE_DEACTIVATE : String
PMOTE_ENTER : String
PMOTE_EXIT : String
PMOTE_RELEASE : String
PMOTE_TARGET : String
PMOTE_TRIGGER : Integer
TAG : String
Placeable Used shckle_p_talk
Trigger for shackle placeables.
Placeable Used yasm_doorbell
Lobby doorbell. Sends a message to other PCs in the house and/or keyholders.

ENABLE_SHOUT : Set =1 to enable the alert to be sent to recipients outside the area/house
KEY_TAG : Can be used specify a key tag different to the one that operates MAIN_DOOR
MSG_TXT : Used to set custom text to replace "has run the bell in [AreaName]" part of the message
NAME_USER : The default alert does not name the char that rang the bell, use this to override the "Someone" prefix and substitute the name of the character
PLAY_SOUND : 1=Bell, 2=Gong
ENABLE_SHOUT : Integer
KEY_TAG : String
MSG_TXT : String
NAME_USER : Integer
PLAY_SOUND : Integer
Placeable Heartbeat yasm_shackle
http://sinfar.net/forum/viewtopic.php?f=64&t=1162
CHAIN_LENGTH : Float