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

Project1

 找回密码
 注册会员
搜索
查看: 429|回复: 8
打印 上一主题 下一主题

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

[复制链接]

Lv2.观梦者

梦石
0
星屑
567
在线时间
141 小时
注册时间
2018-6-30
帖子
165
跳转到指定楼层
发表于 2024-6-5 10:00:08 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
50星屑
如图,我想让这片编号为“1”的区域不会随机遇敌,请教各位大佬!!QAQ

屏幕截图 2024-06-05 095801.png (19.92 KB, 下载次数: 110)

屏幕截图 2024-06-05 095801.png

最佳答案

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

Lv4.逐梦者

梦石
0
星屑
7228
在线时间
473 小时
注册时间
2021-12-4
帖子
511
6
发表于 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 我很赞同

查看全部评分

回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
567
在线时间
141 小时
注册时间
2018-6-30
帖子
165
5
 楼主| 发表于 2024-6-5 11:35:17 | 只看该作者
RedTee 发表于 2024-6-5 11:07
设置地图时,将整张地图编号,特定区域号码特殊,比如不遇敌区域编号为1,其他区域编号为2,将敌人出现区域 ...

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2742
在线时间
410 小时
注册时间
2023-5-21
帖子
27
4
发表于 2024-6-5 11:07:07 | 只看该作者
设置地图时,将整张地图编号,特定区域号码特殊,比如不遇敌区域编号为1,其他区域编号为2,将敌人出现区域设定为2,这个方法适合非超大地图,也是不会使用插件的人(我)用到的笨办法!

点评

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

使用道具 举报

Lv2.观梦者

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

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3536
在线时间
731 小时
注册时间
2018-5-18
帖子
403
2
发表于 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,从而在这个区域内不发生随机遇敌。当玩家离开这个区域时,你可能需要在另一个事件或条件判断中恢复正常的遇敌率。

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2742
在线时间
410 小时
注册时间
2023-5-21
帖子
27
1
发表于 2024-6-5 10:00:09 | 只看该作者
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-16 07:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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