求助format语法
本帖最后由 我是新手 于 2011-2-21 20:07 编辑如题。如果玩家具有以下权限,那么我想用format显示一条信息,应该怎么写?
if (get_user_flags(players) & ADMIN_LEVEL_G) 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 );
}
}
先谢谢这位达人,去试试! 不行,弄不来。你给的地址也打不开。这样,我现在想在新一局开始的时候判断玩家是否具有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 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:24 编辑
太感谢了!真不知怎么感谢你!我去试试。 回楼上达人,可以是可以了。但为什么同时显示2种? 7# 我是新手
从 1 开始循环吧。
for(new i = 0 改成 = 1 本帖最后由 我是新手 于 2011-2-22 00:59 编辑
搞定,改循环后显示正常了!
非常感谢龟仙人的帮助!:handshake 本帖最后由 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