Mods / Notice Board
Author: propaneko
Side: Both
Created: Sep 14th at 8:39 PM
Last modified: Nov 9th at 12:09 PM
Downloads: 3730
Follow Unfollow 72
Latest file for v1.19.8:
NoticeBoard_1.0.0.zip
1-click install
IMPORTANT! If you used the older version of my mod you need to remove "Y:\*\ModConfig\noticeboard" directory or crashes might happen!
Description
Notice board where you can post and read player notices. Mod is created for and used on our RP server. Edenval RP.
Crafting recipe is in Survival Handbook, item is called "Notice Board". You can also spawn it using creative gamemode.
You can of course place multiple Notice Boards, every one of them saves and shows their respective messages.
When you place it, just press rightclick and GUI will show. Hopefully it's intuitive enough :P
It is not hard dependency, but I suggest playing it with https://mods.vintagestory.at/thebasics
With this mod when you post new notice there will be broadcast on the Proximity channel for now its 100 blocks.
Will add some config option later if needed.
Configuration
{
"SendProximityMessage": true, // set to true if you want to send message on Proximity channel
"ProximityMessageDistance": 100, // distance how far the message will be broadcasted (blocks)
"DivisionForPapersOnBoard": 1.0 // if you set this on 2 for example, it will show one paper on board every two notice, 1.5 is also valid
}
Ideas
- need of use for the "paper-parchment" when trying to post message (to make it more immersive?)
My other mods
Unconscious - New system which adds an unconscious behavior. Preferable added to multiplayer servers.
Notice Board - Notice board where you can post and read player notices. Focused on RP aspect.
Contribution & Thanks
"Automatic_Yoba_Machine" - Thank you for providing this amazing new model!
"BASIC" - Thank you for creating your amazing Proxmity chat mod!
Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
v1.0.0 | 524 | Nov 9th at 12:09 PM | Show | NoticeBoard_1.0.0.zip | Install now | |
v0.6.0 | 2274 | Sep 20th at 11:28 AM | Show | NoticeBoard_0.6.0.zip | Install now | |
v0.5.0 | 286 | Sep 17th at 9:03 AM | Show | NoticeBoard_0.5.0.zip | Install now | |
v0.4.1 | 96 | Sep 16th at 8:33 PM | Show | NoticeBoard_0.4.1.zip | Install now | |
v0.4.0 | 54 | Sep 16th at 6:25 PM | Show | NoticeBoard_0.4.0.zip | Install now | |
v0.3.0 | 76 | Sep 16th at 2:11 PM | Show | NoticeBoard_0.3.0.zip | Install now | |
v0.2.2 | 49 | Sep 16th at 12:48 PM | Show | NoticeBoard_0.2.2.zip | Install now | |
v0.2.1 | 103 | Sep 15th at 8:45 PM | Show | NoticeBoard_0.2.1.zip | Install now | |
v0.2.0 | 45 | Sep 15th at 8:14 PM | Show | NoticeBoard_0.2.0.zip | Install now | |
v0.1.0 | 100 | Sep 15th at 1:10 PM | Show | NoticeBoard_0.1.0.zip | Install now | |
v0.0.2 | 71 | Sep 14th at 9:56 PM | Show | NoticeBoard_0.0.2.zip | Install now | |
v0.0.1 | 52 | Sep 14th at 8:41 PM | Show | NoticeBoard_0.0.1.zip | Install now |
ShubiMaja
Sure, that's actually a good idea! Will change the db location to the ModData directory. Gonna try to do it today.
propaneko
Thanks for the great mod! We really enjoy it! However, can you please properly store the data for your mod outside of the ModConfig folder and in ModData like other mods? Atm its difficult to release configurations because we have to watch out for the data stored in the configuration folder. Or at least give us an option in the config to change where the data is stored.
Related issue: https://github.com/ogaseb/NoticeBoard/issues/1
Yes, many. I have 140+ mods but I Don't think we have the Proxy Chat mod. Do we need it?
RosstheGreat are there any mods that you using or just Notice Board? I had this crashes only when I had clean VS game and didnt had proximity chat mod.
Hey, I also want to second CrimsonCount's error, we had this on an older version of the Notice Board. I will double check and see if we still get the crash after your update though.
Same issue, object not set to reference error
I think I fixed those crashes.
CrimsonCount By any chance, do you play with proximity mod or without?
I'm in the same server as Danny2703 and posting a message to the notice board kicks the poster from the server, but does leave the message on the board. We are playing on a dedicated windows server. I am unable to copy paste the error message printed in the console, but I've typed it out.
The error message in the server console is:
[Server Error] Exception: Object refrence not set to an instance of an object. at NoticeBoard.Events.ServerMessageHandler.OnPlayerSendMessage(IServerPlayer player, PlayerSendMessage packet) in C:\Users\Enelorin\Projects\NoticeBoard\Noticeboard\src\Events\ServerMessageHandler.cs: line 51 at VintageStory.Server.NetworkAPI.HandleCustomPacket_Patch1(NetworkAPI this, Packet_Client packet, Connected Client client) at VintageStory.Server.ServerMain.ProcessNetMessage(NetINcomingMessage msg, NetServer minSocket) in VintagestoryLib\Server\ServerMainNetworking.cs: line 138
In a multiplayer server. Kicks me whenever anyone pins something on it saying it threw the server an exception.
EbKeth hard to tell what is wrong, it doesnt look like an error that is from my mod.
I love this mod, thanks for making it!
I'm running across a crash when posting a new notice on the notice board:
Running on 64 bit Linux (Arch Linux) [Kernel 6.10.10.1] with 64229 MB RAM
Game Version: v1.19.8 (Stable)
10/5/2024 12:56:06PM: Critical error occurred
Loaded Mods:
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Generic.List`1.Enumerator.MoveNext()
at Vintagestory.Client.NoObf.GuiManager.Dispose(ClientMain game) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 568
at Vintagestory.Client.NoObf.ClientMain.Dispose() in VintagestoryLib\Client\ClientMain.cs:line 2688
at Vintagestory.Client.NoObf.ClientMain.DestroyGameSession(Boolean gotDisconnected) in VintagestoryLib\Client\ClientMain.cs:line 2635
at Vintagestory.Client.NoObf.GeneralPacketHandler.HandleDisconnectPlayer(Packet_Server packet) in VintagestoryLib\Client\Systems\GeneralPacketHandler.cs:line 185
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 776
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 200
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 676
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 651
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 324
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Thank you so much!
Ah sorry my mistake I didnt create version with config, will do it soon Quiche
Quiche there is, on 0.5.0, you should have config `json` file in the noticeboard folder in ModConfig.
Also I was trying to add container slot to the gui, but I think it's too much for me for now. Have a lot of issues if it, fixing one brings some others. So I guess will leave it as it is for now. Maybe later I will give it another shot.
propaneko Thank you very much for looking into it!
Would it be possible to have a config for the distance the noticeboards proximity is? We have a quest inn that we'd love to be able to notify the entire town when it puts a new notice up, please.
Tbh, can't reproduce it Quiche
Accidentally double clicked a noticeboard on top of the other got this error and was kicked:
18.9.2024 13:01:32 [Server Error] Exception: Value must be set.
at Microsoft.Data.Sqlite.SqliteParameter.Bind(sqlite3_stmt stmt)
at Microsoft.Data.Sqlite.SqliteParameterCollection.Bind(sqlite3_stmt stmt)
at Microsoft.Data.Sqlite.SqliteCommand.GetStatements(Stopwatch timer)+MoveNext()
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
at SQLiteHandler.CreateNoticeBoard(PlayerCreateNoticeBoard packet) in C:\Users\Enelorin\Projects\NoticeBoard\NoticeBoard\src\Database\SQLiteHandler.cs:line 44
at NoticeBoard.src.Events.ServerMessageHandler.OnPlayerCreateNoticeBoard(IServerPlayer player, PlayerCreateNoticeBoard packet) in C:\Users\Enelorin\Projects\NoticeBoard\NoticeBoard\src\Events\ServerMessageHandler.cs:line 33
at Vintagestory.Server.NetworkAPI.HandleCustomPacket_Patch1(NetworkAPI this, Packet_Client packet, ConnectedClient client)
at Vintagestory.Server.ServerMain.ProcessNetMessage(NetIncomingMessage msg, NetServer mainSocket) in VintagestoryLib\Server\ServerMainNetworking.cs:line 138
thank you for quick fix propaneko
I was actually just looking for the new version, as my players are all offline
Editing feature seems to work fine.
WickedSchnitzel Its kinda weird you're getting this error while quitting the game, as this part of code is only fired when you send message.
I have hard time to reproduce this issue. Remember to use newest game version. Origin_Alpha_43
When i quit the game:
17.9.2024 10:23:41 [Error] Exception: Object reference not set to an instance of an object.
at NoticeBoard.src.Events.ServerMessageHandler.OnPlayerSendMessage(IServerPlayer player, PlayerSendMessage packet) in C:\Users\Enelorin\Projects\NoticeBoard\NoticeBoard\src\Events\ServerMessageHandler.cs:line 45
at Vintagestory.Server.NetworkChannel.<>c__DisplayClass6_0`1.<SetMessageHandler>b__0(Packet_CustomPacket p, IServerPlayer player) in VintagestoryLib\Server\API\NetworkChannel.cs:line 54
at Vintagestory.Server.NetworkChannel.OnPacket(Packet_CustomPacket p, IServerPlayer player) in VintagestoryLib\Server\API\NetworkChannel.cs:line 24
at Vintagestory.Server.NetworkAPI.HandleCustomPacket(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\API\NetworkAPI.cs:line 44
at Vintagestory.Server.ServerMain.ProcessNetMessage(NetIncomingMessage msg, NetServer mainSocket) in VintagestoryLib\Server\ServerMainNetworking.cs:line 138
you could say i just tested your mod on my server
when I start to write, the clients crash. the server stays online tho
crash log. just incase it might help?
System.NullReferenceException: Object reference not set to an instance of an object.
at NoticeBoardTextInputWindowGui.OnTextChanged(String text) in C:\Users\Enelorin\Projects\NoticeBoard\NoticeBoard\src\Gui\NoticeBoardTextInputWindowGui.cs:line 92
at Vintagestory.API.Client.GuiElementEditableTextBase.TextChanged() in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementEditableTextBase.cs:line 328
at Vintagestory.API.Client.GuiElementTextArea.TextChanged() in VintagestoryApi\Client\UI\Elements\Impl\Interactive\GuiElementTextArea.cs:line 36
at Vintagestory.API.Client.GuiElementEditableTextBase.LoadValue(List`1 newLines) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementEditableTextBase.cs:line 292
at Vintagestory.API.Client.GuiElementEditableTextBase.OnKeyPress(ICoreClientAPI api, KeyEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementEditableTextBase.cs:line 594
at Vintagestory.API.Client.GuiComposer.OnKeyPress(KeyEvent args) in VintagestoryApi\Client\UI\GuiComposer.cs:line 634
at Vintagestory.API.Client.GuiDialog.OnKeyPress(KeyEvent args) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 458
at Vintagestory.Client.NoObf.GuiManager.OnKeyPress(KeyEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 382
at Vintagestory.Client.NoObf.ClientMain.OnKeyPress(KeyEvent eventArgs) in VintagestoryLib\Client\ClientMain.cs:line 1821
at Vintagestory.Client.GuiScreenRunningGame.OnKeyPress(KeyEvent args) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 320
at Vintagestory.Client.ScreenManager.OnKeyPress(KeyEvent e) in VintagestoryLib\Client\ScreenManager.cs:line 871
at Vintagestory.Client.NoObf.ClientPlatformWindows.game_KeyPress(TextInputEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 220
at OpenTK.Windowing.Desktop.NativeWindow.OnTextInput(TextInputEventArgs e)
at OpenTK.Windowing.Desktop.NativeWindow.CharCallback(Window* window, UInt32 codepoint)
I haven’t tested this in a few updates, but I last tested 0.2.2. and if this hasn’t already changed in the latest 3, a way to edit your notices would be good.
Thanks DeanBro ,will add it soon.
For anyone if you tested this mod and have any ideas how it could be further improved just let me know.
Hi propaneko
I created a translation for your mod
Nice update. I’ll be trying it out.
I've put more info, it's a bit chaotic for now.
Ok, some more info? How that works / craft etc.. ?
Quiche Thank you <3
Trying my best, it's my first time modding Vintage Story and also learning C# in the process 😅
Excited to see the development of this! Seems like a must have for RP servers <3
RuneScholar Thank you! And yeah, this version is in very early stages of development, for now just for testing on our RP server, will add more stuff and make it better with time ^^
This is such a great idea. I’d use it if I were playing multiplayer.