• Having trouble receiving email verification when signing up? Contact a staff member via our Discord server!
  • Consider joining our Discord server if you haven't already! Discord is a free voice and text chat platform that's more or less a combination of Skype and Teamspeak. Using Discord, you can chat with other Relic Castle members in real-time! Wowza! Click here for the details!
BW 'Shout' Message Effect

BW 'Shout' Message Effect 1.0

Pokémon Essentials Version
v17.2 ✅
angry_text.gif


I wanted to include the BW 'shout/scream' effect in my games, and thought I would make it available to everyone as I hadn't seen it before.

To use

Start a message with '\sh' and the message box, sound effect and shake effect will all be applied.

To set up

First, download the linked file which contains a windowskin and sound effect. Add the Windowskin to your Graphics/Windowskins folder, and the .ogg file to Audio\SE.

Open the Script editor, and head to Messages. There's 3 changes you'll want to make:

1. Add the 'sh' message command to the text parser

Look for this line:
Code:
while text[/(?:\\([WwFf]|[Ff][Ff]|[Tt][Ss]|[Cc][Ll]|[Mm][Ee]|[Ss][Ee]|[Ww][Tt]|[Ww][Tt][Nn][Pp]|[Cc][Hh])\[([^\]]*)\]|\\([Gg]|[Cc][Nn]|[Ww][Dd]|[Ww][Mm]|[Oo][Pp]|[Cc][Ll]|[Ww][Uu]|[\.]|[\|]|[\!]|[\x5E])())/i]
And replace it with:
Code:
while text[/(?:\\([WwFf]|[Ff][Ff]|[Tt][Ss]|[Cc][Ll]|[Mm][Ee]|[Ss][Ee]|[Ww][Tt]|[Ww][Tt][Nn][Pp]|[Cc][Hh])\[([^\]]*)\]|\\([Gg]|[Cc][Nn]|[Ww][Dd]|[Ww][Mm]|[Oo][Pp]|[Ss][Hh]|[Cc][Ll]|[Ww][Uu]|[\.]|[\|]|[\!]|[\x5E])())/i]
2. Add the flag for shout

Look for this line:
Code:
signWaitCount=0
And insert this line below it:
Code:
shout = false
3. Set up the shout command

Look for these lines:
Code:
elsif control=="op"
      signWaitCount=21
And insert these lines below it:
Code:
elsif control=="sh"
      shout=true
      signWaitCount=16
      startSE="shout"
      msgwindow.setSkin("Graphics/Windowskins/shout")
      msgwindow.width=msgwindow.width  # Necessary evil
4. Add the window shake effect

Look for these lines:
Code:
if signWaitCount>0
      signWaitCount-=1
Change the if to elsif and insert these lines above it:
Code:
    if signWaitCount != 0 && shout == true
      signWaitCount=(signWaitCount*-0.9).floor
      if atTop
        msgwindow.y=signWaitCount
      else
        msgwindow.y=Graphics.height-(msgwindow.height + signWaitCount)
      end
And there you have it! It didn't seem like monkey patching this bit of code was possible so it's a little more awkward to set up - but it works great once it's in place. Hope this helps someone!
Credits
Boonzeet
Author
boonzeet
Downloads
118
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from boonzeet

Top