项目

一般

简介

假人完整示例 » 历史记录 » 版本 2

tejie, 2023-08-29 09:01

1 1 tejie
h4. 假人完整示例
2
3
-
4
-
5
6
*自定义假人名称处理*
7
8
..\Mir200\Envir\DummyNameList.txt
9
请重命名为
10
..\Mir200\Envir\DummyNameListTJ.txt
11
12
[[假人调试模块]] 
13 2 tejie
[[假人配置文件]] 配置项的值支持变量,举例job=<$str(n1)>
14 1 tejie
15
本示例相关数据表及脚本文件,请从本页面 *文件* 附件下载。
16
17
-
18
-
19
20
21
|^. %{color:fireBrick}--..\Mir200\Envir\MapQuest_Def\QManage.txt%
22
*<notextile>[@Startup]</notextile>*
23
<notextile>#call [\qm模块\服务器启动.txt] @服务器启动</notextile>
24
<notextile></notextile>
25
%{color:fireBrick}--..\Mir200\Envir\QuestDiary\qm模块\服务器启动.txt%
26
*<notextile>[@服务器启动]</notextile>*
27
%{color:lightGrey};--服务器首次启动处理%
28
#if
29
[[equal]] g$服务器首次启动 0
30
#act
31
[[mov]] g$服务器首次启动 1
32
%{color:lightGrey};--假人数据初始化%
33
[[mov]] a$假人_登录地图 XRJD
34
[[mov]] a$假人_登录坐标X 77
35
[[mov]] a$假人_登录坐标Y 29
36
[[mov]] g$假人_登录上限 1
37
<notextile></notextile>
38
#if
39
#act
40
[[tbl_load]] 假人等级地图对应表 \假人\假人等级地图对应表.csv
41
<notextile></notextile>
42
%{color:fireBrick}--..\Mir200\Envir\Robot_def\AutoRunRobot.txt%
43
<notextile>#AutoRun NPC SEC 10 @10秒触发</notextile>
44
<notextile></notextile>
45
%{color:fireBrick}--..\Mir200\Envir\Robot_def\RobotManage.txt%
46
*<notextile>[@10秒触发]</notextile>*
47
<notextile>#call [\假人\假人登录.txt] @发起假人登录</notextile>
48
<notextile></notextile>
49
%{color:fireBrick}--..\Mir200\Envir\MapQuest_Def\QManage.txt%
50
*<notextile>[@login]</notextile>*
51
#if
52
[[isDummy]]
53
<notextile>#call [\假人\假人登录.txt] @执行假人登录</notextile>
54
<notextile></notextile>
55
|/3^. %{color:firebrick}--..\Mir200\Envir\QuestDiary\假人\假人登录.txt%
56
*<notextile>[@发起假人登录]</notextile>*
57
%{color:lightGrey};--RobotManage.txt [@10秒触发]调用%
58
#if
59
[[checkDummyCount]] < g$假人_登录上限
60
#act
61
[[dummyLogon]] <$str(a$假人_登录地图)> <$str(a$假人_登录坐标X)> <$str(a$假人_登录坐标X)> 1
62
<notextile></notextile>
63
*<notextile>[@执行假人登录]</notextile>*
64
%{color:lightGrey};--QManage.txt [@login]调用%
65
#act
66
[[setDummyConfigFileName]] ..\QuestDiary\调试模块\假人\新人配置.txt
67
[[loadDummyConfigfile]]
68
<notextile></notextile>
69
%{color:lightGrey};--创建表--%
70
#if
71
not [[tbl_exist]] 登录假人表
72
#act
73
[[tbl_create_global]] 登录假人表 关键字 假人名称
74
[[tbl_add]] 登录假人表 <$userName> <$userName>
75
[[tbl_save]] 登录假人表
76
<notextile>goto @新登假人配置</notextile>
77
<notextile></notextile>
78
%{color:lightGrey};--保存新登录假人--%
79
#if
80
not [[tbl_has_key]] 登录假人表 <$userName>
81
#act
82
[[tbl_add]] 登录假人表 <$userName> <$userName>
83
[[tbl_save]] 登录假人表
84
<notextile>goto @新登假人配置</notextile>
85
<notextile></notextile>
86
#if
87
[[tbl_has_key]] 登录假人表 <$userName>
88
#act
89
%{color:lightGrey};--todo--登录过的假人%
90
<notextile></notextile>
91
#if
92
#act
93
<notextile>goto @假人下图处理</notextile>
94
<notextile></notextile>
95
*<notextile>[@新登假人配置]</notextile>*
96
#if
97
#act
98
%{color:lightGrey};--处理新假人装备,请根据版本自行调整%
99
[[mov]] s$key 1
100
<notextile>goto @假人换装</notextile>
101
<notextile></notextile>
102
*<notextile>[@假人下图处理]</notextile>*
103
%{color:lightGrey};--根据“假人等级地图对应表”下图
104
;举例
105
;0<lv<=10 地图1
106
;10<lv<=20 地图2
107
;20<lv<=30 地图3
108
;...
109
;**假人等级遍历上表,是否不大于等级上限%
110
#if tbl 假人等级地图对应表 s$key
111
[[small]] <$level> <$tbl(假人等级地图对应表,s$key,等级上限)>
112
#act
113
[[map]] <$tbl(假人等级地图对应表,s$key,地图编号)>
114
[[gotoNow]]
115
#elseAct
116
[[map]] <$tbl(假人等级地图对应表,s$key,地图编号)>
117
[[gotoNow]]
118
<notextile></notextile>
119
<notextile></notextile>
120
*<notextile>[@获得物品触发]</notextile>*
121
%{color:lightGrey}<notextile>;--qf [@pickUpItemEX]触发调用</notextile>
122
;--todo--处理假人出图逻辑%
123
#if
124
%{color:lightGrey};背包满了%
125
not [[checkBagSize]] 2
126
#act
127
<notextile>goto @假人主动回城处理</notextile>
128
<notextile></notextile>
129
<notextile></notextile>
130
*<notextile>[@假人被真人击处理]</notextile>*
131
%{color:lightGrey};--todo--qf被击触发调用,处理假人被击逻辑
132
;被击触发器,检查被真人攻击:假人血量低于<notextile>40%:50%几率回城;50%几率逃跑</notextile>%
133
#if
134
not [[checkHpPer]] < 40
135
#act
136
break
137
<notextile></notextile>
138
#if
139
[[checkCurrTargetRace]] = 0
140
[[checkHPPer]] < 40
141
#act
142
[[movR]] n1 0 2
143
#if
144
[[equal]] n1 0
145
#act
146
[[gotoNow]]
147
[[delayGoto]] 20000 <notextile>@假人挂机</notextile>
148
<notextile></notextile>
149
#if
150
[[equal]] n1 1
151
#act
152
[[gohome]]
153
<notextile></notextile>
154
*<notextile>[@假人挂机]</notextile>*
155
#act
156
[[dummyStart]]
157
<notextile></notextile>
158
<notextile></notextile>
159
*<notextile>[@假人死亡处理]</notextile>*
160
%{color:lightGrey};qf角色死亡触发调用--todo--处理假人死亡逻辑%
161
#if
162
#act
163
[[realive]] 100 1
164
[[gohome]]
165
<notextile></notextile>
166
%{color:lightGrey};主城随便逛逛%
167
[[gotoNow]]
168
<notextile></notextile>
169
[[goto]] <notextile>@假人下图处理</notextile>
170
<notextile></notextile>
171
<notextile></notextile>
172
*<notextile>[@假人主动回城处理]</notextile>*
173
#if
174
#act
175
[[gohome]]
176
%{color:lightGrey};--todo--处理假人主动回城逻辑
177
;执行清理背包%
178
[[gmExeCute]] clearBag self
179
<notextile></notextile>
180
%{color:lightGrey};执行假人升级%
181
#if
182
#act
183
<notextile>goto @假人升级处理</notextile>
184
<notextile></notextile>
185
%{color:lightGrey};主城随便逛逛%
186
[[gotoNow]]
187
<notextile></notextile>
188
[[goto]] <notextile>@假人下图处理</notextile>
189
<notextile></notextile>
190
<notextile></notextile>
191
*<notextile>[@假人升级处理]</notextile>*
192
#if
193
[[large]] <$rankingLevel> 10
194
#act
195
%{color:lightGrey};--todo--处理假人升级逻辑%
196
[[movR]] n1 1 6
197
[[changeLevel]] + n1
198
<notextile></notextile>
199
[[delayGoto]] 500 <notextile>@假人升级处理</notextile>
200
#elseAct
201
%{color:lightGrey};--根据升级后等级,穿戴对应装备
202
;--换装前后清空一下背包%
203
[[gmExeCute]] clearBag self
204
[[goto]] <notextile>@假人升级换装</notextile>
205
[[gmExeCute]] clearBag self
206
<notextile></notextile>
207
<notextile></notextile>
208
*<notextile>[@假人升级换装]</notextile>*
209
#if tbl 假人等级地图对应表 s$key
210
[[small]] <$level> <$tbl(假人等级地图对应表,s$key,等级上限)>
211
#act
212
goto <notextile>@假人换装</notextile>
213
#elseAct
214
goto <notextile>@假人换装</notextile>
215
<notextile></notextile>
216
<notextile></notextile>
217
*<notextile>[@假人换装]</notextile>*
218
#if
219
#act
220
[[give]] <$tbl(假人等级地图对应表,s$key,衣服)> 1
221
[[give]] <$tbl(假人等级地图对应表,s$key,武器)> 1
222
[[give]] <$tbl(假人等级地图对应表,s$key,项链)> 1
223
[[give]] <$tbl(假人等级地图对应表,s$key,头盔)> 1
224
[[give]] <$tbl(假人等级地图对应表,s$key,左镯)> 1
225
[[give]] <$tbl(假人等级地图对应表,s$key,右镯)> 1
226
[[give]] <$tbl(假人等级地图对应表,s$key,左戒)> 1
227
[[give]] <$tbl(假人等级地图对应表,s$key,右戒)> 1
228
[[give]] <$tbl(假人等级地图对应表,s$key,腰带)> 1
229
[[give]] <$tbl(假人等级地图对应表,s$key,靴子)> 1
230
<notextile></notextile>
231
[[takeOnItem]] <$tbl(假人等级地图对应表,s$key,衣服)> 0
232
[[takeOnItem]] <$tbl(假人等级地图对应表,s$key,武器)> 1
233
[[takeOnItem]] <$tbl(假人等级地图对应表,s$key,项链)> 3
234
[[takeOnItem]] <$tbl(假人等级地图对应表,s$key,头盔)> 4
235
[[takeOnItem]] <$tbl(假人等级地图对应表,s$key,左镯)> 5
236
[[takeOnItem]] <$tbl(假人等级地图对应表,s$key,右镯)> 6
237
[[takeOnItem]] <$tbl(假人等级地图对应表,s$key,左戒)> 7
238
[[takeOnItem]] <$tbl(假人等级地图对应表,s$key,右戒)> 8
239
[[takeOnItem]] <$tbl(假人等级地图对应表,s$key,腰带)> 10
240
[[takeOnItem]] <$tbl(假人等级地图对应表,s$key,靴子)> 11
241
<notextile></notextile>
242
%{color:lightGrey};--假人扩展背包页%
243
#if
244
[[equal]] s$key 2
245
#act
246
[[setBagOpen]] 2 1
247
<notextile></notextile>
248
#if
249
[[equal]] s$key 3
250
#act
251
[[setBagOpen]] 3 1
252
<notextile></notextile>
253
#if
254
[[equal]] s$key 4
255
#act
256
[[setBagOpen]] 4 1
257
|
258
|^. %{color:fireBrick}--..\Mir200\Envir\Market_Def\QFunction-0.txt%
259
*<notextile>[@pickUpItemEX]</notextile>*
260
#call [\qf模块\拾取触发.txt] @拾取触发
261
<notextile></notextile>
262
%{color:fireBrick}--..\Mir200\Envir\QuestDiary\qf模块\拾取触发.txt%
263
*<notextile>[@拾取触发]</notextile>*
264
#if
265
[[isDummy]]
266
#act
267
<notextile>#call [\假人\假人登录.txt] @获得物品触发</notextile>
268
<notextile></notextile>
269
%{color:fireBrick}--..\Mir200\Envir\Market_Def\QFunction-0.txt%
270
*<notextile>[@struck]</notextile>*
271
<notextile>#call [\qf模块\被击触发.txt] @被击触发</notextile>
272
<notextile></notextile>
273
*<notextile>[@magicStruck]</notextile>*
274
<notextile>#call [\qf模块\被击触发.txt] @被击触发</notextile>
275
<notextile></notextile>
276
%{color:fireBrick}--..\Mir200\Envir\QuestDiary\qf模块\被击触发.txt%
277
*<notextile>[@被击触发]</notextile>*
278
#if
279
[[isDummy]]
280
#act
281
<notextile>#call [\假人\假人登录.txt] @假人被真人击处理</notextile>
282
<notextile></notextile>
283
<notextile></notextile>
284
%{color:fireBrick}--..\Mir200\Envir\Market_Def\QFunction-0.txt%
285
*<notextile>[@playDie]</notextile>*
286
<notextile>#call [\qf模块\角色死亡.txt] @角色死亡</notextile>
287
<notextile></notextile>
288
<notextile></notextile>
289
%{color:fireBrick}--..\Mir200\Envir\QuestDiary\qf模块\角色死亡.txt%
290
*<notextile>[@角色死亡]</notextile>*
291
#if
292
[[isDummy]]
293
#act
294
<notextile>#call [\假人\假人登录.txt] @假人死亡处理</notextile>|
295
|<notextile></notextile>
296
<notextile></notextile>
297
<notextile></notextile>
298
<notextile></notextile>
299
<notextile></notextile>
300
<notextile></notextile>
301
<notextile></notextile>
302
<notextile></notextile>
303
<notextile></notextile>
304
<notextile></notextile>
305
<notextile></notextile>
306
<notextile></notextile>
307
<notextile></notextile>
308
<notextile></notextile>
309
<notextile></notextile>
310
<notextile></notextile>
311
<notextile></notextile>
312
<notextile></notextile>
313
<notextile></notextile>
314
<notextile></notextile>
315
<notextile></notextile>
316
<notextile></notextile>
317
<notextile></notextile>
318
<notextile></notextile>
319
<notextile></notextile>
320
<notextile></notextile>
321
<notextile></notextile>
322
<notextile></notextile>
323
<notextile></notextile>
324
<notextile></notextile>
325
<notextile></notextile>
326
<notextile></notextile>
327
<notextile></notextile>
328
<notextile></notextile>
329
<notextile></notextile>
330
<notextile></notextile>
331
<notextile></notextile>
332
<notextile></notextile>
333
<notextile></notextile>
334
<notextile></notextile>
335
<notextile></notextile>
336
<notextile></notextile>
337
<notextile></notextile>
338
<notextile></notextile>
339
<notextile></notextile>
340
<notextile></notextile>
341
<notextile></notextile>
342
<notextile></notextile>
343
<notextile></notextile>
344
<notextile></notextile>
345
<notextile></notextile>
346
<notextile></notextile>
347
<notextile></notextile>
348
<notextile></notextile>
349
<notextile></notextile>
350
<notextile></notextile>
351
<notextile></notextile>
352
<notextile></notextile>
353
<notextile></notextile>
354
<notextile></notextile>
355
<notextile></notextile>
356
<notextile></notextile>
357
<notextile></notextile>
358
<notextile></notextile>
359
<notextile></notextile>
360
<notextile></notextile>
361
<notextile></notextile>
362
<notextile></notextile>
363
<notextile></notextile>
364
<notextile></notextile>
365
<notextile></notextile>
366
<notextile></notextile>
367
<notextile></notextile>
368
<notextile></notextile>
369
<notextile></notextile>
370
<notextile></notextile>
371
<notextile></notextile>
372
<notextile></notextile>
373
<notextile></notextile>
374
<notextile></notextile>
375
<notextile></notextile>
376
<notextile></notextile>
377
<notextile></notextile>
378
<notextile></notextile>
379
<notextile></notextile>
380
<notextile></notextile>
381
<notextile></notextile>
382
<notextile></notextile>
383
<notextile></notextile>
384
<notextile></notextile>
385
<notextile></notextile>
386
<notextile></notextile>
387
<notextile></notextile>
388
<notextile></notextile>
389
<notextile></notextile>
390
<notextile></notextile>
391
<notextile></notextile>
392
<notextile></notextile>
393
<notextile></notextile>
394
<notextile></notextile>
395
<notextile></notextile>
396
<notextile></notextile>
397
<notextile></notextile>
398
<notextile></notextile>
399
<notextile></notextile>
400
<notextile></notextile>
401
<notextile></notextile>
402
<notextile></notextile>
403
<notextile></notextile>
404
<notextile></notextile>
405
<notextile></notextile>
406
<notextile></notextile>
407
<notextile></notextile>
408
<notextile></notextile>
409
<notextile></notextile>
410
<notextile></notextile>
411
<notextile></notextile>
412
<notextile></notextile>
413
<notextile></notextile>
414
<notextile></notextile>
415
<notextile></notextile>
416
|