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());
|
||||
}
|
||||
220
world/cmd/channel/emote.js
Normal file
220
world/cmd/channel/emote.js
Normal file
@@ -0,0 +1,220 @@
|
||||
this.inherits(COMMAND);
|
||||
this.command = "emote";
|
||||
this.allow_busy = true;
|
||||
this.allow_state = true;
|
||||
this.allow_die = true;
|
||||
const WT_REG = /\s+/;
|
||||
this.enter = function (me, str) {
|
||||
|
||||
if (!str) return me.send(this.emote_data());
|
||||
let paras = str.split(WT_REG);
|
||||
let target = null, emts = null;
|
||||
if (paras.length > 1) {
|
||||
emts = emote[paras[0]];
|
||||
target = WORLD.find_user(paras[1]);
|
||||
} else {
|
||||
emts = emote[str];
|
||||
}
|
||||
if (!emts) return;
|
||||
var emt = target ? emts[1] : emts[0];
|
||||
var msg = splitmessage(me, emt, 3, target);
|
||||
|
||||
return msg;
|
||||
}
|
||||
|
||||
function splitmessage(me, text, type, target) {
|
||||
if (text.length < 3) return text;
|
||||
var str = [];
|
||||
var start = 0;
|
||||
for (var i = 0; i < text.length; i++) {
|
||||
if (text[i] == "$") {
|
||||
start < i && str.push(text.substring(start, i));
|
||||
var ch = text[++i];
|
||||
start = i + 1;
|
||||
//type 1本人视角 2目标视角 3第三人称视角
|
||||
switch (ch) {
|
||||
case "N"://本人
|
||||
str.push(type == 1 ? "你" : me.name);
|
||||
break;
|
||||
case "n"://目标
|
||||
str.push(type == 2 ? "你" : target.name);
|
||||
break;
|
||||
case "P":
|
||||
str.push(type == 1 ? "你" : me.call3());
|
||||
break;
|
||||
case "p":
|
||||
str.push(type == 2 ? "你" : target.call3());
|
||||
break;
|
||||
case "c":
|
||||
str.push(target.call());
|
||||
break;
|
||||
case "C":
|
||||
str.push(me.callme());
|
||||
break;
|
||||
case "r":
|
||||
str.push(target.call(true));
|
||||
break;
|
||||
case "R":
|
||||
str.push(me.callme(me));
|
||||
break;
|
||||
case "l":
|
||||
str.push(target.call());
|
||||
break;
|
||||
case "W":
|
||||
case "w":
|
||||
str.push(me.weapon_name() || "手");
|
||||
break;
|
||||
case "i":
|
||||
str.push(target.weapon_name() || "手");
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
start < i && str.push(text.substring(start, i));
|
||||
return str.join("");
|
||||
}
|
||||
this.emote_data = function (me) {
|
||||
if (this.json) return this.json;
|
||||
var str = ["{type:'emote',items:["];
|
||||
for (var key in emote) {
|
||||
if (str.length > 1) str.push(",");
|
||||
str.push("\"");
|
||||
str.push(key);
|
||||
str.push("\"");
|
||||
}
|
||||
str.push("]}");
|
||||
this.json = str.join("");
|
||||
return this.json;
|
||||
}
|
||||
var emote = {
|
||||
哈欠: ["$N打了个哈欠,觉得无聊极了。", "$N白了$n一眼,说:$n无聊不无聊啊 ?", "$N打了个哈欠,觉得自己真是无聊透顶。"],
|
||||
睡着: ["$N睡着了,呼噜打得震天响。", "$N睡梦中幸福地笑着,口水流了一枕头。", "$N在$n的身边睡着了,呼噜打得震天响。"],
|
||||
|
||||
后会有期: ["$N抱拳道:青山不改,绿水常流,咱们后会有期!", "$N对$n抱拳道:青山不改,绿水常流,咱们后会有期!"],
|
||||
加油: ["$N使劲地用手拨拉着一大堆泥巴,一边吆喝着:一二三,加油干!六七八,挖泥巴!", "$N冲着$n大喊:$c,加油,加油!"],
|
||||
清醒: ["$N揉揉眼睛,清醒了过来。", "$N摇著$n试著把$n叫醒。大声在$n耳边大叫:「 猪! 起来了! 」"],
|
||||
无辜: ["$N无辜的流下泪来!", "$N满脸委屈地对$n说到:$c,你可别冤枉好人呀!"],
|
||||
傻笑: ["$N发出一阵傻笑。 ", "$N对着$n一阵傻笑。"],
|
||||
去死: ["$N披发仗剑,念起天魔大咒,四周荒野间顿时鬼哭狼嚎,天空上传来阵阵狞笑声:你们都给我死吧!", "$N高举双手大喝:去死吧! 从天上降下一道闪电将$n化作一堆灰烬。"],
|
||||
耳光: ["$N的手好象蠢蠢欲动。", "$N打了$n一记响亮的耳光。 "],
|
||||
做菜: ["$N撸起袖子准备做菜。", "$N把$n做成的肉块放进锅里用薄油炒了炒,再盛到沙锅里用大汤文火炖烂。"],
|
||||
哼: ["$P哼了一声。", "$N看都不看$n一眼, 哼了一声,高高的把头扬起来了.......不理$N...."],
|
||||
姐姐: ["$N作了一个揖,说道:”各位姐妹们,大家好!", "$N满脸严肃的对$n敬个礼,道:“姐姐好!"],
|
||||
跳: ["$N高兴地跳了起来。", "$N扑进了$n怀里撒起了娇。"],
|
||||
惊讶: ["$N惊讶地吐出了舌头.", "$N对$N惊讶地吐出了舌头."],
|
||||
摸: ["$P把手放在自己的□□□□□□□□", "$N紧紧靠在$n的怀里,口中轻声叫道“$n$c”,鼻翼歙动,面赛桃花,羞答答地抚摸$n坚实的肌肤。"],
|
||||
好样的: ["$N竖起了右手大拇指。", "$N对着$n竖起了右手大拇指,好样的。"],
|
||||
诗1: ["$N拔剑对着自己,长吟道:“十年磨一剑,霜寒未曾试。今日把问君,谁有不平事?", "$N拔剑指着$n,长吟道:“十年磨一剑,霜寒未曾试。今日把问君,谁有不平事?"],
|
||||
狼: ["$N高声大喊:“狼来了!狼来了!大家快逃!", "$N恶狠狠地对着$n说:“这年头,谁知道坐在电脑后面的你是不是一头狼!"],
|
||||
色迷迷: ["$N陶醉地低声唱道,“一呀摸,摸到妹妹的头发边……", "$N色迷迷地盯着$n,陶醉地低声唱道,“一呀摸,摸到$n$c的头发边……"],
|
||||
美味: ["$N拼命在啃他自己的脚趾头,似乎觉得其味无穷", "$N盯着$n上上下下地看,一边咕噜噜地使劲咽着唾沫。"],
|
||||
无耻: ["$N自豪地宣布:“武林中我最无耻,你们能把我怎么样!", "$N对$n说道:“你这个人怎么脸皮比城墙拐弯儿还厚!"],
|
||||
好香: ["$N皱了皱眉,似乎嗅到什麽东西烧糊了。", "$N仰起脸,伸长鼻子对着空气猛嗅了几下,对着$n大声赞道:\"好香,好香!\""],
|
||||
害羞: ["一朵红云飞上了$N的面颊。", "$N刮着$n的鼻子说:“不羞,不羞。。。"],
|
||||
扎针: ["$N掏出一根闪闪亮的小针, 眯着眼睛, 看了看, 满意的点点头.", "$N掏出一根闪闪亮的小针, 猛地往$n的屁股扎下去.....哇!!疼啊!!"],
|
||||
同意: ["$N说:你们大家都对,行了吧?", "$N完全同意$n的观点。"],
|
||||
嘿嘿: ["$N嘿嘿的奸笑了几声, 看来又想到了什么歪处。", "$N嘿嘿的对着$n奸笑了几声。"],
|
||||
求帮: ["$N泪流满面地说,各位大佬,帮帮我吧!", "$N泪流满面地对$n说,$c帮帮我吧。"],
|
||||
咯咯: ["$N「咯。。。咯。。。咯。。。」地笑个不停。", "$N对着$n「咯咯咯」地笑了几声。"],
|
||||
流氓: ["$N嘴角一撇,狞笑道:“我是流氓,我怕谁?!”", "$N对着$n大叫:“$n,你这个臭流氓!”"],
|
||||
造谣: ["$N狞笑着说:我这个人从不信谣,传谣,.........我只造谣!!", "$N急得满脸通红,对$n说:你...你可别造谣!"],
|
||||
打劫: ["$N拿着把锋利的钢刀架在自己脖子上,喊道:你们给不给钱?! 不给我就自杀了!", "$N一刀砍去,把$n的...钱袋挥作两半!"],
|
||||
好汉: ["$N声嘶力竭地大声叫道:哈!砍头不过头点地,老子十八年後又是一条好汉!", "$N对$n大声叫道:怕什麽怕,掉个脑袋不过碗大的疤,你小子有胆就跟他拼一场!"],
|
||||
什么: ["$N脸上露出迷惑的表情。", "$N似乎不懂$n是什么意思。"],
|
||||
拜访: ["$N郎声说道:拜山拜水拜码头,$C初到宝地,还请各位老大们多多关照!", "$N对$n说道:$c在上,$C初到码头,人生地不熟,万事请多关照!"],
|
||||
吹牛: ["$N把胸脯拍得噼啪响:“武林中拳头大的说话,有种的上来$s比划比划!", "$N把胸脯拍得噼啪响,对$n咆哮:“武林中拳头大的说话,$r你有种上来跟$R比划比划!"],
|
||||
哥哥: ["$N弯弯腰,道了个万福:“各位大哥,$C有礼了", "$N甜甜地跟$n打招呼:“$n哥哥好呀~"],
|
||||
失恋: ["$N向天长叹了一口气, 留下泪来。", "$N含着泪水对$n说到:随你好了,只要你幸福就好,你走吧。"],
|
||||
佩服: ["$N抱拳团团一拜,讨好地说道:$C对各位的景仰之情,有如滔滔江水连绵不绝。", "$N双手抱拳,讨好地对$n说道:“$C对$c的景仰之情,有如滔滔江水连绵不绝。"],
|
||||
阴笑: ["$N邪恶地发出一阵阴笑声。", "$N对着$n发出一阵阴笑声。"],
|
||||
鞠躬: ["$N恭恭敬敬地向墓碑鞠了一躬,浩然长叹,“前辈神技,令人难以想象。”", "$N恭恭敬敬地向$n的墓碑鞠了一躬,浩然长叹,“前辈神技,令人难以想象。"],
|
||||
等着: ["$N一脸气极败坏,恶狠狠地说道:这事没这麽容易了结,你们都给我走着瞧!", "$N对$n抱拳说道:$R武功惊人,$S极是拜服,十年之後,再来领教!"],
|
||||
酷: ["$N觉得自己真是酷毙了!", "$N对$n大叫道:「哇噻!你简直酷毙了!」。"],
|
||||
冷笑: ["$N「哼」地冷笑一声。", "$N对着$n「哼」地冷笑一声。"],
|
||||
闷棍: ["$N晃动着手中的木棒,到处寻找目标。", "$N手舞木棒,对准$n的后脑一记闷棍,$n哼也没哼一声,软软的摔倒在地。"],
|
||||
微笑: ["$N愉快地微笑着。", "$N朝$n愉快地微笑着。"],
|
||||
鼓掌: ["$N「啪啪啪」鼓起掌来。", "$N对着$n鼓起掌来,干得好。"],
|
||||
无奈: ["$N无奈地耸了耸肩。", "$N对着$n无奈地耸了耸肩。"],
|
||||
答应: ["$N歪头想了会,说道:好吧!", "$N对$n痛快地说道:好吧!"],
|
||||
委屈: ["$N满脸委曲地嚷到:不是我干的!", "$N满脸委曲地嚷到:$n,你可别冤枉好人!"],
|
||||
感动: ["$N感动极了,两行热泪夺眶而出。", "$N冲上前去,激动地紧紧握住$n的双手,哽咽着说不出话来。"],
|
||||
脸红: ["$N的脸「唰」的一下红了起来。", "$N看着$n,脸「唰」的一下红了起来。"],
|
||||
装逼: ["$N仰首面对苍天,狂笑不已,长叹道:难道这天底下,竟然没有人是我的对手?!", "$N剑眉一轩,冷冷的瞥了$n一眼,背转身淡淡说道:你,不是我的对手。"],
|
||||
点头: ["$N点了点头。", "$N对着$n点了点头。"],
|
||||
装死: ["$N两眼翻白,腿儿蹬了几下,脑袋一歪,断气了。", "$N很利索地把$n的肚子剖了开来,塞进稻草,只一会就作成了一具好看的木乃伊。"],
|
||||
考虑: ["$N开始认真考虑这个问题。", "$N开始考虑是否要杀了$n。"],
|
||||
脑崩儿: ["$N用手指弹了一下自己的脑门儿。", "$N在$n的头上弹了个清脆的脑崩儿,$n的脑门儿上立刻长出了个小臌包。"],
|
||||
眨眼: ["$N眨了眨迷人的眼睛!", "$N对$n眨了眨眼, 眼神中充满诱惑, 似乎................"],
|
||||
对视: ["$N遥望着在场的众人,微微一笑。一双妙目间情意流动,顾盼生姿。", "$N拉着$n的手,温柔地默默对视。目光中孕含着千种柔情,万般蜜意。"],
|
||||
吃醋: ["$N含情脉脉的看着世界上的女孩们,觉得三妻四妾真好!", "$N对$n骂道,你这黄脸婆,我和女孩说句话都不行!醋缸一个!"],
|
||||
拍头: ["$N拍了拍自己的头。", "$N轻轻地拍了拍$n的头。"],
|
||||
怀疑: ["$N想啊想,结果把脑袋给想破了,白白的脑浆流了一地。", "$N歪着脑袋,似乎很不明白为什麽$n死的时候白白的肚皮朝着天。"],
|
||||
挥砍: ["$N舞了个刀花。", "$N怒火中烧,一刀把$n劈成两半!"],
|
||||
大笑: ["$N捧住肚子,嘻嘻哈哈地直笑得两眼翻白,喘不过气来。", "$N张大眼奇怪地瞪着$n,慢慢地咧开嘴,捧腹大笑起来。"],
|
||||
作揖: ["$N躬身作了个揖。", "$N对着$n躬身作了个揖。"],
|
||||
西瓜: ["$N的脑袋长的跟西瓜似的, 别惊讶, 这是事实.", "$N认真的告诉$n, 你的脑袋长的跟西瓜似的, 别生气, 这是事实."],
|
||||
过奖: ["$N拱了拱手道:过奖,过奖!", "$N哈哈大笑,对着$n拱了拱手道:$c过奖了!"],
|
||||
生气: ["$N很生气地撅了撅嘴。", "$N很生气地看着$n。"],
|
||||
哭哭啼啼: ["$N不停地哭哭啼啼....", "$N靠在$n的肩上不停地哭哭啼啼."],
|
||||
安慰: ["$N怀着满腔热情寻思道:我该去安慰谁呢?", "$N安慰$n,别难过了。"],
|
||||
疯子: ["$N看看这个,又看看那个:疯了,都疯了,整个世界都疯了。", "$N看着疯疯癫癫的$n,叹了口气:唉,真可怜..."],
|
||||
感谢: ["$N对所有在场的人表示感谢。", "$N对$n表示衷心的感谢。"],
|
||||
生气: ["$N自己一个人在生闷气,谁也别理他啊,惹不起!", "$N哄着$n说,别生气了,就算我不对吧,笑一笑好吗?求你啦还不行。。?"],
|
||||
吹牛: ["$N拍着胸脯打包票:放心,天塌下来有我顶着,你们都不用怕!", "$N对著$n把胸脯拍得震天响:放心,天塌下来有我顶着,你不用怕!"],
|
||||
巴掌: ["$N使劲地拍自己的屁股。", "$N抓住$n照着屁股来了一巴掌?"],
|
||||
去死: ["$N想去死了算了。", "$N真希望看到$n去死。"],
|
||||
大喊: ["$N咬牙切齿地对着天空大叫:“贼老天!”", "$N瞪大眼,对着$n大声喊道:左右是个死,$R跟你拼了!"],
|
||||
舔: ["$N舔了舔自己嘴边的「哈喇滋」。", "$N舔了舔$n。"],
|
||||
捅: ["$N无聊的用手指到处乱捅!似乎想找个人陪陪!", "$N无聊的用手指捅了捅$n, 可是$n象根木头一样, 什么反应也没有。"],
|
||||
吻: ["$N嘟起嘴,“卟”地一声吻了吻空气。", "$N轻轻地捧起$n的脸,给了$n一个无限温柔的吻。"],
|
||||
抱: ["$N轻轻地抱住梦中的情人。", "$N深情的把$n轻轻地搂在怀里。"],
|
||||
逃跑: ["$N一看形势不对,脚底抹油,一声不吭地溜了。", "$N一边跑,一边对着$n大声喊道:$c,风紧,扯乎!"],
|
||||
口水: ["$N不知道想到什么诱人的东西,口水都流出来了。", "$N对$n垂涎三尺,不知道下一步会有何举动了。"],
|
||||
万福: ["$N给大家盈盈的福了一福。", "$N对$n福了一福, 说道:小女子这厢有礼了."],
|
||||
不行: ["$N板着脸,咬着牙说:不!打死我也不干!", "$N对$n斩钉截铁地说:不行,不行,就是不行! 哇...."],
|
||||
拍: ["$N拍了拍手,问道,谁能挡住我的拳头?", "$N一把揪住$n的脖子,抡了几圈,狠狠的把$n拍在了地上!!!"],
|
||||
咆哮: ["$N勃然大怒:一下撕开了衣服,露出了累累伤疤, 咆哮道:我征战沙场这么多年,难道还怕了你们不成?", "$N勃然大怒,撕开衣服,露出了累累伤疤, 朝$n咆哮道:我征战沙场这么多年,还怕了你不成 ?"],
|
||||
群殴: ["$N声嘶力竭地叫道,“大伙并肩子上啊!”。", "$N声嘶力竭地叫道,“对$n这样的$r还讲什么江湖道义,大伙并肩子上啊!”。"],
|
||||
昏迷: ["$N口吐白沫,昏了过去。", "$N眼前一黑,昏倒在$n的怀里。"],
|
||||
抱歉: ["$N对所有在场的人表示歉意。", "$N痛哭流涕的哀求$n的原谅。"],
|
||||
乖宝宝: ["$N对大家说:“叔叔阿姨们,我给大家唱支《我是一个乖宝宝》好不好?”", "$N拍了拍$n的头,说:“好孩子,听话,乖。”"],
|
||||
咬: ["$N磨了磨牙。", "$N真想狠狠地咬$n一口。"],
|
||||
踢: ["$N飞起一脚,似乎在踢苍蝇。", "$N飞起一脚,正好踢中$n的屁股!"],
|
||||
不知道: ["$N摇了摇头,不知道。", "$N对着$n说:对不起,我不知道。"],
|
||||
哈哈: ["$N「哈哈哈」大笑几声。", "$N对着$n「哈哈哈」大笑几声。"],
|
||||
呆子: ["$N对着镜子照了照觉得自己象个呆子。", "$N含羞地瞪了$n一眼,娇嗔道:有什么好看的,大呆子!"],
|
||||
可怜: ["$N叹道:好可怜呀!", "$N怜惜的对$n说,好可怜的孩子,$n的眼圈马上就红了起来。"],
|
||||
握手: ["$N的左手跟右手握了握,怎么不对劲?", "$N跟$n握了握手。"],
|
||||
敲: ["$N的手高高举起,不知道要敲什麽东西。", "$N狠狠地敲著$n的脑袋,$n被敲得脑袋大了三圈,满头大包。"],
|
||||
嫁人: ["$N把几百两黄金一摆,叉着腰说,谁娶了本姑娘,这钱就是他的了!", "$N把几百两黄金一摆,叉着腰对$n说:你嫁不嫁?"],
|
||||
难过: ["$N露出一丝难过的表情。", "$N看着$n,难过的要哭了。"],
|
||||
思考: ["$N背着双手踱来踱去,似乎在想什麽坏念头。", "$N看着$n踱来踱去,摇摇头,叹口气,又摇了摇头。"],
|
||||
开房: ["$N一个人坐在房间里,百无聊赖,希望谁来陪陪。。。。", "$N搂着$n的纤腰,亲热地说:走,咱俩开房去!"],
|
||||
皱眉: ["$N皱了皱眉,似乎想说什么。", "$N皱了皱眉,似乎想对$n说些什么。"],
|
||||
知道了: ["$N使劲拍了一下脑袋:我知道了", "$N使劲拍了一下脑袋对$n说:我知道了"],
|
||||
哈欠: ["$N困得眼睛都睁不开了,迷迷糊糊地打了个哈欠。", "$N对着$n打了个哈欠,熏得$n昏昏欲睡。"],
|
||||
得意: ["$N得意地打了个响指:哈哈!", "$N冲着$n伸出了两个手指做了个“V”,大声叫道:“YEAH”"],
|
||||
诱惑: ["$N满脸的媚态,作出一副迷人的姿态诱惑所有在场的人。", "$N满脸的媚态,作出一副迷人的姿态诱惑$n。"],
|
||||
嘻嘻: ["$N嘻嘻的笑了几声。", "$N笑嘻嘻的看着$n。"],
|
||||
不要: ["$N惊叫:不要,不要!", "$N对$n惊叫:不要,不要啊!"],
|
||||
害怕: ["$N面露怯色,好像害怕什么。", "$N被$n吓得脸都白了。"],
|
||||
擦汗: ["$N喘了口气,擦了擦额头上的汗水。", "$N替$n擦了擦额头上的汗水。"],
|
||||
失望: ["$N失望极了。", "$N对$n失望极了:$n没救了。"],
|
||||
呕吐: ["$N突然「稀哩哗啦」呕出了一大堆东西。", "$N「稀哩哗啦」吐了$n一身。"],
|
||||
摇头: ["$N把头摇得跟拨浪鼓似的。", "$N对着$n摇了摇头。"],
|
||||
打招呼: ["$N双手抱拳,作了个揖道:各位英雄请了!", "$N双手抱拳,对$n作了个揖道:这位$c请了!"],
|
||||
挥手: ["$N挥了挥手。", "$N对着$n挥了挥手。"],
|
||||
喊人: ["$N跳起来拼命地招动双手,也不知道是在叫谁。", "$N伸出食指,往里勾了勾:喂!$n,$r,过来!"],
|
||||
指: ["$N伸出指头把大家挨个点了一遍", "$N指着$n。"],
|
||||
恭喜: ["$N双手抱拳, 说到:恭喜恭喜!!", "$N对$n笑嘻嘻的说道:恭喜恭喜!!"],
|
||||
欣慰: ["$N看到这种情景,心中觉得欣慰极了。", "$N对$n说:你能这样想,我也就好欣慰了。"],
|
||||
馋: ["$N肚子饿得咕咕叫,眼睛在到处找有什么吃的。", "$N看着$n,喉咙里“咕噜”的响了一下,眼中冒出火来!"],
|
||||
举手: ["$N拼命地伸长自己的手臂,高声叫道:我,我,我!", "$N拼命地伸长自己的手臂,对$n高声叫道:我,我,我!"],
|
||||
赞扬: ["$N伸出指头把大家挨个点了一遍:“高手,都是高手!”", "$N指着$n赞叹道:$n是武林第一高手!"],
|
||||
痴呆: ["$N看起来一脸痴呆的样子。", "$N毫不留情地耻笑$n的愚昧."],
|
||||
大哭: ["$N嚎啕大哭起来。", "$N越想越伤心,终于忍不住趴在$n的肩膀上放声大哭起来。"],
|
||||
呵呵: ["$N「呵呵」傻笑了几声", "$N对着$n「呵呵」傻笑了几声。"],
|
||||
惊讶: ["$N惊讶地张着嘴巴,半天也说不出一句话来。", "$N对着$n惊讶地「啊!」了一声。"],
|
||||
叹气: ["$N深深地叹了口气。", "$N看着$n,深深地叹了口气。"]
|
||||
};
|
||||
39
world/cmd/channel/es.js
Normal file
39
world/cmd/channel/es.js
Normal file
@@ -0,0 +1,39 @@
|
||||
this.inherits(COMMAND);
|
||||
this.command = "es";
|
||||
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.level) return me.notify("你无法发送全区消息");
|
||||
if (me.query_temp("no_chat")) return me.notify("你目前被禁言中。");
|
||||
if (me.query_temp("chat")) return me.notify("你说话速度太快了。");
|
||||
if (me.query_setting("off_es")) return me.notify("你目前禁止全区频道中。");
|
||||
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));
|
||||
}
|
||||
msg = JSON.stringify({ type: "msg", ch: "es", content: msg, uid: me.id, lv: (me.level || 0), name: name, server: WORLD.SERVER.name });
|
||||
|
||||
for (var i = 0; i < WORLD.USERS.length; i++) {
|
||||
if (!WORLD.USERS[i].query_setting("off_es"))
|
||||
WORLD.USERS[i].send(msg);
|
||||
}
|
||||
WORLD.sendAllServer(msg);
|
||||
me.set_temp('chat', 1, 5000);
|
||||
me.add_temp('chat2', 1, UTIL.diff_time());
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
35
world/cmd/channel/fam.js
Normal file
35
world/cmd/channel/fam.js
Normal file
@@ -0,0 +1,35 @@
|
||||
this.inherits(COMMAND);
|
||||
this.command = "fam";
|
||||
this.allow_busy = true;
|
||||
this.allow_state = true;
|
||||
this.allow_die = true;
|
||||
this.enter = function (me, str) {
|
||||
if (!str) return;
|
||||
if (str.length > 200) return me.notify("你说的太多了。");
|
||||
if (me.query_temp("no_chat")) return me.notify("你目前被禁言中。");
|
||||
if (me.query_setting("off_fam")) return me.notify("你目前禁止门派频道中。");
|
||||
if (me.query_temp("chat")) return me.notify("你说话速度太快了。");
|
||||
var msg = "";
|
||||
var 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));
|
||||
}
|
||||
|
||||
msg = JSON.stringify({ type: "msg", ch: "fam", content: msg, uid: me.id, name: name, fam: me.family.name })
|
||||
for (var i = 0; i < WORLD.USERS.length; i++) {
|
||||
if (WORLD.USERS[i].family == me.family && !WORLD.USERS[i].query_setting("off_fam"))
|
||||
WORLD.USERS[i].send(msg);
|
||||
}
|
||||
me.set_temp('chat', 1, 5000);
|
||||
me.add_temp('chat2', 1, UTIL.diff_time());
|
||||
}
|
||||
421
world/cmd/channel/filter.js
Normal file
421
world/cmd/channel/filter.js
Normal file
@@ -0,0 +1,421 @@
|
||||
this.inherits(COMMAND);
|
||||
this.command = "filter";
|
||||
this.enter = function (me, str) {
|
||||
|
||||
}
|
||||
UTIL.check_word = function (str) {
|
||||
for (var i = 0; i < UTIL.workds_regex.length; i++) {
|
||||
if (UTIL.workds_regex[i].test(str)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
UTIL.replace_word = function (str) {
|
||||
for (var i = 0; i < UTIL.workds_regex.length; i++) {
|
||||
str = str.replace(UTIL.workds_regex[i], "*");
|
||||
}
|
||||
return str;
|
||||
}
|
||||
UTIL.add_world = function (str) {
|
||||
UTIL.workds_regex.push(new RegExp(str));
|
||||
}
|
||||
|
||||
var workds = [
|
||||
'爱液',
|
||||
'按摩棒',
|
||||
'爆草',
|
||||
'暴干',
|
||||
'暴奸',
|
||||
'暴淫',
|
||||
'奸',
|
||||
'屄',
|
||||
"奸杀",
|
||||
"足交",
|
||||
'被操',
|
||||
'被插',
|
||||
'逼奸',
|
||||
'插暴',
|
||||
'操逼',
|
||||
'操黑',
|
||||
'操烂',
|
||||
'肏你',
|
||||
'肏死',
|
||||
'操死',
|
||||
'操我',
|
||||
'厕奴',
|
||||
'插比',
|
||||
'插b',
|
||||
'插逼',
|
||||
'插我',
|
||||
'插阴',
|
||||
'潮吹',
|
||||
'潮喷',
|
||||
'吃精',
|
||||
'抽插',
|
||||
'荡妇',
|
||||
'荡女',
|
||||
'盗撮',
|
||||
'多人轮',
|
||||
'放尿',
|
||||
'肥逼',
|
||||
'粉穴',
|
||||
'干死你',
|
||||
'干穴',
|
||||
'肛交',
|
||||
'肛门',
|
||||
'龟头',
|
||||
'豪乳',
|
||||
'黑逼',
|
||||
'后庭',
|
||||
'后穴',
|
||||
'换妻',
|
||||
'黄片',
|
||||
'鸡吧',
|
||||
'鸡巴',
|
||||
'鸡奸',
|
||||
'妓女',
|
||||
'淫',
|
||||
'奸情',
|
||||
'叫床',
|
||||
'精液',
|
||||
'就去日',
|
||||
'巨屌',
|
||||
'菊花洞',
|
||||
'菊门',
|
||||
'巨奶',
|
||||
'巨乳',
|
||||
'菊穴',
|
||||
'开苞',
|
||||
'口爆',
|
||||
'口活',
|
||||
'口交',
|
||||
'口射',
|
||||
'口淫',
|
||||
'狂操',
|
||||
'狂插',
|
||||
'浪逼',
|
||||
'浪妇',
|
||||
'浪叫',
|
||||
'浪女',
|
||||
'狼友',
|
||||
'流淫',
|
||||
'凌辱',
|
||||
'漏乳',
|
||||
'露b',
|
||||
'乱交',
|
||||
'乱伦',
|
||||
'轮暴',
|
||||
'轮操',
|
||||
'轮奸',
|
||||
'裸陪',
|
||||
'买春',
|
||||
'美逼',
|
||||
'美穴',
|
||||
'美幼',
|
||||
'迷奸',
|
||||
'密穴',
|
||||
'蜜穴',
|
||||
'摸奶',
|
||||
'母奸',
|
||||
'奶子',
|
||||
'内射',
|
||||
'嫩逼',
|
||||
'嫩穴',
|
||||
'喷精',
|
||||
'屁眼',
|
||||
'品香堂',
|
||||
'强暴',
|
||||
'强奸',
|
||||
'情色',
|
||||
'全裸',
|
||||
'群交',
|
||||
'人妻',
|
||||
'人兽',
|
||||
'日逼',
|
||||
'日烂',
|
||||
'肉棒',
|
||||
'肉逼',
|
||||
'肉唇',
|
||||
'肉洞',
|
||||
'肉缝',
|
||||
'肉棍',
|
||||
'肉茎',
|
||||
'肉具',
|
||||
'肉穴',
|
||||
'肉欲',
|
||||
'乳房',
|
||||
'乳沟',
|
||||
'乳交',
|
||||
'乳头',
|
||||
'骚逼',
|
||||
'骚比',
|
||||
'骚女',
|
||||
'骚水',
|
||||
'骚穴',
|
||||
'色逼',
|
||||
'色情',
|
||||
'射爽',
|
||||
'射颜',
|
||||
'食精',
|
||||
'兽奸',
|
||||
'兽交',
|
||||
'手淫',
|
||||
'熟母',
|
||||
'熟女',
|
||||
'死逼',
|
||||
'体奸',
|
||||
'舔阴',
|
||||
'吸精',
|
||||
'相奸',
|
||||
'小逼',
|
||||
'校鸡',
|
||||
'小穴',
|
||||
'性交',
|
||||
'性奴',
|
||||
'性虐',
|
||||
'穴口',
|
||||
'颜射',
|
||||
'阳具',
|
||||
'阴部',
|
||||
'淫虫',
|
||||
'阴唇',
|
||||
'阴道',
|
||||
'淫电',
|
||||
'淫妇',
|
||||
'阴核',
|
||||
'阴户',
|
||||
'淫贱',
|
||||
'淫叫',
|
||||
'阴茎',
|
||||
'阴精',
|
||||
'淫浪',
|
||||
'淫媚',
|
||||
'淫糜',
|
||||
'淫魔',
|
||||
'淫母',
|
||||
'淫女',
|
||||
'淫虐',
|
||||
'淫妻',
|
||||
'淫情',
|
||||
'淫色',
|
||||
'淫书',
|
||||
'淫水',
|
||||
'淫娃',
|
||||
'淫威',
|
||||
'淫液',
|
||||
'淫照',
|
||||
'幼交',
|
||||
'幼男',
|
||||
'幼女',
|
||||
'玉穴',
|
||||
'招鸡',
|
||||
'招妓',
|
||||
'自慰',
|
||||
'作爱',
|
||||
'fuck',
|
||||
'gay片',
|
||||
'g点',
|
||||
'g片',
|
||||
'傻逼',
|
||||
'傻b',
|
||||
'煞逼',
|
||||
'傻比',
|
||||
'欠干',
|
||||
'婊子养的',
|
||||
'我日你',
|
||||
'我操',
|
||||
'我草',
|
||||
'爆你菊',
|
||||
'艹你',
|
||||
'cao你',
|
||||
'草你吗',
|
||||
'草你丫',
|
||||
'操你妈',
|
||||
'擦你妈',
|
||||
'操你娘',
|
||||
'操他妈',
|
||||
'日你妈',
|
||||
'干你妈',
|
||||
'干你娘',
|
||||
'娘西皮',
|
||||
'狗操',
|
||||
'狗草',
|
||||
'狗杂种',
|
||||
'狗日的',
|
||||
'操你祖宗',
|
||||
'操你全家',
|
||||
'操你大爷',
|
||||
'妈逼',
|
||||
'你麻痹',
|
||||
'麻痹的',
|
||||
'妈了个逼',
|
||||
'狗娘养',
|
||||
'贱比',
|
||||
'贱b',
|
||||
'下贱',
|
||||
'死全家',
|
||||
'全家死光',
|
||||
'全家死绝',
|
||||
'婊子',
|
||||
'贱货',
|
||||
'射精',
|
||||
'诱奸',
|
||||
'强奸',
|
||||
'做爱',
|
||||
'性爱',
|
||||
'少妇',
|
||||
'屌',
|
||||
'干你',
|
||||
'我干',
|
||||
'乱奸',
|
||||
'乱伦',
|
||||
'裸聊',
|
||||
'裸照',
|
||||
'迷幻药',
|
||||
'迷幻藥',
|
||||
'迷昏口',
|
||||
'迷昏药',
|
||||
'迷昏藥',
|
||||
'迷魂香',
|
||||
'迷魂药',
|
||||
'迷魂藥',
|
||||
'迷奸粉',
|
||||
'迷奸药',
|
||||
'迷情粉',
|
||||
'迷情水',
|
||||
'迷情药',
|
||||
'迷药',
|
||||
'迷藥',
|
||||
'谜奸药',
|
||||
'骚妇',
|
||||
'骚货',
|
||||
'骚浪',
|
||||
'骚女',
|
||||
'骚嘴',
|
||||
'色情',
|
||||
'性伴侣',
|
||||
'性服务',
|
||||
'性交',
|
||||
'性奴',
|
||||
'性虐',
|
||||
'阴唇',
|
||||
'阴道',
|
||||
'阴蒂',
|
||||
'阴户',
|
||||
'阴茎',
|
||||
'阴毛',
|
||||
'陰唇',
|
||||
'陰道',
|
||||
'陰戶',
|
||||
'淫乱',
|
||||
'淫靡',
|
||||
'淫魔',
|
||||
'淫女',
|
||||
'淫肉',
|
||||
'淫騷',
|
||||
'淫兽',
|
||||
'淫水',
|
||||
'淫穴',
|
||||
'摇头丸',
|
||||
'迷药',
|
||||
'乖乖粉',
|
||||
'麻醉药',
|
||||
"周恩来",
|
||||
'共产党',
|
||||
'胡锦涛',
|
||||
'江泽民',
|
||||
'江主席',
|
||||
'李鹏',
|
||||
'罗干',
|
||||
'温家宝',
|
||||
'中共',
|
||||
'朱镕基',
|
||||
'特供',
|
||||
'政治',
|
||||
'胡平',
|
||||
'苏晓康',
|
||||
'贺卫方',
|
||||
'谭作人',
|
||||
'焦国标',
|
||||
'万润南',
|
||||
'张志新',
|
||||
'辛灝年',
|
||||
'高勤荣',
|
||||
'王炳章',
|
||||
'高智晟',
|
||||
'司马璐',
|
||||
'刘晓竹',
|
||||
'刘宾雁',
|
||||
'魏京生',
|
||||
'林昭',
|
||||
'毒品',
|
||||
'反共',
|
||||
'暴动',
|
||||
'灭共',
|
||||
"蒋介石",
|
||||
'八九',
|
||||
'六四',
|
||||
'8964',
|
||||
'198964',
|
||||
'学潮',
|
||||
'血洗',
|
||||
'王丹',
|
||||
'柴玲',
|
||||
'沈彤',
|
||||
'封从德',
|
||||
'王超华',
|
||||
'王维林',
|
||||
'吾尔开希',
|
||||
'吾尔开西',
|
||||
'侯德健',
|
||||
'阎明复',
|
||||
'方励之',
|
||||
'蒋捷连',
|
||||
'丁子霖',
|
||||
'辛灏年',
|
||||
'蒋彦永',
|
||||
'严家其',
|
||||
'陈一咨',
|
||||
'何清涟',
|
||||
'汪兆钧',
|
||||
|
||||
'人肉',
|
||||
|
||||
'台湾独立',
|
||||
'日本万岁',
|
||||
|
||||
'江绵恒',
|
||||
'江宰民',
|
||||
'江贼',
|
||||
'江贼民',
|
||||
'江主席',
|
||||
'法轮',
|
||||
|
||||
'邓小平',
|
||||
|
||||
|
||||
'催眠',
|
||||
'催情',
|
||||
|
||||
'华国锋',
|
||||
'李鹏',
|
||||
'男妓',
|
||||
'男奴',
|
||||
|
||||
'嫩阴',
|
||||
|
||||
'嫖妓',
|
||||
|
||||
'情视频',
|
||||
"毛主席",
|
||||
'群奸',
|
||||
'乳交',
|
||||
'幼齿',
|
||||
'习近平', '毛泽东'];
|
||||
|
||||
UTIL.workds_regex = [];
|
||||
for (var i = 0; i < workds.length; i++) {
|
||||
workds[i] = new RegExp(workds[i]);
|
||||
}
|
||||
UTIL.workds_regex = workds;
|
||||
39
world/cmd/channel/pty.js
Normal file
39
world/cmd/channel/pty.js
Normal file
@@ -0,0 +1,39 @@
|
||||
this.inherits(COMMAND);
|
||||
this.command = "pty";
|
||||
this.allow_busy = true;
|
||||
this.allow_state = true;
|
||||
this.allow_die = true;
|
||||
this.enter = function (me, str) {
|
||||
if (!str) return;
|
||||
if (str.length > 200) return me.notify("你说的太多了。");
|
||||
if (me.query_temp("no_chat")) return me.notify("你目前被禁言中。");
|
||||
if (me.query_setting("off_pty")) return me.notify("你目前禁止帮派频道中。");
|
||||
if (me.query_temp("chat")) return me.notify("你说话速度太快了。");
|
||||
if (!me.query_temp("pt")) return me.notify("你还没加入过帮派。");
|
||||
|
||||
var pt = WORLD.DATA.parties.get(me.query_temp("pt"));
|
||||
if (!pt) me.notify("没有这个帮派。");
|
||||
|
||||
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));
|
||||
}
|
||||
msg = JSON.stringify({ type: "msg", ch: "pty", content: msg, uid: me.id, name: name })
|
||||
for (var i = 0; i < pt.roles.length; i++) {
|
||||
var user = pt.roles[i].user;
|
||||
if (user && !user.query_setting("off_pty")) {
|
||||
user.send(msg);
|
||||
}
|
||||
}
|
||||
me.set_temp('chat', 1, 5000);
|
||||
me.add_temp('chat2', 1, UTIL.diff_time());
|
||||
}
|
||||
14
world/cmd/channel/rumor.js
Normal file
14
world/cmd/channel/rumor.js
Normal file
@@ -0,0 +1,14 @@
|
||||
this.inherits(COMMAND);
|
||||
this.command = "rumor";
|
||||
this.allow_busy = true;
|
||||
this.allow_state = true;
|
||||
this.enter = function (me, msg) {
|
||||
if (me) return;
|
||||
//if (!msg) {
|
||||
// return;
|
||||
//}
|
||||
//msg = UTIL.htmlEncode(msg);
|
||||
var msg = JSON.stringify({ type: "msg", ch: "rumor", content: msg});
|
||||
|
||||
WORLD.sendAll(msg);
|
||||
}
|
||||
19
world/cmd/channel/say.js
Normal file
19
world/cmd/channel/say.js
Normal file
@@ -0,0 +1,19 @@
|
||||
this.inherits(COMMAND);
|
||||
this.command = "say";
|
||||
this.allow_busy = true;
|
||||
this.allow_state = true;
|
||||
this.enter = function (me, msg) {
|
||||
|
||||
if (!msg) {
|
||||
return me.send_room("$N在自言自语的说些什么。");
|
||||
}
|
||||
if (me.query_temp("no_chat")) return me.notify("你目前被禁言中。");
|
||||
if (msg.length > 200) return me.notify("你说的太多了。");
|
||||
if (msg[0] == "/") {
|
||||
if (me.query_temp("admin") || me.query_temp("wiz"))
|
||||
return me.command(msg.substr(1));
|
||||
}
|
||||
msg = UTIL.htmlEncode(UTIL.replace_word(msg));
|
||||
me.add_temp('chat2', 1, UTIL.diff_time());
|
||||
return me.send_room("$N说:" + UTIL.htmlEncode(msg));
|
||||
}
|
||||
16
world/cmd/channel/sys.js
Normal file
16
world/cmd/channel/sys.js
Normal file
@@ -0,0 +1,16 @@
|
||||
this.inherits(COMMAND);
|
||||
this.command = "sys";
|
||||
this.allow_busy = true;
|
||||
this.allow_state = true;
|
||||
this.enter = function (me, msg) {
|
||||
if (me) return;
|
||||
//if (!msg) {
|
||||
// return;
|
||||
//}
|
||||
//msg = UTIL.htmlEncode(msg);
|
||||
var msg = JSON.stringify({ type: "msg", ch: "sys", content: msg });
|
||||
|
||||
WORLD.sendAll(msg);
|
||||
|
||||
|
||||
}
|
||||
9
world/cmd/channel/tell.js
Normal file
9
world/cmd/channel/tell.js
Normal file
@@ -0,0 +1,9 @@
|
||||
this.inherits(COMMAND);
|
||||
this.command = "tell";
|
||||
this.allow_busy = true;
|
||||
this.allow_state = true;
|
||||
this.allow_die = true;
|
||||
this.regex = /^(\w+)\s(.+)$/;
|
||||
this.enter = function (me, target, cont) {
|
||||
|
||||
}
|
||||
22
world/cmd/channel/tm.js
Normal file
22
world/cmd/channel/tm.js
Normal file
@@ -0,0 +1,22 @@
|
||||
this.inherits(COMMAND);
|
||||
this.command = "tm";
|
||||
this.allow_busy = true;
|
||||
this.allow_state = true;
|
||||
this.allow_die = true;
|
||||
this.enter = function (me, str) {
|
||||
if (!str) return;
|
||||
if (me.query_temp("no_chat")) return me.notify("你目前被禁言中。");
|
||||
if (str.length > 200) return me.notify("你说的太多了。");
|
||||
var msg = "";
|
||||
if (str[0] == "*") {
|
||||
str = str.substr(1);
|
||||
msg = WORLD.COMMANDS["emote"].enter(me, str);
|
||||
if (msg) {
|
||||
return me.send_team(JSON.stringify({ type: "msg", ch: "tm", content: msg, uid: me.id }));
|
||||
}
|
||||
}
|
||||
|
||||
msg = UTIL.htmlEncode(UTIL.replace_word(str));
|
||||
me.send_team(JSON.stringify({ type: "msg", ch: "tm", content: msg, uid: me.id, name: me.name }));
|
||||
me.add_temp('chat2', 1, UTIL.diff_time());
|
||||
}
|
||||
Reference in New Issue
Block a user