init: add workspace files
This commit is contained in:
97
world/obj/cash/gaiming.js
Normal file
97
world/obj/cash/gaiming.js
Normal file
@@ -0,0 +1,97 @@
|
||||
this.inherits(OBJ);
|
||||
this.set({
|
||||
unit: "张",
|
||||
name: "改名符",
|
||||
desc: "更改你的名字",
|
||||
grade: 2,
|
||||
value: 0
|
||||
});
|
||||
this.on_use = function (me) {
|
||||
if (!me.is_player) return me.notify_fail("你不能使用" + this.name + "。");
|
||||
|
||||
me.notify("请说出你的名字(打开聊天框任意频道输入):");
|
||||
me.send_commands("clearwait", "取消使用");
|
||||
me.wait_input = readname;
|
||||
return false;
|
||||
}
|
||||
function readname(me, cmd) {
|
||||
if (cmd == "clearwait") {
|
||||
me.wait_input = null;
|
||||
return me.notify("停止使用");
|
||||
}
|
||||
if (!cmd) return me.send('请说出你的名字(打开聊天框任意频道输入):');
|
||||
var ss = cmd.split(' ');
|
||||
if (ss.length != 2) return me.notify("请说出你的名字(打开聊天框任意频道输入):");
|
||||
var name = ss[1];
|
||||
var name_reg = /^[\u4E00-\u9FA5]{2,5}$/;
|
||||
if (!name_reg.test(name)) {
|
||||
return me.send('你的名字需要是2-5个中文字符');
|
||||
}
|
||||
if (!UTIL.check_word(name)) {
|
||||
return me.send('你不能用这个名字');
|
||||
}
|
||||
var obj = me.find_obj_bypath("cash/gaiming");
|
||||
if (!obj || !obj.count) {
|
||||
me.wait_input = null;
|
||||
me.send('你身上没有改名符,改名失败。');
|
||||
return;
|
||||
}
|
||||
update_name(me, name, obj);
|
||||
return false;
|
||||
}
|
||||
|
||||
async function update_name(me, name, obj) {
|
||||
try {
|
||||
let result = await WORLD.DB.change_name(me.id, name);
|
||||
if (!result) return me.send('名称更改失败,请联系管理员');
|
||||
me.wait_input = null;
|
||||
me.name = name;
|
||||
me.color_name = null;
|
||||
me.commands_json = null;
|
||||
me.environment.item_changed(me, true);
|
||||
me.remove_obj(obj, 1);
|
||||
var pt = me.query_party();
|
||||
if (pt) {
|
||||
for (var i = 0; i < pt.roles.length; i++) {
|
||||
if (pt.roles[i].id == me.id) {
|
||||
pt.roles[i].name = me.name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (me.query_temp('wife')) {
|
||||
var wife = WORLD.getUser(me.query_temp('wife'));
|
||||
if (wife) {
|
||||
wife.add_title(name + '的老婆', 'mar');
|
||||
wife.set_temp('husband_n', name);
|
||||
}
|
||||
|
||||
}
|
||||
if (me.query_temp('husband')) {
|
||||
var husband = WORLD.getUser(me.query_temp('husband'));
|
||||
if (husband) {
|
||||
husband.add_title(name + '的老公', 'mar');
|
||||
husband.set_temp('wife_n', name);
|
||||
}
|
||||
}
|
||||
if (me.custom_skills) {
|
||||
for (let skid of me.custom_skills) {
|
||||
var sk = SKILL.get(skid);
|
||||
if (sk) {
|
||||
sk.desc = name + "所创造的武功";
|
||||
}
|
||||
}
|
||||
}
|
||||
return me.send('你的名字已经改为:' + name + "。");
|
||||
|
||||
|
||||
} catch (err) {
|
||||
if (err.errno == 1062) {
|
||||
return me.send('这个名字已经有人使用了。');
|
||||
} else {
|
||||
me.wait_input = null;
|
||||
return me.send('名称更改失败,请联系管理员');
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user