查看: 1236|回复: 8

[有事请教] 如何让特定区域不会遇敌?

[复制链接]
梦石
0
星屑
669
在线时间
133 小时
注册时间
2018-6-30
回帖
112
发表于 2024-6-5 10:00:08 | 显示全部楼层 |阅读模式
悬赏50星屑已解决
如图,我想让这片编号为“1”的区域不会随机遇敌,请教各位大佬!!QAQ
屏幕截图 2024-06-05 095801.png

最佳答案

是一位萌新,正在用mz尝试做游戏,请多多指教!(≧∇≦)ノ
梦石
0
星屑
4120
在线时间
524 小时
注册时间
2023-5-21
回帖
28
发表于 2024-6-5 10:00:09 | 显示全部楼层
1.png 2.png
回复

使用道具 举报

梦石
0
星屑
3538
在线时间
918 小时
注册时间
2018-5-18
回帖
474
发表于 2024-6-5 10:22:52 | 显示全部楼层
通义千问的回答,不知道有没有用:
你可以在地图的初始化事件或者其他合适的地方(比如玩家进入特定区域的触发事件)添加以下JavaScript代码来控制遇敌:


// 检查玩家当前是否处于区域1
if ($gamePlayer.regionId() === 1) {
    // 如果在区域1,关闭遇敌
    $gameMap.encounterRate() = 0; // 将遇敌率设置为0意味着不会随机遇敌
} else {
    // 如果不在区域1,可以在这里恢复默认的遇敌率,如果需要的话
    // $gameMap.encounterRate() = 默认遇敌率;
}


这段代码首先检查玩家当前所在的区域ID是否为1,如果是,则通过$gameMap.encounterRate()将遇敌率设置为0,从而在这个区域内不发生随机遇敌。当玩家离开这个区域时,你可能需要在另一个事件或条件判断中恢复正常的遇敌率。

请注意,这种方法可能需要配合事件触发器来实时检测玩家的位置变化,确保当玩家进出该区域时能够正确切换遇敌状态。
这个人很馋,什么都没有留下。。。
回复

使用道具 举报

梦石
0
星屑
669
在线时间
133 小时
注册时间
2018-6-30
回帖
112
 楼主| 发表于 2024-6-5 11:03:23 | 显示全部楼层
马铃薯条 发表于 2024-6-5 10:22
通义千问的回答,不知道有没有用:
你可以在地图的初始化事件或者其他合适的地方(比如玩家进入特定区域的 ...

不会用诶
是一位萌新,正在用mz尝试做游戏,请多多指教!(≧∇≦)ノ
回复

使用道具 举报

梦石
0
星屑
4120
在线时间
524 小时
注册时间
2023-5-21
回帖
28
发表于 2024-6-5 11:07:07 | 显示全部楼层
设置地图时,将整张地图编号,特定区域号码特殊,比如不遇敌区域编号为1,其他区域编号为2,将敌人出现区域设定为2,这个方法适合非超大地图,也是不会使用插件的人(我)用到的笨办法!

点评

这个办法全图都是数字了哈哈……  发表于 2024-6-5 21:23
哦哦懂了,有更好的方法吗  发表于 2024-6-5 11:36
回复

使用道具 举报

梦石
0
星屑
669
在线时间
133 小时
注册时间
2018-6-30
回帖
112
 楼主| 发表于 2024-6-5 11:35:17 | 显示全部楼层
RedTee 发表于 2024-6-5 11:07
设置地图时,将整张地图编号,特定区域号码特殊,比如不遇敌区域编号为1,其他区域编号为2,将敌人出现区域 ...

这个该在哪里设置呢
是一位萌新,正在用mz尝试做游戏,请多多指教!(≧∇≦)ノ
回复

使用道具 举报

梦石
2
星屑
8479
在线时间
463 小时
注册时间
2021-12-4
回帖
486

MZ评测员

发表于 2024-6-5 21:30:30 | 显示全部楼层
马铃薯条 发表于 2024-6-5 10:22
通义千问的回答,不知道有没有用:
你可以在地图的初始化事件或者其他合适的地方(比如玩家进入特定区域的 ...

Game_Player.prototype.canEncounter = function() {
    return (
        !$gameParty.hasEncounterNone() &&
        $gameSystem.isEncounterEnabled() &&
        !this.isInAirship() &&
        !this.isMoveRouteForcing() &&
        !this.isDebugThrough()
    ) && this.regionId() !== 1; // 本行为修改内容,位于 rmmz_objects.js 第 8564 行。
};

3楼的AI回答也太不靠谱了吧,哪有把函数返回值Rate()写在赋值等号=左边的呀……

评分

参与人数 1赞 +1 收起 理由
马铃薯条 + 1 我很赞同

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部