依星源码资源网,依星资源网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

【好消息,好消息,好消息】VIP会员可以发表文章赚积分啦 !
查看: 9|回复: 0

[游戏架设教程] [传奇技术]传奇Lua使用说明 副本模块

[复制链接] 主动推送

1万

主题

1万

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12523
发表于 4 小时前 | 显示全部楼层 |阅读模式
[传奇技术]传奇Lua使用说明 副本模块
说明:
    副本模块依托ExternLua对镜像地图的一系列功能进行了整合、简化,可以快速构建副本,简化繁杂的老式TXT脚本。
副本模块说明:
        副本模块实现了副本功能的简化:简化副本创建、简化任务定义、人物存储在LUA脚本中的相关数据存储与读取。
        提供了如下指令:
             · CREATE_INSTANCE_ZONE
             · LOAD_INSTANCE_ZONE_DATA
             · RUN_INSTANCE_TASK
             · RESET_INSTANCE_ZONE_TIME
             · APPEND_INSTANCE_ZONE_TIME
             分别实现了【创建副本】、【读取人物存储的副本地图名】、【处理副本任务】、【重置副本有效时长】、【副本有效时长追加指定秒数】功能。
        提供了如下外部方法(可供其它模块进行调用):
            · regModMapData(副本模块, 调用此函数的模块, 副本标识名, 副本数据表) 用于注册一个外部副本数据
            · getPlayerMapName(副本模块, 调用者模块, 调用函数所附带的参数表, 副本标识符)
创建副本:
            CREATE_INSTANCE_ZONE 副本标识符
            副本数据定义在modules\副本\data.lua中

            示例:CREATE_INSTANCE_ZONE FB_D717A
副本数据定义:
                在modules\副本\副本数据\副本标识符 .lua中编写副本数据
                需要注意:副本标识符要唯一,如例子中的FB_D717A
副本标识符允许使用中文,但不建议
                其余内容参考下面的例子即可,如果删除Task的部分则是不使用任务功能

                示例:文件FB_D717A.lua
  1. return {
  2.     --原始地图
  3.     MapName = "d717",
  4.     --镜像图在客户端显示的地图名
  5.     MapDesc = "石墓副本",
  6.     --玩家存储地图名时的键,可以与副本标识符不同
  7.     Marker = "FB_D717A",
  8.     --地图过期后返回到哪个图
  9.     HomeMap = "0",
  10.     --删除后触发QF
  11.     DelRecall = "",
  12.     --删除后地图内所有玩家触发QF
  13.     DelRecallAll = "",
  14.     --进入副本后当前NPC执行
  15.     DoReCall = "@石墓回调",
  16.     --创建副本后进入地图时当前NPC执行,通常用于刷怪、分配任务
  17.     DoReCallFirst = "@石墓回调1",
  18.     --非创建副本后每次进入副本时NPC执行,没想到能怎么用,但还是给了个接口
  19.     DoReCallAfter = "@石墓回调2",
  20.     --地图有效期(秒)
  21.     Time = 60,
  22.     --当此项为true时,地图主人在地图中时,如果地图即将过期则自动续期一个有效时长,可以用来做一些长期性地图

  23.    AutoAppendTime= false ,
  24.     --任务
  25.     Task = {
  26.         {
  27.             --CHECK [7000]
  28.             Flag = 7000,
  29.             --标志有效时的值
  30.             ValidValue = 1,
  31.             --标志无效时的值
  32.             InValidValue = 0,
  33.             --杀怪检测
  34.             MonName = "白野猪",
  35.             --物品检测
  36.             ItemName = "*",
  37.             --任务NPC文件名
  38.             QuestName = "FB_D717A_0",
  39.             --组队任务
  40.             GroupTask = false,
  41.             --N$石墓杀怪
  42.             KillTaskExtN = "石墓杀怪",
  43.             --N$石墓拾取
  44.             PickTaskExtN = "石墓拾取",

  45.             --杀怪数量
  46.             KillCount = 10,
  47.             --拾取数量
  48.             PickCount = 0,
  49.             --杀怪提示
  50.             KillHint = "你已消灭%s:%d/%d",
  51.             --拾取提示
  52.             PickHint = "你已收集%s:%d/%d",
  53.             --杀怪任务提示
  54.             TaskKillHint = "任务:消灭%s%d只",
  55.             --拾取任务提示
  56.             TaskPickHint = "任务:收集%s%d个",
  57.             --杀怪完成后任务NPC触发
  58.             TaskKillFinished = "@杀怪任务完成",
  59.             --拾取完成后任务NPC触发
  60.             TaskPickFinished = "@拾取任务完成",
  61.             --触发概率X/100
  62.             TriggerValue = 30,
  63.         },
  64.         {
  65.             Flag = 7001,
  66.             ValidValue = 1,
  67.             InValidValue = 0,
  68.             MonName = "红野猪",
  69.             ItemName = "*",
  70.             QuestName = "FB_D717A_1",
  71.             GroupTask = false,
  72.             KillTaskExtN = "石墓杀怪",
  73.             PickTaskExtN = "石墓拾取",
  74.             KillCount = 15,
  75.             PickCount = 0,
  76.             KillHint = "你已消灭%s:%d/%d",
  77.             PickHint = "你已收集%s:%d/%d",
  78.             TaskKillHint = "任务:消灭%s%d只",
  79.             TaskPickHint = "任务:收集%s%d个",
  80.             TaskKillFinished = "@杀怪任务完成",
  81.             TaskPickFinished = "@拾取任务完成",
  82.             TriggerValue = 50,
  83.         },
  84.         {
  85.             Flag = 7002,
  86.             ValidValue = 1,
  87.             InValidValue = 0,
  88.             MonName = "黑野猪",
  89.             ItemName = "*",
  90.             QuestName = "FB_D717A_2",
  91.             GroupTask = false,
  92.             KillTaskExtN = "石墓杀怪",
  93.             PickTaskExtN = "石墓拾取",
  94.             KillCount = 15,
  95.             PickCount = 0,
  96.             KillHint = "你已消灭%s:%d/%d",
  97.             PickHint = "你已收集%s:%d/%d",
  98.             TaskKillHint = "任务:消灭%s%d只",
  99.             TaskPickHint = "任务:收集%s%d个",
  100.             TaskKillFinished = "@杀怪任务完成",
  101.             TaskPickFinished = "@拾取任务完成",
  102.             TriggerValue = 50,
  103.         },
  104.     },
  105. }
