GameofMir__游戏Mod制作【1】

news/2024/11/8 3:32:41/

目录

一、添加安全区和出生地

二、公告

1:发公告给新人  

2:发送给普通玩家

三、新手装备和技能添加

四、NPC

五、制作MOD补丁和关联

六、自定义按钮

1.添加按钮对应的脚本:

2.这里讲解一下思路:

①:

②:

③拓展:

七、添加游戏地图:

添加一下地图到游戏里面:

 地图参数表 :

使用GM命令去查看地图:

八、泡点升级: 

升级奖励:


一、添加安全区和出生地

        配置文件: D:\MirServer\Mir200\Envir\StartPoint.txt

        

 

 根据上面的命令,写出对应的参数。

 这样就设置成功一个安全区了,然后区M2上看看,出生点的设置。

        如果这里设置了多个安全区,新人出生点的范围选3的话,会从最前面3个安全区,随机选择一个出生。

         这里我就保留一个出生点,然后保存,再重启Misever服务端,重开游戏。

         新建一个人物,测试一下出生点。

         发现新的人物出生点已经在对应的地图了,而且周围的安全区也设置好了。

二、公告

                公告一般在登录脚本(QManage)中实现,其最常用的段是[@login]段,意思是玩家登录以后,执行里面的脚本。

         配置文件: D:\MirServer\Mir200\Envir\MapQuest_Def\QManage.txt

1:发公告给新人  

命令:GuildNoticeMsg

参数详解
功能:发送自定义颜色的文字信息
参数1:是前景颜色
参数2:背景颜色
参数3:要发送的文字信息
参数4:四等于'Self'时只发送给自己,等于'Group'时发送给组队, 等于'National'时发送给自己国家的人(使用于国战), 等于'Map'时发送到当前地图中的人物.如果省略参数四表示全服发送。
支持的参数:

%s(玩家名字)

%d(NPC名字)

%m(地图名字)

%x%y(坐标)

<$KILLER>杀死人物的名字

<$MONKILLER>杀死怪物的名字

PS!!!!!:在QM里面写脚本,写好了后要去M2里面加载。

 

        然后上游戏测试,看看公告是不是出来了。

2:发送给普通玩家

命令:SendTopChatBoardMsg参数详解
功能:发送聊天框固顶信息
参数1:发送模式(0发送给所有人,1发送给自己)
参数2:字体颜色
参数3:背景颜色
参数4:时间(秒)
参数5:信息
参数6:是否显示人物名称(0显示,1不显示)

         发送一个固定的聊天信息在聊天窗口上面(还是写在[@login]段下面)

PS:65535是一直显示。

三、新手装备和技能添加

        在新人登录的时候,给与一些初始物品和技能。同样写在[@login]段下面。

         加载脚本,上线测试。

         发现给与了装备,并且也穿戴好了。

         这里为了减少QM的压力,部分脚本代码都是写在外部,然后在里面调用的。

         这种写法跟前面是一样的,而且减少了QM代码长度,便于整理和阅读。

四、NPC添加

        新建一个传送员NPC,专门用来传送到某个地图。

        增加NPC,配置文件:D:\MirServer\Mir200\Envir\MerChant.txt

         这边为了方便管理,一般把相同的功能的NPC放在同一个文件夹下面。

         在里面写上脚本功能。

 

五、制作MOD补丁和关联

        游戏里面各种特效和装备,都是通过调用制作好的补丁来生成的,补丁里面保存着对应的素材。

        这里我们就新建一个icon补丁。要使用工具WIL编辑器

        素材可以去别的版本上扒,或者是网上论坛上下载。

        这里先建一个补丁文件,并且设置密码。

        

         然后打开补丁文件,导入素材。

 

        

         打开补丁要输入刚刚设置好的密码,如果密码输入错误会导致打开失败,并且看不到图片素材。

         

         把整个文件的素材导入进去,然后就可以在补丁里面看到图片素材了,要注意这里每一个素材对应的编号都是有用的

         除了能把素材导入以外呢,还能使用导出功能,把图片素材导出到文件夹中。

 

         部分图片有坐标功能,也会被导出来。

         这里光制作了补丁没有用,还要进行绑定,不然游戏登录器识别不到,游戏就加载不到补丁。

 这里去配置器里面找到pak.txt文件,添加补丁的路径和密码。(一般单个补丁都放在MOD下面)

 全部设置好后要重新生成一下登录器,这样新的登录器才能读取到这个补丁。

 如果需要在脚本中调用补丁,还要去M2引擎中进行关联。

 

         以后使用脚本的调用的时候,直接使用补丁编号就可以了。

