• The Eevee Expo Game Jam #10 has concluded, congratulations to all participants! Now it's time for the judges to play through the games, and you can play along to vote who deserves the community choice spotlight.
    You can check out the submitted games here!
    Play through the games and provide some feedback to the devs while you're at it!
  • Hi, Guest!
    Some images might be missing as we move away from using embedded images, sorry for the mess!
    From now on, you'll be required to use a third party to host images. You can learn how to add images here, and if your thread is missing images you can request them here.
    Do not use Discord to host any images you post, these links expire quickly!
Instant Messages

Resource Instant Messages 1.1.1

wrigty12

Tester-Coder Hybrid
Member
Joined
Jul 24, 2022
Posts
522
wrigty12 submitted a new resource:

Instant Messages - Have NPCs send your player instant messages!

In the modern day, we heavily utilize texting and instant messaging to have conversations with other people. This plugin allows you to bring a similar system to your own games!

Using pbReceiveIM, you can send the player an instant message you defined.

You can review old messages you received, along side new ones, using pbInstantMessages.

Demo Video of viewing an Instant Messages...

Read more about this resource...
 

Krahssen

Novice
Member
Joined
May 31, 2018
Posts
33
This script is amazing!

By the way, I noticed that it uses "on__step_taken" instead of "on_player_step_taken" for calculating steps. Doesn't this cause the steps from movement events around to be counted instead of the player's steps?
 

wrigty12

Tester-Coder Hybrid
Member
Joined
Jul 24, 2022
Posts
522
This script is amazing!

By the way, I noticed that it uses "on__step_taken" instead of "on_player_step_taken" for calculating steps. Doesn't this cause the steps from movement events around to be counted instead of the player's steps?
Huh. Yep. Totally did that. I'll change it on the next update!
 

ardicoozer

Cooltrainer
Member
Joined
Sep 29, 2020
Posts
171
Just my suggestion,
Maybe, player can access the message via items like a Xtransceiver do ( BW features ).
 

wrigty12

Tester-Coder Hybrid
Member
Joined
Jul 24, 2022
Posts
522
Just my suggestion,
Maybe, player can access the message via items like a Xtransceiver do ( BW features ).
You can easily set that up on your own. Just use the pbInstantMessages script call in the item handler. I do call out that you will need to set up a way for the player to access the app in the Basic Setup instructions. Since people have different ways their menus/items are set up, it's easier to have them do it themselves to fit their own game than me try to support every menu/item/etc. out of the box.

"To access the Instant Messages app, you need to call pbInstantMessages. You can create a Pause Menu or Pokegear option to do this, depending on what your game setup looks like. Review the definitions of these for your game, duplicate one, and create one for Instant Messages using this function."
 

ardicoozer

Cooltrainer
Member
Joined
Sep 29, 2020
Posts
171
You can easily set that up on your own. Just use the pbInstantMessages script call in the item handler. I do call out that you will need to set up a way for the player to access the app in the Basic Setup instructions. Since people have different ways their menus/items are set up, it's easier to have them do it themselves to fit their own game than me try to support every menu/item/etc. out of the box.

"To access the Instant Messages app, you need to call pbInstantMessages. You can create a Pause Menu or Pokegear option to do this, depending on what your game setup looks like. Review the definitions of these for your game, duplicate one, and create one for Instant Messages using this function."
Understood
Thank you
 

Krahssen

Novice
Member
Joined
May 31, 2018
Posts
33
Huh. Yep. Totally did that. I'll change it on the next update!
That's great to hear! There is also a small issue related to Essentials 21.1. Essentials 21.1 uses the monitor's Hz to determine the framerate. This means that, when calculating the message speed using frames, if you have a 144hz screen, the messages will go very fast. I think this could be resolved by calculating time in seconds rather than frames.
I noticed it when I moved the screen from my 144hz monitor to the 60hz monitor.

Thank you very much for the script
 

wrigty12

Tester-Coder Hybrid
Member
Joined
Jul 24, 2022
Posts
522
That's great to hear! There is also a small issue related to Essentials 21.1. Essentials 21.1 uses the monitor's Hz to determine the framerate. This means that, when calculating the message speed using frames, if you have a 144hz screen, the messages will go very fast. I think this could be resolved by calculating time in seconds rather than frames.
I noticed it when I moved the screen from my 144hz monitor to the 60hz monitor.

Thank you very much for the script
Oh right. I always work with v20, so I forgot about the frame => seconds shift for v21. I'll have to play with that.
 

wrigty12

