Project1

标题: 请问MZ有体力值限制奔跑和调查行动的插件吗? [打印本页]

作者: 福田伊豆子    时间: 2023-10-8 20:45
标题: 请问MZ有体力值限制奔跑和调查行动的插件吗?
RT,我的企划组已确定游戏需要加入体力值系统,大概是:游戏全程都有一个显目的HUD,如果玩家进行奔跑;调查等操作,这个HUD将会直观的反映体力值的扣除,一旦体力值耗尽,玩家们就必须暂时停止奔跑或停止调查一段时间以恢复体力方可继续奔跑\调查,有这种插件吗?或者MZ该如何做才能实现此操作?
作者: l734273398    时间: 2023-10-8 22:04
变量带入步数,步数增加,减少体力,体力 = 多少强制无法行动,或者体力为0,直接强制猝死,步数为0,则增加体力,上限100
作者: 福田伊豆子    时间: 2023-10-8 23:25
l734273398 发表于 2023-10-8 22:04
变量带入步数,步数增加,减少体力,体力 = 多少强制无法行动,或者体力为0,直接强制猝死,步数为0,则增 ...

在哪或者如何阻止玩家角色进行移动或奔跑?
作者: l734273398    时间: 2023-10-9 20:30
公共事件才能全地图,阻止行动?体力为0,把行动速度和行动频率都降到最低
作者: 涂鸦boy    时间: 2023-10-11 22:32
本帖最后由 涂鸦boy 于 2023-10-11 23:04 编辑

JAVASCRIPT 代码复制
  1. 自定义变量
  2.  
  3.     1.体力值, 整数, 初始为0;
  4.     2.禁止奔跑, 布尔值, 初始为 false;
  5.  
  6. function 1.重写系统函数 按 shift 键奔跑
  7.  
  8.     if (禁止奔跑 === false)
  9.     {执行原来的奔跑函数;}
  10.     else {return;}
  11.  
  12. function 2.重写系统函数 玩家每次移动
  13.  
  14.     if (shift键按下 && 方向键按下)
  15.     {setTimeout();}
  16.  
  17.     if (体力变量 === 100;)
  18.     else {禁止奔跑 === true;}
  19.  
  20. 3.异步等待函数 setTimeout(function(){
  21.     体力变量++;}
  22. ,3000)



差不多这样, 需要脚本插件丢给 chatGPT-4 写就行

论坛里有一个【按键触发公共事件】的脚本, 用这个做 shift 键的判断也可
https://rpg.blue/forum.php?mod=viewthread&tid=488813

或者做一个【并行处理】的事件, 需要此玩法的地图就复制一个, 完全不需要脚本插件

对于这个玩法, 事件方法其实最简单最准确

RMMZ 玩家是按'格'走的, 一格是一步, 事件编辑默认每次行走完后自增一次变量,
Javascript 是单线程的, 脚本只要判断成立, 每帧都会执行, 只要不松手, 哪怕主角没动, 也会增加步数
所以插件还要加上异步等待

JAVASCRIPT 代码复制
  1. // 异步等待函数
  2. setTimeout(function(){$gameSelfSwitches.value([1, 3, 'A'])},3000); //例子:地图1的事件3,自开关A启动, 等待3000毫秒
  3.  
  4. //调用方法
  5. setTimeout(要执行的代码, 等待的毫秒数);


最后恢复体力
RM 代码复制
  1. 调查事件(玩家接触)
  2.    体力变量 === 0
  3.    禁止奔跑 === false

作者: pkeasygod    时间: 2023-10-12 18:18
本帖最后由 pkeasygod 于 2023-10-12 18:45 编辑

监制玩家是否移动比较好 监制步数归0好像有冲突





var p = $gamePlayer, d = p.getInputDirection(); $gamePlayer.isMoving() || (d > 0 && p.canPass(p.x, p.y, d)) || $gameTemp.isDestinationValid()
$gamePlayer.setMoveSpeed(3);

出處
https://forums.rpgmakerweb.com/i ... em-with-hud.125037/




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1