-
注册后才能下载/购买插件!快来注册吧,注册即可免费下载
精翻插件 !【
点我注册】
-
RustSB.COM向广大野生Rust插件作者发出入驻邀请!详情请见[
原创作者条约]
您正在使用一款已经过时的浏览器!部分功能不能正常使用。
请尝试升级或使用
其他浏览器。
API 方法
1. CheckPlayerRole - 检查玩家是否拥有指定角色
方法名: CheckPlayerRole
参数:
- BasePlayer player - 玩家对象
- int roleID - 角色ID
返回值:
- 如果玩家拥有该角色,返回 Dictionary<string, object>,包含以下键值:
- Player (BasePlayer) - 玩家对象
- RoleID (int) - 角色ID
- Level (int) - 角色等级
- TotalExp (int) - 角色总经验值(包括已升级消耗的经验)
- Constellation (int) - 角色命格
- DaysSinceUnlock (int) - 玩家解锁此角色的天数
- 如果玩家未拥有该角色,返回 null
2. GetPlayerCurrentRoleID - 获取玩家当前角色ID
方法名: GetPlayerCurrentRoleID
参数:
返回值:
- int - 玩家当前角色ID
- 如果玩家没有选择角色,返回 0
3. AddPlayerRoleExp - 增加玩家角色经验值
方法名: AddPlayerRoleExp
参数:
- BasePlayer player - 玩家对象
- int roleID - 角色ID(可选,0表示使用玩家当前角色)
- int exp - 要增加的经验值(正数)
返回值:
- bool - 成功返回 true,失败返回 false
4. RemovePlayerRoleExp - 扣除玩家角色经验值
方法名: RemovePlayerRoleExp
参数:
- BasePlayer player - 玩家对象
- int roleID - 角色ID(可选,0表示使用玩家当前角色)
- int exp - 要扣除的经验值(正数)
返回值:
- bool - 成功返回 true,失败返回 false
5. UnlockPlayerRole - 为玩家解锁角色
方法名: UnlockPlayerRole
参数:
- BasePlayer player - 玩家对象
- int roleID - 角色ID
- int durationSeconds - 解锁时长(秒,可选,0或省略表示永久解锁)
返回值:
- bool - 成功返回 true,失败返回 false
说明:
- 如果玩家已拥有该角色,会根据配置文件的"重复解锁角色提升命格概率"来决定是否提升命格
- 如果指定了 durationSeconds,角色将在到期后根据配置文件的"转职后"模式自动清理数据
6. GetRoleConfiguration - 获取角色配置信息
方法名: GetRoleConfiguration
参数:
返回值:
- Dictionary<string, object> - 角色配置信息,包含:
- RoleName (string) - 角色名称
- RoleDescription (string) - 角色描述
- RoleImage (string) - 角色图像
- MainSkillImage (string) - 主技能图像
- SecondarySkillImage (string) - 次技能图像
- AuxiliarySkillImage (string) - 辅技能图像
- MainSkillDescription (string) - 主技能介绍
- SecondarySkillDescription (string) - 次技能介绍
- AuxiliarySkillDescription (string) - 辅技能介绍
- Tags (List<RoleTag>) - 角色标签
- Attributes (RoleAttributes) - 角色属性
- Abilities (RoleAbilitySettings) - 角色能力设置
- 如果角色不存在,返回 null
7. GetPlayerEnergy - 查询玩家当前角色指定编号能量
方法名: GetPlayerEnergy
参数:
- string userid - 玩家的UserIDString
- string channelID - 能量渠道编号(如"1"、"2"、"3"等)
返回值:
- 成功返回 int - 能量数量
- 失败返回 null - 玩家不存在、没有当前角色、参数错误等
- 如果该能量渠道不存在,返回 0
说明:
- 查询玩家当前角色的指定能量渠道余额
- 能量渠道编号对应配置文件中"角色专属能量收集渠道"的键
8. AddPlayerEnergy - 添加玩家当前角色指定编号能量
方法名: AddPlayerEnergy
参数:
- string userid - 玩家的UserIDString
- string channelID - 能量渠道编号(如"1"、"2"、"3"等)
- int amount - 要添加的能量数量(必须大于0)
返回值:
- bool - 成功返回 true,失败返回 false
说明:
- 为玩家当前角色的指定能量渠道添加能量
- 如果能量渠道不存在会自动创建
- 自动保存数据
9. RemovePlayerEnergy - 扣除玩家当前角色指定编号能量
方法名: RemovePlayerEnergy
参数:
- string userid - 玩家的UserIDString
- string channelID - 能量渠道编号(如"1"、"2"、"3"等)
- int amount - 要扣除的能量数量(必须大于0)
返回值:
- bool - 成功返回 true(能量足够并成功扣除),失败返回 false(能量不足或其他错误)
说明:
- 扣除玩家当前角色的指定能量渠道能量
- 会检查能量是否足够,不足则返回false且不扣除
- 自动保存数据
HOOK 接口
1. OnPlayerSwitchRole - 玩家切换角色时触发
HOOK名: OnPlayerSwitchRole
参数:
- BasePlayer player - 玩家对象
- int roleID - 切换后的角色ID(不是切换前的)
返回值:
说明:
- 当玩家成功切换角色后触发
- roleID 是玩家切换后的当前角色ID
2. OnPlayerRoleLevelUp - 玩家角色升级时触发
HOOK名: OnPlayerRoleLevelUp
参数:
- BasePlayer player - 玩家对象
- int roleID - 角色ID
- int newLevel - 新的等级
返回值:
说明:
- 当玩家角色等级提升时触发
- 可能一次升级多级,但每次升级都会触发一次
3. OnPlayerRoleLevelDown - 玩家角色降级时触发
HOOK名: OnPlayerRoleLevelDown
参数:
- BasePlayer player - 玩家对象
- int roleID - 角色ID
- int newLevel - 新的等级
返回值:
说明:
4. OnPlayerUnlockRole - 玩家解锁角色时触发
HOOK名: OnPlayerUnlockRole
参数:
- BasePlayer player - 玩家对象
- int roleID - 角色ID
- string durationText - 解锁时长文本("永久" 或 "X秒")
返回值:
说明:
- 当玩家解锁角色时触发
- 如果玩家已拥有该角色,根据概率提升命格时也会触发(此时 durationText 为 "永久")
5. OnPlayerUseRoleSkill - 玩家使用角色技能时触发(已存在)
HOOK名: OnPlayerUseRoleSkill
参数:
- string playerName - 玩家名称
- int roleID - 角色ID
- string skillType - 技能类型("main", "secondary", "auxiliary")
返回值:
说明:
6. OnPlayerCollectEnergy - 玩家获取能量时触发
HOOK名: OnPlayerCollectEnergy
参数:
- string playerName - 玩家名称
- int roleID - 角色ID
- string channelID - 能量渠道编号
返回值:
说明:
- 当玩家成功收集能量时触发
- 在能量已添加到玩家余额后触发
7. OnPlayerCraftExclusiveItem - 玩家制作专属物品时触发
HOOK名: OnPlayerCraftExclusiveItem
参数:
- string playerName - 玩家名称
- int roleID - 角色ID
- string itemName - 物品名称
- int craftAmount - 制作数量
返回值:
说明:
- 当玩家成功制作专属物品时触发
- 在物品已发放到玩家背包后触发
- itemName 是配置文件中设置的物品名称(不是shortname)
- 可用于任务系统、统计系统等监听玩家制作行为