设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

萌新求教贴 包含简单教程

查看数: 4062 | 评论数: 25 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-3-22 18:37

正文摘要:

本帖最后由 apple5740 于 2022-7-19 18:01 编辑 本贴是记录萌新(自己)学mz脚本过程中遇到的问题 以下是我学习的一个方向,不能作为参考,如果有大佬解决我们共同的问题,表示有赚到。 1.刷B站视频。 2.js语法参考 h ...

回复

apple5740 发表于 2022-4-9 20:24:50
本帖最后由 apple5740 于 2022-7-17 15:43 编辑

//////////////////////////////////////////已解决////////////////////////////////////////
问题:怎么用脚本修改一个敌人的最大血量?(不修改数据库中该敌人的最大血量)

我测试
$gameTroop.members()[0].mhp = 500;
没有效果。。


修改最大HP确实难以实现。
通过大佬的指点,发现在道具中有增加最大HP的方式。
查看地图文件,可以看到该道具的效果id。

使用
Game_Action.prototype.itemEffectGrow(目标, {"code":42,"dataId":0,"value1":要增加的数值,"value2":0});
可增加最大生命值

为 $gameActors.actor(2) 这个目标 增加 233 最大生命值
Game_Action.prototype.itemEffectGrow($gameActors.actor(2), {"code":42,"dataId":0,"value1":233,"value2":0});


//今天又发现一个方法,更简单了。。
目标.addParam(属性ID,数值)
//为$gameActors.actor(2) 增加最大生命值20.
$gameActors.actor(2).addParam(0,20);

//属性ID
0:最大生命值
1:最大魔法值
2:攻击力
3:防御力
4:魔法攻击力
5:魔法防御力
6:敏捷
7:运气


疑问:
Game_Action.itemEffectGrow($gameActors.actor(2), {"code":42,"dataId":0,"value1":233,"value2":0});
为啥这样不加prototype写会报错。。。
解答:
Game_Action 跟 Game_Action.prototype 是不同的对象,它们是继承关系.对象都不同了,所以调用该方法就报错了。





//////////////////////////////////////////已解决////////////////////////////////////////
zzwzxzs 发表于 2022-7-31 13:54:07
谢谢大大谢谢大大谢谢大大谢谢大大谢谢大大
apple5740 发表于 2022-7-19 18:00:15
//////////////////////////////////////////已解决////////////////////////////////////////
关于游戏数据。
比如我用脚本的方式自己申明了一个全局变量

$actor_human = [1];

这时保存游戏,加载存档。
输出$actor_human 会发现是 [1].
这时我会有自定义的全局变量还可以随时被保存的幻觉。
然而如果退出游戏,加载存档,输出 $actor_human  就会报错了;
幻觉破灭了。。

其实原因可能是,这个全局变量并没有被储存。

总结:
1.如果在单个存档简单的储存自己的数据,用rm中自带的变量就可以了。
2.如果想要实现多个存档数据共通,则需要把数据写入到本地文件中。

另外一个大佬实现了变量在多存档间共通的插件。
https://rpg.blue/thread-486316-1-1.html
希望对遇到该困扰的朋友会有帮助。
如有不足欢迎补充


//////////////////////////////////////////已解决////////////////////////////////////////
apple5740 发表于 2022-6-19 20:48:29
l734273398 发表于 2022-6-19 13:52
$dataEnemies[1].params[0] = 1000000
$dataEnemies[1].params[1] = 1000
$dataEnemies[1].params[2] = 1 ...

感谢!感谢!
apple5740 发表于 2022-6-19 20:46:20
本帖最后由 apple5740 于 2022-6-19 20:48 编辑

//////////////////////////////////////////已解决////////////////////////////////////////
问题:如何实现在角色全部死亡之后,不触发gameover场景
这个问题找了一下午。。。

1.在 rmmz_scenes.js 这个脚本中的Scene_Base.prototype.checkGameover
把{}里面的内容删除或者注释掉就可以了

2.如果要实现,角色全灭之后,进入其他地图,就可以用我的代码,随便放到一个js文件中就行

————————————————————————————————————————————
var apple_Scene_Base_checkGameover = Scene_Base.prototype.checkGameover;
Scene_Base.prototype.checkGameover = function(){
        if ($gameParty.isAllDead()) {
                $gameParty.members()[0].revive();
                $gameParty.members()[0].clearStates();
                Game_Interpreter.prototype.command201([0,6,0,0,0,0]);
        }
}
————————————————————————————————————————————
//移动场所
Game_Interpreter.prototype.command201(参数1,参数2,参数3,参数4,参数5,参数6);
参数1:指定方式(0:直接指定,1:变量指定),建议使用0,1我也没试过
参数2:地图ID
参数3:x坐标
参数4:  y坐标
参数5:方向(0:不变,2:下,4:左,6:右,8:上)
参数6:淡入淡出(0:黑,1:白,无:2)
//////////////////////////////////////////已解决////////////////////////////////////////
l734273398 发表于 2022-6-19 13:52:09
apple5740 发表于 2022-4-9 20:24
//////////////////////////////////////////已解决////////////////////////////////////////
问题:怎么 ...

$dataEnemies[1].params[0] = 1000000
$dataEnemies[1].params[1] = 1000
$dataEnemies[1].params[2] = 1000
$dataEnemies[1].params[3] = 1000
$dataEnemies[1].params[4] = 1000
$dataEnemies[1].params[5] = 1000
$dataEnemies[1].params[6] = 1000
$dataEnemies[1].params[7] = 1000
apple5740 发表于 2022-6-19 11:19:52
我的第一个插件
原创是过分了点。。
因为测试过程中需要点击事件,测试地图中根本没有做地形,或者没有主角,每次就会把主角放在一个位置,然后周围放4个测试事件。。有点麻烦
所以写了这个插件,也算是解决了我的问题
点击触发事件
apple5740 发表于 2022-4-11 18:02:40
本帖最后由 apple5740 于 2022-4-12 14:22 编辑
新耀012478 发表于 2022-3-28 16:06
我的思路:这个问题的核心在于死亡这个状态。亲测,哪怕它HP归零了,只要没被加上死亡状态战斗继续就会继 ...



//显示死亡动画参数0-2
$gameTroop.members()[0].performCollapse(0);
//敌人隐藏
$gameTroop.members()[0].hide();

这样看起来流畅了。。再次感谢!
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-22 05:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表