Rulzy 发表于 2006-12-13 18:19:27

[分享]如何使用彩色聊天信息

首先,建立 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后为绿色
红色、蓝色、灰色是不可能在一行中同时出现两种或两种以上的

shinyrose 发表于 2006-12-13 18:58:15

回复: [分享]如何使用彩色聊天信息

正为这个头疼,很好的教程!

Ryu2877 发表于 2006-12-13 19:00:16

回复: [分享]如何使用彩色聊天信息

GOOD!全面系统~~呵呵~~~~~

wtswangba 发表于 2006-12-13 21:08:29

回复: [分享]如何使用彩色聊天信息

顶啊
好东西
楼主真是强人啊

landyhsu 发表于 2006-12-14 08:26:06

回复: [分享]如何使用彩色聊天信息

谢谢Rulzy,又学到一招...

hqzycs 发表于 2006-12-21 12:52:28

回复: [分享]如何使用彩色聊天信息

真好啊。............................

fssswen 发表于 2006-12-22 13:23:21

回复: [分享]如何使用彩色聊天信息

终于找到了。。啊好开心

jnyzc 发表于 2006-12-23 21:51:04

回复: [分享]如何使用彩色聊天信息

向你学习!!!!!!!!!!!!!!!!!!!!!!

minihunter 发表于 2007-1-6 01:22:07

回复: [分享]如何使用彩色聊天信息

支持 支持·
支持 支持·

zhy15625 发表于 2007-1-19 22:32:31

回复: [分享]如何使用彩色聊天信息

楼主好强啊!
谢谢分享
页: [1] 2 3 4
查看完整版本: [分享]如何使用彩色聊天信息