Tester-Coder Hybrid
Member
Joined
Jul 24, 2022
Posts
522
wrigty12 updated Instant Messages with a new update entry:

1.1 - New Features and Bug Fixes

BEFORE UPDATING ANY FILES: If you have made any edits the Settings or Configurations for the plugin, make sure to make a backup of those files before updating the plugin. If you copy over files to update, it will overwrite your changes. I recommend you duplicate your Configuration files and rename them, so they won't be overwritten when you update.

Change Log
  • ⭐New feature: Sorting Conversations. Using the SPECIAL key, you...

Read the rest of this update entry...
 

wrigty12

Tester-Coder Hybrid
Member
Joined
Jul 24, 2022
Posts
522
That's great to hear! There is also a small issue related to Essentials 21.1. Essentials 21.1 uses the monitor's Hz to determine the framerate. This means that, when calculating the message speed using frames, if you have a 144hz screen, the messages will go very fast. I think this could be resolved by calculating time in seconds rather than frames.
I noticed it when I moved the screen from my 144hz monitor to the 60hz monitor.

Thank you very much for the script
I think I solved it with the latest update. I only have 60 hz monitors, so I can't check the 144 situation. Let me know if it feels right now.
 

Krahssen

Novice
Member
Joined
May 31, 2018
Posts
33
I think I solved it with the latest update. I only have 60 hz monitors, so I can't check the 144 situation. Let me know if it feels right now.
I've been testing it for a while (144Hz and 60HZ) and it seems to be working perfectly now. I'll keep using it over the next few days, so I'll let you know here if any other issues come up.

That said, I'm not sure if this is a bug or not, but I'll explain it anyway:

If I receive a message from a group (not mandatory, meaning it doesn't show up until I open it) and then, a few seconds later, I receive another one from the same group, when I open the group, it shows me both messages (one after the other) step by step.

This isn't much of a problem with a few messages, but if the player hasn't checked, say, 10 group messages and suddenly does, they'll have to sit through a VERY, very long conversation.

Maybe it could be made so that only the most recent message shows the animation, or perhaps that you can skip all of them automatically, so the player can exit the menu more easily than with the message fast-forward option. I’m not sure if you can think of any other way to avoid this.

Thank you so much, once again, amazing resource!

Edit: By the way, if I check the group after receiving more than one message, the timestamp won’t appear (even though it will show up if I exit the menu and go back in).
 

wrigty12

Tester-Coder Hybrid
Member
Joined
Jul 24, 2022
Posts
522
I've been testing it for a while (144Hz and 60HZ) and it seems to be working perfectly now. I'll keep using it over the next few days, so I'll let you know here if any other issues come up.

That said, I'm not sure if this is a bug or not, but I'll explain it anyway:

If I receive a message from a group (not mandatory, meaning it doesn't show up until I open it) and then, a few seconds later, I receive another one from the same group, when I open the group, it shows me both messages (one after the other) step by step.

This isn't much of a problem with a few messages, but if the player hasn't checked, say, 10 group messages and suddenly does, they'll have to sit through a VERY, very long conversation.

Maybe it could be made so that only the most recent message shows the animation, or perhaps that you can skip all of them automatically, so the player can exit the menu more easily than with the message fast-forward option. I’m not sure if you can think of any other way to avoid this.

Thank you so much, once again, amazing resource!

Edit: By the way, if I check the group after receiving more than one message, the timestamp won’t appear (even though it will show up if I exit the menu and go back in).
Yeah, the default is designed that way (both the timestamp thing and the "all at once").

To make messages not go through the animation, you can mark the conversation with the Instant parameter set to true. That setting will make the message(s) appear instantly once the player opens it. It should also respect the timestamps for each individual instant conversation that way, too. This shouldn't be used for a conversation that the player will need to reply to, though.

On the flip side, if you have longer conversations being sent to the player, and you really want them to see them, consider marking them with the Important parameter set to true. This will force the player to read that individual conversation as soon as they receive them.

I made the time stamp thing work the way it does for the following reason:
The timestamps for any subsequent non-instant conversations won't appear because it would be weird in the moment. That situation is supposed to emulate a live conversation going on. So it'd be weird if messages are coming in as though the person was actively messaging you at 3:30pm, then all of a sudden a message appears that also seems seemingly in the live conversation at 7:30pm. Did three messages take 4 hours to send? That would feel weird.

tl;dr utilize the Instant and Important parameters to make the timing more like how you want. My recommendation is that every conversation should either be Instant or Important.

Let me know if it's still weird after playing with it.
 
Back
Top