Atrinik Server  4.0
server_chat.c
Go to the documentation of this file.
1 /*************************************************************************
2  * Atrinik, a Multiplayer Online Role Playing Game *
3  * *
4  * Copyright (C) 2009-2014 Alex Tokar and Atrinik Development Team *
5  * *
6  * Fork from Crossfire (Multiplayer game for X-windows). *
7  * *
8  * This program is free software; you can redistribute it and/or modify *
9  * it under the terms of the GNU General Public License as published by *
10  * the Free Software Foundation; either version 2 of the License, or *
11  * (at your option) any later version. *
12  * *
13  * This program is distributed in the hope that it will be useful, *
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16  * GNU General Public License for more details. *
17  * *
18  * You should have received a copy of the GNU General Public License *
19  * along with this program; if not, write to the Free Software *
20  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
21  * *
22  * The author can be reached at admin@atrinik.org *
23  ************************************************************************/
24 
32 #include <global.h>
33 #include <player.h>
34 #include <object.h>
35 
37 void command_server_chat(object *op, const char *command, char *params)
38 {
39  player *pl;
40  char name[MAX_BUF];
41 
42  params = player_sanitize_input(params);
43 
44  if (!params) {
45  return;
46  }
47 
48  LOG(CHAT, "[SERVER CHAT]: [%s] %s", op->name, params);
49 
50  for (pl = first_player; pl; pl = pl->next) {
51  if (commands_check_permission(pl, command)) {
52  snprintf(name, sizeof(name), "[Server] ([a=#charname]%s[/a])", op->name);
53  } else {
54  strncpy(name, "[Server]", sizeof(name) - 1);
55  name[sizeof(name) - 1] = '\0';
56  }
57 
58  draw_info_type(CHAT_TYPE_CHAT, NULL, COLOR_GREEN, pl->ob, params);
59  }
60 }
object * ob
Definition: player.h:185
char * player_sanitize_input(char *str)
Definition: player.c:1311
void command_server_chat(object *op, const char *command, char *params)
Definition: server_chat.c:37
const char * name
Definition: object.h:168
player * first_player
Definition: main.c:57
struct pl_player * next
Definition: player.h:145