cityhonghu 发表于 2009-9-21 04:49:23

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

本帖最后由 cityhonghu 于 2009-10-4 11:45 编辑

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

public client_color(playerid,colorid,msg[])
{
        message_begin(playerid?MSG_ONE:MSG_ALL, get_user_msgid("SayText"), {0,0,0}, playerid)
        write_byte(colorid)
        write_string(msg)
        message_end()
}

Rulzy 发表于 2009-9-21 12:34:00

public xxx(id) {
        format(msg, 255, "^x03%s^x01 捡到 ^x04%d^x01 金钱", name, usergetmoney);
        new maxplayers = get_maxplayers();
        new team = get_user_team(ptd);
        new team2;
        for(new i=1;i<=maxplayers;i++)
        {
                team2 = get_user_team(i);
                if(team2==team || (team2!=1 && team2!=2))
                        client_color(i, ptd, msg);
        }
}

public client_color(playerid,colorid,msg[])
{
        message_begin(playerid?MSG_ONE:MSG_ALL, get_user_msgid("SayText"), {0,0,0}, playerid)
        write_byte(colorid)
        write_string(msg)
        message_end()
}

cityhonghu 发表于 2009-9-21 12:41:39

谢谢rulzy版主,看来还是需要循环语句啊。
我还以为,比如写为client_color(-1, ptd, msg)改那个第一个数字(-1)就可以呢

cityhonghu 发表于 2009-9-21 15:29:42

client_color(playerid,colorid,msg[])中的 colorid 的取值范围是多少?
如果为1 按照土匪的队伍颜色显示,如果为2 按照警察的队伍颜色显示。 是这样吗?

Rulzy 发表于 2009-9-21 18:02:38

client_color(playerid,colorid,msg[])中的 colorid 的取值范围是多少?
如果为1 按照土匪的队伍颜色显示,如果为2 按照警察的队伍颜色显示。 是这样吗?
cityhonghu 发表于 2009-9-21 15:29 http://www.dt-club.net/forum/images/common/back.gifcolorid就是某位玩家啊。取值范围是1~maxplayers,如果这个玩家是土匪,则对于0x03后面的内容,就是按队伍颜色区分(当然要求msg[]的第一个字符必须是0x01、0x03、0x04中的其中一个)。这个玩家是土匪,则是红色,是CT,则是蓝色,是观察员,则是灰色。

cityhonghu 发表于 2009-9-21 23:01:56

谢谢rulzy版主,弄明白了。

cityhonghu 发表于 2009-9-29 15:06:54

出现新问题。
1。0x02有什么意义吗?还有其他颜色(比如0x05)吗?
2。在一行中如何实现同时显示T和CT的彩色名字?
   比如,向所有用户提示

sakulekingz 发表于 2009-9-30 12:41:52

7# cityhonghu
这样无法实现

cityhonghu 发表于 2009-10-1 04:11:13

就是说一样中只能显示1个队伍的颜色吧。
那0x02表示什么颜色呢?

Rulzy 发表于 2009-10-4 10:33:51

本帖最后由 Rulzy 于 2009-10-4 10:35 编辑

^x02一般很少用到,它表示紧接它后面的名字使用队伍颜色,其他字符变成默认颜色。这个字符必须是字符串的第一个字符,否则无效。而且后面的其他控制颜色的字符也无效了。它后面紧跟着的是%s1或%s,这个%s1或%s会用前面的colorid对应的名字替换掉,如:client_color(0, colorid, "^x02%s : test")假设colorid指的是我,我的名字是Rulzy,我是CT,则显示效果如下所示:
Rulzy : test
页: [1] 2
查看完整版本: client_coler的使用方法?(rulzy版主请进)(消化中)