init: add workspace files

This commit is contained in:
2026-05-26 16:41:20 +08:00
commit f4f2393f72
1041 changed files with 67405 additions and 0 deletions

97
world/obj/cash/gaiming.js Normal file
View 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('名称更改失败,请联系管理员');
}
}
}