SIMTools Speech Integration and Management tools is a set of scripting routines that allow dms unprecedented control over their modules, and give players convenient access to an array of commands simply by typing them in. It requires NWNX to be installed and running in order to use it. Detailed instructions and the necessary program files are included in the self-extracting executable to the right.
The scriptset makes use of the amazing NWNX plugin, nwnx_chat, by Dumbo. Nwnx_chat adds a new event, OnSpeech, which you can use to hook any script off of any player, DM, or ever server speech event. You can also use it to SUPPRESS that speech, making possible a variety of tools long desired by the community, like the ability to stop spam, add language filters, prevent dead players from talking, and so on. When 1.69 came along, Bioware added the chat event, but it still couldn't capture tells, which left nwnx_chat the superior method of chat capture, since aside from parsing tells, logging them, and seeing them ingame, SIMTools makes use of them for command targeting, which allows even more flexibility than the DM Client.
I've arranged a large number of different options in as streamlined and efficient a way as I could, almost all of which can be toggled on or off.
Feature List:
o Supports both NWNX and Bioware standard databases.
o Can log all chat on the server at the user's option.
o Can reset the server via chat command. Unlike calling StartNewModule, the reset plugin stops the nwserver process, clearing the memory to eliminate lag buildup.
o Has a built-in spamblocker.
o Has 2 classes of power, DM and aministrator, with configurable powers, designated by cd key.
o DMs and admins can view all tells on the server at the user's option, when logged in as player and/or dungeon master.
o DMs and admins can view all dm channel messages on the server at the user's option, when logged in as a player.
o Has 83 languages. Characters many speak the languages, either as one-liners, if the have the needed class, race, or subrace. Listeners receive an optional Lore check to understand even if they don't speak the language, and another (much lower) to at least recognize what languages is being spoken.
o Has metachannels. Metachannels are added chat channels. They are very similar to the party channel, in that players control who is in their metachannel via invites. They may invite whomever they like, however, and are not limited to the members of their party. There is no set number of metachannels; rather, a metachannel is created whenever a player wants. The first invite sent out determines who the 'leader' of the metachannel is. When that invite is accepted, the inviter becomes the leader of a new metachannel. From that point on, any messages that any member types that begin with '/m' will be sent to every member of the metachannel, via the combat log. Metachannels will be logged with other text if you enable text logging. If you are uncertain what use these channels could be put to, the whole reason that I implemented them at all was for guild use on my PW, but I'm certain they will find other uses.
o One, some, or all channels may be disabled when players are dead or silenced, at the users option.
o One, some, or all channels may be disabled permanently, at the users option.
o Players and dms have acces to a large number of emotes and commands, listed below:
Emotes
These are the emotes you can use via chat. They can be typed into any chat channel (party, talk, shout, etc.) and have the same effect in all of them. They are case insensitive.
Most emotes also have a two-letter shortcut which may be used instead, in parentheses to the right of the emote.
Commands
These are the commands you can use via chat. They can be typed into any chat channel (party, talk, shout, etc.) and have the same effect in all of them. They are case insensitive.
Commands shown in green must either be sent via tell or targeted with the command targeter. You will be prompted to use the command targeter if you do not target via tell.
!d4 = Rolls a d4.
!d6 = Rolls a d6.
!d8 = Rolls a d8.
!d10 = Rolls a d10.
!d12 = Rolls a d12.
!d20 = Rolls a d20.
!d100 = Rolls a d100.
!partyroll = Does an arranged party loot split roll, if the command giver is the party leader.
!skillcheck = Allows players to roll checks against a specific skill and DC. The command format is !skillcheck (skill#) (DC#) . Example: A DC 20 Discipline Check would be spoken as follows: !skillcheck 3 20 . The result will be displayed in floating text above the player. A list of skill numbers can be called up using the !skillslist command.
!Skillslist = Sends a list of the skills and matching skill numbers to the players combat log, for easy reference when using the !skillcheck command to do skill checks.
!wpac = Changes weapon visual to acid.
!wpco = Changes weapon visual to cold.
!wpel = Changes weapon visual to electric.
!wpev = Changes weapon visual to evil.
!wpfi = Changes weapon visual to fire.
!wpho = Changes weapon visual to holy.
!wpnone = Removes weapon visual.
!setname = Allows the speaker to rename one of their items. The command format is !setname (new name). The command is case-sensitive. Example: To rename item Longsword to Sam's Sword: !setname Sam's Sword. This command must be targeted at an item, using the Command Targeter.
!setnameall = This command is identical in function and format to !setname, but will rename all items in the targeted item's possessor's inventory of the same name as the targeted item.
!help = Lists the useable chat commands plus explanations.
!list emotes = Lists the useable chat emotes.
!list commands = Lists the useable chat commands.
!list ignored = Lists the players you have chosen to ignore.
!list languages = Lists all the languages a player can speak, and explains the /l (oneliner) and !speak command uses.
!list alllanguages = Lists all the languages available in SIMTools.
/l = Speak a single line in the specified language. The command format is /l (name of language) (message). You can get a list of the languages your character is able to speak with the !list languages command.
!speak = Using this command makes you speak the language specified until you !speak another language or !speak common to speak normally again. You can get a list of the languages your character is able to speak with the !list languages command.
!metaaccept = Accepts an invitation to a metachannel.
!metadecline = Declines an invitation to a metachannel.
!metadisband = Removes every member of the metachannel. Only the leader of the metachannel can disband it.
!metainvite (must be targeted by tell or command targeter) = Invites the target of the tell to your current metachannel. If you are not in a meta chanel, a new channel will be created if that person accepts.
!metakick (must be targeted by tell or command targeter) = Kicks the target of the tell from your metachannel. Only the leader of the metachannel can kick people from it.
!metaleave = Removes you from your current metachannel.
!metalist = Lists the people in your metachannel.
/m = Sends the text entered after the channel designation to the player's metachannel.
!delete (must be targeted by tell or command targeter) = Deletes the target character. It will ask for confimation by repetition of the command combined with the target's public cd key, as shown in the !playerinfocommand.
!playerinfo (must be targeted by tell or command targeter) = Lists the target's Playername, CD Key, Classes, Experience, Experience Needed for Next Level, Area, and Partymembers. If used on yourself it also shows Diety, Subrace, Gold, and Gold Plus Inventory Value. You may hide all but your Playername and CD Key from other players by using the !anon command.
!anon = Hides your class, experience, area, and partymember information from other players using the !playerinfo command.
!unanon = Removes your anonymous staus, allowing other players to see your class, experience, area, and partymember information.
!settail (must be targeted by tell or command targeter) = Changes the character's tail to the specified number, or removes it if 0 entered. The command format is !settail (tail number). May not be used on other DMs.
!setwings (must be targeted by tell or command targeter) = Changes the character's wings to the specified number, or removes them if 0 entered. The command format is !setwing (wing number). May not be used on other DMs.
!ignore (must be targeted by tell or command targeter) = You will not receive tells from the player you send this command to.
!unignore (must be targeted by tell or command targeter) = Removes ignore status.
!lfg = Announces that you are looking for a group in shout.
DM Commands
These are the DM commands that DMs and DMs logged in as players can use via chat. They are case insensitive.
Commands shown in green must either be sent via tell or targeted with the command targeter. You will be prompted to use the command targeter if you do not target via tell.
dm_align_chaos = The target has their alignment shifted towards chaos by the number of points input. The command format is dm_align_chaos (amount to shift). Note that partymembers will be affected as well to an extent.
dm_align_evil = The target has their alignment shifted towards evil by the number of points input. The command format is dm_align_evil (amount to shift). Note that partymembers will be affected as well to an extent.
dm_align_good = The target has their alignment shifted towards good by the number of points input. The command format is dm_align_good (amount to shift). Note that partymembers will be affected as well to an extent.
dm_align_law = The target has their alignment shifted towards law by the number of points input. The command format is dm_align_law (amount to shift). Note that partymembers will be affected as well to an extent.
dm_bandm = Bans the target from using DM channel until the next reset. May not be targeted at a DM.
dm_banplayer_perm = Bans the target player's cdkey permanently from your server. If the banned player attempts to reconnect they are autobooted. May not be targeted at a DM.
dm_banplayer_temp = Bans the target player's cdkey from your server until the next reset. If the banned player attempts to reconnect they are autobooted. May not be targeted at a DM.
dm_banshout_temp = Bans the target from using shout channel until the next reset. May not be targeted at a DM.
dm_banshout_perm = Bans the target from using shout channel permanently. May not be targeted at a DM.
dm_getbanlist = Shows a list of all the players banned from shout or DM channel.
dm_getbanreason = Shows why the target was banned from shout channel - Spam or DM. The reason for the banning is only stored until the next reset, so will not display for permabanned players. The name of the DM who did the ban will be shown for DM bans, and the message that resulted in the ban will be displayed for spam autobans.
dm_unbandm = The target is no longer banned from using DM channel.
dm_unbanshout = The target is no longer banned from using shout channel.
dm_fx = Allows the DM to create any vfx on the target. For COM, IMP, and FNF visuals, the format is simple, because the duration type and time are always 0: dm_fx (vfx#) 0 0 . Example: to apply a meteor swarm vfx effect on the target: dm_vfx 28 0 0 . For DUR, BEAM, and EYES visuals, a duration type and duration must be specified, and you may also choose to make the effect extraordinary (undispellable) or supernatural (not removed by rest), or both. The format: dm_fx (vfx#) (duration type#) (duration) (E/S/SE) . Duration type is either 1 for temporary or 2 for permanent. Duration is the number of seconds to want the effect to last. Example: to apply a dominated vfx effect to the target for a duration of 5 minutes (300 seconds): dm_vfx 209 1 300
dm_fx_list_* = Lists the vfx numbers and names of each type of vfx, by replacing the asterisk with one of 6 three-letter fx type codes: dur, bea, eye, imp, com, fnf. Example: dm_fx_list_fnf lists all the vfx names and numbers for Fire-and-Forget type visual effects. dm_fx_list_dur lists duration types, dm_fx_list_bea lists beam types, and so on.
dm_fx_loc = This command is identical in function and format to the dm_fx command, but will create the effect at the target location instead of on a target object.
dm_fx_rem = Removes all visual effects on the target that were created by the sender. This includes all those created by the dm_fx command.
dm_fac_a_allally = All creatures in the area of the target have their faction reputation set to 100 (ally) for the enemy, merchant, commoner, and defender factions. May also be targeted at the area itself by clicking the ground.
dm_fac_a_allfoe = All creatures in the area of the target have their faction reputation set to 0 (enemy) for the enemy, merchant, commoner, and defender factions. May also be targeted at the area itself by clicking the ground.
dm_fac_a_peace = All creatures in the area of the target have their faction reputation set to 11 (nonhostile) to the enemy faction, 50 (neutral) to the merchant faction, 91 (ally) to the commoner faction, and 100 to the defender faction. May also be targeted at the area itself by clicking the ground.
dm_fac_a_reset = All creatures in the area of the target have their faction reputation set to 0 (hostile) to the enemy faction, 50 (neutral) to the merchant faction, 91 (ally) to the commoner faction, and 100 to the defender faction. May also be targeted at the area itself by clicking the ground.
dm_fac_c_allally = The target has their faction reputation set to 100 (ally) for the enemy, merchant, commoner, and defender factions.
dm_fac_c_allfoe = The target has their faction reputation set to 0 (enemy) for the enemy, merchant, commoner, and defender factions.
dm_fac_c_peace = The target has their faction reputation set to 11 (nonhostile) to the enemy faction, 50 (neutral) to the merchant faction, 91 (ally) to the commoner faction, and 100 to the defender faction.
dm_fac_c_reset = The target has their faction reputation set to 0 (hostile) to the enemy faction, 50 (neutral) to the merchant faction, 91 (ally) to the commoner faction, and 100 to the defender faction.
dm_fac_m_allally = All creatures in the area of the target except pcs have their faction reputation set to 100 (ally) for the enemy, merchant, commoner, and defender factions. May also be targeted at the area itself by clicking the ground.
dm_fac_m_allfoe = All creatures in the area of the target except pcs have their faction reputation set to 0 (enemy) for the enemy, merchant, commoner, and defender factions. May also be targeted at the area itself by clicking the ground.
dm_fac_m_peace = All creatures in the area of the target except pcs have their faction reputation set to 11 (nonhostile) to the enemy faction, 50 (neutral) to the merchant faction, 91 (ally) to the commoner faction, and 100 to the defender faction. May also be targeted at the area itself by clicking the ground.
dm_fac_m_reset = All creatures in the area of the target except pcs have their faction reputation set to 0 (hostile) to the enemy faction, 50 (neutral) to the merchant faction, 91 (ally) to the commoner faction, and 100 to the defender faction. May also be targeted at the area itself by clicking the ground.
dm_fac_p_allally = All players in the party of the target have their faction reputation set to 100 (ally) for the enemy, merchant, commoner, and defender factions.
dm_fac_p_allfoe = All players in the party of the target have their faction reputation set to 0 (enemy) for the enemy, merchant, commoner, and defender factions.
dm_fac_p_peace = All players in the party of the target have their faction reputation set to 11 (nonhostile) to the enemy faction, 50 (neutral) to the merchant faction, 91 (ally) to the commoner faction, and 100 to the defender faction.
dm_fac_p_reset = All players in the party of the target have their faction reputation set to 0 (hostile) to the enemy faction, 50 (neutral) to the merchant faction, 91 (ally) to the commoner faction, and 100 to the defender faction.
dm_givexp = Gives the target the specified amount of experience. The command format is dm_givexp (amount of xp to give). To award 500xp, for instance, you would type: dm_givexp 500.
dm_givelevel = Gives the target the specified number of levels. The command format is dm_givelevel (number of levels to give). To give 2 levels, for instance, you would type: dm_givelevel 2.
dm_takexp = Removes the specified amount of experience from the target. The command format is dm_takexp (amount of xp to take). To remove 500xp, for instance, you would type: dm_takexp 500.
dm_takelevel = Removes the specified number of levels from the target. The command format is dm_takelevel (number of levels to take). To take 2 levels, for instance, you would type: dm_takelevel 2.
dm_givepartyxp = All players in the party of the target receive the amount of experience specified. Command format is dm_givepartyxp (amount to give).
dm_givepartylevel = All players in the party of the target receive the number of levels specified. Command format is dm_givepartylevel (number to give).
dm_takepartyxp = All players in the party of the target lose the amount of experience specified. Command format is dm_takepartyxp (amount to remove).
dm_takepartylevel = All players in the party of the target lose the number of levels specified. Command format is dm_takepartylevel (number to remove).
dm_ignoredm = The sender will ignore DM channel if they are logged in as a player.
dm_ignoremeta = The sender will ignore meta channels.
dm_ignoretells = The sender will ignore all tells except those sent to or by him.
dm_unignoredm = The sender will no longer ignore DM channel.
dm_unignoremeta = The sender will no longer ignore meta channels.
dm_unignoretells = The sender will no longer ignore any tells.
dm_item_id = All items in the target's inventory are identified.
dm_item_destroy_all = All the target's items are destroyed. May only be used on creatures.
dm_item_destroy_equip = All items the target has equipped are destroyed. May only be used on creatures.
dm_item_destroy_inv = All items in the target's inventory are destroyed.
dm_invis = The sender is made cutsecene invisible and ghosted.
dm_uninvis = The sender is no longer cutsecene invisible or ghosted.
dm_invuln = The target is made invulnerable.
dm_uninvuln = The target is made vulnerable again.
dm_learn = Teaches the target the language specified. The language name, in lower case, follows the command: dm_learn sylvan, for instance, would teach the target the Sylvan language. You can list the available languages using the
dm_unlearn = Removes knowledge of the language specified from the target. Format is the same as dm_learn: dm_unlearn sylvan . You can list the available languages using the
dm_listcommands = The sender is sent a list of all the dm_ commands for use by DMs and DMs logged in as players.
dm_help = Lists the useable dm_ commands useable by DMs and DMs logged in as players, plus explanations.
dm_boot = The target is booted. May not be used on other DMs.
dm_change_appear = Allows the DM to change the appearance of the targeted creature. The command format is dm_change_appear (appearance number) . Example: to change the target's appearance to that of a badger: dm_change_appear 8 . There are too many appearance numbers to list, but experimentation will yeild results, as with the dm console command. Numbers range up to around 3200 or so if CEP2 is installed, fewer otherwise.
dm_change_appear base = Resets the appearance of the target PC to what it was before any dm_change_appear commands were used on them. It is only available if you are using the NWNX database, or are using the Bioware database with languages enabled. Unlike the dm_change_appear command, this command can only be used on PCs.
dm_create (resref) = Creates an item of the entered resref on the target.
dm_freeze = Makes the target uncommandable. May not be targeted at a DM.
dm_unfreeze = Makes the target commandable again.
dm_kill = The target is killed. May not be used on DMs.
dm_rez = The target is resurrected. May not be used on other DMs.
dm_reset_mod = The server is shut down and restarted immediately.
dm_sql = Executes the input sql command to the database. It can return SELECT queries as well, so long as they specify column names instead of using *. Command format is dm_sql (sql query). Only administrators can use this command.
dm_rest = The target is instantly rested. May not be used on other DMs.
dm_reveal = The target has their area map revealed to them.
dm_hide = The target has their area map hidden from them.
/v = This is the ventriloquism command. Once they select a target, the dm may 'throw' their voice to the target at any time, simply by typing /v with a space after it, before the text to be spoken by the target. May only be used by DMs. May not be targeted at other DMs.
dm_jump = Jumps the DM to the targeted location.
dm_porthere = The target is teleported to the sender. May not be used on other DMs.
dm_porthell = The target is sent for punishment. May not be used on other DMs.
dm_portjail = The target is sent for detainment. May not be used on other DMs.
dm_portleader = The target is teleported to his partyleader. May not be used on other DMs.
dm_portthere = The sender is teleported to the target.
dm_porttown = The target is teleported to town. May not be used on other DMs.
dm_portway = The target is teleported to the specified waypoint. May not be used on other DMs.
dm_portpartyhere = All players in the party of the target are teleported to the sender. May not be targeted at other DMs.
dm_portpartyhell = All players in the party of the target are sent for punishment. May not be targeted at other DMs.
dm_portpartyjail = All players in the party of the target are sent for detainment. May not be targeted at other DMs.
dm_portpartyleader = All players in the party of the target are teleported to their partyleader. May not be targeted at other DMs.
dm_portpartythere = All players in the party of the dm are teleported to the target of the tell. May be targeted at NPCs and other objects, unlike the other party port commands.
dm_portpartytown = All players in the party of the target are teleported to town. May not be targeted at other DMs.
dm_portpartyway = All players in the party of the target are teleported to the specified waypoint. May not be used on other DMs.
dm_setcha = The target's charisma is set to the number specified. The number must be between 3 and 99 inclusive. The command format is dm_setcha (desired score). May not be used on other DMs.
dm_setcon = The target's constitution is set to the number specified. The number must be between 3 and 99 inclusive. The command format is dm_setcon (desired score). May not be used on other DMs.
dm_setdex = The target's dexterity is set to the number specified. The number must be between 3 and 99 inclusive. The command format is dm_setcha (desired score). May not be used on other DMs.
dm_setint = The target's intelligence is set to the number specified. The number must be between 3 and 99 inclusive. The command format is dm_setint (desired score). May not be used on other DMs.
dm_setstr = The target's strength is set to the number specified. The number must be between 3 and 99 inclusive. The command format is dm_setstr (desired score). May not be used on other DMs.
dm_setwis = The target's wisdom is set to the number specified. The number must be between 3 and 99 inclusive. The command format is dm_setwis (desired score). May not be used on other DMs.
dm_setfort = The target's fort save is set to the number specified. The command format is dm_setfort (desired save). May not be used on other DMs.
dm_setreflex = The target's reflex save is set to the number specified. The command format is dm_setreflex (desired save). May not be used on other DMs.
dm_setwill = The target's will save is set to the number specified. The command format is dm_setwill (desired save). May not be used on other DMs.
dm_settime = This command sets the module time forward to the specified hour. The command format is dm_settime (desired hour).
dm_setvarint = Sets a local int on the target. Command format is dm_setvarint (name of variable) (int value). You may target the area by clicking on the ground.
dm_setvarfloat = Sets a local float on the target. Command format is dm_setvarfloat (name of variable) (float value). You may target the area by clicking on the ground.
dm_setvarstring = Sets a local string on the target. Command format is dm_setvarstring (name of variable) (string value). You may target the area by clicking on the ground.
dm_setvarmodint = Sets a local int on the module. Command format is dm_setvarmodint (name of variable) (int value).
dm_setvarmodfloat = Sets a local float on the module. Command format is dm_setvarmodfloat (name of variable) (float value).
dm_setvarmodstring = Sets a local string on the module. Command format is dm_setvarmodstring (name of variable) (string value).
dm_getvarint = Gets a local int on the target. Command format is dm_getvarint (name of variable). You may target the area by clicking on the ground.
dm_getvarfloat = Gets a local float on the target. Command format is dm_getvarfloat (name of variable). You may target the area by clicking on the ground.
dm_getvarstring = Gets a local string on the target. Command format is dm_getvarstring (name of variable). You may target the area by clicking on the ground.
dm_getvarmodint = Gets a local int on the module. Command format is dm_getvarmodint (name of variable).
dm_getvarmodfloat = Gets a local float on the module. Command format is dm_getvarmodfloat (name of variable).
dm_getvarmodstring = Gets a local string on the module. Command format is dm_getvarmodstring (name of variable).
dm_setweather_a_clear = The weather in the target's area is set to clear, if it is an exterior area.
dm_setweather_a_rain = The weather in the target's area is set to rain, if it is an exterior area.
dm_setweather_a_reset = The weather in the target's area is set back to the area default settings, if it is an exterior area.
dm_setweather_a_snow = The weather in the target's area is set to snow, if it is an exterior area.
dm_setweather_m_clear = The weather is set to clear in all exterior areas.
dm_setweather_m_rain = The weather is set to rain in all exterior areas.
dm_setweather_m_reset = The weather is set back to the area default settings in all exterior areas.
dm_setweather_m_snow = The weather is set to snow in all exterior areas.
dm_spawn = Spawns a creature of the specified resref at the target location. Command format is dm_spawn (resref).
dm_vent = Can be used instead of the DM Voice Thrower to select a target for the /v (ventriloquism) command. May not target DMs.
**Languages**
Racial/Planar
-------------
Abyssal, Animal, Aquan, Auran, Averial, Bugbear, Celestial, Draconic, Drow, DrowSign, Duergar, Dwarf, Elven, Giant, Githzerai, Gnoll, Gnome, Goblin, Grimlock, Half-Orc, Halfling, Hengeyokai, Hobgoblin, Ignan, Illithid, Infernal, Kenderspeak, Kobold, Korred, Kuo-Toan, (Leetspeak), Lizardman, Minotaur, Ogre, Orc, Pixie, Rakshasa, Sahaguin, Sirensong, Stinger, Svirfneblin, Sylvan, Terran, Thri-Kreen, Treant, Troll, Undercommon, Yuan-Ti
Regional
--------
Algarondan, Alzhedo, Chessentan, Chondathan, Chultan, Damaran, Dambrathan, Durpari, Halardrim, Halruaan, High, Shou, Illuskan, Imaskar, Lantanese, Midani, Mulhorandi, Nexalan, Oillusk, Rashemi, Raumvira, Serusan, Shaaran, Shou, Talfiric, Tashalan, Tuigan, Turmic, Uluik, Untheric, Vaasan
Class
-----
Assassin's Cant (Assassin), Druidic, Magic, Necromantic, Psionic, Thieve's Cant (Cant)
Please bring any questions you may have to the forums linked to below, since I check them much more often than I do my Vault submissions.
Updated 6/9/07 V3.1
-Fixed a bug causing area targetable commands to remprompt targeting after the command targeter was used.
-Fixed a bug preventing the command targeter from being used to confirm delete commands.
Attachment | Size |
---|---|
![]() | 861.22 KB |
![]() | 861.49 KB |
![]() | 4.51 KB |
![]() | 530.96 KB |
![]() | 701.16 KB |
![]() | 713.44 KB |
Will this be updated for EE and the new version of NWNX?