• 注册后才能下载/购买插件!快来注册吧,注册即可免费下载 精翻插件 !【点我注册
  • RustSB.COM向广大野生Rust插件作者发出入驻邀请!详情请见[原创作者条约]
【XMPlayerAdmin·玩家管理】

原创 【XMPlayerAdmin·玩家管理】 1.1.45

API 列表​

1. API_GetPlayerStarInfo​

说明: 获取玩家的星标信息
参数:
  • userIdString (string) - 玩家的SteamID字符串
返回值: Dictionary<string, object>
  • type (string) - 星标类型:"无星标"、"红星标"、"黄星标"、"蓝星标"、"绿星标"
  • level (int) - 星标等级:0=无星标, 1=红星, 2=黄星, 3=蓝星, 4=绿星
  • hasStar (bool) - 是否拥有星标
示例:
C#:
[PluginReference]
private Plugin XMPlayerAdmin;

var starInfo = XMPlayerAdmin?.Call("API_GetPlayerStarInfo", player.UserIDString) as Dictionary<string, object>;
if (starInfo != null)
{
    string type = starInfo["type"].ToString();
    int level = Convert.ToInt32(starInfo["level"]);
    bool hasStar = Convert.ToBoolean(starInfo["hasStar"]);
    Puts($"玩家星标: {type}, 等级: {level}, 有星标: {hasStar}");
}

2. API_GetAllStarPlayerIds​

说明: 获取指定星标等级的所有玩家ID列表
参数:
  • starLevel (int) - 星标等级 (1=红星, 2=黄星, 3=蓝星, 4=绿星)
返回值: List<ulong> - 该星标等级的玩家ID列表
示例:
C#:
// 获取所有红星玩家
var redStarPlayers = XMPlayerAdmin?.Call("API_GetAllStarPlayerIds", 1) as List<ulong>;
if (redStarPlayers != null)
{
    Puts($"红星玩家数量: {redStarPlayers.Count}");
}

3. API_GetAllStarPlayers​

说明: 获取所有星标玩家,按星标等级分类
参数: 无
返回值: Dictionary<int, List<ulong>>
  • Key: 星标等级 (1=红星, 2=黄星, 3=蓝星, 4=绿星)
  • Value: 该等级的玩家ID列表
示例:
C#:
var allStarPlayers = XMPlayerAdmin?.Call("API_GetAllStarPlayers") as Dictionary<int, List<ulong>>;
if (allStarPlayers != null)
{
    Puts($"红星玩家: {allStarPlayers[1].Count}");
    Puts($"黄星玩家: {allStarPlayers[2].Count}");
    Puts($"蓝星玩家: {allStarPlayers[3].Count}");
    Puts($"绿星玩家: {allStarPlayers[4].Count}");
}

4. API_GetAllNewPlayerIds​

说明: 获取所有新玩家的ID列表(包括离线玩家,自动排除已过期的玩家)
参数: 无
返回值: List<ulong> - 所有有效的新玩家ID列表
特点:
  • 返回存档中所有新玩家的ID(包括在线和离线玩家)
  • 自动过滤已过期的新玩家
  • 可用于统计新玩家数量或批量处理新玩家数据
示例:
C#:
var allNewPlayers = XMPlayerAdmin?.Call("API_GetAllNewPlayerIds") as List<ulong>;
if (allNewPlayers != null)
{
    Puts($"当前服务器共有 {allNewPlayers.Count} 个新玩家");
    foreach (var playerId in allNewPlayers)
    {
        // 对每个新玩家进行处理
        var playerName = GetPlayerName(playerId);
        Puts($"新玩家: {playerName} ({playerId})");
    }
}

5. API_GetEntityName​

说明: 根据实体预制路径获取实体的中文名称
参数:
  • prefabName (string) - 实体预制路径(完整路径或部分路径)
返回值: string - 实体的中文名称,如果找不到返回null
特点:
  • 支持完整预制路径和部分路径匹配
  • 优先查找配置文件中的自定义实体
  • 自动搜索载具、NPC、资源、箱子、设施、事件、树木、灌木、特效、售货机等分类
  • 返回对应的中文名称
示例:
C#:
[PluginReference]
private Plugin XMPlayerAdmin;

// 使用完整路径
string entityName1 = XMPlayerAdmin?.Call("API_GetEntityName", "assets/bundled/prefabs/autospawn/resource/ores/stone-ore.prefab") as string;
Puts($"实体名称: {entityName1}"); // 输出: 实体名称: 石头矿石

// 使用部分路径
string entityName2 = XMPlayerAdmin?.Call("API_GetEntityName", "stone-ore") as string;
Puts($"实体名称: {entityName2}"); // 输出: 实体名称: 石头矿石

// 获取载具名称
string vehicleName = XMPlayerAdmin?.Call("API_GetEntityName", "minicopter") as string;
Puts($"载具名称: {vehicleName}"); // 输出: 载具名称: 小型直升机

6. API_GetEntityCategory​

说明: 根据实体预制路径获取实体的分类
参数:
  • prefabName (string) - 实体预制路径(完整路径或部分路径)
返回值: string - 实体的分类名称,如果找不到返回null
可能的返回值:
  • "载具"
  • "NPC"
  • "资源"
  • "箱子"
  • "设施"
  • "事件"
  • "树木"
  • "灌木"
  • "特效"
  • "售货机"
特点:
  • 支持完整预制路径和部分路径匹配
  • 自动搜索所有实体分类
  • 返回实体所属的分类名称
示例:
C#:
[PluginReference]
private Plugin XMPlayerAdmin;

// 获取矿石分类
string category1 = XMPlayerAdmin?.Call("API_GetEntityCategory", "stone-ore") as string;
Puts($"实体分类: {category1}"); // 输出: 实体分类: 资源

// 获取载具分类
string category2 = XMPlayerAdmin?.Call("API_GetEntityCategory", "minicopter") as string;
Puts($"实体分类: {category2}"); // 输出: 实体分类: 载具

// 获取NPC分类
string category3 = XMPlayerAdmin?.Call("API_GetEntityCategory", "scientistnpc_roam") as string;
Puts($"实体分类: {category3}"); // 输出: 实体分类: NPC

// 判断实体是否属于特定分类
string category = XMPlayerAdmin?.Call("API_GetEntityCategory", entity.PrefabName) as string;
if (category == "树木" || category == "灌木")
{
    Puts("这是一个植物类实体");
}