六、自定义按钮

                这里再游戏主界面上添加一些功能按钮,按钮的素材就再上面添加的补丁后面,再添加几个图片。

        

PS:这里要注意一下我为了方便,这里的图片是后面添加的到补丁里面的,不是新建的,所以不用重新生成登录器,就可以使用,但是要去M2引擎里面更新一下。

         然后使用添加按钮的参数来添加,补丁序号就是上面添加补丁时候M2给的编号,这里就是43。

命令:AddButton参数详解
功能:增加自定义按钮命令
参数1:WIL补丁序号,此序号在M2-查看-列表信息二-WIL资源 里面编辑
参数2:按钮点击后的脚本触发序号,触发QF里面的[@ButtonClickX]X即为触发序号
参数3:按钮默认图片编号
参数4:鼠标经过图片编号
参数5:按钮按下图片编号
参数6:距离窗口左边的距离(此参数建议用分辨率宽变量计算)
参数7:距离窗口顶边的距离(此参数建议用分辨率高变量计算)
参数8:按钮是否可以移动,0=不能移动1=可以移动
参数9:按钮上面显示的文字标题,-1时为空标题(用于不显示标题)
参数10:

鼠标移动到按钮显示的悬浮框备注信息。

“\”表示换行 “/”颜色分割符 自定义颜色功能需要2015-01-08之后的程序才支持

        同样去QM里面写脚本。

PS:这里要注意按钮序号不能重复,不然会造成覆盖。按钮序号只能为1-20,因为gom引擎最多就添加20个自定义按钮。

        服务端加载QM,去游戏里面看下效果。

 1.添加按钮对应的脚本:

        这里使用调用大窗口的函数,设计一个礼包领取的脚本。这里的触发脚本要卸载QFunction.txt里面。

        功能脚本文件:D:\MirServer\Mir200\Envir\Market_Def\QFunction-0.txt

命令:OpenMerchantBigDlg参数详解
功能:NPC大对话框
参数1:WIL文件序号
参数2:图片序号
参数3:是否可以移动(0,1)
参数4:显示位置(0=左上角,1=右上角,2=左下角,3=右下角,4=居中)
参数5:微调坐标X
参数6:微调坐标Y
参数7:是否显示"关闭按钮"(0,1)
参数8:"关闭"按钮坐标X
参数9:"关闭"按钮坐标Y

        在QF写触发脚本,这里为了减小代码量,方便修改,把脚本功能单独写,然后在QF里面调用。

 

         去游戏上看看效果。

 

 

兑换码错误示范。

 

兑换码填写正确后,赠送物品和装备。

再次领取显示已经兑换过礼包了。 

2.这里讲解一下思路:

        按下按钮后,使用NPC大对话框弹出信息,然后输入兑换码,首先设一个标志位[200]检查你是否领取过礼包。

        原来没有领取过标志位为0,如果领取标志位会被设为1,则提示已经兑换过。如果没有,则去文件上比对兑换码。

        这里我的兑换码的文件放置在D:\MirServer\Mir200\Envir\QuestDiary\QQ群KYE.txt路径下面。(兑换码可以多设置几个)

        

         然后检查输入的兑换码是不是跟文本文件里面的兑换码一样,如果一样则赠送礼包,并且设置标志位为1,如果不一样,提示兑换码错误。

部分代码:

①:

命令:SendMsg参数详解
功能:利用NPC发送信息。
参数1:信息类型代码
参数2:字体颜色(0-255)
参数3:背景颜色(0-255)
参数4:%s信息内容%d
信息类型代码:

1、发送普通红色广播信息。

2、发送普通红色广播信息,并显示NPC名称。

