Skip to content
写作:待补充更新:2026-05-16字数:—阅读:—维护:Azek431

创游世界商店系统速查卡

一句话摘要

创游世界商店系统的快速查询表,一问一答形式,帮助快速查阅商店类型、商品配置、购买逻辑和常见问题。

适合谁阅读

  • 需要快速设计商店系统的开发者
  • 遇到购买逻辑问题的创作者
  • 想了解商店系统设计模式的进阶用户

你将学到什么

  • 常见商店类型及其特点
  • 商品数据如何配置
  • 购买逻辑的实现方式
  • 货币系统的设计方法
  • 商店系统常见问题与解决

基础概念类

Q:商店系统需要哪些核心部分?

A:商店系统有四个核心部分:

部分说明实现方式
商品配置商品列表、价格、库存配置表
货币系统金币、钻石等货币玩家变量
购买逻辑判断、扣钱、发道具脚本
UI界面显示商品列表、购买按钮操作UI

Q:创游世界有哪些类型的商店?

A:常见商店类型:

类型说明典型场景
道具商店购买消耗品、装备血瓶、武器、防具
素材商店购买装饰、建筑皮肤、建筑
技能商店购买技能、解锁能力技能书、天赋
抽卡商店随机获得道具扭蛋、抽奖
回收商店出售物品换取货币杂货店

商品配置类

Q:商品数据怎么配置?

A:使用配置表存储商品基础数据:

字段说明示例
商品ID唯一标识potion_001
商品名称显示名称小型血瓶
类型商品类型消耗品
价格购买价格50
货币类型支付哪种货币金币
图标商品图片potion.png
库存剩余数量(可选)99
限购每日购买次数(可选)3

Q:商店商品怎么显示?

A:商店UI的显示流程:

商店打开时

读取配置表的商品列表

遍历商品 → 生成商品卡片

显示商品名称、价格、图标

购买逻辑类

Q:购买逻辑怎么实现?

A:基础购买逻辑:

当点击购买按钮时
    获取商品.价格
    获取玩家属性.金币
    
    如果 金币 >= 价格
        设置玩家属性.金币 = 金币 - 价格
        添加道具到背包
        显示 "购买成功"
        发送广播 "刷新商店UI"
    否则
        显示 "金币不足"
    结束

Q:怎么实现限购?

A:使用玩家变量记录购买次数:

当购买时
    获取玩家变量.商品A今日购买次数
    
    如果 今日购买次数 >= 限购数
        显示 "今日已限购"
    否则
        执行购买逻辑
        设置玩家属性.商品A今日购买次数 = 今日购买次数 + 1
    结束

Q:怎么实现库存限制?

A:使用配置表或变量表记录库存:

当购买时
    获取配置表.商品A.库存
    
    如果 库存 > 0
        执行购买逻辑
        更新配置表.商品A.库存 = 库存 - 1
    否则
        显示 "商品已售罄"
    结束

Q:怎么实现折扣?

A:在配置表增加折扣字段:

当计算价格时
    获取配置表.商品A.原价
    获取配置表.商品A.折扣
    
    实际价格 = 原价 * 折扣
    显示 "原价:XX,折后:YY"

货币系统类

Q:货币系统怎么设计?

A:常见货币类型:

货币说明获取方式
金币主要货币战斗、任务、出售
钻石高级货币充值、成就
积分活动货币活动参与
声望特殊货币声望任务

Q:怎么检查玩家是否有足够货币?

A

当检查货币时
    获取玩家属性.金币
    获取商品.价格
    
    如果 金币 >= 价格
        返回 真
    否则
        返回 假
    结束

Q:货币不足时怎么提示?

A

当货币不足时
    显示 "金币不足,还需要XX金币"
    或者 显示 "是否充值钻石兑换金币?"

特殊商店类

Q:抽卡商店怎么实现?

A:使用随机数决定抽到什么:

当点击抽卡时
    随机数 = 随机(1, 100)
    
    如果 随机数 <= 5  // 5%概率
        获得 "传说" 道具
    否则
        如果 随机数 <= 20  // 15%概率
            获得 "史诗" 道具
        否则
            获得 "普通" 道具
        结束
    结束
    
    显示抽卡结果动画
end

Q:回收商店怎么实现?

A:玩家出售物品获得货币:

当点击出售按钮时
    获取选中物品.出售价格
    获取玩家属性.金币
    
    设置玩家属性.金币 = 金币 + 出售价格
    从背包移除物品
    显示 "获得XX金币"
    发送广播 "刷新背包UI"

Q:商店刷新怎么实现?

A:定时或手动刷新商品列表:

// 定时刷新
重复每隔 3600 秒
    发送广播 "商店刷新"
end

当收到广播 "商店刷新" 时
    随机生成新商品列表
    更新商店UI
    显示 "商店已刷新"

常见问题类

Q:购买后道具没到账?

A:检查清单:

检查项说明
背包是否已满需要检查背包容量
道具是否添加成功添加逻辑是否有问题
广播是否发送UI刷新广播是否正确

Q:金币扣了但没发货?

A:检查购买逻辑顺序:

// 正确顺序:先检查 → 扣钱 → 发货
如果 金币 >= 价格
    扣钱
    发货
    发送刷新广播
结束

Q:商店UI不刷新?

A:检查广播和UI更新逻辑:

  1. 购买后是否发送刷新广播
  2. UI是否正确接收广播
  3. UI刷新逻辑是否正确

Q:商品价格显示不对?

A:检查:

  1. 配置表中的价格是否正确
  2. 是否有折扣逻辑
  3. 货币类型是否正确

商店类型选择速查

需求推荐商店类型
卖消耗品道具商店
卖装备装备商店
随机奖励抽卡商店
卖装饰素材商店
回收物品回收商店
解锁技能技能商店

概念关系速查

商店系统 = 四部分
  ├── 商品配置(配置表)
  │   ├── 商品ID
  │   ├── 名称
  │   ├── 价格
  │   └── 库存
  ├── 货币系统(玩家变量)
  │   ├── 金币
  │   ├── 钻石
  │   └── 积分
  ├── 购买逻辑(脚本)
  │   ├── 检查货币
  │   ├── 扣款
  │   └── 发货
  └── 商店UI(操作UI)
      ├── 商品列表
      ├── 购买按钮
      └── 货币显示

相关页面


待验证问题

以下问题需要进一步验证:

问题状态验证方向
商店系统的具体参数默认值🔄 待验证需要官方文档确认
不同商店类型的实际实现差异🔄 待验证需要实际项目对比
抽卡概率的引擎限制🔄 待验证需要引擎测试

> 📝 说明:商店系统核心逻辑已稳定,具体参数属于进阶内容。

后续优化方向

  • [ ] 补充更多商店类型的设计案例
  • [ ] 增加限时商店/特卖专题
  • [ ] 完善抽卡保底机制说明

参与维护

发现文档问题?

你可以编辑页面、提交反馈,或复制链接给维护者,帮助这个资料库继续变好。

由 Azek431 整理与维护 | 基于 MIT 许可证开源