init: add workspace files
This commit is contained in:
98
world/cmd/comm/createrole.js
Normal file
98
world/cmd/comm/createrole.js
Normal file
@@ -0,0 +1,98 @@
|
||||
this.inherits(COMMAND);
|
||||
this.command = "createrole";
|
||||
var name_reg = /^[\u4E00-\u9FA5]{2,5}$/;
|
||||
var id_reg = /^[a-z][a-z0-9]{2,9}$/;
|
||||
this.allow_login = true;
|
||||
this.enter = function (me, pars) {
|
||||
if (me.id) return me.send('{"type":"regist","result":"请刷新页面重新操作"}');
|
||||
pars = pars.split(' ');
|
||||
var name = pars[0], gender = parseInt(pars[1]),
|
||||
str = parseInt(pars[2]), con = parseInt(pars[3]), dex = parseInt(pars[4]), int = parseInt(pars[5]);
|
||||
|
||||
|
||||
if (gender != 1 && gender != 2) {
|
||||
return me.send('{"type":"regist","result":"注册信息错误"}');
|
||||
}
|
||||
if (!name_reg.test(name)) {
|
||||
return me.send('{"type":"regist","result":"姓名需要是2-5个汉字"}');
|
||||
}
|
||||
if (!UTIL.check_word(name)) {
|
||||
return me.send('{"type":"regist","result":"你不能用这个名字"}');
|
||||
}
|
||||
if (WORLD.find_user(name)) {
|
||||
return me.send('{"type":"regist","result":"这个名字已经有人用了"}');
|
||||
}
|
||||
|
||||
|
||||
if (str < 15 || str > 30) {
|
||||
return me.send('{"type":"regist","result":"力量属性需要在15-30之间。"}');
|
||||
}
|
||||
if (con < 15 || con > 30) {
|
||||
return me.send('{"type":"regist","result":"根骨属性需要在15-30之间。"}');
|
||||
}
|
||||
if (dex < 15 || dex > 30) {
|
||||
return me.send('{"type":"regist","result":"身法属性需要在15-30之间。"}');
|
||||
}
|
||||
if (int < 15 || int > 30) {
|
||||
return me.send('{"type":"regist","result":"悟性属性需要在15-30之间。"}');
|
||||
}
|
||||
if (str + con + dex + int != 80) {
|
||||
return me.send('{"type":"regist","result":"属性之和必须等于80"}');
|
||||
}
|
||||
|
||||
me.ip_address = me.socket.remoteAddress;
|
||||
if (!WORLD.USERLOGIN.check_user(me)) return;
|
||||
|
||||
me.name = name;
|
||||
me.id = UTIL.create_id();
|
||||
me.gender = gender;
|
||||
me.level = 0;
|
||||
me.exp = 0;
|
||||
me.pot = 0;
|
||||
//me.age = 14;
|
||||
me.str = str;
|
||||
me.con = con;
|
||||
me.dex = dex;
|
||||
me.int = int;
|
||||
me.per = parseInt(Math.random() * 5) + 20;
|
||||
me.kar = 20;
|
||||
me.limit_mp = 0;
|
||||
me.max_mp = 100;
|
||||
me.recount();
|
||||
me.hp = me.max_hp;
|
||||
me.mp = me.max_mp;
|
||||
me.reg_time = parseInt(Date.now() / 60000);
|
||||
me.set_objects(["eq/lv0/cloth", 1, 1]);
|
||||
me.set_temp("new", 1);
|
||||
me.set_temp("sr", 1);
|
||||
me.set_temp("hy_ct", 50);
|
||||
me.set_setting("ban_pk", 1);
|
||||
me.eq_groups = [];
|
||||
me.sk_groups = [];
|
||||
me.skills = {};
|
||||
this.save2db(me);
|
||||
}
|
||||
|
||||
this.save2db = async function (me) {
|
||||
try {
|
||||
let roleData = me.getData();
|
||||
roleData.server = WORLD.SERVERID;
|
||||
let suc = await WORLD.DB.addRole(roleData);
|
||||
if (suc) {
|
||||
WORLD.USERS.push(me);
|
||||
me.wait_input = null;
|
||||
me.do_login();
|
||||
} else {
|
||||
return me.send('{"type":"regist","result":"创建角色失败"}');
|
||||
}
|
||||
} catch (err) {
|
||||
if (err.errno == 1062) {
|
||||
me.id = null;
|
||||
return me.send('{"type":"regist","result":"角色名称重复,请重新输入"}');
|
||||
} else {
|
||||
console.log("角色创建失败", err, pars);
|
||||
return me.send('{"type":"regist","result":"创建角色失败"}');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user