init: add workspace files
This commit is contained in:
52
world/cmd/channel/chat.js
Normal file
52
world/cmd/channel/chat.js
Normal file
@@ -0,0 +1,52 @@
|
||||
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());
|
||||
}
|
||||
Reference in New Issue
Block a user