帖子

Memorial Edition

查看: 147|回复: 2

关于1.12版本原版指令问题

[复制链接]

Lv.2 采石匠

人气
5 点
金粒
91 粒
宝石
0 颗
爱心
0 颗
钻石
13 颗
贡献
0 点
发表于 2024-12-10 17:54:31 来自手机 | 显示全部楼层 |阅读模式
悬赏10金粒未解决
想做个低版本的rpg地图,大篇幅的那种npc交互文字是放命令方块里好啊,还是说放在function里用计时器控制好啊,有没有模板能够参考一下的

Lv.3 挖沙工

人气
8 点
金粒
356 粒
宝石
0 颗
爱心
0 颗
钻石
31 颗
贡献
0 点
发表于 2024-12-11 17:45:03 | 显示全部楼层
俩者无差别,命令方块每一次修改只能在游戏里面,function使用起来会更加的方便,该有的功能都有,命令方块类似GUI图形界面,function类似纯命令,看你适合哪一个
回复

使用道具 举报

Lv.5 农夫

人气
12 点
金粒
806 粒
宝石
1 颗
爱心
1 颗
钻石
81 颗
贡献
0 点

Java正版勋章Windows 10正版勋章石镐矿工勋章科比勋章_劲爽款

发表于 前天 15:20 | 显示全部楼层
制作 RPG 地图时,关于 NPC 交互和大篇幅文字的展示,你有几种不同的实现方式。每种方法都有其优缺点,具体选择哪种方式要看你的需求和设计偏好。以下是两种常见的实现方式,并给出了一些建议和模板参考:
1. 命令方块实现交互文本
优点:
  • 实现简单,特别是对于较小规模的 RPG 地图来说,可以快速上手。
  • 可以直接在游戏内测试并调整,非常方便。
缺点:
  • 如果交互文字篇幅很大,命令方块的数量会迅速增加,可能导致命令方块排列混乱或游戏运行性能下降。
  • 扩展性较差,维护复杂的对话系统可能会变得困难。
实现方式:
  • 利用命令方块和条件触发器(如玩家右键点击 NPC 或区域进入)触发文本显示。
  • 常见的命令方式是使用 tellraw 命令,/tellraw @p {"text":"你好,勇士!","color":"gold"}。
  • 如果文本较长,可以分段显示,每次触发显示一段文本。例如,可以使用多个命令方块依次播放不同的对话文本。
示例:
  • 使用多个命令方块按顺序发送文本:复制代码
    /tellraw @p {"text":"欢迎来到村庄,冒险者!","color":"gold"}复制代码
    /tellraw @p {"text":"这里有一个任务等待你完成。","color":"green"}
    • 使用命令方块来检测玩家与 NPC 的互动(例如用 testfor 命令检测玩家是否点击了特定区域)。

2. Function 文件实现交互文本
优点:
  • 功能更强大,适用于更复杂的 RPG 地图,可以使用计时器、条件语句等逻辑来控制文本的显示和交互。
  • 代码更整洁,便于维护,适合制作长篇对话和多个NPC的互动。
  • 可以灵活控制对话的流程,例如选择性分支、分段对话、计时器控制等。
缺点:
  • 需要一定的命令和编程知识,初学者可能需要花时间学习。
  • 需要使用 function 文件,需要设置数据包(data pack),而且需要用到一些基本的命令和计时控制,可能稍显复杂。
实现方式:
  • 使用 function 文件可以通过定义不同的对话逻辑来创建复杂的交互系统。
  • 使用计时器(例如通过 scoreboard 来跟踪进度)来控制何时显示每一段文字。
  • 利用 tellraw 命令来显示文本,同样可以使用 JSON 格式来定义文本的颜色、样式、链接等。
示例:
  • 创建一个 function 文件,在其中定义显示文本的流程。例如:
    复制代码
    # function/quest/start.mcfunctiontellraw @p {"text":"欢迎来到村庄,勇士!","color":"gold"}scoreboard players set @p dialogue 1复制代码
    # function/quest/next.mcfunctionexecute if score @p dialogue matches 1 run tellraw @p {"text":"这里有一个任务等待你完成。","color":"green"}execute if score @p dialogue matches 1 run scoreboard players set @p dialogue 2
    • 用 scoreboard 来控制对话的进度,并在不同阶段显示不同的对话。
    复制代码
    scoreboard objectives add dialogue dummy "Dialogue Progress"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

只要你还记得我,我就会一直在你的身边。

Archiver|小黑屋| MCBBS纪念版 ( 新ICP备2024014954号|兵公网安备66010002000149号 )|隐私政策| 手机版

GMT+8, 2024-12-23 21:47 , Processed in 0.098660 second(s), 16 queries , Redis On.

"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

© 2010-2024 MCBBS纪念版 版权所有 本站内原创内容版权属于其原创作者,除作者或版规特别声明外未经许可不得转载

返回顶部