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

Project1

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

[有事请教] 请大佬们给我一个思路,如何暂时不遇敌?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4648
在线时间
684 小时
注册时间
2013-1-18
帖子
710
跳转到指定楼层
1
发表于 2023-2-28 22:21:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
是这样的,我设置的敌人是可见的,就是用事件做的,主角碰到敌人就会进入战斗,也就是所谓的“明雷”。
现在问题来了,如果是设置系统的“暗雷”,可以用指令【不遇敌】来避开敌人,但是明雷如何设置一种技能或道具,拥有一段时间或步数不遇敌的功效呢?
请大佬们给一点思路,多谢!

点评

大佬出现了!期待大佬的插件!  发表于 2023-2-28 23:27
写这样一个插件倒是很简单,但是需要你自己去一个一个在明怪事件上加备注。  发表于 2023-2-28 22:55
在触发敌人的事件上加备注或者注释,然后再写个插件用来判定。(狗头  发表于 2023-2-28 22:53

Lv4.逐梦者

梦石
0
星屑
5354
在线时间
732 小时
注册时间
2022-11-26
帖子
323
2
发表于 2023-2-28 22:30:35 | 只看该作者
我想到的是,在明雷怪物的事件页添加一个需要开关的空白页,物品则可以通过公共事件开启或关闭这个开关,不确定还有没更简单的方法,这种方法好像只能通过手动开启和关闭

点评

这倒是一个办法,感谢支招  发表于 2023-2-28 23:35

评分

参与人数 1+1 收起 理由
BCJT + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7323
在线时间
475 小时
注册时间
2021-12-4
帖子
516
3
发表于 2023-2-28 23:13:12 | 只看该作者
JAVASCRIPT 代码复制
  1. Game_Interpreter.prototype.command301 = function(params) {
  2.     if ($gameParty.hasEncounterNone()) {
  3.         $gameMap.eraseEvent(this._eventId);
  4.         return true;
  5.     } // 开头新增几行:如果当前队伍有【免疫遇敌】状态则怪物直接消失
  6.     if (!$gameParty.inBattle()) {
  7.         let troopId;
  8.         if (params[0] === 0) {
  9.             // Direct designation
  10.             troopId = params[1];
  11.         } else if (params[0] === 1) {
  12.             // Designation with a variable
  13.             troopId = $gameVariables.value(params[1]);
  14.         } else {
  15.             // Same as Random Encounters
  16.             troopId = $gamePlayer.makeEncounterTroopId();
  17.         }
  18.         if ($dataTroops[troopId]) {
  19.             BattleManager.setup(troopId, params[2], params[3]);
  20.             BattleManager.setEventCallback(n => {
  21.                 this._branch[this._indent] = n;
  22.             });
  23.             $gamePlayer.makeEncounterCount();
  24.             SceneManager.push(Scene_Battle);
  25.         }
  26.     }
  27.     return true;
  28. };
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4648
在线时间
684 小时
注册时间
2013-1-18
帖子
710
4
 楼主| 发表于 2023-2-28 23:25:53 | 只看该作者
小秋橙 发表于 2023-2-28 23:13
Game_Interpreter.prototype.command301 = function(params) {
    if ($gameParty.hasEncounterNone()) {
...

感谢大佬,请问这段代码怎么用?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7323
在线时间
475 小时
注册时间
2021-12-4
帖子
516
5
发表于 2023-3-1 02:43:31 | 只看该作者
nhycs01 发表于 2023-2-28 23:25
感谢大佬,请问这段代码怎么用?

原文在rpg_objects.js的第10130行左右,可以直接在这个函数的开头把928-931那几行加上,如果写插件的话就是把3楼的代码整个抄一遍或者用call/apply语法来写……
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6757
在线时间
593 小时
注册时间
2017-11-10
帖子
688

极短21参与

6
发表于 2023-3-1 07:32:05 | 只看该作者
同意2楼的方法,新的事件页还可以设置成敌人不动或闪烁可穿越。总之先好好研究下事件的用法吧。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
519
在线时间
82 小时
注册时间
2021-2-3
帖子
35
7
发表于 2023-3-1 16:32:45 | 只看该作者
记得在版头的基础教程中的事件进阶里有一个“在地图中使用隐身技能,行走一定步数解除状态”,就是使用技能后开启一个开关,在敌人事件上新建一个用这个开关开启的空白页,然后设置穿透就可以了

点评

对,这个就是二楼的方法,感谢!  发表于 2023-3-1 18:43
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
980
在线时间
86 小时
注册时间
2022-11-30
帖子
24
8
发表于 2023-3-1 21:02:07 | 只看该作者
2樓方法最簡單直接,但手動更換開關不太優雅,有沒有固定區域中使用開關,離開後強制開關 關閉
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5354
在线时间
732 小时
注册时间
2022-11-26
帖子
323
9
发表于 2023-3-1 22:39:03 | 只看该作者
本帖最后由 余杭 于 2023-3-1 22:41 编辑

我想到了怎么去设置一定步数之后再次开启遇敌了。

首先不遇敌还是和上面一样,需要在明雷怪物事件页添加一个   “不遇敌”  开关控制的页面,使明雷怪物消失或其他。
其次,通过物品的使用触发  “是否开启不遇敌”  公共事件,给出选项,当选择  “不遇敌”  时,打开  “不遇敌”  开关,并且给全部队友添加  “不遇敌”  状态。
再次,添加一个  “不遇敌判定”  公共事件,设置为  “不遇敌”  开关开启时  并行处理,判断角色是否还有  “不遇敌”  状态,若有则无动作,若没有则关闭  “不遇敌”  开关。

可以把这个  “不遇敌”  状态设置为一定步数之后解除,就可以实现开启不遇敌之后,一定步数后,明雷怪物再次出现。

这样设置明雷怪物的话,建议还是前期修改,可以直接将类似的战斗事件复制粘贴,只修改一些小细节,不然工作量有点大。

点评

感谢感谢!  发表于 2023-3-1 23:49
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 20:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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