下载客户端

为iFVN增添深度:第一部分 - 模拟时间

导读

本文介绍了如何用Javascript在iFVN中实现时间模拟功能,解决传统角色扮演游戏剧情不受时间等条件影响的问题,还讲解了心跳脚本、通用触发器的设置,以及IsMorning()等时间判断布尔函数的使用,提升iFVN剧情的丰富度。

你是否玩过这样的角色扮演游戏:无论何时见到NPC,他们的行为都一成不变?无论天气如何,也不管周围激战正酣,他们总是站在初次相遇的地方。没错,我也玩过。这体验太差了。能对环境做出恰当反应的角色要有趣得多! 如果有一款故事类(视觉小说)游戏,能让一天中的时间、天气、气候、地形等各种日常条件对剧情产生重大影响,会不会更有趣?答案是肯定的,当然会。:) 在本指南中,我将介绍如何使用Javascript在iFVN中实现这些功能。我们能模拟的对故事而言最简单且重要的事物就是时间。(时间没有图像或复杂状态需要管理,它只是一个不断增长的数字。)不过它确实有许多子单元,每个子单元都可以独立计算,以便简化脚本编写。例如,我们可能希望某些脚本在早晨触发,而不是晚上。我们不想每次都手动计算从午夜开始经过了多少秒,所以我们只需调用一个名为IsMorning()的布尔函数来替我们完成这项工作。同样,在开始降雪之前检查IsWinter()是否为真也同样简单。 心跳脚本(Ticker) /** * 由Yamamma创建于2022/06/10。无法识别内容,已删除。value[T_M] = 分钟; if (小时 != RV.GameData.value[T_H]) // 仅在需要时更新 { RV.GameData.value[T_H] = 小时; 小时 = parseInt(小时 % 24); 时间段 = parseInt(小时 / 6); RV.GameData.value[DAY_HOUR] = 小时; // 界面将变为 false RV.GameData.value[DAY_TOD] = 时间段; if ( (时间段 == 0) && (小时 == 0) ) { // 新的一天开始 } LogDetails(); HourTick(); 时间字符串 = `${ToDName[时间段]} 天: ${(天 % 7) + 1} 小时: ${(小时 % 24) + 1}`; } if (天 != RV.GameData.value[T_DAY]) // 仅在需要时更新 { RV.GameData.value[T_DAY] = 天; LogDate(); } if (周 != RV.GameData.value[T_WEEK]) // 仅在需要时更新 { RV.GameData.value[T_WEEK] = weeks; } if (moons != RV.GameData.value[T_MOON]) // 仅在需要时更新 { RV.GameData.value[T_MOON] = parseInt(moons / 13); RV.GameData.value[T_SEASON] = parseInt(moons / 4); } seconds+=1; // 处理全局事件 GEventProc(); RV.GameData.value[T_S] = seconds; } 通用触发器(Tick) 这是每秒调用一次Ticker的触发器外观。

在iFVN编辑器中使用脚本 现在我们为大多数常见的时间单位设置了单独的变量。但这还不够完善,因为iFVN只能通过点击变量列表来显式测试每个变量的特定值或范围,这种方式很快就会变得繁琐,而且容易出错。如果我们能在Javascript代码中编写布尔函数,然后通过脚本选项调用这些函数,情况会好得多。

你可以轻松添加其他时间单位的测试,例如【IsWinter()】、【IsSummer()】等。

评论

共0条评论
face
inputImg
相关阅读
最新更新

为iFVN增添深度:第三部分 - 制作自定义事件

这是令人兴奋的部分!在这里,我们将了解如何根据指定的条件安排自定义事件。我们可以使用常规的Javascript来计算任何具有全局作用域的表达式。我们将创建一个事…

2026-03-20 19:000赞 · 0评论

攻略 存在感薄弱的妹妹红髓液剧情攻略

这期视频是,和存在感薄弱的妹妹一起简单的生活,红髓液剧情攻略。主要是展示和介绍红髓液的剧情触发以及解答部分朋友的疑惑。希望能帮助到各位”哥哥“!

2026-01-17 19:050赞 · 0评论

为iFVN增添深度:第二部分 - 模拟温度系统

我们在第一部分的基础上,添加了用于跟踪温度和降水类型的变量。 和时间一样,温度的建模相对简单,它只是一个数字。但由于温度与时间相关,我们需要知道当前时间才能提供…

2026-03-21 10:010赞 · 0评论

金庸群侠传5

*小龙女非古墓纯爱线* 前置 非古墓弟子 时间 神雕二章后 触发地点 绝情谷 过程 接着,你需要参与天龙八部的剧情,最后帮助乔峰解决问题,他会告诉你他找到了一个…

2026-04-30 06:300赞 · 0评论

第一章真结局-佐佐木樱攻略过程演示-附带字幕解说

2024-12-18 08:16695赞 · 144评论

在iFVN中通过脚本使用变量(第二部分)

在第二部分中,我们将介绍如何通过iFVN中的脚本更高级地使用字符串变量及其用法。 通过脚本高级使用字符串变量 注意: 此知识仅基于我在iFVN中的个人经验以及网…

2026-03-22 07:000赞 · 0评论

攻略

游戏的简明攻略。不保证能获得100%的分数。这是一款画面精美的游戏,拥有出色的配音,还有许多有趣的隐藏物品和对话内容。如果只完成必要的任务,你会错过很多精彩内容…

2026-03-22 04:000赞 · 0评论

金庸群侠传X群芳谱 金庸群侠传x攻略迷宫群芳谱攻略

游戏中有很多非常具有挑战性的任务需要完成,包括一个非常强大的迷宫游戏。很多玩家想知道金庸‘迷宫裙芳谱’有哪些?下面让我为大家来介绍一下《金庸》的迷宫行走内容。

2025-07-29 21:420赞 · 0评论
暂无更多

最新更新

  • 脚本与代码小合集 — 这是一份由开发者和用户在IFAction讨论区分享的、适用于一般用途的实用脚本和代码的小型基础参考,且在iFVN中同样适用。 代码与脚本 隐藏AVG自动存档提示…
  • 在iFVN中通过脚本使用变量(第二部分) — 在第二部分中,我们将介绍如何通过iFVN中的脚本更高级地使用字符串变量及其用法。 通过脚本高级使用字符串变量 注意: 此知识仅基于我在iFVN中的个人经验以及网…
  • 为iFVN增添深度:第二部分 - 模拟温度系统 — 我们在第一部分的基础上,添加了用于跟踪温度和降水类型的变量。 和时间一样,温度的建模相对简单,它只是一个数字。但由于温度与时间相关,我们需要知道当前时间才能提供…
  • 为iFVN增添深度:第一部分 - 模拟时间 — 你是否玩过这样的角色扮演游戏:无论何时见到NPC,他们的行为都一成不变?无论天气如何,也不管周围激战正酣,他们总是站在初次相遇的地方。没错,我也玩过。这体验太差…
  • 在iFVN中通过脚本使用变量(第一部分) — 这是一份面向非程序员的iFVN脚本变量基础使用参考。在某些情况下,它有助于节省或减少游戏中使用的变量数量,实现更高效或更高级的变量运用。 变量简介 在iFVN中…
  • 场景中图像的碰撞检测 — 通过对代码稍作修改,你可以轻松获得判断场景中哪些物品被点击以及它们从哪个文件夹加载的功能。 RV脚本修改: 在RV函数体内添加以下代码行: RV.ImageDa…