Topic: [Info] модификация /ann
код простой но полезный )
static int _handle_announce_command(t_connection * c, char const *text)
{
unsigned int i;
t_message * message;
t_account * account;
account = conn_get_account(c);
for (i=0; text[i]!=' ' && text[i]!='\0'; i++); /* skip command */
for (; text[i]==' '; i++);
if (text[i]=='\0')
{
message_send_text(c,message_type_info,c,"используйте: /announce <announcement>");
return 0;
}
//если игрок является админом
if (account_get_auth_admin(account,NULL)==1)
{
// послать анонс
snprintf(msgtemp, sizeof(msgtemp), "[<Администратор>]%.64s: %.128s",conn_get_username(c),&text[i]);
message = message_create(message_type_info,c,msgtemp);
message_send_all(message);
}
//если игрок является оператором
else if (account_get_auth_operator(account,NULL)==1)
{
// послать анонс
snprintf(msgtemp, sizeof(msgtemp), "[<Модератор>]%.64s: %.128s",conn_get_username(c),&text[i]);
message = message_create(message_type_info,c,msgtemp);
message_send_all(message);
}
//если игрок является про аккунтом
else if (account_get_auth_pro(account,NULL)==1)
{
// послать анонс
snprintf(msgtemp, sizeof(msgtemp), "[<Про Аккунт>]%.64s: %.128s",conn_get_username(c),&text[i]);
message = message_create(message_type_info,c,msgtemp);
message_send_all(message);
}
//если игрок голый или он просто юзер то
else if (account_is_operator_or_admin(account,NULL)==0)
{
// послать анонс
snprintf(msgtemp, sizeof(msgtemp), "[<Геймер>]%.64s: %.128s",conn_get_username(c),&text[i]);
message = message_create(message_type_info,c,msgtemp);
message_send_all(message);
}
return 0;
}