- 精华
- 阅读权限
- 70
- 好友
- 相册
- 分享
- 听众
- 收听
- 注册时间
- 2016-1-28
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
[ 本帖最后由 vellydongdong 于 2025-11-14 16:24 编辑 ]\n\n
首先用的端是这个:【新提醒】【搬山道人】刀剑2·魔聚乌鹊山·五阶版本·GM控制台 - 网游单机下载 - 藏宝湾网游单机站 - Powered by Discuz!
开启轻功,按照这个:【新提醒】刀剑2添加“轻功试炼”活动的方法 - 网游单机讨论 - 藏宝湾网游单机站 - Powered by Discuz!
开启赛马单人。参考这个:【新提醒】刀剑2修改双人副本单人可进和赛马单人可进的方法 - 网游单机讨论 - 藏宝湾网游单机站 - Powered by Discuz!
开启单人进双人副本,这个lua里,修改如下:改后不需要通过GM控制台进入,跟NPC对话,进入。
function judge_team_num(player, num)
local allnum = player:GetAllMember()
local state = false
if num == 1 then
if allnum == 0 or allnum == num then
state = true
else
player:ShowUIText(bo2.eSendModeFlag_Self, 80273)
end
elseif num == 2 then
--直接注释
--local cur_Teammate = player:GetTeammateAmount(-1)
--if allnum == num and cur_Teammate == 1 then
state = true
else
player:ShowUIText(bo2.eSendModeFlag_Self, 80348)
end
end
return state
end
function check_cmn_all_state(player, excelID, isPayNow, isCheckInviteid)
local line = wuguan_table:find(excelID)
if line == nil then
return false
end
--检查状态的,直接注释后,返回true
--[[ local trans_premise = line.Event2_pre
local scn_id = line.Event2_scn
local pre_state = true
if trans_premise[0] == 1 then
local fn = fn_tb[1]
pre_state = pre_state and fn(player, 2)
if pre_state == false then
return false
end
end
local member
local function get_mem(mem)
if player.scn_unit == mem.scn_unit then
member = mem
end
end
player:ForEachTeammate(get_mem)
if member == nil then
return false
end
if isCheckInviteid == true then
local may1 = check_wuguan_same_invite(player, member)
if may1 == false then
player:ShowUIText(bo2.eSendModeFlag_Self, 73151)
return false
end
local may2 = check_wuguan_same_invite(member, player)
if may2 == false then
player:ShowUIText(bo2.eSendModeFlag_Self, 73150)
return false
end
end
for i = 1, trans_premise.size - 1 do
local ifvalue = trans_premise[i]
if ifvalue == 1 then
local fn = fn_tb[i + 1]
if fn then
pre_state = pre_state and fn(player, 1, member, scn_id)
if pre_state == false then
return false
end
end
end
end
if line.scn2_cd ~= 0 and get_share_cd_state(player, member, line.scn2_cd) == false then
return false
end
if line.quest_2 ~= 1 then
local quest_state = get_quest_state(member, line)
if quest_state == false then
player:ShowUIText(bo2.eSendMode_Self, 85119)
member:ShowUIText(bo2.eSendMode_Self, 85120)
return false
end
end
if line.level_2 ~= 1 then
local levelstate = get_level_state(member, line)
if levelstate == false then
local v = sys.variant()
v:set(L("name"), member.name)
player:ShowUIText(bo2.eSendMode_Self, 86525, v)
member:ShowUIText(bo2.eSendMode_Self, 86525)
return false
end
end
if line.pay_id ~= 0 then
local paystate, itemtext = get_payitem_state(player, line)
if paystate == true then
if isPayNow == true then
local v = sys.variant()
v:set(packet.key.multi_item, itemtext)
player:SafeAward(v, nil, nil, 2151)
end
else
return false
end
end
return true, member--]]
return true, nil
end
function on_select_2(player, npc, line)
local event_stream = line.Event2
local event_func = line.Event2_Func
if event_stream ~= 0 and event_stream ~= nil then
local scn = player.scn_unit
quest_cmn.start(scn, player, npc, still, event_stream)
elseif event_func ~= L("") and event_func ~= nil then
local scn = player.scn_unit
bo2.RunScript(event_func, scn, player, npc, still)
else
local state, member = check_cmn_all_state(player, line.id, false, true)
if state == false then
return
end
-- 上面中间注释了一段,修改:直接进入,不进行双人检查
local scn_id = line.Event2_scn
local cd_id = line.scn2_cd
-- 检查CD
if cd_id ~= 0 and get_share_cd_state(player, nil, cd_id) ~= true then
return
end
-- 检查付费物品,会消耗耀武令
if line.pay_id ~= 0 then
local paystate, itemtext = get_payitem_state(player, line)
if paystate == true then
local v = sys.variant()
v:set(packet.key.multi_item, itemtext)
player:SafeAward(v, nil, nil, 2151)
else
return
end
end
-- 直接传送
player:ChgScn(2, scn_id, "playerbegin", 0, 0, true)
-- 添加CD
if cd_id ~= 0 then
local cd_line = bo2.gv_define:find(cd_id)
if cd_line ~= nil and cd_line.value.v_int ~= 0 then
local id = cd_line.value.v_int
player:AddCooldown(id)
end
end
end
end
还有群侠会这个活动也需要双人组队,这个改单人直接在服务端\data\script\scene\activity\qunxiahui的qxh_baoming.lua,改这个报名脚本。就可以直接进入了。
local dis_can_fight = 40
function NpcTalk(npc, player)
local cd_ok = true
local lvl_ok = true
local is_dead = false
local function get_member(member)
is_dead = member:IsDead()
if is_dead then
member:ShowUIText(bo2.eSendModeFlag_Self, 83715)
return
end
local player_lvl = member:GetAtb(bo2.eAtb_Level)
if player_lvl < 20 then
lvl_ok = false
return
end
cd_ok = cd_ok and member:MayAddCooldown(bo2.eKnightCD_Activity)
if cd_ok == false then
return
end
end
local function on_begin()
local cur_leadertype = player:IsCaptain()
if cur_leadertype == true then
local group_num = player:GetAllMember()
-- 修改这里:允许单人进入,不再检查队伍人数
if group_num <= 0 then
player:ShowUIText(bo2.eSendModeFlag_Self, 80752)
return
end
-- 删除队伍人数检查,允许单人进入
-- if group_num ~= 2 then
-- player:ShowUIText(bo2.eSendModeFlag_Self, 83186)
-- return
-- end
local player_num = player:GetTeammateAmount(dis_can_fight)
-- 修改这里:单人模式下不需要检查队友距离
if group_num > 1 then -- 如果有队友才检查距离
if player_num > 1 then
player:ShowUIText(bo2.eSendModeFlag_Self, 83186)
return
elseif player_num < 1 then
player:ShowUIText(bo2.eSendMode_Self, 80308)
return
end
end
player:ForEachTeammate(get_member)
if player:IsDead() then
player:ShowUIText(bo2.eSendModeFlag_Self, 83715)
return
end
if is_dead then
player:ShowUIText(bo2.eSendModeFlag_Self, 83714)
return
end
local player_lvl = player:GetAtb(bo2.eAtb_Level)
if lvl_ok == false or player_lvl < 20 then
player:ShowUIText(bo2.eSendModeFlag_BroadcastGroup, 83701)
return
end
cd_ok = cd_ok and player:MayAddCooldown(bo2.eKnightCD_Activity)
if cd_ok == false then
player:ShowUIText(bo2.eSendModeFlag_BroadcastGroup, 83308)
return
end
-- 修改这里:单人时直接传送,不需要GroupChgScn
if group_num == 1 then
player:ChgScn(bo2.eTransfer_NormalChg, 121, "playerbegin")
else
player:GroupChgScn(bo2.eTransfer_NormalChg, 121, "playerbegin", 0)
end
else
player:ShowUIText(bo2.eSendMode_Self, 80307)
end
end
local on_cancil = function()
end
player:ClearDlgTalkUI(npc)
player:SetDlgContent(75046)
player:AddDlgItem(83185, on_begin)
player:AddDlgItem(80057, on_cancil)
end
修改了先民祖庙的副本机关要两人才能开门的问题,现在只需要单人拉动开关就能开门。这个有问题。参考后面发的贴子,进行修改。
召唤分身道具是借鉴79端。在特权商店里。刀剑2单机版79端个人修改版【补充更新】 - 网游单机下载 - 藏宝湾网游单机站 - Powered by Discuz!
上面所有修改后的文件链接如下:
链接:https://pan.baidu.com/s/1WnQeaToNUB72rKEs-hagkA?pwd=gnsm 提取码:gnsm 复制这段内容后打开百度网盘手机App,操作更方便哦
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
评分
-
查看全部评分
|