藏宝湾网游单机站

 找回密码
 注册

QQ登录

只需一步,快速开始

★【黑暗之光SF★我是大主宰SF】【神将三国SF】★

★【0.1折】★【变态网页游戏私服】★

★神将三国网页版上线送V5 5w元宝 5000w铜币 我是大主宰上线满v,80万元宝,小怪都爆元宝,耐玩长久稳定★

【原始传奇SF/维京传奇SF】【GM包站手游】

★【原始传奇SF/维京传奇SF】【GM包站手游】★

★2025火爆『传奇岁月+赤焰号角+维京传奇+原始传奇』爆战力称号BUFF+神装99999999万人PK★

★全网独家 可以单机 可以互动的传奇!★

★全网独家 可以单机 可以互动的传奇!★

★全网唯一持续更新的可单机游戏!每15-25天更新一次内容,保持游戏新鲜度!! 众多独家的功能特色,众多你没见过的全新玩法,有能力的赚点烟钱,还能偶尔沙城战斗!★

神武端游源码泄露08年神武2复古1比1原版
★08年神武2复古1比1原版金币翼龙免费4月10日新开2区★

★神武端游源码泄露08年神武2复古1比1原版金币翼龙免费4月10日新开2区★

☆五一活动开放放置传奇☆

★五一活动开放放置传奇★

★可白嫖 上班摸鱼类 放置文字传奇游戏(放置休闲)qq群756025698★

【独家RPG文字梦幻】【摸鱼搬砖不氪不肝】

★【独家RPG文字梦幻】【摸鱼搬砖不氪不肝】★

★新区开放,三端互通,适合上班挂机、摸鱼。 休闲放置,不占时间,玩熟了一天只需十几分钟就能轻松搞定。★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★DNF★全职业平衡★公益服★
★DNF★全职业平衡★公益服★

【dnf86版本】【怀旧服】【全职业平衡】【非变态服】【非商业服】【775016356】

★完美国际纯防六职业,4月18号正式开区★

★完美国际纯防六职业,4月18号正式开区 ,上线赠送飞机坐骑,红蓝符★

★本服为纯06版本,1比1匹配,为大长期版本。半年一个新区。。上线1级生活技能全满,包裹仓库全开★

★梦幻16门派全新大唐九黎★

★梦幻16门派全新大唐九黎★

★★新增全新门派九黎城,★不做垃圾,力争什么都做到最好★持续更新,长久稳定★

★承接推广★

★承接推广★

★承接推广★

三职业复古★开局送神装★爆率100%★散人逆袭
★三职业复古★开局送神装★爆率100%★散人逆袭★

★〖双线〗〖无忧传奇〗〖每日新区〗〖开局送神装 100%高爆率 装备元宝打怪爆〗★

★《天使之战MU》经典奇迹重现★

★《天使之战MU》经典奇迹重现★

★2025年热门手游推荐:所有游戏充值永久0.1折,648只需6.48元!原版物价不膨胀★

★承接推广★

★承接推广★

★承接推广★

★彩虹岛s6独家玩法肝帝天堂★

★彩虹岛s6独家玩法肝帝天堂★

★s6彩虹岛,新服开区,来就送死霸脚底龙晶诸多特效。独家玩法护肝不杆不克,可刷一切★

查看: 478|回复: 4

[已解决] 远征ol御兽存储

[复制链接]
 楼主| 发表于 前天 15:49 | 显示全部楼层 |阅读模式
