技术员 发表于 2024-4-13 06:09:59

hero引擎如何制作假人详细教程

HERO引擎如何制作假人脚本的详细教程

好了 这节课有些人催了很久了 那么首先说一下 很多人在传奇里经常发现很多死人 也就是离线之后在游戏里面站着不动的人

为了让游戏更具有人气 很多技术都会添加一个死人跑动 或者随机飞动的 脚本 也就是死人变活人脚本 简称 假人脚本


首先呢说一下 涉及到的四个文件

QFunction-0.txt功能脚本QManage.txt 登陆脚本   RobotManage.txt机器人脚本   test.txt机器人时间的脚本

这四个大家都应该不陌生了

-------------------------------------------------------------------------------------------------------------------

首先呢 要做假人脚本 首先是要确定条件 玩家大退 自动离线挂机

在HERO引擎的说明书里

[@PlayOffline]
#IF                     如果
InSafeZone            你在安全区
#ACT                  则,那么
Offline 1 5000          每5秒获得3000经验

这段的意思就是 玩家在大退的时候 自动触发QF文件【功能脚本文件】里面的相应的【[@PlayOffline]】内容

我们打开 D:\MirServer\Mir200\Envir\Market_Def\QFunction-0.txt 功能脚本 查找这一段 @PlayOffline

OK 找到了 我们把原来的那一段删掉 把这段复制过去 OK 保存 那么现在就可以实现玩家大退后 离线挂机 了

可能很多人在保存之后发现还是不行 那么我们打开M2 --- 选项 --- 功能设置 --- 其他设置 --- 基本控制三

把其中的 允许安全区离线挂机 勾上 才能实现 离线挂机

-------------------------------------------------------------------------------------------------------------------

其实实现假人脚本的原理有两种 一种是在#act 后面加上 一个定时器 因为这个教程还没做 大家又催假人脚本

我们就说第二种首先我们打开 我事先准备好的 QF 查看一下 功能脚本执行内容

[@PlayOffLine]
#IF                                  如果
INSAFEZONE                           你在安全区
CHECKONLINEPLAYCOUNT < 1150          安全区人数的数量小于1150
#ACT                                 那么
OFFLINEPLAY 72000 10               给予挂机
addnamelist ..\QuestDiary\挂机.txt   然后 将其写入 QuestDiary 文件夹下的 挂机.txt文档 【玩家名】这个需要手动创建

-------------------------------------------------------------------------------------------------------------------

既然看到挂机的文档 那么我们接下来 打开准备好的 test.txt

#AutoRun NPC SEC 10 @挂机真人

这句话的意思就是 每10秒执行一次 @挂机真人 的脚本这个脚本 对应的就是 RobotManage.txt 也就是我们事先准备好的

-------------------------------------------------------------------------------------------------------------------

那么接下来我们再看 准备好的 RobotManage.txt 机器人脚本

[@挂机真人]
#if
#act
GetRandomText .\QuestDiary\挂机.txt S15
GetRandomText .\QuestDiary\挂机.txt S16
GetRandomText .\QuestDiary\挂机.txt S17
GetRandomText .\QuestDiary\挂机.txt S18
GetRandomText .\QuestDiary\挂机.txt S19
GetRandomText .\QuestDiary\挂机.txt S20
GetRandomText .\QuestDiary\挂机.txt S21
GetRandomText .\QuestDiary\挂机.txt S22
HCALL <$STR(S15)> @挂机人
HCALL <$STR(S16)> @挂机人
HCALL <$STR(S17)> @挂机人
HCALL <$STR(S18)> @挂机人
HCALL <$STR(S19)> @挂机人
HCALL <$STR(S20)> @挂机人
HCALL <$STR(S21)> @挂机人
HCALL <$STR(S22)> @挂机人

那么上面

GetRandomText .\QuestDiary\挂机.txt S15

是什么意思呢   意思是 随机读取 挂机.txt 文档 也就是已经离线挂机的玩家 其中一个 执行 HCALL <$STR(S15)> @挂机人 变量

-------------------------------------------------------------------------------------------------------------------

@挂机人 的脚本在哪里呢就在我们准备好的 QManage.txt 登陆脚本


[@login]
#if
checknamelist ..\QuestDiary\挂机.txt如果你在挂机的txt文档里
#act
delnamelist ..\QuestDiary\挂机.txt   那么清楚在挂机txt里的信息


[@挂机人]
#IF
IsOnMap 3                如果你在地图3的话
#act
MOVRP1 324 337    那么随机飞去这个坐标
MOVR P2 323 337      
MAPMOVE 3 <$str(p1)> <$str(p2)>
break
#IF
IsOnMap 0               如果你在地图0的话
#act
MOVRP1 320 340
MOVR P2 260 275
MAPMOVE 0 <$str(p1)> <$str(p2)>
break
#IF
IsOnMap 5            如果你在地图5的话
#act
MOVRP1 140 150
MOVR P2 327 340
MAPMOVE 5 <$str(p1)> <$str(p2)>
break

页: [1]
查看完整版本: hero引擎如何制作假人详细教程