Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- USE [SRO_VT_SHARD]
- GO
- /****** Object: StoredProcedure [dbo].[_UPDATE_COST] Script Date: 26.02.2012 14:03:32 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- --@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
- -- »َء،°³ئي (أض¼±ب£)
- --@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
- ALTER PROCEDURE [dbo].[_UPDATE_COST]
- @Operation tinyint,
- @CharID int,
- @PaymentDevice int,
- @PackageItemCodeName varchar(129),
- @RemainGold bigint,
- @OwnSilkToPay int,
- @GiftSilkToPay int,
- @OffsetOptionalPoint int,
- @MileageToPay int
- AS
- SET NOCOUNT ON
- declare @PaymentDeviceTemp int
- declare @RemainOwnSilk int
- declare @RemainGiftSilk int
- declare @RemainMileage int
- declare @Result int
- set @RemainOwnSilk = 0
- set @RemainGiftSilk = 0
- set @RemainMileage = 0
- IF (@RemainGold < 0 or @MileageToPay < 0 or @OwnSilkToPay < 0 or @GiftSilkToPay < 0 or @OffsetOptionalPoint < 0)
- BEGIN
- RETURN -2001
- END
- DECLARE @PC_ID INT
- set @PC_ID = @CharID
- ----------------------------------------------------------
- -- Operation؟، µû¶َ¼* ہ¯ہْ ؤ³¸¯إح ¾ئہجµً°، ³ر¾î ؟أ¼ِµµ ہض°ي, cos ¾ئہجµً°، ³ر¾î ؟أ ¼ِµµ ہض´ظ.
- -- ؤ³¸¯إح ¾ئہجµً¸¦ ¾îآ¶´ّ ¾ث¾ئ³»¾ك اد°ع´ظ.
- ----------------------------------------------------------
- if (@Operation = 19)
- begin
- -- COS ؟ë ¹°ا°ہ» ±¸ہشار°إ´د±ٌ... ؤ³¸¯ أ£¾ئ¼* µ· »©ءà¾كءِ...
- SELECT @PC_ID = OwnerCharID FROM _CharCOS WHERE ID = @PC_ID
- IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
- BEGIN
- RETURN -2002
- END
- end
- /*
- #define EXPAND_DEVICE_GOLDPRICE 1
- #define EXPAND_DEVICE_SILKPRICE 2
- #define EXPAND_DEVICE_GIFTSILKPRICE 4
- #define EXPAND_DEVICE_GUILDPOINT 8
- #define EXPAND_DEVICE_MILEAGE 16
- */
- if ((@PaymentDevice & 8) > 0)
- begin
- -- ½اإ©, ¼±¹°½اإ©, ¸¶ہد¸®ءِ¸¦ ±î¾ك اد´آ±¸¸¸.
- -- ´ـ, ¸¶ہد¸®ءِ´آ ؟ة¼اہج´ظ.
- -- ؤ³¸¯إحہا JID¸¦ ¾ٍ¾î؟ہ³ت¶َ.
- declare @JID int
- select top 1 @JID = UserJID from _User
- where CharID = @PC_ID
- IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
- BEGIN
- RETURN -2006
- END
- DECLARE @PackageItemID int
- select @PackageItemID = ID from dbo._RefPackageItem where codename128 = @PackageItemCodeName
- DECLARE @rvalue int
- -- EXEC @rvalue = SRO_VT_ACCOUNT.DBO._ConsumeSilkByGameServer @JID, @OwnSilkToPay OUTPUT, @GiftSilkToPay OUTPUT, @MileageToPay output, 1, @CharID
- EXEC @rvalue = SRO_VT_ACCOUNT.DBO._ConsumeSilkByGameServer @JID, @OwnSilkToPay OUTPUT, @GiftSilkToPay OUTPUT, @MileageToPay output, 0, @CharID, @PackageItemID , 0
- IF (@rvalue < 0 OR @@ERROR <> 0)
- BEGIN
- RETURN -2012
- END
- --------------------------
- --<< 1. ¼ِء¤ ہü ؤعµه >> -- ءضب*
- --------------------------
- -- -- °شہس ¼*¹ِآت؟،¼* °»½إ ¹ق±â ہ§اط cost °ھہ» °ل°ْ إ×ہج؛ي؟، ³ض¾îµذ´ظ.
- -- insert into _ResultOfPackageItemToMappingWithServerSide
- -- values (@Operation, @CharID, 255, @OwnSilkToPay, 2, 0, 1)
- --
- -- if (@@ERROR <> 0 or @@ROWCOUNT = 0)
- -- begin
- -- return -2007
- -- end
- --
- -- insert into _ResultOfPackageItemToMappingWithServerSide
- -- values (@Operation, @CharID, 254,@GiftSilkToPay, 4, 0, 1)
- --
- -- if (@@ERROR <> 0 or @@ROWCOUNT = 0)
- -- begin
- -- return -2007
- -- end
- --
- -- insert into _ResultOfPackageItemToMappingWithServerSide
- -- values (@Operation, @CharID, 253,@MileageToPay, 16, 0, 1)
- --------------------------
- --<< 1. ¼ِء¤ بؤ ؤعµه >> --
- --------------------------
- -- °شہس ¼*¹ِآت؟،¼* °»½إ ¹ق±â ہ§اط cost °ھہ» °ل°ْ إ×ہج؛ي؟، ³ض¾îµذ´ظ.
- insert into _ResultOfPackageItemToMappingWithServerSide
- values (@Operation, @CharID, 255, @OwnSilkToPay, 2, 0, 1, 0)
- if (@@ERROR <> 0 or @@ROWCOUNT = 0)
- begin
- return -2007
- end
- insert into _ResultOfPackageItemToMappingWithServerSide
- values (@Operation, @CharID, 254,@GiftSilkToPay, 4, 0, 1, 0)
- if (@@ERROR <> 0 or @@ROWCOUNT = 0)
- begin
- return -2007
- end
- insert into _ResultOfPackageItemToMappingWithServerSide
- values (@Operation, @CharID, 253,@MileageToPay, 16, 0, 1, 0)
- ----------------------------------------------------------------------------------------------------
- ----------------------------------------------------------------------------------------------------
- if (@@ERROR <> 0 or @@ROWCOUNT = 0)
- begin
- return -2007
- end
- end
- -- gold
- if ((@PaymentDevice & 1) > 0)
- begin
- UPDATE _Char SET RemainGold = @RemainGold WHERE CharID = @PC_ID
- IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
- BEGIN
- RETURN -2003
- END
- end
- -- guildpoint
- if ((@PaymentDevice & > 0)
- BEGIN
- -- ±وµه¸¦ ¾ث¾ئ؟ح¶َ.
- declare @GuildID int
- select @GuildID = GuildID from _GuildMember
- where CharID = @PC_ID
- IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
- BEGIN
- RETURN -2004
- END
- -- ±وµه ئ÷ہخئ® ±î¶َ.
- update _Guild set GatheredSP = GatheredSP - @OffsetOptionalPoint
- where GatheredSP >= @OffsetOptionalPoint and ID = @GuildID
- IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
- BEGIN
- /*
- -- ¾ّہ»¼ِµµ ہض´آ°إ´ظ.
- -- by novice. 2010-01-15 ؟،·¯ؤعµه µ¥ہجإحاü ب®ہه
- -- ؟ّ·، ءض¼®µا¾î ہض´ّ ؤعµهہجءِ¸¸, أكبؤ °³¹كاد´آ »ç¶÷µéہج
- -- ¼ِء¤µاءِ ¾تہ؛ ³»؟ëہ» ؛¸°ي ب¥¶ُ½؛·¯؟ِ از ¼ِ ہض¾î¼*
- -- ہج ؛خ؛ذ±îءِ ¼ِء¤اط¹ِ¸²!
- -- declare @Slot tinyint
- declare @Slot int
- declare @RefItemSerial64 bigint
- declare @RefItemDBID bigint
- declare @RefItemID int
- declare @Type tinyint
- -- by novice. 2010-01-15 ؟،·¯ؤعµه µ¥ہجإحاü ب®ہه
- -- set @Slot = 0xd0 -- error_num ¼*¹ِ؟،¼* »ç؟ëاد´آ ؟،·¯
- -- MAKE_SRO_SP_ERR_TYPE( _UPDATE_COST, 0x0004);
- -- DEFINE_SRO_SP_ERR( SRO_SP_ERR_NOT_ENOUGH_GUILD_POINT, _UPDATE_COST, 0x8001 ); // ==> 0x80010004
- -- BIND_SRO_SP_ERR_TO_SRO_ERR( SRO_SP_ERR_NOT_ENOUGH_GUILD_POINT, STRGERR_NOT_ENOUGH_GUILDPOINT );
- set @Slot = 0x80010004 -- error_num ¼*¹ِ؟،¼* »ç؟ëاد´آ ؟،·¯
- set @RefItemSerial64 = 0
- set @RefItemDBID = 0
- set @RefItemID = 0
- set @Type = 2
- select @Operation, @Slot, @RefItemSerial64, @RefItemDBID, @RefItemID, @Type
- */
- RETURN -2005
- END
- --------------------------
- --<< 2. ¼ِء¤ ہü ؤعµه >> --
- --------------------------
- -- °شہس ¼*¹ِآت؟،¼* °»½إ ¹ق±â ہ§اط cost °ھہ» °ل°ْ إ×ہج؛ي؟، ³ض¾îµذ´ظ.
- -- insert into _ResultOfPackageItemToMappingWithServerSide
- -- values (@Operation, @CharID, 252, @OffsetOptionalPoint, 8, 0, 1)
- --------------------------
- --<< 2. ¼ِء¤ بؤ ؤعµه >> --
- --------------------------
- -- °شہس ¼*¹ِآت؟،¼* °»½إ ¹ق±â ہ§اط cost °ھہ» °ل°ْ إ×ہج؛ي؟، ³ض¾îµذ´ظ.
- insert into _ResultOfPackageItemToMappingWithServerSide
- values (@Operation, @CharID, 252, @OffsetOptionalPoint, 8, 0, 1, 0)
- ----------------------------------------------------------------------------------------------------
- ----------------------------------------------------------------------------------------------------
- if (@@ERROR <> 0 or @@ROWCOUNT = 0)
- begin
- return -2007
- end
- end
- -- honorpoint
- else if ((@PaymentDevice & 32) > 0)
- begin
- -- honorpoint ±î¶َ.
- update _TrainingCampMember set HonorPoint = HonorPoint - @OffsetOptionalPoint
- where HonorPoint >= @OffsetOptionalPoint and CharID = @PC_ID
- if (@@ERROR <> 0 or @@ROWCOUNT = 0)
- begin
- return -2006
- end
- --------------------------
- --<< 3. ¼ِء¤ ہü ؤعµه >> --
- --------------------------
- -- °شہس ¼*¹ِآت؟،¼* °»½إ ¹ق±â ہ§اط cost °ھہ» °ل°ْ إ×ہج؛ي؟، ³ض¾îµذ´ظ.
- -- insert into _ResultOfPackageItemToMappingWithServerSide
- -- values (@Operation, @CharID, 252, @OffsetOptionalPoint, 32, 0, 1)
- --------------------------
- --<< 3. ¼ِء¤ بؤ ؤعµه >> --
- --------------------------
- -- °شہس ¼*¹ِآت؟،¼* °»½إ ¹ق±â ہ§اط cost °ھہ» °ل°ْ إ×ہج؛ي؟، ³ض¾îµذ´ظ.
- insert into _ResultOfPackageItemToMappingWithServerSide
- values (@Operation, @CharID, 252, @OffsetOptionalPoint, 32, 0, 1, 0)
- ----------------------------------------------------------------------------------------------------
- ----------------------------------------------------------------------------------------------------
- if (@@ERROR <> 0 or @@ROWCOUNT = 0)
- begin
- return -2007
- end
- end
- SET NOCOUNT OFF
- return 1
- --@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
- --@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement