搜索
查看: 4541|回复: 11

client_coler的使用方法?(rulzy版主请进)(消化中)

[复制链接]
发表于 2009-9-21 04:49:23 | 显示全部楼层 |阅读模式 来自 日本
本帖最后由 cityhonghu 于 2009-10-4 11:45 编辑

正在使用你发的插件中的client_coler的代码。
请问使用该代码如何只向对内和M6的玩家显示信息?
代码大致如下
  1. public xxx() {
  2.     format(msg, 255, "^x03%s^x01 捡到 ^x04%d^x01 金钱", name, usergetmoney)
  3.     client_color(0, ptd, msg)
  4. }

  5. public client_color(playerid,colorid,msg[])
  6. {
  7.         message_begin(playerid?MSG_ONE:MSG_ALL, get_user_msgid("SayText"), {0,0,0}, playerid)
  8.         write_byte(colorid)
  9.         write_string(msg)
  10.         message_end()
  11. }
复制代码
发表于 2009-9-21 12:34:00 | 显示全部楼层 来自 福建漳州
  1. public xxx(id) {
  2.         format(msg, 255, "^x03%s^x01 捡到 ^x04%d^x01 金钱", name, usergetmoney);
  3.         new maxplayers = get_maxplayers();
  4.         new team = get_user_team(ptd);
  5.         new team2;
  6.         for(new i=1;i<=maxplayers;i++)
  7.         {
  8.                 team2 = get_user_team(i);
  9.                 if(team2==team || (team2!=1 && team2!=2))
  10.                         client_color(i, ptd, msg);
  11.         }
  12. }

  13. public client_color(playerid,colorid,msg[])
  14. {
  15.         message_begin(playerid?MSG_ONE:MSG_ALL, get_user_msgid("SayText"), {0,0,0}, playerid)
  16.         write_byte(colorid)
  17.         write_string(msg)
  18.         message_end()
  19. }
复制代码
回复

使用道具 举报

 楼主| 发表于 2009-9-21 12:41:39 | 显示全部楼层 来自 日本
谢谢rulzy版主,看来还是需要循环语句啊。
我还以为,比如写为client_color(-1, ptd, msg)改那个第一个数字(-1)就可以呢
回复

使用道具 举报

 楼主| 发表于 2009-9-21 15:29:42 | 显示全部楼层 来自 日本
client_color(playerid,colorid,msg[])中的 colorid 的取值范围是多少?
如果为1 按照土匪的队伍颜色显示,如果为2 按照警察的队伍颜色显示。 是这样吗?
回复

使用道具 举报

发表于 2009-9-21 18:02:38 | 显示全部楼层 来自 福建漳州
client_color(playerid,colorid,msg[])中的 colorid 的取值范围是多少?
如果为1 按照土匪的队伍颜色显示,如果为2 按照警察的队伍颜色显示。 是这样吗?
cityhonghu 发表于 2009-9-21 15:29
colorid就是某位玩家啊。取值范围是1~maxplayers,如果这个玩家是土匪,则对于0x03后面的内容,就是按队伍颜色区分(当然要求msg[]的第一个字符必须是0x01、0x03、0x04中的其中一个)。这个玩家是土匪,则是红色,是CT,则是蓝色,是观察员,则是灰色。
回复

使用道具 举报

 楼主| 发表于 2009-9-21 23:01:56 | 显示全部楼层 来自 日本
谢谢rulzy版主,弄明白了。
回复

使用道具 举报

 楼主| 发表于 2009-9-29 15:06:54 | 显示全部楼层 来自 日本
出现新问题。
1。0x02有什么意义吗?还有其他颜色(比如0x05)吗?
2。在一行中如何实现同时显示T和CT的彩色名字?
   比如,向所有用户提示[player1(T的颜色)杀死了player2(CT的颜色)]
回复

使用道具 举报

发表于 2009-9-30 12:41:52 | 显示全部楼层 来自 四川遂宁
7# cityhonghu
这样无法实现
回复

使用道具 举报

 楼主| 发表于 2009-10-1 04:11:13 | 显示全部楼层 来自 日本
就是说一样中只能显示1个队伍的颜色吧。
那0x02表示什么颜色呢?
回复

使用道具 举报

发表于 2009-10-4 10:33:51 | 显示全部楼层 来自 福建漳州
本帖最后由 Rulzy 于 2009-10-4 10:35 编辑

^x02一般很少用到,它表示紧接它后面的名字使用队伍颜色,其他字符变成默认颜色。这个字符必须是字符串的第一个字符,否则无效。而且后面的其他控制颜色的字符也无效了。它后面紧跟着的是%s1或%s,这个%s1或%s会用前面的colorid对应的名字替换掉,如:
  1. client_color(0, colorid, "^x02%s : test")
复制代码
假设colorid指的是我,我的名字是Rulzy,我是CT,则显示效果如下所示:
Rulzy : test
回复

使用道具 举报

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

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