查看: 3706|回复: 5

[有事请教] 求问如何实现自动增减某一变量

[复制链接]
梦石
0
星屑
189
在线时间
22 小时
注册时间
2020-7-15
回帖
6
发表于 2020-7-16 21:02:24 | 显示全部楼层 |阅读模式

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

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

×
在游戏内通过插件(mog_timesystem)引入了时间系统,然后又自己设计了时间快进这个功能,可以根据需要快进1天、10天、30天这样子,在这个基础上,如何实现某一变量每隔10天自动增减呢
梦石
0
星屑
189
在线时间
22 小时
注册时间
2020-7-15
回帖
6
 楼主| 发表于 2020-7-17 10:26:49 | 显示全部楼层
通过脚本好像可以实现,有没有大佬给我讲讲JS时钟的用法和写法,找不到相关的教程
回复

使用道具 举报

梦石
0
星屑
25359
在线时间
1136 小时
注册时间
2019-3-5
回帖
1303
发表于 2020-7-17 10:31:13 | 显示全部楼层
若变量增长 = 变量day / 10
回复 1 0

使用道具 举报

梦石
1
星屑
736
在线时间
78 小时
注册时间
2020-5-10
回帖
33
发表于 2020-7-17 11:19:56 | 显示全部楼层
每次时间变化的时候改变一下这个变量呗
回复 1 0

使用道具 举报

梦石
0
星屑
7801
在线时间
683 小时
注册时间
2012-7-29
回帖
172
发表于 2020-7-17 22:36:25 | 显示全部楼层
同意3、4楼。

我的具体思路:每次日期变化的时候,对用现有日期减去初始日期,得到玩家度过的天数;对度过的天数除以10,再向下取整,就得到了每10天加1的变量的值。

如果要让跳过的天数不算数, 那么在每次跳过的时候给另一个变量加本次跳过的天数,得到总共跳过的天数;每次日期变化的时候,让玩家度过的天数减去总共跳过的天数,然后再除以10,向下取整。得到的结果就是排除了跳过的天数的变量的值。


看了看自己上面不知所云的发言,我陷入了沉思。我的语言组织能力堪忧。

直接上代码也许会更清晰一些。

感觉不好看,折叠了。[pre lang="javascript"]Game_System.prototype.update_seconds_original = Game_System.prototype.update_seconds; // 记录原更新秒数函数
Game_System.prototype.update_seconds = function() { // 重写
    this.update_seconds_original(); // 调用原更新秒数函数
    var beginDay = Moghunter.start_day + Moghunter.start_month * Moghunter.day_max + Moghunter.start_year * Moghunter.month_max; // Kgg:初始年月日相加得到初始天数
    var nowDay = $gameVariables.value(Moghunter.day_variableId) + $gameVariables.value(Moghunter.month_variableId) * Moghunter.day_max + $gameVariables.value(Moghunter.year_variableId) * Moghunter.month_max; // 当前年月日相加得到当前天数
    $gameVariables.setValue(10086, Math.floor((nowDay - beginDay) / 10)); // 请将10086替换为需要每10天加1的游戏变量编号。
};[/pre]

用法是进入游戏时执行上面这段代码。

尚未测试,不保证成功。
回复

使用道具 举报

梦石
0
星屑
189
在线时间
22 小时
注册时间
2020-7-15
回帖
6
 楼主| 发表于 2020-7-20 20:43:28 | 显示全部楼层
开关关 发表于 2020-7-17 22:36
同意3、4楼。

我的具体思路:每次日期变化的时候,对用现有日期减去初始日期,得到玩家度过的天数;对度过 ...

思路大概懂了 谢谢大佬
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部