3、发送普通红色广播信息,并人物NPC名称。

4、在NPC头顶,显示普通说话信息。

5、发送红色信息给人物

6、发送绿色信息给人物

7、发送蓝色信息给人物

%s 代表人物名称 %d 代表NPC名称

②:

命令:CheckTextList参数详解
功能:检查字符串是否在指定文件中,区分大小写
示例:CHECKTEXTLIST ..\QuestDiary\充值系统\10元卡号.txt <$STR(S$2)> <$STR(S$3)>

PS:可以检查多个字符串,这里后面参数是字符串变量。

③拓展:

命令:PlayImg参数详解

格式:<PlayImg:F:N:C:T:X:Y:M:L/@Label>

功能:NPC对话框里,播放动态图片
F表示WIL文件序号
N表示播放开始图片
C表示播放张数
T表示播放速度(毫秒)
X,Y表示微调坐标
M是绘制模式0普通绘制 1特效绘制
L表示播放次数,如果为空或为0时,表示无限次数。设置大于0时,表示播放的次数,次数到了就会自动消失

@Label

是点击图片时需要触发的脚本标签.

        要注意的是这个代码是可以连续播放图片的,连续播放图片就成了动画。        

        在上面的脚本中添加一段代码。

3.再多添加几个常用按钮:

 

QFunction-0.txt里面写对应按钮脚本:

关闭按钮:

        思路比较简单,点击按钮编号为7的按钮,也就是关闭按钮,设置一个字符串,如果字符串为空,说明是关闭按钮,就删除所有的按钮,然后添加一个展开按钮。

        点击展开按钮后,如果字符串不是空,就是添加按钮,就把原来的按钮重新添加上来。并且删除展开按钮,添加关闭按钮。

 

 

七、添加游戏地图:

        一个地图文件是由 SmTiles(存放小地砖地图),Tiles(存放大地砖地图),Objects(存放建筑)。这三个文件组成,

这里可以用地图编辑器打开一个地图文件。

!PS:地图编辑器要放到游戏的data目录下面。

        然后用编辑器打开一个地图文件。

 分析一下地图。

 

 如果出现补丁冲突,就可以使用这个功能查错。

添加地图到游戏里面:

        添加地图的文件:D:\MirServer\Mir200\Envir\MapInfo.txt

 

地图参数表 :

