Zandronum Chat on our Discord Server Get the latest version: 3.0
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000354Zandronum[All Projects] Suggestionpublic2011-03-29 12:452021-07-31 01:24
Assigned ToKaminsky 
PlatformMicrosoftOSWindowsOS VersionXP/Vista/7
Product Version98d 
Target Version3.1Fixed in Version3.1 
Summary0000354: Private chat function (sayto_playername blahblah)
DescriptionComing from ZDaemon to play more prominently in Skulltag I often plan to join games with just 1 friend, be it ZH or aow2. In zd we could use their "sayto $player" feature to establish a private communication without tabbing out to msn or irc. This feature is also useful while watching duels with people and wanting to talk to just one person.
Additional InformationThanks for considering. x
Attached Files

- Relationships
has duplicate 0001885closed Console Command: Msg "Message", "User1", "User2", ... 

-  Notes
User avatar (0008867)
JKist3 (reporter)
2014-06-07 11:06

This is a very useful feature. A couple things to note:

-this should play a different sound and have a different color than regular or team chats
-you should be able to send private messages to yourself, but spectators should not be able to send private messages to in game participants
User avatar (0008873)
Watermelon (developer)
2014-06-07 18:06
edited on: 2014-06-07 18:08

I need input on the code. It works well so far and I've sanitized the input from the clients. [^]

I set this to 'Needs review' because I'd like to get input before I proceed.

To test it:
- Compile
- Join 3 clients
- Have client 0 type "say_player 1 hello" (NOTE: you can also do "say_player Water hello")
Player 2 will not see the message.

Things to do which aren't in yet:
1) Display the text being sent on the client's side to itself
2) Add in: if(sender isTrueSpec() == target isTrueSpec()) so that only spectators can chat to other spectators, and alive people can chat to other alive people.

User avatar (0008917)
Torr Samaho (administrator)
2014-06-08 13:51

Looks like a good start. Here are some comments:
- Why mode as argument in CLIENTCOMMANDS_SayToPlayer? Doesn't the mode have to be CHATMODE_PLAYER when you want to talk to a single player?
- The "// Special support for "/me" commands." related code duplication is about to get out of hand.
- code duplication in SERVER_SendChatMessage and SERVER_SendChatMessageToPlayer is too big, either merge them into one function or move the duplicated code to helper functions
- in say_player:
  - shouldn't you check (argv.argc() < 3 ) ?
  - Having a function that accepts either name or index is new. So far we have always used separate functions, e.g. ban and ban_idx. This brings new complications, see below.
  - Using an FString for the int check is quite complicated and it will not work for certain player names. For instance, if the player name is "100". As long as you we do not allow more than 99 players and require at least 3 chars for player names, it's possible to uniquely determine whether the user was trying to use an id or a name, but I'm not sure if we want to introduce a concept that will prevent us from raising the player limit beyond 99.
User avatar (0008918)
Watermelon (developer)
2014-06-08 14:03

There are a lot of annoying things in chat.cpp that drove me nuts, and a lot of refactoring that could be done. If you're coming on IRC today, hopefully I can discuss what parts could do with some re-doing, and that would help clear up some of the issues I had.

For the others, all great points. I'll solve them after we can figure out the above.
User avatar (0009964)
Leonard (developer)
2014-07-13 23:59
edited on: 2014-07-14 00:00

For the sound I suggest the doom1's chat sound in display->message options by default and should be changeable like the normal chat sound.
As for the color since team chat uses red brick I suggest light blue.

Small question: when using this with a number, is it the corresponding player ID we can find using the playerinfo command?

User avatar (0021637)
Kaminsky (developer)
2021-07-23 21:37

Zandronum 3.1 now supports private messaging with other players, which can be done with the CCMDs "sayto" (accepts a player name) or "sayto_idx" (accepts a player number). You can only send private messages to actual players, not bots.

Furthermore, if one wanted to send a private message to the server host, they can enter "sayto server" or "sayto_idx -1" into the console.
User avatar (0021649)
doomjoshuaboy (developer)
2021-07-31 01:24

tested in Unofficial Beta 210725-2324, it works as intended.

Issue Community Support
This issue is already marked as resolved.
If you feel that is not the case, please reopen it and explain why.
Supporters: Leonard Combinebobnt mifu carpathia Korshun djskaarj JC Tenton MaxRideWizardLord Monsterovich
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2011-03-29 12:45 Evo New Issue
2014-06-07 11:06 JKist3 Note Added: 0008867
2014-06-07 14:14 Watermelon Assigned To => Watermelon
2014-06-07 14:14 Watermelon Status new => assigned
2014-06-07 18:06 Watermelon Note Added: 0008873
2014-06-07 18:06 Watermelon Status assigned => needs review
2014-06-07 18:07 Watermelon Note Edited: 0008873 View Revisions
2014-06-07 18:07 Watermelon Note Edited: 0008873 View Revisions
2014-06-07 18:08 Watermelon Note Edited: 0008873 View Revisions
2014-06-08 13:51 Torr Samaho Note Added: 0008917
2014-06-08 13:58 Torr Samaho Status needs review => feedback
2014-06-08 14:03 Watermelon Note Added: 0008918
2014-06-15 22:13 Watermelon Assigned To Watermelon =>
2014-06-15 22:13 Watermelon Status feedback => acknowledged
2014-06-15 22:13 Dusk Assigned To => Dusk
2014-07-13 22:14 Dusk Relationship added has duplicate 0001885
2014-07-13 23:59 Leonard Note Added: 0009964
2014-07-14 00:00 Leonard Note Edited: 0009964 View Revisions
2021-07-23 21:37 Kaminsky Note Added: 0021637
2021-07-23 21:37 Kaminsky Assigned To Dusk => Kaminsky
2021-07-23 21:37 Kaminsky Status acknowledged => needs testing
2021-07-23 21:43 Kaminsky Target Version => 3.1
2021-07-31 01:24 doomjoshuaboy Note Added: 0021649
2021-07-31 01:24 doomjoshuaboy Status needs testing => resolved
2021-07-31 01:24 doomjoshuaboy Fixed in Version => 3.1
2021-07-31 01:24 doomjoshuaboy Resolution open => fixed

Questions or other issues? Contact Us.


Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker