Mods / The Basics - RP Proximity Chat and more!

Category: #Other #QoL #Utility
Author: BASIC
Side: Server
Created: Apr 9th 2022 at 12:08 AM
Last modified: Jun 15th 2023 at 12:59 AM
Downloads: 1899
Follow Unfollow 30

Latest file for v1.18.5:
thebasics_4.0.1.zip 1-click install


As seen on Saltpoint RP, Fair Travels, and various other servers, finally released on ModDB!

The Basics

Mod Systems:

  • RP proximity chat system, with configurable talking ranges, nicknames, automatic message formatting, and more!
  • Server save notification (sends a message when save starts, which can help lower frustration about lag for large worlds)
  • Player sleep notification (encourages players to go to sleep when at least 50% of players are in bed)
  • Player Stats system (Keeps track of stats about players that can be viewed by anybody.  Currently tracks deaths, player kills, and NPC kills)
  • TPA System (Allow players to teleport to each other by consuming a temporal gear)
  • Repair system (Adds an admin command /setdurability to set the durability of an item held in your hand)

Commands:

Note: [value] denotes a required argument, while (value) denotes an optional one  Pipes (|) denote a range of allowable values. Aliases are listed after the first string, but with argument lists omitted.

  • Nicknames
    • "/nick (nick)", "/setnick", "/nickname" - Get or set your nickname
    • "/clearnick" - Clear your nickname
  • Chat modes/Chat messages
    • "/yell (text)", "/y" - Set your chat mode to Yelling, or yell a single message
    • "/whisper (text)", "/w" - Set your chat mode to Whispering, or whisper a single message
    • "/say (text)", "/normal", "/s" - Set your chat mode back to normal, or say a single message
    • "/hands (text)", "/h" - Set your chat mode to Sign Language, or sign a single message
  • Chat Messages
    • "/me [text]", "/m" - Send a proximity emote message
    • "/it [text]" - Send a proximity environment message
  • Configurable Options
    • "/emotemode [on|off]" - Turn Emote-only mode on or off
    • "/rptext [on|off]" - Turn the whole RP system on or off for your messages
  • Other
    • "/pmessage [text]" - Sends a message to all players in a specific area

Configuration:

{
"ProximityChatModeDistances": {
"Yell": 90,
"Normal": 35,
"Whisper": 5,
"Sign": 15
},
"BoldNicknames": false,
"ProximityChatModeVerbs": {
"Yell": [
"yells",
"shouts",
"exclaims"
],
"Normal": [
"says",
"states",
"mentions"
],
"Whisper": [
"whispers",
"mumbles",
"mutters"
],
"Sign": [
"signs",
"gestures",
"motions"
]
},
"ProximityChatModePunctuation": {
"Yell": "!",
"Normal": ".",
"Whisper": ".",
"Sign": "."
},
"ProximityChatModeQuotationStart": {
"Yell": "\"",
"Normal": "\"",
"Whisper": "\"",
"Sign": "<i>'"
},
"ProximityChatModeQuotationEnd": {
"Yell": "\"",
"Normal": "\"",
"Whisper": "\"",
"Sign": "'</i>"
},
"SendServerSaveAnnouncement": true,
"SendServerSaveFinishedAnnouncement": false,
"TEXT_ServerSaveAnnouncement": "Server save has started - expect lag for a few seconds.",
"TEXT_ServerSaveFinished": "Server save has finished."
}

Potential Future Improvements

  • Use actual line of sight for sign language

Feel free to leave suggestions!

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v4.0.1 434 Jun 15th 2023 at 12:59 AM Show thebasics_4.0.1.zip Install now
v4.0.0 96 Jun 15th 2023 at 12:57 AM Show thebasics_4.0.0.zip Install now
v4.0.0-pre.3 133 May 22nd 2023 at 1:41 AM Show thebasics_4.0.0-pre.3.zip Install now
v4.0.0-pre.2 91 May 20th 2023 at 4:21 AM Show thebasics_4.0.0-pre.2.zip Install now
v4.0.0-pre.1 142 Apr 27th 2023 at 3:43 AM Show thebasics_4.0.0-pre.1.zip Install now
v3.0.0 105 Apr 27th 2023 at 3:37 AM Show thebasics_3.0.0.zip Install now
v3.0.0-rc.4 159 Mar 10th 2023 at 5:50 AM Show thebasics_3.0.0-rc.4.zip Install now
v3.0.0-rc.2 268 May 2nd 2022 at 4:35 AM Show thebasics_3.0.0-rc.2.zip Install now
v3.0.0-rc.1 243 Apr 10th 2022 at 10:29 AM Show thebasics_3.0.0-rc.1.zip Install now
v2.7.0 225 Apr 9th 2022 at 1:17 AM Show thebasics_v2.7.0.zip Install now

18 Comments (oldest first | newest first)

💬 McTaco, Oct 14th 2023 at 2:22 AM

How to use the stats?

💬 Kaofan, Sep 30th 2023 at 1:09 PM

BASIC

Is it possible to somehow change the color of the text displayed on the Server?

 

