地图上突然冒出的雷电、喷火、地钉、泉水、龙头燃烧,不是往地上摆素材摆出来的,是引擎自带的一套地图魔法系统,改一个文本文件就能生效。不少人照着抄了代码却看不到东西,问题基本都出在没走对登录器、没重启、地图编号没对上这几点上。下面把开启的完整流程和每一列参数拆开讲。
一、地图魔法认的是哪个文件
整套效果由 MapMagicEvent.txt 控制。文件位置在服务端 Mir200\Envir\UserData\MapMagicEvent.txt,个别老引擎把它放在 Envir 根目录下,找不着就这两个地方都翻一遍。文件默认是空的,或者只有几行带分号的说明,所有效果都要自己往里面补。里面一行就是一个独立的效果定义,写几行就出几个效果,彼此不干扰。带分号开头的行是注释,引擎不读,动手之前先把参数对照表抄成注释钉在文件顶上,后面改列的时候不容易看串。
二、一行里的参数怎么排
格式是固定顺序,中间用空格隔开,少一列或者列的顺序调了,效果就出不来:
地图名称 X坐标 Y坐标 范围 魔法类型 魔法威力 长期可见 附加功能 智能攻击
地图名称这一列要注意,填的是 MapInfo.txt 里这张地图的编号,不是地图显示的名字。盟重土的编号是 3,往盟重的地面加效果,这一列就写 3,写成“盟重省”或者别的中文名,引擎匹配不到地图,这行等于白写。
X坐标 Y坐标 是效果出现的位置,坐标必须是这张地图上真实存在的落点,自己进游戏跑到想放的位置,把坐标记下来填进去。
范围指以这个坐标为圆心向外扩散几格都会触发,写 1 就是只在那一个格子上,写 10 就是周围一圈。
魔法威力不同效果含义不一样,带伤害的效果里它代表伤害值或者采集次数,下一节单独说。
长期可见填 1 或者 0。填 1,只要这个效果在人物屏幕内就一直看得见;填 0,效果播一遍就停。这里要清楚一点,所谓可见只针对人物当前屏幕,人物一切换地图或者走远超出屏幕,效果自然就看不到了,这是机制本身决定的,不是脚本写坏了。
附加功能是给效果挂状态用的,不挂就填 0。
最后一列的智能攻击有些引擎版本才有,没有这一列的话删掉同样能跑。
三、魔法类型这一列填什么
这一列决定效果长什么样,记住对应的数字直接填:
1 是地钉效果,2 是雷电效果,3 到 8 也是雷电效果,只是形态和落点不一样。9 是龙头燃烧,10 是岩浆效果,11 是喷火效果。15、16、17 是三种泉眼,区别在泉水的外观和采集方式。26 到 30 是雪域五种传送门效果。12、13、14 这几个数字的资料很少,属于没测过的类型,想用就自己填进去试,出不来效果就换回前面几个常用编号。
同一张地图可以叠多种效果,比如一个大范围雷电配几处喷火,写成多行就行,行与行之间没有依赖。
四、附加功能挂状态
附加功能这一列能给踩进范围的人挂上负面状态,取值是这样:1 是麻痹,2 是绿毒,3 是红毒,4 是冰冻,5 是蜘蛛网。除毒类以外的状态,持续时间引擎固定成 3 秒,触发几率是十分之一,这两个值改不了,只能接受。想让它更容易中招,就把范围写大一点,靠次数堆概率。做安全区里那种只图好看不伤人的装饰效果,这一列统统填 0,别挂状态,否则站安全区的人也会莫名其妙被定住。
五、智能攻击这一列
这一列管的是效果打不打人、怎么打。填 0,攻击固定在设定的那个坐标上,人站上去才挨打;填 1,攻击会在这个坐标周围的范围里随机移动,等于一小片区域会飘着打。做占点活动就用 1,做定点伤害陷阱就用 0。不是所有引擎都读这一列,加上没反应也不代表前面写错了。
六、泉水那套参数单独说
泉水是地图魔法里最常被拿来用的一类,因为它对应的是可交互的资源,参数含义跟别的效果不一样,得单独拎出来看。
魔法类型填 15、16、17,对应三种外观不同的泉眼。魔法威力填的是这个泉眼能被采集多少次,采完之后不再出水。附加功能填的是每次采集泉水罐能涨多少点。范围的含义也变了,它指当这个泉眼的采集次数归零之后,每隔一分钟会在范围之内随机重开一个泉眼,等于让采集点自己循环起来。举个现成的写法:
3 333 333 10 15 5 1 1
读一遍就是:盟重土这张地图,坐标 333 333,范围 10 格,用 15 号泉眼效果,可以采 5 次,进入屏幕可见,每次采到涨 1 点。玩家要采的话身上得装备泉水罐,这属于客户端物品侧的事,插件缺了同样接不到水。
七、开了却没效果,多半是这几处
第一位是登录器。这一套地图魔法不是所有登录器都认,得用配套的专用登录器,随手拿一个通用登录器进去,服务端配置全对也看不到效果。
第二位是重启。MapMagicEvent.txt 改完必须重启服务端才读新配置,只点重载 NPC 不重启,这个文件里的改动不会生效。
第三位是地图编号。前面反复说的,地图名称列要填 MapInfo.txt 里的地图编号,填错一个数字效果就落到别的图去了。
第四位是坐标。坐标不在该地图的可行走范围内,效果要么不显示,要么显示在墙上空处,人根本过不去。
第五位是文件放错目录。放成 Envir\MapMagicEvent.txt 还是 Envir\UserData\MapMagicEvent.txt,要看自己这版引擎认哪个,放错位置等于没写。
六个地方都对了还不出效果,检查一下是不是用的精简引擎,个别被裁过的版本直接把这块功能删掉了,代码写对也不读。
八、脚本里也能临时放特效
除了上面这种写死在文件里的长期效果,部分引擎还支持用脚本命令在地图上临时播一次特效,用完立刻删。以 188M2 的写法为例,播放的命令是:
MapEffect WIL资源列表序号 开始图片 播放数量 间隔 地图编号 X Y 特效绘制方式
特效绘制方式填 0 是透明绘制,填 1 是普通绘制。删除的命令是 DelMapEffect 地图 X Y,把之前放在那个坐标上的特效清掉。这种特效是贴在地表上播的,坐标位置上有 NPC 或者物件素材,会被挡住,摆的时候要避开。命令适合做一次性活动开场、触发式特效,跟文件里那种常驻效果配合着用。
九、改动前后的检查顺序
动手之前把 MapMagicEvent.txt 原样备份一份,改坏了直接覆盖回去。
改完按这个顺序过一遍:确认地图编号和 MapInfo.txt 对得上,确认坐标在地图可行走范围内,确认魔法类型填的是有效编号,确认需要挂状态的效果附加功能列没漏填,最后换配套登录器、重启服务端,进游戏站到那个坐标上看效果有没有出来。跑一遍就明白各列的作用,后面再往其他地图上搬照着替换地图编号和坐标即可。
传奇引擎地图魔法功能怎么开启与MapMagicEvent脚本配置参数详解
来源:
作者:
点击:

