131 lines
3.5 KiB
Lua
131 lines
3.5 KiB
Lua
PlayerLogin = {}
|
|
|
|
|
|
-----* 新人登陆
|
|
function PlayerLogin:NewHuman(actor)
|
|
local _falg = getflagstatus(actor, VarCfg.Falg_newHuman)
|
|
if _falg == 0 then
|
|
---* 校验单职业
|
|
if ConstCfg.only_job then
|
|
local _job = getbaseinfo(actor, ConstCfg.gbase.job)
|
|
if _job ~= 0 then
|
|
setbaseinfo(actor, ConstCfg.sbase.job, 0)
|
|
end
|
|
end
|
|
|
|
---* 校验单性别
|
|
if ConstCfg.only_sex then
|
|
local _sex = getbaseinfo(actor, ConstCfg.gbase.sex)
|
|
if _sex ~= 0 then
|
|
setbaseinfo(actor, ConstCfg.sbase.sex, 0)
|
|
end
|
|
end
|
|
|
|
|
|
---* 校验初始等级
|
|
setbaseinfo(actor, ConstCfg.sbase.level, ConstCfg.newhuman_level)
|
|
|
|
---* 设置初始背包
|
|
setbagcount(actor, ConstCfg.bagcellnum)
|
|
|
|
---* 设置初始仓库格子数量
|
|
-- changestorage(actor, ConstCfg.warehousecellnum)
|
|
|
|
---* 添加初始技能
|
|
for _, v in ipairs(ConstCfg.first_login_addskill or {}) do
|
|
local skill_id = getskillindex(v.name)
|
|
addskill(actor, skill_id, v.level)
|
|
end
|
|
|
|
--给予新人的装备
|
|
for _, cfg in pairs(ConstCfg.first_login_itme or {}) do
|
|
if cfg.where then
|
|
-- LOGPrint(cfg.name[getbaseinfo(actor, ConstCfg.gbase.sex) + 1])
|
|
giveonitem(actor, cfg.where,
|
|
type(cfg.name) == "table" and cfg.name[getbaseinfo(actor, ConstCfg.gbase.sex) + 1] or cfg.name,
|
|
cfg.num, ConstCfg.binding)
|
|
else
|
|
giveitem(actor, cfg.name, cfg.num, ConstCfg.binding, "新人给予")
|
|
end
|
|
end
|
|
|
|
---* 初始化开启生肖盒
|
|
if ConstCfg.open_shengxiao then
|
|
setsndaitembox(actor, 1)
|
|
end
|
|
|
|
---* 初始化和平模式
|
|
changeattackmode(actor, 1)
|
|
|
|
---* 初始化大陆传送
|
|
Player.setint(actor, VarCfg.Player.int["大陆开荒"], 1)
|
|
|
|
|
|
---* 设置至宝盒子初始化
|
|
Player.setkeycount(actor, VarCfg.Player.str["至宝盒子"], 1, "空置")
|
|
---* 设置特戒盒子初始化
|
|
Player.setkeycount(actor, VarCfg.Player.str["特戒盒子"], 1, "空置")
|
|
|
|
|
|
---* 新人上线2小时每秒1000经验
|
|
if not hasbuff(actor, 10026) then
|
|
addbuff(actor, 10026)
|
|
end
|
|
|
|
---* 新人上线等级锁
|
|
setlocklevel(actor, 1, 65)
|
|
|
|
setflagstatus(actor, VarCfg.Falg_newHuman, 1)
|
|
end
|
|
end
|
|
|
|
GameEvent.add(EventCfg.onNewHuman, function(actor)
|
|
PlayerLogin:NewHuman(actor)
|
|
end, PlayerLogin)
|
|
|
|
|
|
|
|
function PlayerLogin:Login(actor)
|
|
---* 初始化大陆传送
|
|
if GetInt(0, actor, VarCfg.Player.int["大陆开荒"]) == 0 then
|
|
Player.setint(actor, VarCfg.Player.int["大陆开荒"], 1)
|
|
end
|
|
|
|
if Player.getstr(actor, VarCfg.Player.str["特戒盒子"]) == "" then
|
|
---* 设置特戒盒子初始化
|
|
Player.setkeycount(actor, VarCfg.Player.str["特戒盒子"], 1, "空置")
|
|
end
|
|
|
|
---* 初始化开启生肖盒
|
|
if ConstCfg.open_shengxiao then
|
|
setsndaitembox(actor, 1)
|
|
end
|
|
|
|
---* 设置一键拾取
|
|
-- local globa_human_num = grobalinfo(6)
|
|
-- local pick_time = ConstCfg.pickuptime
|
|
-- if globa_human_num >= 500 then
|
|
-- pick_time = 1000
|
|
-- elseif globa_human_num < 400 and globa_human_num >= 300 then
|
|
-- pick_time = 800
|
|
-- end
|
|
-- pickupitems(actor, 0, 8, pick_time)
|
|
|
|
---* 激活拾取精灵
|
|
if getflagstatus(actor, VarCfg.Falg_shiqujinlin) == 1 then
|
|
createsprite(actor, "嗷嗷虎")
|
|
pickupitems(actor, 3, 8, 500)
|
|
end
|
|
end
|
|
|
|
|
|
GameEvent.add(EventCfg.onLogin, function(actor)
|
|
PlayerLogin:Login(actor)
|
|
end, PlayerLogin, 1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return PlayerLogin
|