#include "ClientSocket.h"
#include "UserNode.h"
#include "ChanNode.h"
+#include "lang.h"
+
+static const struct default_language_entry msgtab[] = {
+ {"FUN_DICE", "$b%s$b: A $b%d$b shows on the %d-sided die."}, /* {ARGS: "TestUser", 5, 6} */
+ {"FUN_DICE_NUM", "I do not understand $b%s$b. Please use a single number above 1."}, /* {ARGS: "bla"} */
+ {NULL, NULL}
+};
+
+void init_funcmds() {
+ register_default_language_table(msgtab);
+}
struct current_funcmd_header {
struct ClientSocket *client;
current_funcmd.send_notice = 0; \
}
-
static void funcmd_reply(const char *text, ...) {
+ const char *reply_format = get_language_string(current_funcmd.user, text);
+ if(reply_format)
+ text = reply_format;
char formatBuf[MAXLEN];
if(current_funcmd.send_notice)
sprintf(formatBuf, "NOTICE %s :%s", current_funcmd.user->nick, text);
FUNCMD_HEADER;
funcmd_reply("\002%s\002: Ping!", user->nick);
}
+
+CMD_BIND(funcmd_dice) {
+ FUNCMD_HEADER;
+ int max = atoi(argv[0]);
+ if(max > 1) {
+ int val = (rand() % max) + 1;
+ funcmd_reply("FUN_DICE", user->nick, val, max);
+ } else
+ funcmd_reply("FUN_DICE_NUM", argv[0]);
+}
#undef USER_COMMAND
//Fun Commands
+ init_funcmds();
register_command_alias(3, "FunCMD");
#define USER_COMMAND(NAME,FUNCTION,PARAMCOUNT,FLAGS) register_command(3, NAME, FUNCTION, PARAMCOUNT, NULL, 0, FLAGS)
// NAME FUNCTION PARAMS FLAGS
USER_COMMAND("extscript", neonserv_cmd_extscript, 0, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_EMPTY_ARGS | CMDFLAG_CHAN_PARAM | CMDFLAG_FUNCMD);
USER_COMMAND("ping", funcmd_ping, 0, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_FUNCMD);
USER_COMMAND("pong", funcmd_pong, 0, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_FUNCMD);
+ USER_COMMAND("dice", funcmd_dice, 1, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_FUNCMD);
#undef USER_COMMAND