[分享]如何使用彩色聊天信息
转自:http://www.dt-club.net/forum/viewthread.php?tid=32368作者:Rulzy
首先,建立 client_color 这个函数:public client_color(playerid, colorid, msg[])
{
message_begin(playerid?MSG_ONE:MSG_ALL,get_user_msgid("SayText"),_,playerid)
write_byte(colorid)
write_string(msg)
message_end()
}如果想在LANG文件里使用彩色信息,可以使用如下方式,例如:public client_connect(id){
new msg, username
get_user_name(id, username, 31)
new izStats, izBody
new iRankPos = get_user_stats( id, izStats, izBody )
new iRankMax = get_statsnum()
format(msg, 511, "%L", LANG_SERVER, "ENTER_MSG", username, iRankPos, iRankMax)
client_color(0, id, msg)
}而LANG文件里使用如下格式:
ENTER_MSG = 玩家 %s 进入服务器,排名第 %d 名[共 %d 名]
当有玩家进入时,会出现如下的聊天信息:
玩家Player进入服务器,排名第32名[共254名]
其中," "对应"^x04"," "对应"^x01"," "对应"^x03"。
搞清楚它们的位置也不难,想象把一个方框平分为4部分,左上角( )是^x01,右上角( )是^x02(这个不使用),左下角( )是^x03,右下角( )是^x04。
注意,使用 client_color,msg的第一个字节必须是 ^x01、^x03、^x04中的一个,而不能为其它字符,否则将不能正确显示彩色。
如下面的代码将不能正确的显示为彩色:new username, msg
get_user_name(id, username, 31)
format(msg, 511, "欢迎^x04%s^x01进入本服务器", username)
client_color(0, id, msg)应该改为new username, msg
get_user_name(id, username, 31)
format(msg, 511, "^x01欢迎^x04%s^x01进入本服务器", username)
client_color(0, id, msg)颜色控制码说明:
^x01后为默认的黄色
^x03后对应队伍颜色,即colorid为土匪时显示为红色,colorid为警察时显示为蓝色,colorid为观察员时显示为灰色
^x04后为绿色
红色、蓝色、灰色是不可能在一行中同时出现两种或两种以上的 我收藏了 (ppb097^ 第一眼以为:
如何使用黄色聊天信息
页:
[1]