本帖最后由 bfdz49 于 2025-5-9 15:51 编辑
  1. -- 创建宠物装备表
  2. CREATE TABLE [dbo].[Actor_Pet_Equipment]
  3. (
  4.     -- 主键字段
  5.     [ActorID] INT NOT NULL,                -- 角色ID
  6.     [PetID] TINYINT NOT NULL,             -- 宠物ID
  7.     [PetName] CHAR(32) NOT NULL,          -- 宠物名称,固定32字符
  8.    
  9.     -- 基础状态字段
  10.     [Status] TINYINT NOT NULL DEFAULT(0),          -- 状态
  11.     [AttackStatus] TINYINT NOT NULL DEFAULT(0),    -- 攻击状态
  12.     [EggNum] TINYINT NOT NULL DEFAULT(0),          -- 蛋数量
  13.     [PetType] INT NOT NULL DEFAULT(0),             -- 宠物类型
  14.    
  15.     -- 等级和属性相关
  16.     [nLevel] INT NOT NULL DEFAULT(1),              -- 等级
  17.     [Qualification] INT NOT NULL DEFAULT(0),       -- 资质
  18.     [Energy] INT NOT NULL DEFAULT(0),              -- 能量
  19.     [EnergyExp] INT NOT NULL DEFAULT(0),          -- 能量经验
  20.     [FeedTimes] INT NOT NULL DEFAULT(0),          -- 喂养次数
  21.     [EggBeginTime] INT NOT NULL DEFAULT(0),       -- 蛋开始时间
  22.     [Tired] INT NOT NULL DEFAULT(0),              -- 疲劳度
  23.     [Experience] INT NOT NULL DEFAULT(0),          -- 经验值
  24.    
  25.     -- 基础属性
  26.     [Power] INT NOT NULL DEFAULT(0),              -- 力量
  27.     [Intelligence] INT NOT NULL DEFAULT(0),        -- 智力
  28.     [CurHP] INT NOT NULL DEFAULT(0),              -- 当前血量
  29.     [HP] INT NOT NULL DEFAULT(0),                 -- 最大血量
  30.     [PAttackValue] INT NOT NULL DEFAULT(0),       -- 物理攻击
  31.     [MAttackValue] INT NOT NULL DEFAULT(0),       -- 魔法攻击
  32.     [PDefenceValue] INT NOT NULL DEFAULT(0),      -- 物理防御
  33.     [MDefenceValue] INT NOT NULL DEFAULT(0),      -- 魔法防御
  34.    
  35.     -- 技能相关
  36.     [SkillsSlotNum] INT NOT NULL DEFAULT(0),      -- 技能槽数量
  37.    
  38.     -- PK相关数据
  39.     [WinNum] INT NOT NULL DEFAULT(0),             -- 胜利次数
  40.     [LoseNum] INT NOT NULL DEFAULT(0),            -- 失败次数
  41.     [PKNum] INT NOT NULL DEFAULT(0),              -- PK次数
  42.     [PKNumLeave] INT NOT NULL DEFAULT(0),         -- 剩余PK次数
  43.     [InvitePK] INT NOT NULL DEFAULT(0),           -- 邀请PK
  44.    
  45.     -- 武器装备相关
  46.     [CurWeapon] INT NOT NULL DEFAULT(0),          -- 当前武器
  47.     [Weapons] BINARY(40) NULL DEFAULT(0x),        -- 武器数据
  48.     [WeaponsHPEx] BINARY(20) NULL DEFAULT(0x),    -- 武器HP加成
  49.     [WeaponsPAEx] BINARY(20) NULL DEFAULT(0x),    -- 武器物理攻击加成
  50.     [WeaponsMAEx] BINARY(20) NULL DEFAULT(0x),    -- 武器魔法攻击加成
  51.     [WeaponsPDEx] BINARY(20) NULL DEFAULT(0x),    -- 武器物理防御加成
  52.     [WeaponsMDEx] BINARY(20) NULL DEFAULT(0x),    -- 武器魔法防御加成
  53.     [CurSkills] BINARY(60) NULL DEFAULT(0x),      -- 当前技能
  54.    
  55.     -- 创建时间
  56.     [CreateTime] DATETIME NOT NULL DEFAULT(GETDATE()),
  57.     [LastUpdateTime] DATETIME NOT NULL DEFAULT(GETDATE()),
  58.    
  59.     -- 主键约束
  60.     CONSTRAINT [PK_Actor_Pet_Equipment] PRIMARY KEY CLUSTERED
  61.     (
  62.         [ActorID] ASC,
  63.         [PetID] ASC
  64.     )
  65. )
  66. GO

  67. -- 创建索引
  68. CREATE NONCLUSTERED INDEX [IX_Actor_Pet_Equipment_ActorID]
  69. ON [dbo].[Actor_Pet_Equipment]([ActorID])
  70. GO

  71. CREATE NONCLUSTERED INDEX [IX_Actor_Pet_Equipment_PetType]
  72. ON [dbo].[Actor_Pet_Equipment]([PetType])
  73. GO

  74. -- 添加表说明
  75. EXEC sp_addextendedproperty
  76.     [url=home.php?mod=space&uid=755926]@name[/url] = N'MS_Description',
  77.     [url=home.php?mod=space&uid=229979]@value[/url] = N'角色宠物装备信息表',
  78.     @level0type = N'SCHEMA',
  79.     @level0name = N'dbo',
  80.     @level1type = N'TABLE',
  81.     @level1name = N'Actor_Pet_Equipment'
  82. GO

  83. -- 添加字段说明
  84. EXEC sp_addextendedproperty [url=home.php?mod=space&uid=755926]@name[/url] = N'MS_Description', [url=home.php?mod=space&uid=229979]@value[/url] = N'角色ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Actor_Pet_Equipment', @level2type = N'COLUMN', @level2name = N'ActorID'
  85. GO
  86. EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'宠物ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Actor_Pet_Equipment', @level2type = N'COLUMN', @level2name = N'PetID'
  87. GO
  88. EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'宠物名称', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Actor_Pet_Equipment', @level2type = N'COLUMN', @level2name = N'PetName'
  89. GO








  90. -------------------------------------------------------------------------------------------------------------
  91. -- 创建宠物封印表
  92. CREATE TABLE [dbo].[Actor_Pet_Seal]
  93. (
  94.     -- 基础标识字段
  95.     [IDCard] BINARY(21) NOT NULL,         -- 宠物唯一标识
  96.     [ActorID] INT NOT NULL,               -- 角色ID
  97.     [AttackStatus] TINYINT NOT NULL DEFAULT(0),  -- 攻击状态
  98.    
  99.     -- 等级和基础属性
  100.     [nLevel] INT NOT NULL DEFAULT(1),              -- 等级
  101.     [Qualification] INT NOT NULL DEFAULT(0),       -- 资质
  102.     [Energy] INT NOT NULL DEFAULT(0),              -- 能量
  103.     [EnergyExp] INT NOT NULL DEFAULT(0),          -- 能量经验
  104.     [FeedTimes] INT NOT NULL DEFAULT(0),          -- 喂养次数
  105.     [Tired] INT NOT NULL DEFAULT(0),              -- 疲劳度
  106.     [Experience] INT NOT NULL DEFAULT(0),          -- 经验值
  107.    
  108.     -- 战斗属性
  109.     [Power] INT NOT NULL DEFAULT(0),              -- 力量
  110.     [Intelligence] INT NOT NULL DEFAULT(0),        -- 智力
  111.     [CurHP] INT NOT NULL DEFAULT(0),              -- 当前血量
  112.     [HP] INT NOT NULL DEFAULT(0),                 -- 最大血量
  113.     [PAttackValue] INT NOT NULL DEFAULT(0),       -- 物理攻击
  114.     [MAttackValue] INT NOT NULL DEFAULT(0),       -- 魔法攻击
  115.     [PDefenceValue] INT NOT NULL DEFAULT(0),      -- 物理防御
  116.     [MDefenceValue] INT NOT NULL DEFAULT(0),      -- 魔法防御
  117.    
  118.     -- 武器装备相关
  119.     [CurWeapon] INT NOT NULL DEFAULT(0),          -- 当前武器
  120.     [Weapons] BINARY(40) NULL DEFAULT(0x),        -- 武器数据
  121.     [WeaponsHPEx] BINARY(20) NULL DEFAULT(0x),    -- 武器HP加成
  122.     [WeaponsPAEx] BINARY(20) NULL DEFAULT(0x),    -- 武器物理攻击加成
  123.     [WeaponsMAEx] BINARY(20) NULL DEFAULT(0x),    -- 武器魔法攻击加成
  124.     [WeaponsPDEx] BINARY(20) NULL DEFAULT(0x),    -- 武器物理防御加成
  125.     [WeaponsMDEx] BINARY(20) NULL DEFAULT(0x),    -- 武器魔法防御加成
  126.    
  127.     -- 技能数据
  128.     [CurSkills] BINARY(60) NULL DEFAULT(0x),      -- 当前技能
  129.    
  130.     -- 系统字段
  131.     [CreateTime] DATETIME NOT NULL DEFAULT(GETDATE()),     -- 创建时间
  132.     [LastUpdateTime] DATETIME NOT NULL DEFAULT(GETDATE()), -- 最后更新时间
  133.    
  134.     -- 主键约束
  135.     CONSTRAINT [PK_Actor_Pet_Seal] PRIMARY KEY CLUSTERED
  136.     (
  137.         [IDCard] ASC
  138.     )
  139. )
  140. GO

  141. -- 创建索引
  142. CREATE NONCLUSTERED INDEX [IX_Actor_Pet_Seal_ActorID]
  143. ON [dbo].[Actor_Pet_Seal]([ActorID])
  144. GO

  145. -- 添加表说明
  146. EXEC sp_addextendedproperty
  147.     @name = N'MS_Description',
  148.     @value = N'宠物封印信息表',
  149.     @level0type = N'SCHEMA',
  150.     @level0name = N'dbo',
  151.     @level1type = N'TABLE',
  152.     @level1name = N'Actor_Pet_Seal'
  153. GO

  154. -- 添加重要字段说明
  155. EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'宠物唯一标识', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Actor_Pet_Seal', @level2type = N'COLUMN', @level2name = N'IDCard'
  156. GO
  157. EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'角色ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Actor_Pet_Seal', @level2type = N'COLUMN', @level2name = N'ActorID'
  158. GO
  159. EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'攻击状态', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Actor_Pet_Seal', @level2type = N'COLUMN', @level2name = N'AttackStatus'
  160. GO

  161. -- 创建更新触发器
  162. CREATE TRIGGER [dbo].[TR_Actor_Pet_Seal_Update]
  163. ON [dbo].[Actor_Pet_Seal]
  164. AFTER UPDATE
  165. AS
  166. BEGIN
  167.     SET NOCOUNT ON;
  168.    
  169.     UPDATE [dbo].[Actor_Pet_Seal]
  170.     SET [LastUpdateTime] = GETDATE()
  171.     FROM [dbo].[Actor_Pet_Seal] t
  172.     INNER JOIN inserted i ON t.[IDCard] = i.[IDCard]
  173. END
  174. GO

  175. -- 添加触发器说明
  176. EXEC sp_addextendedproperty
  177.     @name = N'MS_Description',
  178.     @value = N'自动更新LastUpdateTime触发器',
  179.     @level0type = N'SCHEMA',
  180.     @level0name = N'dbo',
  181.     @level1type = N'TABLE',
  182.     @level1name = N'Actor_Pet_Seal',
  183.     @level2type = N'TRIGGER',
  184.     @level2name = N'TR_Actor_Pet_Seal_Update'
  185. GO



  186. ---------------------------------------------------------------------------------------------------------
  187. CREATE PROCEDURE [dbo].[PrGs_Actor_PetSeal_Add_20110824]
  188.     @IDCard BINARY(21),              -- 宠物唯一标识
  189.     @AttackStatus TINYINT,           -- 攻击状态
  190.     @ActorID INT,                    -- 角色ID
  191.     @nLevel INT,                     -- 等级
  192.     @Qualification INT,              -- 资质
  193.     [url=home.php?mod=space&uid=366739]@energy[/url] INT,                     -- 能量
  194.     @EnergyExp INT,                  -- 能量经验
  195.     @FeedTimes INT,                  -- 喂养次数
  196.     [url=home.php?mod=space&uid=961082]@Tired[/url] INT,                      -- 疲劳度
  197.     [url=home.php?mod=space&uid=87377]@experience[/url] INT,                 -- 经验值
  198.     [url=home.php?mod=space&uid=46485]@power[/url] INT,                      -- 力量
  199.     @Intelligence INT,               -- 智力
  200.     @CurHP INT,                      -- 当前血量
  201.     @HP INT,                         -- 最大血量
  202.     @PAttackValue INT,              -- 物理攻击
  203.     @MAttackValue INT,              -- 魔法攻击
  204.     @PDefenceValue INT,             -- 物理防御
  205.     @MDefenceValue INT,             -- 魔法防御
  206.     @CurWeapon INT,                 -- 当前武器
  207.     @Weapons BINARY(40),            -- 武器数据
  208.     @WeaponsHPEx BINARY(20),        -- 武器HP加成
  209.     @WeaponsPAEx BINARY(20),        -- 武器物理攻击加成
  210.     @WeaponsMAEx BINARY(20),        -- 武器魔法攻击加成
  211.     @WeaponsPDEx BINARY(20),        -- 武器物理防御加成
  212.     @WeaponsMDEx BINARY(20),        -- 武器魔法防御加成
  213.     @CurSkills BINARY(60),          -- 当前技能
  214.     @ResultCode TINYINT OUTPUT      -- 输出结果码
  215. AS
  216. BEGIN
  217.     SET NOCOUNT ON;
  218.    
  219.     BEGIN TRY
  220.         -- 初始化输出参数
  221.         SET @ResultCode = 0;
  222.         
  223.         -- 检查必要参数
  224.         IF @IDCard IS NULL OR @ActorID = 0
  225.         BEGIN
  226.             SET @ResultCode = 2;  -- 参数错误
  227.             RETURN 1;
  228.         END
  229.         
  230.         -- 检查是否已存在相同IDCard的记录
  231.         IF EXISTS (SELECT 1 FROM [dbo].[Actor_Pet_Seal] WHERE [IDCard] = @IDCard)
  232.         BEGIN
  233.             SET @ResultCode = 3;  -- 宠物封印已存在
  234.             RETURN 1;
  235.         END
  236.         
  237.         -- 插入新的宠物封印数据
  238.         INSERT INTO [dbo].[Actor_Pet_Seal]
  239.         (
  240.             [IDCard], [AttackStatus], [ActorID],
  241.             [nLevel], [Qualification], [Energy],
  242.             [EnergyExp], [FeedTimes], [Tired],
  243.             [Experience], [Power], [Intelligence],
  244.             [CurHP], [HP], [PAttackValue],
  245.             [MAttackValue], [PDefenceValue], [MDefenceValue],
  246.             [CurWeapon], [Weapons], [WeaponsHPEx],
  247.             [WeaponsPAEx], [WeaponsMAEx], [WeaponsPDEx],
  248.             [WeaponsMDEx], [CurSkills]
  249.         )
  250.         VALUES
  251.         (
  252.             @IDCard, @AttackStatus, @ActorID,
  253.             @nLevel, @Qualification, @Energy,
  254.             @EnergyExp, @FeedTimes, @Tired,
  255.             @Experience, @Power, @Intelligence,
  256.             @CurHP, @HP, @PAttackValue,
  257.             @MAttackValue, @PDefenceValue, @MDefenceValue,
  258.             @CurWeapon, @Weapons, @WeaponsHPEx,
  259.             @WeaponsPAEx, @WeaponsMAEx, @WeaponsPDEx,
  260.             @WeaponsMDEx, @CurSkills
  261.         );
  262.         
  263.         -- 检查插入是否成功
  264.         IF @@ROWCOUNT > 0
  265.         BEGIN
  266.             SET @ResultCode = 1;  -- 成功
  267.             RETURN 0;
  268.         END
  269.         ELSE
  270.         BEGIN
  271.             SET @ResultCode = 4;  -- 插入失败
  272.             RETURN 1;
  273.         END
  274.         
  275.     END TRY
  276.     BEGIN CATCH
  277.         -- 错误处理
  278.         SET @ResultCode = 255;  -- 系统错误
  279.         
  280.         -- 记录错误信息
  281.         DECLARE @ErrorMessage NVARCHAR(4000) = ERROR_MESSAGE();
  282.         DECLARE @ErrorSeverity INT = ERROR_SEVERITY();
  283.         DECLARE @ErrorState INT = ERROR_STATE();
  284.         
  285.         -- 可以在这里添加错误日志记录
  286.         
  287.         RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState);
  288.         
  289.         RETURN -1;
  290.     END CATCH
  291. END
  292. GO

  293. -- 添加存储过程说明
  294. EXEC sp_addextendedproperty
  295.     @name = N'MS_Description',
  296.     @value = N'添加宠物封印信息',
  297.     @level0type = N'SCHEMA',
  298.     @level0name = N'dbo',
  299.     @level1type = N'PROCEDURE',
  300.     @level1name = N'PrGs_Actor_PetSeal_Add_20110824';
  301. GO

  302. -- 添加结果码说明
  303. EXEC sp_addextendedproperty
  304.     @name = N'MS_Description',
  305.     @value = N'结果码说明:
  306. 1 - 成功
  307. 2 - 参数错误
  308. 3 - 宠物封印已存在
  309. 4 - 插入失败
  310. 255 - 系统错误',
  311.     @level0type = N'SCHEMA',
  312.     @level0name = N'dbo',
  313.     @level1type = N'PROCEDURE',
  314.     @level1name = N'PrGs_Actor_PetSeal_Add_20110824',
  315.     @level2type = N'PARAMETER',
  316.     @level2name = N'@ResultCode';
  317. GO

  318. -------------------------------------------------------------------------
  319. CREATE PROCEDURE [dbo].[PrGs_Actor_PetPart_Get_20111217]
  320.     @ActorID INT,                    -- 输入参数
  321.     @PetCount BINARY(1) OUTPUT      -- 输出参数,使用BINARY(1)替代TINYINT
  322. AS
  323. BEGIN
  324.     SET NOCOUNT ON;
  325.    
  326.     -- 初始化输出参数
  327.     SET @PetCount = 0x00;
  328.    
  329.     -- 返回ActorID
  330.     SELECT @ActorID AS ActorID;
  331.    
  332.     -- 返回宠物详细信息结果集
  333.     SELECT
  334.         CAST(PetName AS CHAR(32)) AS PetName,      -- 宠物名称,固定32字符
  335.         CAST(PetID AS BINARY(1)) AS PetID,         -- 宠物ID,1字节二进制
  336.         CAST(Status AS BINARY(1)) AS Status,       -- 状态,1字节二进制
  337.         CAST(AttackStatus AS BINARY(1)) AS AttackStatus,   -- 攻击状态,1字节二进制
  338.         CAST(EggNum AS BINARY(1)) AS EggNum,       -- 蛋数量,1字节二进制
  339.         CAST(PetType AS INT) AS PetType,           -- 宠物类型
  340.         CAST(nLevel AS INT) AS nLevel,             -- 等级
  341.         CAST(Qualification AS INT) AS Qualification, -- 资质
  342.         CAST(Energy AS INT) AS Energy,              -- 能量
  343.         CAST(EnergyExp AS INT) AS EnergyExp,       -- 能量经验
  344.         CAST(FeedTimes AS INT) AS FeedTimes,       -- 喂养次数
  345.         CAST(EggBeginTime AS INT) AS EggBeginTime, -- 蛋开始时间
  346.         CAST(Tired AS INT) AS Tired,               -- 疲劳度
  347.         CAST(Experience AS INT) AS Experience,      -- 经验
  348.         CAST(Power AS INT) AS Power,               -- 力量
  349.         CAST(Intelligence AS INT) AS Intelligence,  -- 智力
  350.         CAST(CurHP AS INT) AS CurHP,               -- 当前血量
  351.         CAST(HP AS INT) AS HP,                     -- 最大血量
  352.         CAST(PAttackValue AS INT) AS PAttackValue, -- 物理攻击
  353.         CAST(MAttackValue AS INT) AS MAttackValue, -- 魔法攻击
  354.         CAST(PDefenceValue AS INT) AS PDefenceValue, -- 物理防御
  355.         CAST(MDefenceValue AS INT) AS MDefenceValue, -- 魔法防御
  356.         CAST(SkillsSlotNum AS INT) AS SkillsSlotNum, -- 技能槽数量
  357.         CAST(WinNum AS INT) AS WinNum,              -- 胜利次数
  358.         CAST(LoseNum AS INT) AS LoseNum,            -- 失败次数
  359.         CAST(PKNum AS INT) AS PKNum,                -- PK次数
  360.         CAST(PKNumLeave AS INT) AS PKNumLeave,      -- 剩余PK次数
  361.         CAST(InvitePK AS INT) AS InvitePK,          -- 邀请PK
  362.         CAST(CurWeapon AS INT) AS CurWeapon,        -- 当前武器
  363.         
  364.         -- 二进制数据字段,使用0x作为默认值
  365.         CAST(Weapons AS BINARY(40)) AS Weapons,           -- 武器数据
  366.         CAST(WeaponsHPEx AS BINARY(20)) AS WeaponsHPEx,  -- 武器HP加成
  367.         CAST(WeaponsPAEx AS BINARY(20)) AS WeaponsPAEx,  -- 武器物理攻击加成
  368.         CAST(WeaponsMAEx AS BINARY(20)) AS WeaponsMAEx,  -- 武器魔法攻击加成
  369.         CAST(WeaponsPDEx AS BINARY(20)) AS WeaponsPDEx,  -- 武器物理防御加成
  370.         CAST(WeaponsMDEx AS BINARY(20)) AS WeaponsMDEx,  -- 武器魔法防御加成
  371.         CAST(CurSkills AS BINARY(60)) AS CurSkills       -- 当前技能
  372.     FROM [dbo].[Actor_Pet]
  373.     WHERE ActorID = @ActorID;
  374.    
  375.     -- 设置返回的宠物数量
  376.     SET @PetCount = (
  377.         SELECT CAST(COUNT(*) AS BINARY(1))
  378.         FROM [dbo].[Actor_Pet]
  379.         WHERE ActorID = @ActorID
  380.     );
  381.    
  382.     RETURN 0;
  383. END
  384. GO

  385. -- 添加存储过程说明
  386. EXEC sp_addextendedproperty
  387.     @name = N'MS_Description',
  388.     @value = N'获取角色宠物信息',
  389.     @level0type = N'SCHEMA',
  390.     @level0name = N'dbo',
  391.     @level1type = N'PROCEDURE',
  392.     @level1name = N'PrGs_Actor_PetPart_Get_20111217';
  393. GO
  394. --------------------------------------------------------------------------------------

  395. CREATE PROCEDURE [dbo].[PrGs_Actor_PetSeal_Get]
  396.     @ActorID INT    -- 角色ID
  397. AS
  398. BEGIN
  399.     SET NOCOUNT ON;
  400.    
  401.     BEGIN TRY
  402.         -- 查询宠物封印信息
  403.         SELECT
  404.             CAST([IDCard] AS BINARY(21)) AS [IDCard],           -- 宠物唯一标识
  405.             CAST([AttackStatus] AS TINYINT) AS [AttackStatus],  -- 攻击状态
  406.             CAST([ActorID] AS INT) AS [ActorID],               -- 角色ID
  407.             CAST([nLevel] AS INT) AS [nLevel],                 -- 等级
  408.             CAST([Qualification] AS INT) AS [Qualification],    -- 资质
  409.             CAST([Energy] AS INT) AS [Energy],                 -- 能量
  410.             CAST([EnergyExp] AS INT) AS [EnergyExp],          -- 能量经验
  411.             CAST([FeedTimes] AS INT) AS [FeedTimes],          -- 喂养次数
  412.             CAST([Tired] AS INT) AS [Tired],                   -- 疲劳度
  413.             CAST([Experience] AS INT) AS [Experience],         -- 经验值
  414.             CAST([Power] AS INT) AS [Power],                   -- 力量
  415.             CAST([Intelligence] AS INT) AS [Intelligence],     -- 智力
  416.             CAST([CurHP] AS INT) AS [CurHP],                  -- 当前血量
  417.             CAST([HP] AS INT) AS [HP],                        -- 最大血量
  418.             CAST([PAttackValue] AS INT) AS [PAttackValue],    -- 物理攻击
  419.             CAST([MAttackValue] AS INT) AS [MAttackValue],    -- 魔法攻击
  420.             CAST([PDefenceValue] AS INT) AS [PDefenceValue],  -- 物理防御
  421.             CAST([MDefenceValue] AS INT) AS [MDefenceValue],  -- 魔法防御
  422.             CAST([CurWeapon] AS INT) AS [CurWeapon],         -- 当前武器
  423.             CAST([Weapons] AS BINARY(40)) AS [Weapons],       -- 武器数据
  424.             CAST([WeaponsHPEx] AS BINARY(20)) AS [WeaponsHPEx], -- 武器HP加成
  425.             CAST([WeaponsPAEx] AS BINARY(20)) AS [WeaponsPAEx], -- 武器物理攻击加成
  426.             CAST([WeaponsMAEx] AS BINARY(20)) AS [WeaponsMAEx], -- 武器魔法攻击加成
  427.             CAST([WeaponsPDEx] AS BINARY(20)) AS [WeaponsPDEx], -- 武器物理防御加成
  428.             CAST([WeaponsMDEx] AS BINARY(20)) AS [WeaponsMDEx], -- 武器魔法防御加成
  429.             CAST([CurSkills] AS BINARY(60)) AS [CurSkills]    -- 当前技能
  430.         FROM [dbo].[Actor_Pet_Seal]
  431.         WHERE [ActorID] = @ActorID;
  432.         
  433.         -- 如果没有找到记录,返回0
  434.         IF @@ROWCOUNT = 0
  435.             RETURN 0;
  436.             
  437.         RETURN 1;  -- 成功找到记录
  438.         
  439.     END TRY
  440.     BEGIN CATCH
  441.         -- 错误处理
  442.         DECLARE @ErrorMessage NVARCHAR(4000) = ERROR_MESSAGE();
  443.         DECLARE @ErrorSeverity INT = ERROR_SEVERITY();
  444.         DECLARE @ErrorState INT = ERROR_STATE();
  445.         
  446.         -- 可以在这里添加错误日志记录
  447.         
  448.         RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState);
  449.         
  450.         RETURN -1;  -- 发生错误
  451.     END CATCH
  452. END
  453. GO

  454. -- 添加存储过程说明
  455. EXEC sp_addextendedproperty
  456.     @name = N'MS_Description',
  457.     @value = N'获取角色宠物封印信息',
  458.     @level0type = N'SCHEMA',
  459.     @level0name = N'dbo',
  460.     @level1type = N'PROCEDURE',
  461.     @level1name = N'PrGs_Actor_PetSeal_Get';
  462. GO

  463. -- 添加返回值说明
  464. EXEC sp_addextendedproperty
  465.     @name = N'MS_Description',
  466.     @value = N'返回值说明:
  467. 1 - 成功找到记录
  468. 0 - 未找到记录
  469. -1 - 系统错误',
  470.     @level0type = N'SCHEMA',
  471.     @level0name = N'dbo',
  472.     @level1type = N'PROCEDURE',
  473.     @level1name = N'PrGs_Actor_PetSeal_Get';
  474. GO

  475. -----------------------------------------------------------------------------------

  476. CREATE PROCEDURE [dbo].[PrGs_Actor_PetSeal_Del]
  477.     @IDCard BINARY(21),         -- 宠物唯一标识
  478.     @ResultCode TINYINT OUTPUT  -- 输出结果码
  479. AS
  480. BEGIN
  481.     SET NOCOUNT ON;
  482.    
  483.     BEGIN TRY
  484.         -- 初始化输出参数
  485.         SET @ResultCode = 0;
  486.         
  487.         -- 检查参数
  488.         IF @IDCard IS NULL
  489.         BEGIN
  490.             SET @ResultCode = 2;  -- 参数错误
  491.             RETURN 1;
  492.         END
  493.         
  494.         -- 检查记录是否存在
  495.         IF NOT EXISTS (SELECT 1 FROM [dbo].[Actor_Pet_Seal] WHERE [IDCard] = @IDCard)
  496.         BEGIN
  497.             SET @ResultCode = 3;  -- 记录不存在
  498.             RETURN 1;
  499.         END
  500.         
  501.         -- 删除宠物封印记录
  502.         DELETE FROM [dbo].[Actor_Pet_Seal]
  503.         WHERE [IDCard] = @IDCard;
  504.         
  505.         -- 检查删除是否成功
  506.         IF @@ROWCOUNT > 0
  507.         BEGIN
  508.             SET @ResultCode = 1;  -- 删除成功
  509.             RETURN 0;
  510.         END
  511.         ELSE
  512.         BEGIN
  513.             SET @ResultCode = 4;  -- 删除失败
  514.             RETURN 1;
  515.         END
  516.         
  517.     END TRY
  518.     BEGIN CATCH
  519.         -- 错误处理
  520.         SET @ResultCode = 255;  -- 系统错误
  521.         
  522.         -- 记录错误信息
  523.         DECLARE @ErrorMessage NVARCHAR(4000) = ERROR_MESSAGE();
  524.         DECLARE @ErrorSeverity INT = ERROR_SEVERITY();
  525.         DECLARE @ErrorState INT = ERROR_STATE();
  526.         
  527.         -- 可以在这里添加错误日志记录
  528.         
  529.         RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState);
  530.         
  531.         RETURN -1;
  532.     END CATCH
  533. END
  534. GO

  535. -- 添加存储过程说明
  536. EXEC sp_addextendedproperty
  537.     @name = N'MS_Description',
  538.     @value = N'删除宠物封印信息',
  539.     @level0type = N'SCHEMA',
  540.     @level0name = N'dbo',
  541.     @level1type = N'PROCEDURE',
  542.     @level1name = N'PrGs_Actor_PetSeal_Del';
  543. GO

  544. -- 添加结果码说明
  545. EXEC sp_addextendedproperty
  546.     @name = N'MS_Description',
  547.     @value = N'结果码说明:
  548. 1 - 删除成功
  549. 2 - 参数错误
  550. 3 - 记录不存在
  551. 4 - 删除失败
  552. 255 - 系统错误',
  553.     @level0type = N'SCHEMA',
  554.     @level0name = N'dbo',
  555.     @level1type = N'PROCEDURE',
  556.     @level1name = N'PrGs_Actor_PetSeal_Del',
  557.     @level2type = N'PARAMETER',
  558.     @level2name = N'@ResultCode';
  559. GO
