viphaidao 发表于 2025-6-8 16:30:16

具体实现方法:修改BL_GetUsrCashAmt_R 这个存储过程 写判断逻辑由于这里没有传角色的ID,需要根据USERNO去查找在线的角色,找到角色的信息,判断当前角色所在地图位置,如果在A地图就正常返回,如果在其他地图返回错误-99,
最终效果是,如果在A地图正常打开显示商城点,如果在B地图打开后显示的是0

admin 发表于 2025-6-9 20:21:54

viphaidao 发表于 2025-6-8 16:30
具体实现方法:修改BL_GetUsrCashAmt_R 这个存储过程 写判断逻辑由于这里没有传角色的ID,需要根据USERNO ...

我试试看看能不能搞出来

admin 发表于 2025-6-9 20:23:09

viphaidao 发表于 2025-6-8 16:30
具体实现方法:修改BL_GetUsrCashAmt_R 这个存储过程 写判断逻辑由于这里没有传角色的ID,需要根据USERNO ...

你有写好的没 发个来看看

admin 发表于 2025-6-9 21:01:05

viphaidao 发表于 2025-6-8 16:30
具体实现方法:修改BL_GetUsrCashAmt_R 这个存储过程 写判断逻辑由于这里没有传角色的ID,需要根据USERNO ...

加了个判断进去 都无法打开了;P

admin 发表于 2025-6-9 21:36:06

viphaidao 发表于 2025-6-8 16:30
具体实现方法:修改BL_GetUsrCashAmt_R 这个存储过程 写判断逻辑由于这里没有传角色的ID,需要根据USERNO ...

-- 查询角色地图索引
      SELECT @wMapIndex = wMapIndex
      FROM Character.dbo.USER_CHARACTER
      WHERE character_no = @i_user_no; -- 假设character_no和user_no关联

      -- 检查查询是否返回结果
      IF @@ROWCOUNT = 0
      BEGIN
            SET @wMapIndex = NULL; -- 未找到记录时设置为NULL
            SET @o_sp_rtn = -98;   -- 未找到角色记录的特殊返回码
      END
      ELSE
      BEGIN
            -- 判断地图索引并设置返回值 (修改为判断wMapIndex是否等于61)
            IF @wMapIndex = 61
                SET @o_sp_rtn = 0;
            ELSE
                SET @o_sp_rtn = -99;
      END

viphaidao 发表于 2025-6-10 02:29:39

我没写 但是这个逻辑我感觉是行的通的

viphaidao 发表于 2025-6-10 03:02:13

这个逻辑 也不太行 我试了下 主要原因在于 用户所在地图 不是实时更新,用户基本信息是5分钟才和数据库交互一次 也就是说用户即便到了不能打开的地图 也是在5分钟以后了

admin 发表于 2025-6-10 17:31:02

viphaidao 发表于 2025-6-10 03:02
这个逻辑 也不太行 我试了下 主要原因在于 用户所在地图 不是实时更新,用户基本信息是5分钟才和数据库交互 ...

。。。。改成实时更新看看

viphaidao 发表于 2025-6-10 22:49:57

admin 发表于 2025-6-10 17:31
。。。。改成实时更新看看

没有实时的交互,哪个存储过程是实时交互的?

admin 发表于 2025-6-11 18:13:15

viphaidao 发表于 2025-6-10 22:49
没有实时的交互,哪个存储过程是实时交互的?

还没找到。
页: 1 [2] 3
查看完整版本: 谁知道怎么设置商城在地图 是否可以打开?