地图参数标志功能格式说明
CheckQuest进入本地图执行任务脚本CHECKQUEST(Q001)Q001 代表脚本名。
Need_Set_On进入本地图需要人物指定标志为打开状态NEEDSET_ON(001)001 代表人物标志
Need_Set_Off进入本地图需要人物指定标志为关闭状态NEEDSET_OFF(001)001 代表人物标志
Music进入入本地图播放音乐MUSIC(Wav\bg.mp3) 或者 MUSIC(Wav\sellect-loop2.wav)代表客户端Wav目录下的sellect-loop2.wav文件
Exprate进入本地图后杀怪经验倍数EXPRATE(100)100代表经验倍数,除以100后为实际倍数
PkWinLevel进入本地图后可以PK升级PKWINLEVEL(1)1代表升多少级
PkWinExp进入本地图后可以PK得经验PKWINEXP(1000)1000代表得多少经验
PkLostLevel进入本地图后可以PK死亡掉等级PKLOSTLEVEL(1)1代表掉多少等级;
PkLostExp进入本地图后可以PK死亡掉经验PKLOSTEXPP(1000)1000代表掉多少经验
DecHp进入本地图后自动减HPDECHP(1/10)1/10 1代表减的间隔(秒),10代表一次减多少点
IncHp进入本地图后自动加HPINCHP(1/10)1/10 1代表减的间隔(秒),10代表一次加多少点
DecGameGold进入本地图后自动减游戏币DECGAMEGOLD(1/10)说明 1/10 1代表减的间隔(秒),10代表一次减多少点;
IncGameGold进入本地图后自动加游戏币INCGAMEGOLD(1/10)1/10 1代表加的间隔(秒),10代表一次加多少点;
IncGamePoint进入本地图后自动加游戏点INCGAMEPOINT(1/10)1/10 1代表加的间隔(秒),10代表一次加多少点;(用于游戏泡点功能)
RunMon允许穿怪
RunHuman允许穿人
NoRunMon禁止穿怪
NoRunHuman禁止穿人
NeedHole进入需要洞
NoReCall禁止记忆召唤
NoGuildReCall禁止行会召唤
NoDearReCall禁止夫妻召唤
NoMasterReCall禁止师徒传送
NoRandomMove禁止使用瞬息移动
NoDrug禁止吃药
Mine可以挖矿
NoDeal禁止交易
NoPositionMove禁止定座标移动
NoReConnect进游戏时退出本地图NORECONNECT(3)3 代表地图号盟重
Quiz禁止喊话
AllowUseMyshop允许摆摊,该参数只对个人商店的摆摊有效,对仿Hero摆摊的无效(必需先设置摆摊限制在指定地图才会生效)
NoAllowUseItems禁止使用物品NOALLOWUSEITEMS(回城卷|强效金创药)
NotAllowUseMagic禁止使用技能NOTALLOWUSEMAGIC(火墙|彻地钉)
NoHeroProtect禁止英雄守护
ThunderTHUNDER(10)此地图有闪电效果,击中减hp为10
LavaLAVA(10)此地图地上冒岩浆,击中减HP为10
FlameFLAME(45:82:50|43:84:50)x坐标:y坐标:伤害 。(可以为多坐标。以|分隔)
Horse允许骑马
Mission不允许使用任何物品和技能,并且宝宝在该地图会自动消失,不能攻击
NoManNoMon智能刷怪 无效
NoCallHero禁止召唤英雄,已召唤英雄将自动消失
Night该参数与M2内挂设置配合使用,当M2设置免蜡烛时凡是地图带NIGHT开启天气效果,M2取消免蜡烛时不带该参数的地图天启天气效果
NeedLevelTime没到指定等级时不让进入,发送string.ini里的NeedLevelToXYErrorMsg提示可以自行修改
DecExprateTime(值)每秒减双倍经验时间,如值小于1时,则默认为1
NgExprate(数值)内功经验倍数(100代表经验倍数,除以100后为实际倍数)
PulsExprate(数值)经络经验倍数(100代表经验倍数,除以100后为实际倍数)
Dark黑暗效果 如果同时存在 DAY以DAY参数效果为准
Day白天效果 如果同时存在DARK以DAY参数效果为准
SayLevel(等级)可限制当前地图人物说话等级.
DelDropItem人物(英雄)死亡后掉落的身上物品立即消失(不掉落在地图中).
Revival(X:N)当前地图人物可复活的次数,X表示复活次数,N表示人物在当前地图已经复活次数的自动清零间隔(最小30秒).具体表示:每经过指定秒人物在当前地图复活过的次数自动减1.
NoDropUseItems当前地图人物死亡不掉落身上的物品
NoSafePositionMove禁止在当前地图安全区中使用传送戒指
NoAllowUseItems不允许使用物品NOALLOWUSEITEMS(回城卷,随机传送卷)
OnKillMon杀死怪物时触发,对应地图参数中需要加入ONKILLMON才可生效!
HitMon(触发字段)攻击怪物触发。HITMON(@攻击)攻击怪物会触发QF脚本的[@攻击]字段
Fight杀人不加PK值 死亡不掉装备
Fight2杀人不加PK值 死亡掉装备
Fight3(是否掉装备)行会战地图 进入该地图名字颜色会变色,杀人不加PKFIGHT3(0) ;FIGHT3(1)死亡不掉装备; 死亡掉装备
Fight4挑战地图 杀人不加PK 死亡不掉装备
Weather1天气效果1 读取Effect_SE.wzl
Weather2天气效果2 读取Effect_SE.wzl
Weather3天气效果3 读取Effect_SE.wzl

!PS:添加完成地图后要重启服务端,才能生效。

使用GM命令去查看地图:

        首先先把账号变为GM号,并给与10级的权限。

        再把GM号放到白名单里面去。 (不然插件会检测然后停止游戏)

GM命令再M2上可以查看:

 

        使用命令进入地图,如果都正常显示,没有黑屏,说明地图添加好了。

