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

Project1

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

[有事请教] 如何在地图上设置“每走一步触发一次事件”?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
182
在线时间
74 小时
注册时间
2022-10-19
帖子
36
跳转到指定楼层
发表于 2023-3-2 18:15:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
50星屑
是这样的,我的游戏中,有世界地图、时间系统(用的站内的MZ日历插件)、饱食度的设定,世界地图的时间流速很快;

我想实现的效果是:在世界地图上每走一步,时间推进一天(日历插件有这个功能),同时饱食度按一天的量减少

目前的想法是:在世界地图上设置一个事件,玩家每走一步就触发一次计算,但不知怎么实现它;

我之所以不单纯的把时间流速调快,一是因为站内的MZ日历插件时间流速最快也还是不够快,二是因为这可能造成玩家操作手忙脚乱,改成这种类似“回合制”的时间流动操作起来更加安逸些。

最佳答案

查看完整内容

把你的时间饱食度变化写在公共事件里 然后找到Game_Party.prototype.increaseSteps

Lv4.逐梦者

梦石
0
星屑
6601
在线时间
1505 小时
注册时间
2013-12-3
帖子
322
8
发表于 2023-3-2 20:09:50 | 只看该作者
南瓜阿呆 发表于 2023-3-2 19:56
抱歉,“找到Game_Party.prototype.increaseSteps”是什么意思?

rmmz_objects.js 文件里找到这一行
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
182
在线时间
74 小时
注册时间
2022-10-19
帖子
36
7
 楼主| 发表于 2023-3-2 19:56:28 | 只看该作者
HM495 发表于 2023-3-2 19:43
把你的时间饱食度变化写在公共事件里
然后找到Game_Party.prototype.increaseSteps
...

抱歉,“找到Game_Party.prototype.increaseSteps”是什么意思?
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
182
在线时间
74 小时
注册时间
2022-10-19
帖子
36
6
 楼主| 发表于 2023-3-2 19:24:35 | 只看该作者
HM495 发表于 2023-3-2 19:10
是指自己改下代码或者做成插件 如果完全不懂代码这个不太好做
你世界地图的ID是几
然后日期 与 饱食度 分 ...

“角色在世界地图上每移动一格,某个事件运行一次”——我只需要知道这个就行,
时间和饱食度的变化我可以写在这个事件里。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
182
在线时间
74 小时
注册时间
2022-10-19
帖子
36
5
 楼主| 发表于 2023-3-2 19:18:04 | 只看该作者
HM495 发表于 2023-3-2 19:10
是指自己改下代码或者做成插件 如果完全不懂代码这个不太好做
你世界地图的ID是几
然后日期 与 饱食度 分 ...

地图的ID是3,饱食度是3,而日期是插件的数据,我不知道该怎么把它引用到别的地方
插件的网址:https://rpg.blue/thread-489290-1-1.html
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6601
在线时间
1505 小时
注册时间
2013-12-3
帖子
322
4
发表于 2023-3-2 19:10:42 | 只看该作者
南瓜阿呆 发表于 2023-3-2 19:03
不好意思,能请你详细解释一下吗?这是插件还是脚本,要怎么使用?我是完全不懂程序代码的小白。 ...

是指自己改下代码或者做成插件 如果完全不懂代码这个不太好做
你世界地图的ID是几
然后日期 与 饱食度 分别是几号变量?
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
182
在线时间
74 小时
注册时间
2022-10-19
帖子
36
3
 楼主| 发表于 2023-3-2 19:03:38 | 只看该作者
HM495 发表于 2023-3-2 18:51
Game_Party.prototype.increaseSteps = function()
里面加上你要的判定
if ($gameMap._mapId == 你的世界地 ...

不好意思,能请你详细解释一下吗?这是插件还是脚本,要怎么使用?我是完全不懂程序代码的小白。
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6601
在线时间
1505 小时
注册时间
2013-12-3
帖子
322
2
发表于 2023-3-2 18:51:51 | 只看该作者
Game_Party.prototype.increaseSteps = function()
里面加上你要的判定
if ($gameMap._mapId == 你的世界地图ID)
{
你想处理的数据
}
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6601
在线时间
1505 小时
注册时间
2013-12-3
帖子
322
1
发表于 2023-3-2 18:15:06 | 只看该作者
南瓜阿呆 发表于 2023-3-2 19:24
“角色在世界地图上每移动一格,某个事件运行一次”——我只需要知道这个就行,
时间和饱食度的变化我可 ...

把你的时间饱食度变化写在公共事件里
然后找到Game_Party.prototype.increaseSteps
  1. Game_Party.prototype.increaseSteps = function() {
  2.     this._steps++;
  3.     if ($gameMap._mapId == 3) //如果当前地图ID为3
  4.     {
  5.         $gameTemp.reserveCommonEvent(公共事件ID);//执行公共事件
  6.     }
  7. };
复制代码

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 13:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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