模组:製作指南/APIs/Console

出自Stardew Valley Wiki
跳至導覽 跳至搜尋

製作SMAPI模組 SMAPI mascot.png


模組:目錄

SMAPI 可以將自定義命令添加到 SMAPI 控制台,玩家可以鍵入這些命令來執行某些操作。使用 Chat Commands 模組的玩家也可以在遊戲內聊天中使用這些命令。

簡介

SMAPI 控制台是與遊戲一起打開的窗口,它以純文本格式顯示來自 SMAPI 和模組的消息。玩家可以直接在該窗口中輸入命令以與模組交互。例如可以鍵入 help 以查看可用命令的列表。請注意大多數玩家不習慣命令行界面,因此在大多數情況下應該使用遊戲內界面來實現面向玩家的功能。

SMAPI 控制台示例(非開發者模式)

添加自定義命令

每個控制台命令必須具有:

  • 玩家鍵入以調用命令的名稱
  • 玩家使用 help 命令時顯示的描述,這應該解釋該命令的作用、如何使用它以及它接受哪些參數,下面有一個示例
  • 輸入命令時調用的方法

此代碼創建了一個簡單易懂的 player_setmoney 命令:

public class ModEntry : Mod
{
    /*********
    ** 公共方法
    *********/
    /// <summary>Entry 入口</summary>
    /// <param name="helper">提供 SMAPI 的接口</param>
    public override void Entry(IModHelper helper)
    {
        helper.ConsoleCommands.Add("player_setmoney", "设置玩家的金币数量\n\nUsage: player_setmoney <value>\n- value: 整数值", this.SetMoney);
    }

    /*********
    ** 私有方法
    *********/
    /// <summary>输入 player_setmoney 命令来设置金币数量</summary>
    /// <param name="command">命令的名称</param>
    /// <param name="args">命令的参数</param>
    private void SetMoney(string command, string[] args)
    {
        Game1.player.Money = int.Parse(args[0]);
        this.Monitor.Log($"将你的金币数量设置为 {args[0]}.", LogLevel.Info);
    }
}

這裏展示了玩家如何使用它:

help player_setmoney
> player_setmoney: 设置玩家的金币数量
> 
> Usage: player_setmoney <value>
> - value: 整数值

player_setmoney 5000
> 将你的金币数量设置为 5000.

也看看