搜索
楼主: 如花

有关彩色信息的一个问题

[复制链接]
发表于 2006-8-15 21:39:11 | 显示全部楼层 来自 中国–广东–深圳

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

[PHP]new welcomemsg[129]
        format(welcomemsg,128,"^x01欢迎:^x03%s^x01排名:^x04%d^x01来自:^x04%s[/PHP]
[PHP]public client_color(playerid,colorid,msg[])
{
        new playerslist[32],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()
        }
}[/PHP]
回复

使用道具 举报

 楼主| 发表于 2006-8-15 21:44:28 | 显示全部楼层 来自 中国–湖北–襄阳

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

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

使用道具 举报

发表于 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 | 显示全部楼层 来自 中国–广东–广州

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

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

使用道具 举报

发表于 2006-12-13 17:28:25 | 显示全部楼层 来自 中国–陕西–西安

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

其实 client_color 不用这么复杂,像下面这样就行了:
[php]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()
}[/php]
另外,如果想在LANG文件里使用彩色信息,可以使用如下方式,例如:
[php]client_connect(id){
  new msg[512], username[32]
  get_user_name(id, username, 31)
  new izStats[8], izBody[8]
  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)
}[/php]
而LANG文件里使用如下格式:

ENTER_MSG = [AMXX]玩家%s进入服务器,排名第%d名[共%d名]

当有玩家进入时,会出现如下的聊天信息:
[AMXX]玩家Player进入服务器,排名第32名[共254名]

其中,""对应"^x04",""对应"^x01",""对应"^x03"。
搞清楚它们的位置也不难,想象把一个方框平分为4部分,左上角()是^x01,右上角()是^x02(这个不使用),左下角()是^x03,右下角()是^x04。

注意,使用 client_color,msg的第一个字节必须是 ^x01、^x03、^x04中的一个,而不能为其它字符,否则将不能正确显示彩色。
如下面的代码将不能正确的显示为彩色:
[php]new username, msg[512]
get_user_name(id, username, 31)
format(msg, 511, "欢迎^x04%s^x01进入本服务器", username)
client_color(0, id, msg)[/php]
应该改为
[php]new username, msg[512]
get_user_name(id, username, 31)
format(msg, 511, "^x01欢迎^x04%s^x01进入本服务器", username)
client_color(0, id, msg)[/php]
颜色控制码说明:
^x01后为默认的黄色
^x03后对应队伍颜色,即colorid为土匪时显示为红色,colorid为警察时显示为蓝色,colorid为观察员时显示为灰色
^x04后为绿色
回复

使用道具 举报

 楼主| 发表于 2006-12-15 17:08:41 | 显示全部楼层 来自 中国–湖北–武汉

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

谢谢你 这么认真回答我的问题 谢谢
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表