52 lines
2.0 KiB
JavaScript
52 lines
2.0 KiB
JavaScript
this.inherits(COMMAND);
|
|
this.command = "chat";
|
|
this.allow_busy = true;
|
|
this.allow_state = true;
|
|
this.allow_die = true;
|
|
|
|
this.enter = function (me, str) {
|
|
if (!str) return;
|
|
if (me.master) return;
|
|
if (str.length > 200) return me.notify("你说的太多了。");
|
|
if (me.query_temp("no_chat")) {
|
|
if (me.temp.no_chat.e) {
|
|
let time = new Date(me.temp.no_chat.e);
|
|
return me.notify("你已经被禁言,持续到" + time.getFullYear()
|
|
+ "年" + (time.getMonth() + 1) + "月" +
|
|
time.getDate() + "日" + time.getHours() + "时" + time.getMinutes() + "分。");
|
|
}
|
|
return me.notify("你已经被禁言。");
|
|
}
|
|
if (me.query_temp("chat")) return me.notify("你说话速度太快了。");
|
|
if (me.query_setting("off_chat")) return me.notify("你目前禁止公共频道中。");
|
|
//if (me.query_temp("new")) return me.notify("新手训练完成前不能在世界频道发言。");
|
|
if (me.exp < 100000) return me.notify("新注册账号不能在世界频道发言");
|
|
if (!me.name) {
|
|
// WORLD.log(null, me.ip_address || me.userid || "chat", str);
|
|
return;
|
|
}
|
|
var msg = "", name = me.name;
|
|
if (str[0] == "*") {
|
|
str = str.substr(1);
|
|
msg = WORLD.COMMANDS["emote"].enter(me, str);
|
|
if (!msg) {
|
|
msg = UTIL.htmlEncode(str);
|
|
msg = UTIL.replace_word(str);
|
|
}
|
|
else name = "";
|
|
} else {
|
|
msg = UTIL.htmlEncode(UTIL.replace_word(str));
|
|
}
|
|
let content = { type: "msg", ch: "chat", content: msg, uid: me.id, lv: (me.level || 0), name: name };
|
|
if (me.level === 6) {
|
|
let lv6 = me.query_temp('lv6');
|
|
if (lv6) content.lv6 = lv6;
|
|
}
|
|
msg = JSON.stringify(content);
|
|
for (var i = 0; i < WORLD.USERS.length; i++) {
|
|
if (!WORLD.USERS[i].query_setting("off_chat"))
|
|
WORLD.USERS[i].send(msg);
|
|
}
|
|
me.set_temp('chat', 1, 3000);
|
|
//me.add_temp('chat2', 1, UTIL.diff_time());
|
|
} |