复制代码
副本数据引入:
                在modules\副本\副本数据\副本标识符 .lua中定义好数据之后,打开modules\副本\data.lua
                在data.lua的InstanceList中添加副本的文件名 ,即副本标识符即可,

                如下所示:
--[[
    这是修改过的Data文件,将你的副本配置数据单独命名为:副本标识符.lua放到副本配置文件夹
    并在下面的table内写上你的副本标识符,这样你的副本就可以被模块加载了
--]]
local InstanceList = {
    "FB_D717A",
}
return InstanceList
读取人物数据:
            LOAD_INSTANCE_ZONT_DATA 文件名
            示例:LOAD_INSTANCE_ZONT_DATA .\Envir\QuestDiary\V2网络\副本数据\<$USERNAME>.json
处理数据:
            RUN_INSTANCE_TASK 副本标识符 任务编号(即在Task表中的顺序)

            示例:【MapQuest_Def\FB_D717A_0.txt】

            [@main]
            #ACT
            RUN_INSTANCE_TASK FB_D717A 1

            
[@杀怪任务完成]
            #ACT
            ChangeExp + 100000
            SENDMSG 6 你已完成任务,获得经验:100000!
重置副本时长:
            RESET_INSTANCE_ZONE_TIME 副本标识符
            示例:RESET_INSTANCE_ZONE_TIME FB_D717A
追加副本有效时长:
            APPEND_INSTANCE_ZONE_TIME 副本标识符 时长(秒)
            示例:APPEND_INSTANCE_ZONE_TIME FB_D717A 120

相关帖子

扫码关注微信公众号,及时获取最新资源信息!下载附件优惠VIP会员6折;永久VIP4折
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4、论坛的所有内容都不保证其准确性,完整性,有效性,由于源码具有复制性,一经售出,概不退换。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请来信【站长信箱312337667@qq.com】告之,本站将立即删除。
郑重声明:
本站所有资源仅供用户本地电脑学习源代码的内含设计思想和原理,禁止任何其他用途!
本站所有资源、教程来自互联网转载,仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考,不提供任何技术服务。
本站资源仅供本地编辑研究学习参考,禁止未经资源商正版授权参与任何商业行为,违法行为!如需商业请购买各资源商正版授权
本站仅收集资源,提供用户自学研究使用,本站不存在私自接受协助用户架设游戏或资源,非法运营资源行为。
 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
312337667

微信扫一扫,私享最新原创实用干货

QQ|免责声明|小黑屋|依星资源网 ( 鲁ICP备2021043233号-3 )|网站地图

GMT+8, 2025-1-24 19:28

Powered by Net188.com X3.4

邮箱:312337667@qq.com 客服QQ:312337667(工作时间:9:00~21:00)

快速回复 返回顶部 返回列表