- 精华
- 阅读权限
- 60
- 好友
- 相册
- 分享
- 听众
- 收听
- 注册时间
- 2016-1-28
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
重魔试炼副本添加
入口就放在玖仟儿 5528,在后面新建一个
zhg_lmy_9200 64 0 5528 2 2 1 zhg_lmy_9200 0 0 xn_jiuqianer_fight*tcl_chongmoshilian
新建tcl_chongmoshilian.lua
function NpcTalk(npc, playerr)
player = playerr
if cdpd(55067) ~= nil then
player:AddDlgItem(102046, bzs)
else
player:AddDlgItem(102046, bzs)
end
end
function bzs()
local scn_id = 1309
if cdpd(55067) ~= 0 then
if duiwu ~= 0 then--且有队伍
player:ChgScn(bo2.eTransfer_NormalChg, scn_id, "lv1_lv5_supply", 0, 0, true)
--player:GroupChgScn(2, scn_id, "Playerbegin", scn_level)--组队传送
return
else
player:ShowUIText(bo2.eSendModeFlag_Self, 1024)--如果没有队伍
return
end
else
player:ShowUIText(bo2.eSendModeFlag_Self, 1723)
end
end
function cdpd(cooldown)
local cd = player:GetCooldown(cooldown)
if cd ~= nil and cd.token ~= nil then
return cd.token
end
if cd == nil or cd.token == nil then
return nil
end
end
在cooldown_list_scn.txt里新增 55067 0 30 1 重魔试炼副本
在text_wh.txt里新增102046 <c+:#red>进入重魔试炼<c->
scn_list修改
宝塔除妖 1309 fb_weilingta01 fb_weilingta01 0 100 100 512 sjy_chongmoshijian*sjy_qcjpingbilingyun*sjy_patacsh*obj_script 2 55067 75 2 1 1 1 1 2 1 13 16
在area_list里添加,
重魔试炼 2956 wlt_chongmoshilian01 1309 wltcwsl_chuansong 1 重魔试炼 1
添加刷新文件
wlt_chongmoshilian.txt
field1 field2 field3 field4 field5 field6 field7 field8 field9 field10 field11 field12 field13 field14 field15 field16 field17 field18 field19 field20 field21 field22
door_wlt_room_door_2 1 1 4848 1 wlt_room_door_2
一重入魔武者 2 1 139261 1 lv1_lv5_supply 0 wlt_chongmo_enemy
一重入魔武者 3 1 139262 1 lv1_lv5_supply 0 wlt_chongmo_enemy
一重入魔武者 4 1 139263 1 lv1_lv5_supply 0 wlt_chongmo_enemy
一重入魔武者 5 1 139264 1 lv1_lv5_supply 0 wlt_chongmo_enemy
一重入魔武者 6 1 139265 1 lv1_lv5_supply 0 wlt_chongmo_enemy
一重入魔武者 7 1 139266 1 lv1_lv5_supply 0 wlt_chongmo_enemy
一重入魔武者 8 1 139267 1 lv1_lv5_supply 0 wlt_chongmo_enemy
一重入魔武者 9 1 139268 1 lv1_lv5_supply 0 wlt_chongmo_enemy
一重入魔武者 10 1 139269 1 lv1_lv5_supply 0 wlt_chongmo_enemy
一重入魔武者 11 1 139270 1 lv1_lv5_supply 0 wlt_chongmo_enemy
一重入魔武者 12 1 139271 1 lv1_lv5_supply 0 wlt_chongmo_enemy
····一直到十重入魔侠士。emmm
新建wlt_chongmo_enemy.lua
-- chongmo_enemy_dead.lua
-- 重魔试炼敌人死亡处理脚本
function NpcDead(a_npc, a_dead_type)
local scn = a_npc.scn_unit
if scn == nil then
return
end
-- 调用重魔试炼的敌人死亡处理函数
sjy_chongmoshijian.handle_enemy_dead(scn, a_npc)
end
新建wltcwsl_chuansong.lua
-- chongmo_start_area.lua
-- 重魔试炼开始区域脚本
function AreaPlayerIn(scn, area_id, player)
-- 开始重魔试炼
sjy_chongmoshijian.start_chongmo_trial(scn)
end
新建sjy_chongmoshijian.lua
-- sjy_chongmoshijian.lua
-- 重魔试炼副本脚本 - 按照威灵塔模式
-- 定义常量
CHONGMO_LEVEL_CUR = 1 -- 当前重数标志
CHONGMO_LEVEL_STATE = 2 -- 副本状态标志
CHONGMO_MAX_LEVEL = 20 -- 最大重数
-- 重魔试炼数据
chongmo_tower_data = {}
-- 各重武者的ID范围配置(每重18个敌人)
chongmo_enemy_ranges = {
[1] = {start_id = 2, end_id = 19}, -- 一重武者: ID 2-19 (18个)
[2] = {start_id = 20, end_id = 37}, -- 二重武者: ID 20-37 (18个)
[3] = {start_id = 38, end_id = 55}, -- 三重武者: ID 38-55 (18个)
[4] = {start_id = 56, end_id = 73}, -- 四重武者: ID 56-73 (18个)
[5] = {start_id = 74, end_id = 91}, -- 五重武者: ID 74-91 (18个)
[6] = {start_id = 92, end_id = 109}, -- 六重武者: ID 92-109 (18个)
[7] = {start_id = 110, end_id = 127}, -- 七重武者: ID 110-127 (18个)
[8] = {start_id = 128, end_id = 145}, -- 八重武者: ID 128-145 (18个)
[9] = {start_id = 146, end_id = 163}, -- 九重武者: ID 146-163 (18个)
[10] = {start_id = 164, end_id = 181}, -- 十重武者: ID 164-181 (18个)
[11] = {start_id = 182, end_id = 199}, -- 十一重武者: ID 182-199 (18个)
[12] = {start_id = 200, end_id = 217}, -- 十二重武者: ID 200-217 (18个)
[13] = {start_id = 218, end_id = 235}, -- 十三重武者: ID 218-235 (18个)
[14] = {start_id = 236, end_id = 253}, -- 十四重武者: ID 236-253 (18个)
[15] = {start_id = 254, end_id = 271}, -- 十五重武者: ID 254-271 (18个)
[16] = {start_id = 272, end_id = 289}, -- 十六重武者: ID 272-289 (18个)
[17] = {start_id = 290, end_id = 307}, -- 十七重武者: ID 290-307 (18个)
[18] = {start_id = 308, end_id = 325}, -- 十八重武者: ID 308-325 (18个)
[19] = {start_id = 326, end_id = 343}, -- 十九重武者: ID 326-343 (18个)
[20] = {start_id = 344, end_id = 361} -- 二十重武者: ID 344-361 (18个)
}
-- 场景初始化
function ScnInit(scn)
-- 初始化副本状态
scn:SetTmpFlag(CHONGMO_LEVEL_CUR, 0) -- 从第0重开始
scn:SetTmpFlag(CHONGMO_LEVEL_STATE, 0) -- 状态:未开始
-- 初始化数据
chongmo_tower_data[scn.OnlyID] = {}
end
-- 开始试炼(由区域触发调用)
function start_chongmo_trial(scn)
if scn:GetTmpFlag(CHONGMO_LEVEL_STATE).v_int ~= 0 then
return -- 已经开始
end
scn:SetTmpFlag(CHONGMO_LEVEL_STATE, 1) -- 状态:进行中
next_level_start(scn)
end
-- 开始下一重
function next_level_start(scn)
local current_level = scn:GetTmpFlag(CHONGMO_LEVEL_CUR).v_int
local next_level = current_level + 1
if next_level > CHONGMO_MAX_LEVEL then
-- 所有重数完成
chongmo_complete(scn)
return
end
-- 设置当前重数
scn:SetTmpFlag(CHONGMO_LEVEL_CUR, next_level)
-- 刷新当前重的随机敌人
refresh_random_enemy(scn, next_level)
end
-- 刷新随机敌人
function refresh_random_enemy(scn, level)
local enemy_range = chongmo_enemy_ranges[level]
if enemy_range == nil then
Log.CmnLog("chongmo_enemy_ranges for level " .. level .. " not found!")
return
end
-- 随机选择一个敌人ID
local random_id = bo2.Rand(enemy_range.start_id, enemy_range.end_id)
-- 刷新敌人
scn:RefreshNpc(L("wlt_chongmoshilian"), 0, random_id, random_id, nil)
Log.CmnLog("重魔试炼第" .. level .. "重: 刷新敌人ID " .. random_id)
end
-- 敌人死亡处理
function handle_enemy_dead(scn)
local current_level = scn:GetTmpFlag(CHONGMO_LEVEL_CUR).v_int
-- 延迟一段时间后开始下一重
local function start_next()
if sys.check(scn) then
next_level_start(scn)
end
end
-- 1秒后开始下一重
bo2.AddTimeEvent(10, start_next)
end
-- 副本完成
function chongmo_complete(scn)
scn:SetTmpFlag(CHONGMO_LEVEL_STATE, 2) -- 状态:完成
-- 延迟一段时间后传送玩家离开
local function transfer_players_out()
if sys.check(scn) then
scn:ForEachPlayer(function(player)
player:ChgScn(bo2.eTransfer_NormalChg, 102, "zhg_lmy_9200", 0, 0, true)
end)
end
end
-- 3秒后传送离开
bo2.AddTimeEvent(3000, transfer_players_out)
end
-- 玩家进入场景
function ScnPlayerIn(scn, player)
-- 无文本提示
if scn:GetTmpFlag(CHONGMO_LEVEL_STATE).v_int == 0 then
start_chongmo_trial(scn)
end
end
-- 玩家重新加载场景
function ScnPlayerReload(scn, player)
-- 无文本提示
end
然后你就可以从一重入魔武者一直杀到十重入魔侠士啦。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|