我是新手 发表于 2011-2-21 20:05:54

求助format语法

本帖最后由 我是新手 于 2011-2-21 20:07 编辑

如题。如果玩家具有以下权限,那么我想用format显示一条信息,应该怎么写?
if (get_user_flags(players) & ADMIN_LEVEL_G)

LittleKu 发表于 2011-2-21 21:06:34

http://www.amxmodx.org/funcwiki.php?go=func&id=49public MyFunction( const player )
{
        //your code
       
        #define CHAR_LEN 128
        static szMsg[ CHAR_LEN ];
        static iLen;
       
        if ( get_user_flags( player ) & ADMIN_LEVEL_G )
        {
                iLen = format( szMsg, charsmax( szMsg ), "Hi guys ! ;)" ); //test it and you can find something !
                //Test:       
                console_print( 0, "%i", iLen );
                client_print( 0, print_chat, "%s", szMsg );
        }
}

我是新手 发表于 2011-2-21 22:15:31

先谢谢这位达人,去试试!

我是新手 发表于 2011-2-21 22:44:17

不行,弄不来。你给的地址也打不开。这样,我现在想在新一局开始的时候判断玩家是否具有ADMIN_LEVEL_G权限,然后用format给他自己发送一条彩色的信息显示应该如何做到public new_round()
{
        new nums,players,Message;
        get_players(players,nums)
        for(new i=0;i<nums;i++)
        {
                if (get_user_flags(players) & ADMIN_LEVEL_G)
                {
               format(Message, 127, "^x04【提示】^x03你已具有^x01【某某权限】。", );
                                        client_color(0, players, Message);
                     
                }这样写可以吗?请指教1

sakulekingz 发表于 2011-2-21 23:18:11

4# 我是新手 public new_round()
{
        new Message;
        for(new i=0; i<get_maxplayers(); i++)
        {
                if (get_user_flags(i) & ADMIN_LEVEL_G)
                {
                        format(Message, 127, "^x04【提示】^x03你已具有^x01【某某权限】。");
                        client_color(i, i, Message);
                }
        }
}

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();
}

我是新手 发表于 2011-2-21 23:20:19

本帖最后由 我是新手 于 2011-2-21 23:24 编辑

太感谢了!真不知怎么感谢你!我去试试。

我是新手 发表于 2011-2-22 00:03:20

回楼上达人,可以是可以了。但为什么同时显示2种?

sakulekingz 发表于 2011-2-22 00:44:26

7# 我是新手


从 1 开始循环吧。
for(new i = 0 改成 = 1

我是新手 发表于 2011-2-22 00:55:13

本帖最后由 我是新手 于 2011-2-22 00:59 编辑

搞定,改循环后显示正常了!
非常感谢龟仙人的帮助!:handshake

LittleKu 发表于 2011-2-22 09:22:44

本帖最后由 kk阿朗 于 2011-2-22 09:23 编辑

#include <amxmodx>

public new_round()
{
        new Message[ 128 ]
        for( new i = 1; i <= get_maxplayers(); i++ )
        {
                if ( is_user_connected( i ) && ( get_user_flags(i) & ADMIN_LEVEL_G ) )
                {
                        format( Message, 127, "^x04【提示】^x03你已具有^x01【某某权限】。" )
                        client_color( i, Message )
                }
        }
}

public client_color(colorid, msg[])
{
        static iSayText;
       
        if ( iSayText || ( iSayTest == get_user_msgid( "SayText" ) ) )
        {
                message_begin( MSG_BROADCAST, iSayText )
                {
                        write_byte( colorid )
                        write_string( msg )
                }
                message_end()
        }
}再弄一下!感觉会好一点!
页: [1] 2
查看完整版本: 求助format语法