There are two flaws in your code.
For the first matter, whenever using a "say" command, you should use register_clcmd and not register_concmd (else you have to go to the console and type "say /rules" to get it working).
For the second one, whenever you create a task, the third parameter identifies the task with an ID. What you are doing right now is using the player's ID to identify the task, which is nothing but a common mistake. A correct use of set_task follows:
PHP Code:
#define TASK_SHOW_RULES 1234
public rule(id)
{
ColorChat(0, RED, "[KR] KNIFEROUND !!!")
ColorChat(0, BLUE, "[TC] TEAM CHOOSING")
ColorChat(0, GREY, "[PR] PISTOLROUND !!! ")
ColorChat(0, GREEN, "CLAN STARTED RACE TO 15 TEAM WINS")
set_task( 6.0, "rule1", TASK_SHOW_RULES );
}
For more information, please check:
set_task @ funcwiki:
http://www.amxmodx.org/funcwiki.php?go=func&id=253
register_clcmd @ funcwiki:
http://www.amxmodx.org/funcwiki.php?go=func&id=259
Hope this helped, any further questions, please don't hesitate.