ID:158823
 
Anyone know how I could make a wsay verb look one way to the person speaking, and a different way to the listeners (I can do this easily enough for local chatting with oview, but the only thing I've found for world is world << "msg")

In case it matters by look different I mean color.

This is similar to what i have for the normal say

verb
say(msg as text)
src << "<font color=\"#00A000\"><B>-[src]-</B>: <font color=\"#00F000\">[msg]"
oview(src) << "<font color=\"#60A060\"><B>-[src]-</B>: <font color=\"#60F060\">[msg]"
Well, one way would be that you could use for() to check the world for any clients except the player who sent the message and send it to them through there. Then after that send a different message to just the player.
In response to Flame48
Sounds like a plan, thanks
Have you tried "world-src<<"?
In response to Kaiochao
Doesn't work, world isn't a list. You'll need to keep a list of players. I'd suggest doing this:

var/list/clients = list()
client
New()
..()
if(key)
clients += src
Del()
clients -= src
..()

mob/verb/say()
clients-src.client << "boo"
src << "urns"
In response to Garthor
haven't tried world-src, but got it working with this:

verb
wsay(msg as text)
for(var/mob/pc/M in world)
if(M == usr)
M << "<font color=\"#00A0A0\"><B>-[src]- wsays</B>: <font color=\"#00F0F0\">[msg]"
else
M << "<font color=\"#60A0A0\"><B>-[src]- wsays</B>: <font color=\"#60F0F0\">[msg]"
In response to Morialis
You could do that with less lines of code with just using [?"":""]
It works like an if statement.
verb
wsay(msg as text)
for(var/mob/pc/M in world)
M << "<font color=[(M=src)?"#00A0A0": "#60A0A0"]><B>-[src]- wsays</B>: <font color=[(M=src)?"#00F0F0": "#60F0F0"]>[msg]"

Something like that.
In response to Super Saiyan X
Also noticed I should check if it isn't the person using the verb first, since that will be the most common outcome and there can only be one person considered the person using the verb.
In response to Morialis
Yeah...
Using what I posted above should work, if it doesn't, I shall hit myself with a hammer. =(
In response to Garthor
Garthor wrote:
Doesn't work, world isn't a list.

Correct, however using world.contents will work, of course.
I would just like to say that for a Say verb, hearers() >>>>> oview()
In response to Demon_F0rce
Way to keep the deaf man down, Demon_F0rce.

Jerk.
In response to Garthor
I could draw many conclusions, however I don't mean any disrespect or offence by the sentence. I would also like to say that by programming with political correctness, you are going to have a few unfixable faults.