假人完整示例 » 历史记录 » 修订 2
修订 1 (tejie, 2023-08-28 10:24) → 修订 2/3 (tejie, 2023-08-29 09:01)
h4. 假人完整示例 - - *自定义假人名称处理* ..\Mir200\Envir\DummyNameList.txt 请重命名为 ..\Mir200\Envir\DummyNameListTJ.txt [[假人调试模块]] [[假人配置文件]] 配置项的值支持变量,举例job=<$str(n1)> 本示例相关数据表及脚本文件,请从本页面 *文件* 附件下载。 - - |^. %{color:fireBrick}--..\Mir200\Envir\MapQuest_Def\QManage.txt% *<notextile>[@Startup]</notextile>* <notextile>#call [\qm模块\服务器启动.txt] @服务器启动</notextile> <notextile></notextile> %{color:fireBrick}--..\Mir200\Envir\QuestDiary\qm模块\服务器启动.txt% *<notextile>[@服务器启动]</notextile>* %{color:lightGrey};--服务器首次启动处理% #if [[equal]] g$服务器首次启动 0 #act [[mov]] g$服务器首次启动 1 %{color:lightGrey};--假人数据初始化% [[mov]] a$假人_登录地图 XRJD [[mov]] a$假人_登录坐标X 77 [[mov]] a$假人_登录坐标Y 29 [[mov]] g$假人_登录上限 1 <notextile></notextile> #if #act [[tbl_load]] 假人等级地图对应表 \假人\假人等级地图对应表.csv <notextile></notextile> %{color:fireBrick}--..\Mir200\Envir\Robot_def\AutoRunRobot.txt% <notextile>#AutoRun NPC SEC 10 @10秒触发</notextile> <notextile></notextile> %{color:fireBrick}--..\Mir200\Envir\Robot_def\RobotManage.txt% *<notextile>[@10秒触发]</notextile>* <notextile>#call [\假人\假人登录.txt] @发起假人登录</notextile> <notextile></notextile> %{color:fireBrick}--..\Mir200\Envir\MapQuest_Def\QManage.txt% *<notextile>[@login]</notextile>* #if [[isDummy]] <notextile>#call [\假人\假人登录.txt] @执行假人登录</notextile> <notextile></notextile> |/3^. %{color:firebrick}--..\Mir200\Envir\QuestDiary\假人\假人登录.txt% *<notextile>[@发起假人登录]</notextile>* %{color:lightGrey};--RobotManage.txt [@10秒触发]调用% #if [[checkDummyCount]] < g$假人_登录上限 #act [[dummyLogon]] <$str(a$假人_登录地图)> <$str(a$假人_登录坐标X)> <$str(a$假人_登录坐标X)> 1 <notextile></notextile> *<notextile>[@执行假人登录]</notextile>* %{color:lightGrey};--QManage.txt [@login]调用% #act [[setDummyConfigFileName]] ..\QuestDiary\调试模块\假人\新人配置.txt [[loadDummyConfigfile]] <notextile></notextile> %{color:lightGrey};--创建表--% #if not [[tbl_exist]] 登录假人表 #act [[tbl_create_global]] 登录假人表 关键字 假人名称 [[tbl_add]] 登录假人表 <$userName> <$userName> [[tbl_save]] 登录假人表 <notextile>goto @新登假人配置</notextile> <notextile></notextile> %{color:lightGrey};--保存新登录假人--% #if not [[tbl_has_key]] 登录假人表 <$userName> #act [[tbl_add]] 登录假人表 <$userName> <$userName> [[tbl_save]] 登录假人表 <notextile>goto @新登假人配置</notextile> <notextile></notextile> #if [[tbl_has_key]] 登录假人表 <$userName> #act %{color:lightGrey};--todo--登录过的假人% <notextile></notextile> #if #act <notextile>goto @假人下图处理</notextile> <notextile></notextile> *<notextile>[@新登假人配置]</notextile>* #if #act %{color:lightGrey};--处理新假人装备,请根据版本自行调整% [[mov]] s$key 1 <notextile>goto @假人换装</notextile> <notextile></notextile> *<notextile>[@假人下图处理]</notextile>* %{color:lightGrey};--根据“假人等级地图对应表”下图 ;举例 ;0<lv<=10 地图1 ;10<lv<=20 地图2 ;20<lv<=30 地图3 ;... ;**假人等级遍历上表,是否不大于等级上限% #if tbl 假人等级地图对应表 s$key [[small]] <$level> <$tbl(假人等级地图对应表,s$key,等级上限)> #act [[map]] <$tbl(假人等级地图对应表,s$key,地图编号)> [[gotoNow]] #elseAct [[map]] <$tbl(假人等级地图对应表,s$key,地图编号)> [[gotoNow]] <notextile></notextile> <notextile></notextile> *<notextile>[@获得物品触发]</notextile>* %{color:lightGrey}<notextile>;--qf [@pickUpItemEX]触发调用</notextile> ;--todo--处理假人出图逻辑% #if %{color:lightGrey};背包满了% not [[checkBagSize]] 2 #act <notextile>goto @假人主动回城处理</notextile> <notextile></notextile> <notextile></notextile> *<notextile>[@假人被真人击处理]</notextile>* %{color:lightGrey};--todo--qf被击触发调用,处理假人被击逻辑 ;被击触发器,检查被真人攻击:假人血量低于<notextile>40%:50%几率回城;50%几率逃跑</notextile>% #if not [[checkHpPer]] < 40 #act break <notextile></notextile> #if [[checkCurrTargetRace]] = 0 [[checkHPPer]] < 40 #act [[movR]] n1 0 2 #if [[equal]] n1 0 #act [[gotoNow]] [[delayGoto]] 20000 <notextile>@假人挂机</notextile> <notextile></notextile> #if [[equal]] n1 1 #act [[gohome]] <notextile></notextile> *<notextile>[@假人挂机]</notextile>* #act [[dummyStart]] <notextile></notextile> <notextile></notextile> *<notextile>[@假人死亡处理]</notextile>* %{color:lightGrey};qf角色死亡触发调用--todo--处理假人死亡逻辑% #if #act [[realive]] 100 1 [[gohome]] <notextile></notextile> %{color:lightGrey};主城随便逛逛% [[gotoNow]] <notextile></notextile> [[goto]] <notextile>@假人下图处理</notextile> <notextile></notextile> <notextile></notextile> *<notextile>[@假人主动回城处理]</notextile>* #if #act [[gohome]] %{color:lightGrey};--todo--处理假人主动回城逻辑 ;执行清理背包% [[gmExeCute]] clearBag self <notextile></notextile> %{color:lightGrey};执行假人升级% #if #act <notextile>goto @假人升级处理</notextile> <notextile></notextile> %{color:lightGrey};主城随便逛逛% [[gotoNow]] <notextile></notextile> [[goto]] <notextile>@假人下图处理</notextile> <notextile></notextile> <notextile></notextile> *<notextile>[@假人升级处理]</notextile>* #if [[large]] <$rankingLevel> 10 #act %{color:lightGrey};--todo--处理假人升级逻辑% [[movR]] n1 1 6 [[changeLevel]] + n1 <notextile></notextile> [[delayGoto]] 500 <notextile>@假人升级处理</notextile> #elseAct %{color:lightGrey};--根据升级后等级,穿戴对应装备 ;--换装前后清空一下背包% [[gmExeCute]] clearBag self [[goto]] <notextile>@假人升级换装</notextile> [[gmExeCute]] clearBag self <notextile></notextile> <notextile></notextile> *<notextile>[@假人升级换装]</notextile>* #if tbl 假人等级地图对应表 s$key [[small]] <$level> <$tbl(假人等级地图对应表,s$key,等级上限)> #act goto <notextile>@假人换装</notextile> #elseAct goto <notextile>@假人换装</notextile> <notextile></notextile> <notextile></notextile> *<notextile>[@假人换装]</notextile>* #if #act [[give]] <$tbl(假人等级地图对应表,s$key,衣服)> 1 [[give]] <$tbl(假人等级地图对应表,s$key,武器)> 1 [[give]] <$tbl(假人等级地图对应表,s$key,项链)> 1 [[give]] <$tbl(假人等级地图对应表,s$key,头盔)> 1 [[give]] <$tbl(假人等级地图对应表,s$key,左镯)> 1 [[give]] <$tbl(假人等级地图对应表,s$key,右镯)> 1 [[give]] <$tbl(假人等级地图对应表,s$key,左戒)> 1 [[give]] <$tbl(假人等级地图对应表,s$key,右戒)> 1 [[give]] <$tbl(假人等级地图对应表,s$key,腰带)> 1 [[give]] <$tbl(假人等级地图对应表,s$key,靴子)> 1 <notextile></notextile> [[takeOnItem]] <$tbl(假人等级地图对应表,s$key,衣服)> 0 [[takeOnItem]] <$tbl(假人等级地图对应表,s$key,武器)> 1 [[takeOnItem]] <$tbl(假人等级地图对应表,s$key,项链)> 3 [[takeOnItem]] <$tbl(假人等级地图对应表,s$key,头盔)> 4 [[takeOnItem]] <$tbl(假人等级地图对应表,s$key,左镯)> 5 [[takeOnItem]] <$tbl(假人等级地图对应表,s$key,右镯)> 6 [[takeOnItem]] <$tbl(假人等级地图对应表,s$key,左戒)> 7 [[takeOnItem]] <$tbl(假人等级地图对应表,s$key,右戒)> 8 [[takeOnItem]] <$tbl(假人等级地图对应表,s$key,腰带)> 10 [[takeOnItem]] <$tbl(假人等级地图对应表,s$key,靴子)> 11 <notextile></notextile> %{color:lightGrey};--假人扩展背包页% #if [[equal]] s$key 2 #act [[setBagOpen]] 2 1 <notextile></notextile> #if [[equal]] s$key 3 #act [[setBagOpen]] 3 1 <notextile></notextile> #if [[equal]] s$key 4 #act [[setBagOpen]] 4 1 | |^. %{color:fireBrick}--..\Mir200\Envir\Market_Def\QFunction-0.txt% *<notextile>[@pickUpItemEX]</notextile>* #call [\qf模块\拾取触发.txt] @拾取触发 <notextile></notextile> %{color:fireBrick}--..\Mir200\Envir\QuestDiary\qf模块\拾取触发.txt% *<notextile>[@拾取触发]</notextile>* #if [[isDummy]] #act <notextile>#call [\假人\假人登录.txt] @获得物品触发</notextile> <notextile></notextile> %{color:fireBrick}--..\Mir200\Envir\Market_Def\QFunction-0.txt% *<notextile>[@struck]</notextile>* <notextile>#call [\qf模块\被击触发.txt] @被击触发</notextile> <notextile></notextile> *<notextile>[@magicStruck]</notextile>* <notextile>#call [\qf模块\被击触发.txt] @被击触发</notextile> <notextile></notextile> %{color:fireBrick}--..\Mir200\Envir\QuestDiary\qf模块\被击触发.txt% *<notextile>[@被击触发]</notextile>* #if [[isDummy]] #act <notextile>#call [\假人\假人登录.txt] @假人被真人击处理</notextile> <notextile></notextile> <notextile></notextile> %{color:fireBrick}--..\Mir200\Envir\Market_Def\QFunction-0.txt% *<notextile>[@playDie]</notextile>* <notextile>#call [\qf模块\角色死亡.txt] @角色死亡</notextile> <notextile></notextile> <notextile></notextile> %{color:fireBrick}--..\Mir200\Envir\QuestDiary\qf模块\角色死亡.txt% *<notextile>[@角色死亡]</notextile>* #if [[isDummy]] #act <notextile>#call [\假人\假人登录.txt] @假人死亡处理</notextile>| |<notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> <notextile></notextile> |