小地图文件:D:\MirServer\Mir200\Envir\MiniMap.txt

         这里就是添加对应地图的小地图。

八、泡点升级: 

        通过定时器实现。gom引擎定时器只有255

命令:SetOnTimer参数详解
功能:个人定时器。
参数1:定时器索引(0-255)
参数2:定时间隔(单位为秒)
命令:SetOffTimer参数详解
功能:停止定时器
参数1:定时器索引(0-255)

PS:功能脚本写在QM里面。

 

 

        也可以设置一个NPC进入特定的地图进行升级。

升级奖励:

PS:checklevel命令不支持运算符,后面是直接跟数字。checklevelex支持运算符。

在QF功能脚本里面去写。

 



http://www.ppmy.cn/news/934375.html

相关文章

megui 2913 汉化版 压制特效的方法

相关教程链接&#xff1a; 使用MEGUI简单舒适的压制硬字幕 网页备份&#xff1a; 使用MEGUI简单舒适的压制硬字幕.rar 注&#xff1a;megui无法像小丸工具箱那样直接贴avs就能压制&#xff0c;且不能直接打开事先写过的avs脚本&#xff0c;否则会让MeGUI出错自动退出。 每次都…

Steinberg Nuendo 4 v4.3 PC 中文完整版+精简版音频后期制作软件

Nuendo 4 为音频后期制作、工作室制作和现场录音提供了下一代音频制作环境&#xff0c;通过将创造力和生产力提升到新的高度&#xff0c;为音频专业人士提供支持。Nuendo 4 技术先进&#xff0c;但非常直观且完全可定制&#xff0c;为当今媒体、录音和电影行业的音频专业人士提…

rpg人物制作软件_RPG Maker系列最新版本《RPG制作大师MZ》上架Steam

原标题&#xff1a;RPG Maker系列最新版本《RPG制作大师MZ》上架Steam RPG Maker系列的最新版本《RPG制作大师MZ(RPG Maker MZ)》现已在Steam平台正式上架&#xff0c;据商店页面显示&#xff0c;该作支持简/繁中文&#xff0c;将于2020年夏季正式发售(Steam商城链接&#xff1…

记一次完整的RPG Maker MV游戏逆向系列第四篇

前言 阅读本篇前请先看之前的几篇分析噢&#xff0c;不然可能会缺失一些前置知识 这篇还是讲 RPG Maker MV 的游戏分析&#xff0c;主要是如何分析一种通过 GameusQuestSystems.js 的加密手段 工具 RPG Maker MVVS CodeEdge 浏览器 正文 老套路&#xff0c;将游戏解压出来…

实习第七天 nuxt.js

01.nuxt是vue的一个基本框架 原因竟是因为&#xff0c;在vue-cli的老版本中&#xff0c;是可以使用 vue init nuxt/starter 进行安装的 但在新版本的vue-cli中不行了&#xff01;&#xff01;&#xff01; 使用官方推荐的npx来安装&#xff1a; (npm的5.2.x版本后默认安装了np…

解决Git fatal: refusing to merge unrelated histories报错

问题描述 当在远程建立了一个仓库&#xff0c;并且远程的仓库已经初始化了的情况&#xff0c;使用 git remote add origin gitgithub.com:xxx/xxx.git命令添加远程仓库后&#xff0c;执行git pull,然后提示如下&#xff1a; 大致意思就是需要关联我们的本地和远程分支。按照…

P图路上越来越强

1.怎么P液晶显示的里程数---get 教程移步&#xff1a;https://haokan.baidu.com/v?pdwisenatural&vid10908549577216357294 液晶字体下载&#xff1a;http://www.xiazaiziti.com/316634.html

谁说“修图”就一定等于“P图”?

谁说“修图”就一定等于“P图”&#xff1f; 人们通常认为修图是P图的同义词&#xff0c;但是Nvidia并不在此列。它拥有高级技术所需的硬件设备&#xff0c;并通过深度学习技术&#xff0c;使“修图”成为在图像部分缺失的情况下进行有效的填充而获得原图的效果。 虽然Photos…