Example:

"TEXT_ServerSaveAnnouncement": "Server save has started - expect lag for a few seconds.",

"Color": "Cyan",

💬 Guayo, Jul 17th 2023 at 9:46 PM

Is th is mod still functioning?

💬 Mohandar, Jul 16th 2023 at 3:25 PM

What about a voice proximity chat as well? <3

💬 Amarillo, Jun 22nd 2023 at 9:13 AM

BASIC thanks for the reply and update. I am testing the mod on my server and for now so everything is okay! My community and I appreciates an active mod author like you that handles the issues.

💬 BASICAuthor, Jun 14th 2023 at 2:44 PM

Amarillo This was a known issue in v4.0.0-pre.2, and fixed in v4.0.0-pre.3, see issue here.  Sorry that you've experienced this though, it was a pretty eggregous issue!  The root cause was due to an API behavior change in the v1.18 VS lore update.

I've been busy with other things but I'll put the official v4 release out today (clone of pre.3), along with a subsequent v4.0.1 to fix a small issue relating to chat accents.

💬 Amarillo, Jun 4th 2023 at 11:38 AM

Discovered that when using this mod in 1.18.5 version creates a bug that makes creatures keep walking when killed and turning into bones when killed from range, It super weird but I tested removing this mod and revealed that was causing the issue

💬 Davis, May 22nd 2023 at 8:52 PM

@BASIC Was hoping to speak with you regarding this mod! My Discord ID is Davis#3285 and I've sent you a message on there already. Awesome mod!

💬 Keekenox, May 21st 2023 at 7:53 PM

RogueRaiden Hello, I am BASIC's secretary! He has been notified of the problem. Thank you!

💬 RogueRaiden, May 18th 2023 at 10:24 PM
💬 Amarillo, Apr 28th 2023 at 11:11 AM

Hi! there is any way to disable the /nick command, I dont want the players to impersonate other players

💬 BASICAuthor, Mar 11th 2023 at 3:43 AM

Falco

Thanks for diagnosing this, and for submitting the issue! For now I'll just package the mod up into a dll- I've pushed a new version out that should do the trick.

cc: Catochondria WickedSchnitzel

💬 Falco, Feb 12th 2023 at 12:57 PM

Catochondria & WickedSchnitzel

It seems to be an issue with live compiling with the windows dedicated server. Try compiling the mod yourself and replace the src directory in the mod with the DLL file. This only needs to be done on the server side. Clients can keep using the mod with the src/ directory as long as the mod version is the same.

I created an issue for this bug here: https://github.com/anegostudios/VintageStory-Issues/issues/2378.

💬 Catochondria, Sep 14th 2022 at 7:03 PM

I hope we'll see an update or something like this. Unfortunately, and obviously, doesn't work with the current version. Same issue as below on 1.17.3

💬 WickedSchnitzel, May 31st 2022 at 10:51 PM

Server crash with

[Server Fatal] System.IO.FileNotFoundException: Could not load file or assembly 'VSSurvivalMod, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'VSSurvivalMod, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
   at thebasics.ModSystems.SleepNotifier.SleepNotifierSystem.b__0(IPlayer player)
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source)
   at thebasics.ModSystems.SleepNotifier.SleepNotifierSystem.GetSleepingCount() in Data\Cache\unpack\SERVER_thebasics_3.0.0-rc.2.zip_9e1dc03459e5\src\ModSystems\SleepNotifier\SleepNotifierSystem.cs:line 52
   at thebasics.ModSystems.SleepNotifier.SleepNotifierSystem.SlowServerTick(Single dt) in Data\Cache\unpack\SERVER_thebasics_3.0.0-rc.2.zip_9e1dc03459e5\src\ModSystems\SleepNotifier\SleepNotifierSystem.cs:line 28
   at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world)
   at Vintagestory.Server.CoreServerEventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world)
   at Vintagestory.Server.ServerMain.Process()
 
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. BASIC
💬 BASICAuthor, Apr 19th 2022 at 1:28 AM

I can take a look at both of those things!  Group order is based upon when you joined it, as far as I can tell.  There might be a way to change the ordering; a simple (yet crude) way would be to remove and re-add all of a player's groups when they join, to control the ordering.  I'll mess around with it and see what I can do.

As for "focus" mode, that's probably something that can only be fixed client-side.  I've been trying to keep this mod server-side-only so far, but I'll still do some investigating.

 

PS: thanks Keek :D

💬 Keekenox, Apr 19th 2022 at 12:23 AM

Fun mod. Love it. <3

💬 RogueRaiden, Apr 18th 2022 at 5:46 PM

Any way the proximity chat group could be placed directly next to the general chat group? For players with several chat groups, it would be easier to swap. Edit: I noticed with one of my players, their proximity group is before their chat groups while mine is not. lol Not sure if that means it depends on when the groups are created.

Could there be a command to prevent a chat window from "popping up" on new messages when ran within that chat window? So a player could ignore chat groups to only focus on proximity or a particular chat group.

(edit comment delete)