项目

一般

简介

行为

假人完整示例


自定义假人名称处理

..\Mir200\Envir\DummyNameList.txt
请重命名为
..\Mir200\Envir\DummyNameListTJ.txt

假人调试模块

假人配置文件
配置项的值支持变量,举例job=<$str(n1)>
配合命令 setDummyConfigFileName 使用

本示例相关数据表及脚本文件,请从本页面 文件 附件下载。


--..\Mir200\Envir\MapQuest_Def\QManage.txt
[@Startup]
#call [\qm模块\服务器启动.txt] @服务器启动

--..\Mir200\Envir\QuestDiary\qm模块\服务器启动.txt
[@服务器启动]
;--服务器首次启动处理
#if
equal g$服务器首次启动 0
#act
mov g$服务器首次启动 1
;--假人数据初始化
mov a$假人_登录地图 XRJD
mov a$假人_登录坐标X 77
mov a$假人_登录坐标Y 29
mov g$假人_登录上限 1

#if
#act
tbl_load 假人等级地图对应表 \假人\假人等级地图对应表.csv

--..\Mir200\Envir\Robot_def\AutoRunRobot.txt
#AutoRun NPC SEC 10 @10秒触发

--..\Mir200\Envir\Robot_def\RobotManage.txt
[@10秒触发]
#call [\假人\假人登录.txt] @发起假人登录

--..\Mir200\Envir\MapQuest_Def\QManage.txt
[@login]
#if
isDummy
#call [\假人\假人登录.txt] @执行假人登录

--..\Mir200\Envir\QuestDiary\假人\假人登录.txt
[@发起假人登录]
;--RobotManage.txt [@10秒触发]调用
#if
checkDummyCount < g$假人_登录上限
#act
dummyLogon <$str(a$假人_登录地图)> <$str(a$假人_登录坐标X)> <$str(a$假人_登录坐标X)> 1

[@执行假人登录]
;--QManage.txt [@login]调用
#act
setDummyConfigFileName ..\QuestDiary\调试模块\假人\新人配置.txt
loadDummyConfigfile

;--创建表--
#if
not tbl_exist 登录假人表
#act
tbl_create_global 登录假人表 关键字 假人名称
tbl_add 登录假人表 <$userName> <$userName>
tbl_save 登录假人表
goto @新登假人配置

;--保存新登录假人--
#if
not tbl_has_key 登录假人表 <$userName>
#act
tbl_add 登录假人表 <$userName> <$userName>
tbl_save 登录假人表
goto @新登假人配置

#if
tbl_has_key 登录假人表 <$userName>
#act
;--todo--登录过的假人

#if
#act
goto @假人下图处理

[@新登假人配置]
#if
#act
;--处理新假人装备,请根据版本自行调整
mov s$key 1
goto @假人换装

[@假人下图处理]
;--根据“假人等级地图对应表”下图
;举例
;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


[@获得物品触发]
;--qf [@pickUpItemEX]触发调用
;--todo--处理假人出图逻辑

#if
;背包满了
not checkBagSize 2
#act
goto @假人主动回城处理


[@假人被真人击处理]
;--todo--qf被击触发调用,处理假人被击逻辑
;被击触发器,检查被真人攻击:假人血量低于40%:50%几率回城;50%几率逃跑

#if
not checkHpPer < 40
#act
break

#if
checkCurrTargetRace = 0
checkHPPer < 40
#act
movR n1 0 2
#if
equal n1 0
#act
gotoNow
delayGoto 20000 @假人挂机

#if
equal n1 1
#act
gohome

[@假人挂机]
#act
dummyStart


[@假人死亡处理]
;qf角色死亡触发调用--todo--处理假人死亡逻辑
#if
#act
realive 100 1
gohome

;主城随便逛逛
gotoNow

goto @假人下图处理


[@假人主动回城处理]
#if
#act
gohome
;--todo--处理假人主动回城逻辑
;执行清理背包

gmExeCute clearBag self

;执行假人升级
#if
#act
goto @假人升级处理

;主城随便逛逛
gotoNow

goto @假人下图处理


[@假人升级处理]
#if
large <$rankingLevel> 10
#act
;--todo--处理假人升级逻辑
movR n1 1 6
changeLevel + n1

delayGoto 500 @假人升级处理
#elseAct
;--根据升级后等级,穿戴对应装备
;--换装前后清空一下背包

gmExeCute clearBag self
goto @假人升级换装
gmExeCute clearBag self


[@假人升级换装]
#if tbl 假人等级地图对应表 s$key
small <$level> <$tbl(假人等级地图对应表,s$key,等级上限)>
#act
goto @假人换装
#elseAct
goto @假人换装


[@假人换装]
#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

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

;--假人扩展背包页
#if
equal s$key 2
#act
setBagOpen 2 1

#if
equal s$key 3
#act
setBagOpen 3 1

#if
equal s$key 4
#act
setBagOpen 4 1
--..\Mir200\Envir\Market_Def\QFunction-0.txt
[@pickUpItemEX]
#call [\qf模块\拾取触发.txt] @拾取触发

--..\Mir200\Envir\QuestDiary\qf模块\拾取触发.txt
[@拾取触发]
#if
isDummy
#act
#call [\假人\假人登录.txt] @获得物品触发

--..\Mir200\Envir\Market_Def\QFunction-0.txt
[@struck]
#call [\qf模块\被击触发.txt] @被击触发

[@magicStruck]
#call [\qf模块\被击触发.txt] @被击触发

--..\Mir200\Envir\QuestDiary\qf模块\被击触发.txt
[@被击触发]
#if
isDummy
#act
#call [\假人\假人登录.txt] @假人被真人击处理


--..\Mir200\Envir\Market_Def\QFunction-0.txt
[@playDie]
#call [\qf模块\角色死亡.txt] @角色死亡


--..\Mir200\Envir\QuestDiary\qf模块\角色死亡.txt
[@角色死亡]
#if
isDummy
#act
#call [\假人\假人登录.txt] @假人死亡处理

























































































































tejie 更新于 大约一年 之前 · 3 修订