AE86 发表于 2006-8-15 21:39:11

回复: 有关彩色信息的一个问题

new welcomemsg
        format(welcomemsg,128,"^x01欢迎:^x03%s^x01排名:^x04%d^x01来自:^x04%s
public client_color(playerid,colorid,msg[])
{
        new playerslist,playerscount//,i
        get_players(playerslist,playerscount,"c")
        new userid
        if(playerid==0){
                userid=playerid
                message_begin(MSG_ALL, get_user_msgid("SayText"), {0,0,0}, userid)
                write_byte(colorid)
                write_string(msg)
                message_end()
                       
        }
        else{
                userid=playerid
                message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, userid)
                write_byte(colorid)
                write_string(msg)
                message_end()
        }
}

如花 发表于 2006-8-15 21:44:28

回复: 有关彩色信息的一个问题

谢谢AE86 我去试试
嗯 还有啊 我给你发短消息了...收到了吗:confused:

yehooo 发表于 2006-8-16 22:46:14

回复: 有关彩色信息的一个问题

Post by 如花
不要广告信息那种样子 就想要发的图那样的 :sweat:
烦 为这个烦了一个星期了...


过了几天我再来看我曾回复过的这贴子,也看过AE86的回复,这时才觉得应考虑这样一个问题:“你的.sma文件中有没有client_color(...)这个函数?”

我希望各位,无论你是菜菜菜鸟,还是老老老鸟,都不应该发些没头没脑的贴,特别你是问问题时。如果你缺省了一些条件,别人就会以为你已知道了这些。。。

这样不但问问题的人头大,回贴人的头也被你搞大了。

如花 发表于 2006-8-17 10:36:35

回复: 有关彩色信息的一个问题

谢谢 yehooo 指教 我以后会学习并注意的
还有这个我已经编成功啦 多谢qing165
源码我发在 疑难区的贴子里啦 :)

凌雪无晴 发表于 2006-12-13 15:14:58

回复: 有关彩色信息的一个问题

是否已经解决,有没成品呢

Rulzy 发表于 2006-12-13 17:28:25

回复: 有关彩色信息的一个问题

其实 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文件里使用彩色信息,可以使用如下方式,例如:
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后为绿色

如花 发表于 2006-12-15 17:08:41

回复: 有关彩色信息的一个问题

谢谢你 这么认真回答我的问题 谢谢
页: 1 [2]
查看完整版本: 有关彩色信息的一个问题