找回密码
 注-册

QQ登录

只需一步,快速开始

查看: 2073|回复: 2

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

[复制链接]
Leya 发表于 2009-3-13 02:05:23 | 显示全部楼层 |阅读模式
转自:http://www.dt-club.net/forum/viewthread.php?tid=32368
作者:Rulzy

首先,建立 client_color 这个函数:
  1. public client_color(playerid, colorid, msg[])
  2. {
  3.   message_begin(playerid?MSG_ONE:MSG_ALL,get_user_msgid("SayText"),_,playerid)
  4.   write_byte(colorid)
  5.   write_string(msg)
  6.   message_end()
  7. }
复制代码
如果想在LANG文件里使用彩色信息,可以使用如下方式,例如:
  1. public client_connect(id){
  2.   new msg[512], username[32]
  3.   get_user_name(id, username, 31)
  4.   new izStats[8], izBody[8]
  5.   new iRankPos = get_user_stats( id, izStats, izBody )
  6.   new iRankMax = get_statsnum()
  7.   format(msg, 511, "%L", LANG_SERVER, "ENTER_MSG", username, iRankPos, iRankMax)
  8.   client_color(0, id, msg)
  9. }
复制代码
而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中的一个,而不能为其它字符,否则将不能正确显示彩色。
如下面的代码将不能正确的显示为彩色:
  1. new username[32], msg[512]
  2. get_user_name(id, username, 31)
  3. format(msg, 511, "欢迎^x04%s^x01进入本服务器", username)
  4. client_color(0, id, msg)
复制代码
应该改为
  1. new username[32], msg[512]
  2. get_user_name(id, username, 31)
  3. format(msg, 511, "^x01欢迎^x04%s^x01进入本服务器", username)
  4. client_color(0, id, msg)
复制代码
颜色控制码说明:
^x01后为默认的黄色
^x03后对应队伍颜色,即colorid为土匪时显示为红色,colorid为警察时显示为蓝色,colorid为观察员时显示为灰色
^x04后为绿色
红色、蓝色、灰色是不可能在一行中同时出现两种或两种以上的

评分

参与人数 1子弹 +5 收起 理由
flytiger12 + 5 精品文章

查看全部评分

回复

使用道具 举报

Jack 发表于 2009-3-13 10:01:54 | 显示全部楼层
我收藏了
回复

使用道具 举报

watermelon 发表于 2009-6-20 09:03:50 | 显示全部楼层
第一眼以为:
如何使用黄色聊天信息
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注-册

本版积分规则

Archiver|手机版|小黑屋|DoDVip ( 桂ICP备14000730号 )

GMT+8, 2024-6-1 16:13 , Processed in 0.060057 second(s), 24 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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