红月吧 关注:18,429贴子:132,762
  • 16回复贴,共1

EventScript.res 指令功能 文件讲解,添加传送员教程

只看楼主收藏回复

我们先简单说一下每条大概做什么的

以此条第一行代码为例,顺序从左到右
C/S 代表C=客户端行为 S=服务端行为
AppearAt 0 0 12 24 角色所处坐标范围内,会触发后面的事件
客户端行为 CloseWindow 1 关闭血条显示 也就是客户端关闭血条 触发此条此时客户端的血条将会被关闭
服务端行为 ChatOneByCode +茄瘤拳 15 ChatOneByCode=NPC说话 +茄瘤拳=NPC名字 15=客户端 Message.ctf 的NPC台词编号 触发此条NPC会对你说话
接下来我们讲比较常用的添加传送员
首先我们添加一个NPC
找到 RedMoonSvr\Bin\Data\Extra + 对应的地图编号的.rme文件,例如:C:\RedMoonSvr\Bin\Data\Extra\Extra00021.rme

添加一行NPC,例如:
地图传送员 157 503 153 55 153 55 2
地图传送员 这个名字是在服务端处显示的,至于实际客户端叫什么可以去客户端 Message.ctf角色选项里面寻找修改
157 为NPC编号,也就是NPC的外观,比如这个我157编号是麋鹿
503 为事件索引编号,这个后面再说
153 55 153 55 是此NPC的活动范围
2 是此NPC活动方式 0=走路不频繁 1=走路频繁,例如住3燃料老太太 2=完全不走动,这里特别注意,此项为2时,NPC活动范围必须固定比如153 55 153 55 否则该NPC显示不出来
然后添加事件索引
我们打开 C:\RedMoonSvr\Bin\Data\Event\EventInfo.rse 添加一行新事件索引,注意事件ID不能跟其他ID重复
503=事件索引编号,跟上面的NPC事件索引编号对应
41=触发事件文件,这个为固定格式,无需特别理解
84=事件文件内编号索引,下面会讲到
接下来我们使用工具打开 C:\RedMoonSvr\Bin\Data\Event\EventScript.res
找到第84个事件代码,事件文件内编号索引

适用地图改一下改成60000,意思为所有地图都能使用这个NPC
触发类型改为被动触发,也就是点击他才触发,如果主动触发靠近这个NPC就会触发这个事件,这是不行的
第一行
EventTriggered=触发激活,固定格式,无需理解
GetUserResponseByCode 1001 1002 1003 1004 1000 此句为弹出选择框,就是闹4机场那种可以选择的框
第二行
UserResponse=角色选择触发,固定格式,无需理解
BeginRandEvent 92 92=转到第92个事件,这里可以理解为一级菜单对二级菜单的跳转展开
&=分隔符,可以使用此符号隔开实现多个不同的事件,在同一时间触发
Jmp 100=跳转到第100行,这里可以理解为关闭选择框,因为第100行什么都没有了
接下来我们来到92行再看实际的传送地图的过程

第一行就不赘述了,主要看第二行服务端行为
Move 21 162 50 1=传送到21号地图 坐标162 50 1这个位置也就是住2安全区,162 50为x,y坐标 1为地块位置,有的朋友可能不知道,红月一个坐标是分2个点的,这个1就代表地块位置的
最后我们来盘点一下所有事件以及对应的功能
首先是触发条件这列
AppearAt 0 43 12 64=移动到某个坐标点会触发后续事件
Timeout 8=延迟8秒再执行后续事件
Walk=走路
Run=跑步
Turn=接近
Chat 1,1=说话,内容在message.ctf文件的活动信息内
Key 112=键盘按键,112是F1键,具体可以百度一下键位码
BonusPoint 0=加点清零,也就是属性点加完后
CreateGroup=创建队伍
BuyItem 5 94 1=购买物品 5 94 1为购买了1个住宅区2地图
WantToInitBonus=重置技能点,等于吃一颗毒药的效果,但貌似需要服务端支持
Level1000Quest=炼丹药事件,当角色练级点>0就会触发此事件
MakeMysteryPillSuccess=炼丹成功,卡森说话的内容不一样
MakeMysteryPillFail=炼丹失败,卡森说话的内容不一样
KillMonster +俊胶欺_0=杀掉某一只怪物后触发,这里+俊胶欺为怪物名字,_0为怪物编号,这里应该是唯一一只怪才可以这样设置,比如城1的艾斯波,仅有一只
其余含有Quest,均为各种任务触发,这里就不赘述了,比如商店任务和主线任务
其余含有Battle,均为各种比赛地图使用,这里就不赘述了
客户端这列
CloseWindow 2
OpenWindow 2
只有这两条,就是打开某些窗口,F1F2什么的,用处不大,就不赘述了
最后是服务端行为列
ChatOneByCode +茄瘤拳 15 ChatOneByCode=NPC说话 +茄瘤拳=NPC名字 15=客户端 Message.ctf 的NPC台词编号 触发此条NPC会对你说话
Jmp 2=跳转到由自己行开始计算向下2行,如果为100 通常可以理解为结束事件
InitBonus=重置属性点,类似毒药功能,但好像有服务端限制,多数无法实现
TryMakeMysteryPill=开始炼制丹药
OpenShop=打开商店,可以配合chat 1,1 实现一些喊话打开商店的功能
Move 137 90 127 1=地图移动
其余含有Quest,均为各种任务触发,这里就不赘述了,比如商店任务和主线任务
其余含有Battle,均为各种比赛地图使用,这里就不赘述了
以上可能有所错漏,望海涵且请及时指出,欢迎跟帖交流

QQ截图20240523150157.png (769.94 KB, 下载次数: 0)
下载附件
昨天 15:02 上传
最后附带一份事件编辑器哈


IP属地:广东1楼2024-05-24 00:23回复
    @jdhgameover 给加个精啊喂


    IP属地:广东2楼2024-05-24 11:39
    收起回复
      楼主是搞技术的么


      IP属地:黑龙江3楼2024-05-24 18:20
      回复
        这些功能都在服务端内核的基础只上 一但内核加密和改动这些功能均无法实现


        IP属地:北京来自Android客户端4楼2024-05-24 22:52
        收起回复
          牛逼,这个必须加精。楼主有没有什么工具可以查看地图内置编号和修改编号?


          IP属地:湖南5楼2024-05-26 14:38
          回复
            666 888


            IP属地:湖北6楼2024-05-27 09:47
            回复
              大神 ,我单机版角色卡天空银行地图里了,上线就显示地图错误,点击就退游戏。怎么把角色移动出来????求助!!!求助!!!求助!!!求助!!!求助!!!求助!!!求助!!!


              IP属地:河北7楼2024-05-27 10:44
              收起回复
                很靠谱的教程,值得收藏!


                IP属地:云南8楼2024-05-27 10:45
                回复
                  请教 @传不过奇 大神,服务端行为这一列,OpenShop是打开商店,那有没有打开邮箱的指令呢?


                  IP属地:广西9楼2024-06-04 07:45
                  回复
                    没有 需要汇编服务端客户端才能实现


                    IP属地:广东10楼2024-07-14 14:14
                    收起回复