Movienight - support your friends and express yourself!

fickleheart

ms reflec beat stan
This mod lets players see the audience of people viewing them in netgames, and gives players a variety of ways to express themselves while doing so:

Emotes
This script has a variety of emotes available. View the list by typing .emotes in the game chat, and use an emote by typing it in chat as well! (E.G. typing .heart will display the ".heart" emote)

The emote will display above your head in the audience and in the game world. Use them to express things to people nearby, or to support the player you're watching, while creating less noise in the game chat.

Other addons can add their own emotes with the following method:

Code:
-- If your addon does things aside from emotes, and just adds them as a bonus
if MN then
    MN.AddEmote("emote1", {SPR_BLAH, A, group="My Emotes"})
    -- OR
    MN.AddEmotes("My Emotes", {
        emote1 = {SPR_BLAH, A},
        emote2 = {SPR_BLAH, B, color=SKINCOLOR_RED}
    })
end

-- If your addon is exclusively an emote pack
assert(MN, "This emote pack requires Movienight to be loaded first!")
 MN.AddEmote("emote1", {SPR_BLAH, A})


-- Example of an animated emote
MN.AddEmote("defaultdance", {SPR_BLAH, from=A, to=Z, speed=3})
-- Speed is the number of tics each frame displays for, and defaults to 3 if not set

 
-- Recommended emote pack filename: L_mnemotes_{NAME}-v#.pk3/wad
Poses
You can also pose into any sprite your character has available, as long as you're standing still. Type .poses in chat to view the different poses available, and type .pose <the pose you want> to pose with it! Pose with your death sprite when the person you're watching does something silly, idk.

Other things
You can change which way you're facing in the viewpoint audience by typing .stare, .watch, or .spin in chat.

You can make the audience see-through, or turn them off completely, by using the audience_opacity console variable, if they're getting annoying.

Type .help into chat at any time to see all available commands.

This addon executes a config_movienight.cfg script in your SRB2 folder when it's first loaded. You can use this to set up binds or store a default audience opacity.

INCLUDED EMOTE CREDITS:

Included from the base game:
.heart
.chaching
.goal
.wut
.chirp
.nodanger
.!

Emojis stolen from the SRB2 Discord:
.defeat
.sass
.bruh
.happy
.smug
.sleep
.stop
.point
.think
.tot

fickleheart:
.gaystve
.uwu
chat notification icon

Tyonic:
.dab

Baba Is You:
.baba

Animal Crossing LINE stickers:
.puby

FAVman33:
.danger
 

Attachments

  • srb20090.png
    srb20090.png
    160.6 KB · Views: 3,069
  • srb20093.png
    srb20093.png
    138.9 KB · Views: 2,808
  • srb20080.png
    srb20080.png
    139.7 KB · Views: 2,612
  • L_movienight-v5.pk3
    45.8 KB · Views: 1,212
Last edited:
  • Cool!
Reactions: ash
Hello. Unfortunately V1 had a grievous omission, but thanks to Tyonic this has been resolved in record time and V2 is now up. Changelog:
  • Added .dab
    Amy_dab_half.png
  • Saved Christmas
 
Last edited:
Wrappin' up some changes in v3, aimed mostly at making browsing emotes a more pleasant experience:

  • Added search functionality to the emote and pose listings by using ".emotes search terms here" or ".poses same". This makes it easier to find all of the dab emotes loaded on the server.
  • The emote and pose listings are now sorted alphabetically (first by group - see below - then by emote name) and sectioned into specific pages, instead of the previous quasi-randomized mishmash of sorting by however Lua decided.
  • Emotes can be grouped, which will show up in the emote listing and is used to keep grouped emotes together in sorting. Ungrouped emotes will appear at the end of the listing. Search also checks group names.
  • New (untested :X) methods for adding emotes. These will append a number to the emote name if needed to avoid name conflicts. The old AU_Emotes table is left in for backwards-compatibility. The new methods are:
    • For a single emote: MN.AddEmote("emotename", {SPR_BLAH, A, color=SKINCOLOR_COLOR, group="group"}) (color and group are optional)
    • For a whole group of emotes: MN.AddEmotes("group", {emotename = {SPR_BLAH, A, color=SKINCOLOR_COLOR}}) (color is, again, optional)
  • Bug fixes:
    • Emotes now flip with the player in-world.
    • Fixed the welcome notice from showing up multiple times in chat for new joiners.
  • Started on refactoring the code internally for my own sanity. If new bugs crop up, this is probably the cause.
 
