【XMPlayerCard·玩家个人信息名片】

原创 【XMPlayerCard·玩家个人信息名片】 1.1.0

需要插件(必装)
需要插件(可选)
;)仅需+98元,定制您的1项,其他插件显示内容

插件介绍​

一个功能丰富的玩家名片插件,支持查看玩家的各种信息,包括自定义头像、称号、个人说明等。

主要功能​

【1.便捷互动,R键直接查看个人名片】​

在游戏中对任意玩家按R键,查看该玩家的个人名片。有权限的玩家可以通过指令查看任意玩家的。也可以输入指令查看自己的名片,非常灵活。
  1. 支持在线玩家对着他R键查看他的个人名片
  2. 支持睡眠离线玩家对着他R键查看他的个人名片
  3. 支持对着NpcR键查看他的个人名片(但没什么用)
1738070861802

【2.全面信息,配置自由开关显示】​

名片UI中支持查看玩家的: (可以在配置文件设置显示开关)
  • Steam ID
  • 游戏时间:插件安装后算起,每1分钟更新一次存档
  • 玩家状态:血量,水量,饱食度
  • 武器等级:自动判断玩家背包和快捷栏是否有等级后缀的武器类物品
  • 服装等级:自动判断玩家服装栏是否有等级后缀的服装类物品
  • 财富 (需要Economics插件)
  • 服务器等级 (需要VipLogo插件)
  • 通行证等级 (需要BattlePass插件)
  • 显示队长:显示玩家组队状态和其队长游戏名称
  • 爆头:通过爆头击杀的玩家,npc,动物,累积数量
  • 死亡:记录玩家死亡次数
  • 生存:记录玩家上一次死亡复活后至今存活的总时长,再次死亡后重新累积时间
  • 个人说明:支持玩使用指令编写义个人说明,最多16个汉字
  • 可以通过配置文件决定这些信息的开启或关闭
  • 玩家也可以在查看自己的名片时,点击左上角的【编辑】按钮,自行决定开关显
17380716068791738070974685

JSON:
{
  "显示steamid?": true,
  "显示游戏时间?": true,
  "显示武器等级?": true,
  "显示服装等级?": true,
  "显示财富?(需要Economics插件)": true,
  "显示服务器等级?(需要VipLogo插件)": true,
  "显示通行证等级?(需要BattlePass插件)": true,
  "显示玩家状态吗?": true,
  "显示组队队长?": true,
  "显示爆头次数?": true,
  "显示死亡次数?": true,
  "显示生存时间?": true
}

【3.氪金赞助,荣耀彰显】​

支持头像自定义,称号权限,个人标题背景图,个人说明彩色权限等等
  • 支持自定义头像 (需要PlayerBannerUI插件):没安装插件默认显示名字首字头像,安装后完全同步PlayerBannerUI设置的头像
  • 支持多个称号显示:根据权限,UI中最多显示3个称号。
  • 支持自定义名片标题背景图,根据权限设置,玩家有一张背景图权限即可点击自己的标题处自由设置背景。背景图片需要放在 oxide/data/XMPlayerCard文件夹里
    • 【您可以在此处额外购买52款横幅素材】
    • 名片背景颜色,玩家名称颜色,个人说明文字颜色,也都支持根据权限自定义
    • 玩家只要有任意权限,都可以在查看自己名片时;
      • 点击标题栏更换背景或颜色
      • 点击自己的名字更换颜色
      • 点击个人说明更换颜色
      • 点击称号佩戴或卸下
    • 超方便的UI,玩家可以随意更换颜色和背景图
1738071173765
1738077840339
173807119689617380712140861738071245077

【4.活跃必备,老玩家带新】​

