【XMNPCFavor·NPC好感度】

原创 【XMNPCFavor·NPC好感度】 1.0.2

C#:
// API列表
/*
 * 1. GetPlayerNPCFavorLevel(string userID, string npcName)
 *    获取玩家针对指定名称NPC的好感度等级
 *    调用方式: var level = Interface.Oxide.CallHook("GetPlayerNPCFavorLevel", player.UserIDString, "猎人");
 *
 * 2. GetPlayerNPCFavorValue(string userID, string npcName)
 *    获取玩家针对指定名称NPC的好感度总值
 *    调用方式: var favor = Interface.Oxide.CallHook("GetPlayerNPCFavorValue", player.UserIDString, "猎人");
 */

// Hook列表
/*
 * 1. OnNPCFavorIncreased(string playerID, string npcName, int favorAdded, int totalFavor)
 *    当玩家增加任意NPC好感度时触发
 *
 * 2. OnSpecificNPCFavorIncreased(string playerID, string npcName, int favorAdded, int totalFavor)
 *    当玩家增加指定名称NPC好感度时触发
 *
 * 3. OnNPCFavorLevelUp(string playerID, string npcName, int oldLevel, int newLevel)
 *    当玩家针对任意NPC好感度等级升级时触发
 *
 * 4. OnSpecificNPCFavorLevelUp(string playerID, string npcName, int oldLevel, int newLevel)
 *    当玩家针对指定名称NPC好感度等级升级时触发
 */

// 用法示例
/*
 * 1. 获取NPC好感度等级:
 *    var level = Interface.Oxide.CallHook("GetPlayerNPCFavorLevel", player.UserIDString, "猎人");
 *    if (level != null && (int)level >= 5) {
 *        // 玩家与猎人好感度达到5级,允许使用特殊功能
 *    }
 *
 * 2. 响应好感度升级事件:
 *    void OnNPCFavorLevelUp(string playerID, string npcName, int oldLevel, int newLevel) {
 *        var player = BasePlayer.Find(playerID);
 *        if (player != null) {
 *            // 给予升级奖励
 *            SendReply(player, $"你与{npcName}的好感度提升到了{newLevel}级!");
 *        }
 *    }
 */