I tried loading it and testing it, and the commands don't work. The console says they are unknown commands. It also says "couldn't execute file config_movienight.cfg", so do I have to make the required .cfg on my own?
 
Most of the commands are chat commands, so you send them as chat messages instead of using the console. I considered this a better interface than opening the console every time you want to use an emote.


config_movienight.cfg is optional. You can create one if that message annoys you, but it's not required in any way.
 
This is, like, the coolest addon EVER! It makes me want to play SRB2 more and more and more. It's exactly this sort of thing that improves the multiplayer experience and makes it truly a *social* experience, which is probably what a lot of us stick around the community for nowadays anyhow.

Great job! I can't wait to use this next time I am playing with friendos. :D
 
If someone uses too high of a value for the speed it will crash the server it's on... This really needs to be fixed /:
Maybe limit the max speed for a pose to around 10k? that would be way more then enough.
 
.pose command breaks sprites
Map is now "MAP04: Techno Hill Zone 1"
<ARJr> .pose rage -100
ERROR: HWR_ProjectSprite: invalid sprite frame 254/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 253/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 253/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 253/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 252/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 252/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 252/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 252/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 251/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 251/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 251/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 250/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 250/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 250/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 255/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 255/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 255/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 254/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 254/7 for PLAY
ERROR: HWR_ProjectSprite: invalid sprite frame 254/7 for PLAY
*BigNig left the game
<ARJr> oh.
Rust is no longer AFK.
<Roman4ik56(RUS)> stoy
<ARJr> ya?
<Roman4ik56(RUS)> net
<ARJr> okei
<Roman4ik56(RUS)> blue tails
MetaShade is no longer AFK.
<ARJr> WB Meta
<MetaShade> thx
{RU}Sirexer has completed the level.
srb20254.png
 
This mod is nice but bad we can only remove audience because some emotes can be annoying and flood the chat and also it's glitched.
 
v4 changelog:
- fixed a crash with entering large numbers into pose arguments
- possibly fixed some issues with pose frames showing unknown sprite indicators?
- fixed some poses not showing up in the .poses listing
- added twinspin and melee as poses
- possibly other things, I tweaked the script weeks ago and forgot what I did
 
Would it be possible to make it so that you can pose with Super sprites, instead of reverting back to the regular sprites when you pose?

I'd also kinda like to pose with NiGHTS and Continue sprites, but I think the Super sprites are more important than those
 
If possible, would you be able to implement player validity checks into the mod? When the mod is first loaded (or a player game overs in netplay) the script freaks out pretty badly and breaks. I only say player validity checks due to the nature of the error (which spits something out related to "mo" being nil.)
 
v5 changelog:

- emotes can now be animated, using the format {SPR_XXXX, from=A, to=Z, speed=3}
- emotes can be set to use the player's color using color=MN.PLAYER_COLOR
- players can stack multiple emotes, the number of which can be controlled by admins with mn_maxstacksize 0-70
- players viewing others now show that player's icon above their in-world head
- fixed highres characters in the audience and other console errors
- emote changes:
-- added a new graphic for the message icon
-- added .! (from base game assets) and .uwu (by myself)
-- .chaching and .chirp are now animated
-- .danger has been replaced with a new animated emote by FAVman33

srb20449.png
srb20453.png


(A small side note related to our playtesting with Skip: we noticed unknown sprite errors when using his dance combined with posing on an animation with fewer frames than his dance animation. This is a conflict between the two addons and not a problem specific to either one. Not to place any blame, just to head off bug reports in advance.)

I have changed the suggested filename for emote packs to make them shorter due to filesize packet limits. You don't strictly have to follow the suggested pattern.
 
Last edited:
Looks like people are gonna have to revert to v4 if this gets merged. Fickle hid the lua for v5 so that it can't be accessed in slade, which means adding "extra bytes" to them in order to stop people from only putting part of the wad's lua on their server. Fick's officially left the community, so I highly doubt we'll be seeing her come back to make a 5.1 to make it compatible with 2.2.9, assuming it's merged.

 
!1275 did get merged, so the current version of this mod will be incompatible. I actually made a patch already that changes nothing but "fix" the bytes, but I will likely never be allowed to distribute it due to how the community handles things. :/
 

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top