UI中主要功能之一:老玩家扶持礼。支持老玩家设置礼物,送给每一个查看他个人名片的玩家
  • 配置文件设置-1,代表禁用此功能
  • 配置文件设置0,代表不限制任何人都可以送礼,也不需要调用VipLogo插件
  • 配置文件设置任意数字,代表需要满足VipLogo插件的对应等级才能送礼
  • 如果对方满足等级但没有设置礼物,UI按钮中显示【他正在筹备礼物中】
  • 如果对方满足等级并设置了礼物,他人查看时会显示【领取他提供的萌新礼】,其他玩家均可领取1次
  • 如果对方不满足等级则会在查看对方名片时,不显示此项
  • 如果自己不满足等级则会在查看自己的名片时显示【详细介绍】按钮,点击查看详细说明
  • 如果自己满足等级则会在查看自己的名片时显示【设置礼物】按钮,点击即可设置礼物
    • 点击【设置礼物】按钮,或者手动输入指令/songli
    • 判断玩家背包(不含快捷栏和服装栏)所有物品,将其全部作为送物品
    • 包括物品显示名,物品短名,皮肤ID,数量
    • 其他点击点击领取时,就会收到这些礼物了
173807132223217380713316541738071351760

【5.点赞互动,内置商城】​

UI中主要功之一,在配置中写入商品则自动开启,如果留空[],则不开启
  • 每个玩家可以被相同玩家点赞一次
    • 有两个权限:
    • 允许有权限的玩家每24小时清空自己被点赞人的记录,
    • 允许有权限的玩家每24小时情况别人点赞自己的记录。
    • 这允许有任意权限的玩家不受到只能给相同人点赞一次的限制,每天都可以点赞
  • 玩家互动,提升老玩家和新玩家的交流
  • 点赞数量越多,代表玩家人气越高
  • 点赞数可以在查看自己的名片时点击【点赞奖励】进入到点赞商城
  • 使用点赞数兑换配置文件设置的物品
  • 花费点赞数会扣除可用点赞,但UI中的总累积点赞数不会改变
1738071399840173807143629117380714631891738071473787



依赖插件(可选)​

  • PlayerBannerUI - 提供自定义头像功能,未安装此插件将显示玩家第一个名字作为头像
  • Economics - 提供【财富】显示功能,未安装此插件将不显示【服务器等级】信息栏
  • VipLogo - 提供【服务器等级】显示功能,未安装此插件将不显示【服务器等级】信息栏
  • BattlePass - 提供【通行证等级】显示功能,未安装此插件将不显示【通行证等级】信息栏

权限

  • xmplayercard.use - 允许通过指令直接查看其他玩家的名片
  • xmplayercard.admin - 允许管理员查看玩家隐藏的信息
  • xmplayercard.dailylike - 允许玩家每24小时给相同人重复点赞(24小时清空自己点别人的记录)
  • xmplayercard.autoresetlikes - 允许玩家每24小时被相同人重复点赞(24小时清空别人点自己的记录)
  • xmplayercard.XX -
    • 配置文件自定义权限后缀,包括如下权限的自定义添加:
    • 称号权限
    • 标题背景颜色权限
    • 标题背景图权限
    • 玩家名称颜色权限
    • 玩家个人说明颜色权限

聊天指令​

  • /card - 查看自己的名片
  • /card <玩家名> - 查看指定玩家的名片(需要权限)
  • /shuoming <内容> - 设置个人说明
  • /songli - 判断背包物品设置成老玩家扶持礼

控制台指令​

  • playercard.addlikecount <玩家ID> <数量> - 增加玩家的点赞总数和可用点赞数
    • 用法示例:playercard.addlikecount 76561198123456789 10
  • playercard.addavailablelikes <玩家ID> <数量> - 只增加玩家的可用点赞数
    • 不增加点赞总数
    • 用法示例:playercard.addavailablelikes 76561198123456789 10
  • playercard.clearlikes <玩家ID/all>- 清除指定玩家或所有玩家点赞记录(可以再次点赞)
    • 用法示例:playercard.clearlikes all - 清空所有玩家的点赞记录
    • 用法示例:playercard.clearlikes 76561198xxxxxxxx - 清空指定玩家的点赞记录
  • playercard.cleargifts <玩家ID/all>- 清空指定玩家或所有玩家礼物领取记录(可以再次领取)
    • 用法示例:playercard.cleargifts all - 清空所有玩家的礼物领取记录
    • 用法示例:playercard.cleargifts 76561198xxxxxxxx - 清空指定玩家的礼物领取记录

默认配置​

