Difference between revisions of "Message Spam"
Moved best method up top, some info
imported>Haama (→OBSE Commands: Sound will still play) |
imported>Haama (Moved best method up top, some info) |
||
Line 1: | Line 1: | ||
__NOTOC__[[Category: Useful Code]] | __NOTOC__[[Category: Useful Code]] | ||
Tes4 displays messages to the player whenever: 1) spells are added to, 2) items are added to or removed from the player. For some scripts such messages are very undesirable (e.g. for an alchemical sorters which adds/removes many items). Hence, message "spam". There are several techniques for avoiding this spam. | Tes4 displays messages to the player whenever: 1) spells are added to, 2) items are added to or removed from the player. For some scripts such messages are very undesirable (e.g. for an alchemical sorters which adds/removes many items). Hence, message "spam". There are several techniques for avoiding this spam. | ||
===AddItem - aTemp Container=== | |||
When adding items to the player, spam can be avoided by first adding the item to a container, and then removing the contents from the container to the player. This works because unlike addItem, [[RemoveAllItems]] is silent. | |||
<pre> | |||
tempContainerRef.addItem deathDagger 1 | |||
tempContainerRef.removeAllItems player</pre> | |||
If you're using [[Glossary#C|Cobl]], you can use '''cobGenXFerRef''' for the temporary container -- it's defined for just this sort of use. | |||
'''Note:''' Do ''not'' wait a frame to remove the item to the player. If you do, you run the chance of running the item's script, which in rare circumstances can cause problems. | |||
===Message Queue Overloading=== | ===Message Queue Overloading=== | ||
Line 28: | Line 38: | ||
'''Con:''' The sound generated by the CS versions of these functions is also generated by these functions. | '''Con:''' The sound generated by the CS versions of these functions is also generated by these functions. | ||
===Item Activate=== | ===Item Activate=== |