复制代码
创建表Actor_Pet

创建表PetPart这个我还没有认真去改 他自动记录玩家信息
启动成功[0509 15:47:07] ERROR: 读取御兽信息成功
存储PrGs_Actor_PetPart_Get_20111217跟服务端一致,例如
  1. <config spname = 'PrGs_Actor_PetPart_Get_20111217' level = '10' databaseid = '1'></config>
  2.         
  3.         <inputdata variablename = 'ActorID'          size = '4'></inputdata>
  4.                
  5.         <param paramname = '@ActorID' datatype = 'int' size = '4' dirtype = 'input' inputdataname = 'ActorID'></param>
  6.         <param paramname = '@PetCount' datatype = 'byte' size = '1' dirtype = 'output' inputdataname = '-'></param>
  7.                                 
  8.         <outputdata variablename = 'ActorID' size = '4' source = 'dd' datatype = 'int'></outputdata>
  9.         <outputdata variablename = '@PetCount' size = '1' source = 'sp' datatype = 'byte'></outputdata>
  10.                
  11.         <resultset variablename = 'PetName' size = '32' source = 'sp' datatype = 'char'></resultset>
  12.         <resultset variablename = 'PetID' size = '1' source = 'sp' datatype = 'byte'></resultset>
  13.         <resultset variablename = 'Status' size = '1' source = 'sp' datatype = 'byte'></resultset>
  14.         <resultset variablename = 'AttackStatus' size = '1' source = 'sp' datatype = 'byte'></resultset>        
  15.         <resultset variablename = 'EggNum' size = '1' source = 'sp' datatype = 'byte'></resultset>        
  16.         <resultset variablename = 'PetType' size = '4' source = 'sp' datatype = 'int'></resultset>
  17.         <resultset variablename = 'nLevel' size = '4' source = 'sp' datatype = 'int'></resultset>
  18.         <resultset variablename = 'Qualification' size = '4' source = 'sp' datatype = 'int'></resultset>
  19.         <resultset variablename = 'Energy' size = '4' source = 'sp' datatype = 'int'></resultset>
  20.         <resultset variablename = 'EnergyExp' size = '4' source = 'sp' datatype = 'int'></resultset>
  21.         <resultset variablename = 'FeedTimes' size = '4' source = 'sp' datatype = 'int'></resultset>
  22.         <resultset variablename = 'EggBeginTime' size = '4' source = 'sp' datatype = 'int'></resultset>
  23.         <resultset variablename = 'Tired' size = '4' source = 'sp' datatype = 'int'></resultset>
  24.         <resultset variablename = 'Experience' size = '4' source = 'sp' datatype = 'int'></resultset>
  25.         <resultset variablename = 'Power' size = '4' source = 'sp' datatype = 'int'></resultset>
  26.         <resultset variablename = 'Intelligence' size = '4' source = 'sp' datatype = 'int'></resultset>
  27.         <resultset variablename = 'CurHP' size = '4' source = 'sp' datatype = 'int'></resultset>
  28.         <resultset variablename = 'HP' size = '4' source = 'sp' datatype = 'int'></resultset>
  29.         <resultset variablename = 'PAttackValue' size = '4' source = 'sp' datatype = 'int'></resultset>
  30.         <resultset variablename = 'MAttackValue' size = '4' source = 'sp' datatype = 'int'></resultset>
  31.         <resultset variablename = 'PDefenceValue' size = '4' source = 'sp' datatype = 'int'></resultset>
  32.         <resultset variablename = 'MDefenceValue' size = '4' source = 'sp' datatype = 'int'></resultset>
  33.         <resultset variablename = 'SkillsSlotNum' size = '4' source = 'sp' datatype = 'int'></resultset>
  34.         <resultset variablename = 'WinNum' size = '4' source = 'sp' datatype = 'int'></resultset>
  35.         <resultset variablename = 'LoseNum' size = '4' source = 'sp' datatype = 'int'></resultset>
  36.         <resultset variablename = 'PKNum' size = '4' source = 'sp' datatype = 'int'></resultset>
  37.         <resultset variablename = 'PKNumLeave' size = '4' source = 'sp' datatype = 'int'></resultset>
  38.         <resultset variablename = 'InvitePK' size = '4' source = 'sp' datatype = 'int'></resultset>
  39.         <resultset variablename = 'CurWeapon' size = '4' source = 'sp' datatype = 'int'></resultset>
  40.         <resultset variablename = 'Weapons' size = '40' source = 'sp' datatype = 'bin'></resultset>
  41.         <resultset variablename = 'WeaponsHPEx' size = '20' source = 'sp' datatype = 'bin'></resultset>
  42.         <resultset variablename = 'WeaponsPAEx' size = '20' source = 'sp' datatype = 'bin'></resultset>
  43.         <resultset variablename = 'WeaponsMAEx' size = '20' source = 'sp' datatype = 'bin'></resultset>
  44.         <resultset variablename = 'WeaponsPDEx' size = '20' source = 'sp' datatype = 'bin'></resultset>
  45.         <resultset variablename = 'WeaponsMDEx' size = '20' source = 'sp' datatype = 'bin'></resultset>
  46.         <resultset variablename = 'CurSkills' size = '60' source = 'sp' datatype = 'bin'><
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1金币 +2 收起 理由
694311430 + 2 『快乐!分一点给你哟~』

查看全部评分

发表于 前天 16:28 | 显示全部楼层
谢谢分享
发表于 前天 18:54 | 显示全部楼层
大佬,出个整合吧。我看你发的教程很多
发表于 前天 20:42 | 显示全部楼层
大佬牛逼,谢谢分享
发表于 前天 21:43 | 显示全部楼层
为大佬的坚持精神点赞
您需要登录后才可以回帖 登录 | 注册

本版积分规则

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明

排行榜|联系我们|小黑屋|手机版|Archiver|游戏藏宝湾 |

GMT+8, 2025-5-11 17:30 , Processed in 0.058665 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表