JSON:
{
  "显示steamid?": true,
  "显示游戏时间?": true, //在您服务器的在线总时长,此插件安装日起开始计算哦
  "显示武器等级?": true, //会自动判断玩家快捷栏和背包的武器类物品显示名称后缀
  "显示服装等级?": true, //会自动判断玩家服装栏服装类物品显示名称后缀
  "显示财富?(需要Economics插件)": true,  //如果未安装此插件也不会显示
  "显示服务器等级?(需要VipLogo插件)": true, //如果未安装此插件也不会显示
  "显示通行证等级?(需要BattlePass插件)": true, //如果未安装此插件也不会显示
  "显示玩家状态吗?": true,  //显示玩家的实时血量,水量,饱食度
  "显示组队队长?": true, //显示玩家组队状态的队长名字
  "显示爆头次数?": true,
  "显示死亡次数?": true,
  "显示生存时间?": true,
  "老玩家扶持礼等级": -1,  //设置-1禁用,0=不限制也无需VipLogo插件,设置正数等级达到才能设置礼物,只要设置了礼物不限制任何人领取,但相同玩家之间只能领取一次。
  "称号权限": [
    {
      "权限": "vip1",  //自定义字母数字,授权时前面要写插件名 XMPlayerCard.XX
      "图像": "vip1.png" //把图片放到oxide/data/XMPlayerCard 目录下
    }
  ],
  "说明颜色权限": [
    {
      "权限": "color.red", //自定义字母数字,授权时前面要写插件名 XMPlayerCard.XX
      "颜色": "#FF0000"
    },
  "名称颜色权限": [
    {
      "权限": "color.rrr", //自定义字母数字,授权时前面要写插件名 XMPlayerCard.XX
      "颜色": "#FF0000"
    }
  ],
  "标题背景颜色权限": [
    {
      "权限": "color.rr",
      "颜色": "#FF0000"
    }
  ],
  "标题背景图片权限": [
    {
      "权限": "color.01",
      "图像": "01.png" //把图片放到oxide/data/XMPlayerCard 目录下
    }
  ],
  "点赞奖励": [  //此处留空禁用点赞功能
    {
      "物品名称": "强化石",
      "物品简称": "habrepair",
      "皮肤ID": 2433594063,
      "数量": 1,
      "花费": 2
    },
    {
      "物品名称": "石头",
      "物品简称": "stones",
      "皮肤ID": 0,
      "数量": 1000,
      "花费": 2
    }
  ]
}

存档配置​

JSON:
{
  "Players": {  // 玩家数据字典,key为玩家steamID
    "76561198123456789": {  // 示例玩家ID
      "TotalTime": 3600.0,  // 玩家总游戏时间(秒)
      "Description": "这是我的个人说明",  // 玩家设置的个人说明
      "HeadshotKills": 10,  // 爆头击杀次数
      "Deaths": 5,  // 死亡次数
      "SurvivalTime": 1800.0,  // 当前生存时间(秒)
      "LastSpawnTime": 1234567890.0,  // 最后重生时间戳
      "GiftItems": [  // 老玩家扶持礼物品列表
        {
          "DisplayName": "木头",  // 物品显示名称
          "ShortName": "wood",  // 物品简称
          "SkinID": 0,  // 物品皮肤ID
          "Amount": 1000  // 物品数量
        }
      ],
      "GiftReceivers": [  // 已领取礼物的玩家ID集合
        "76561198987654321"
      ],
      "LikeCount": 5,  // 获得的总点赞数
      "AvailableLikes": 3,  // 可用的点赞数(用于兑换奖励)
      "LikedBy": [  // 已点赞过的玩家ID集合
        "76561198987654321"
      ],
      "LikeTimesByPlayer": {  // 玩家点赞时间记录,key为点赞者ID,value为时间戳
        "76561198987654321": 1234567890000
      },
      "DisplaySettings": {  // 玩家的显示设置
        "steamid": true,  // 是否显示steamID
        "gametime": true,  // 是否显示游戏时间
        "weaponlevel": true,  // 是否显示武器等级
        "armorlevel": true,  // 是否显示装备等级
        "economics": true,  // 是否显示财富
        "serverlevel": true,  // 是否显示服务器等级
        "battlepass": true,  // 是否显示通行证等级
        "playerstatus": true,  // 是否显示玩家状态
        "teamleader": true,  // 是否显示队长信息
        "headshots": true,  // 是否显示爆头数
        "deaths": true,  // 是否显示死亡数
        "survivaltime": true  // 是否显示生存时间
      }
    }
  }
}

注意事项​

  1. 称号图片支持png、jpg格式
  2. 查看自己的名片不需要权限

视频演示​


1.0.3新增:点赞商城​




API​

C#:
 // 只操作可用点赞数的API方法
        [HookMethod("GetAvailableLikes")] //只查询可用点赞数
        public int GetPlayerAvailableLikes(ulong playerId)
        {
            if (!storedData.Players.TryGetValue(playerId, out PlayerInfo playerInfo))
                return 0;
            return playerInfo.AvailableLikes;
        }

        [HookMethod("DeductAvailableLikes")] //只扣除可用点赞数,不影响总点赞数
        public bool DeductPlayerAvailableLikes(ulong playerId, int amount)
        {
            if (amount <= 0) return false;
 
            if (!storedData.Players.TryGetValue(playerId, out PlayerInfo playerInfo))
                return false;

            if (playerInfo.AvailableLikes < amount)
                return false;

            playerInfo.AvailableLikes -= amount; // 只减少可用点赞数
            SaveData();
            return true;
        }

        [HookMethod("AddAvailableLikes")] //只增加可用点赞数,不影响总点赞数
        public bool AddPlayerAvailableLikes(ulong playerId, int amount)
        {
            if (amount <= 0) return false;

            if (!storedData.Players.ContainsKey(playerId))
                storedData.Players[playerId] = new PlayerInfo();

            var playerInfo = storedData.Players[playerId];
            playerInfo.AvailableLikes += amount; // 只增加可用点赞数
            SaveData();
            return true;
        }

        // 同时操作总点赞数和可用点赞数的API方法
        [HookMethod("GetAllLikes")] //同时查询总点赞数和可用点赞数
        public (int totalLikes, int availableLikes) GetPlayerAllLikes(ulong playerId)
        {
            if (!storedData.Players.TryGetValue(playerId, out PlayerInfo playerInfo))
                return (0, 0);
            return (playerInfo.LikeCount, playerInfo.AvailableLikes);
        }

        [HookMethod("AddAllLikes")] //同时增加总点赞数和可用点赞数
        public bool AddPlayerAllLikes(ulong playerId, int amount)
        {
            if (amount <= 0) return false;

            if (!storedData.Players.ContainsKey(playerId))
                storedData.Players[playerId] = new PlayerInfo();

            var playerInfo = storedData.Players[playerId];
            playerInfo.LikeCount += amount;      // 增加总点赞数
            playerInfo.AvailableLikes += amount; // 增加可用点赞数
            SaveData();
            return true;
        }

        [HookMethod("DeductAllLikes")] //同时扣除总点赞数和可用点赞数
        public bool DeductPlayerAllLikes(ulong playerId, int amount)
        {
            if (amount <= 0) return false;
 
            if (!storedData.Players.TryGetValue(playerId, out PlayerInfo playerInfo))
                return false;

            if (playerInfo.LikeCount < amount || playerInfo.AvailableLikes < amount)
                return false;

            playerInfo.LikeCount -= amount;      // 减少总点赞数
            playerInfo.AvailableLikes -= amount; // 减少可用点赞数
            SaveData();
            return true;
        }
  • 1738071581874.png
    1738071581874.png
    329.1 KB · 查看: 0
作者
pandaman
下载
1
类型
数字产品
有效期
无限
价格
498.00 CNY
查看
178
文件类型
zip
文件大小
248.7 KB
文件Hash
13691c804c92a79b2533ebdefd154202
首次发布
最后更新
评分
0.00 星 0评价

来自pandaman的更多资源

分享资源

最新更新

  1. 1.1.0

    - 新增了标题栏支持背景图权限和相关配置 - 新增查看自己名片时,如果有权限,可以点击来自由设置颜色或背景
  2. 1.0.7

    - 新的玩家名称颜色权限和配置
  3. 1.0.6

    - 添加新的权限,允许有权限的玩家每天0点重置,可以被相同的玩家再次点赞 (普通玩家永久只能被相同玩家点赞一次) - 添加控制台指,增加玩家点赞总数和可用点赞数
标签
嗷嗷推荐系列