Hamza FiGo |
26-06-2015 06:27 PM |
رد: استفسارت + طلبات مش صعبة الرجاء الاهتمام لو سحمتو
اولا . اسم الموضوع غلط -_-
ثانيا متقررش من دماغك وتقول محدش يقولي الموضوع اسمة غلط
ثالثا انت ليك سؤالين في الموضوع مش 7
رابعا واخيرا معظم اللي انت طالبة مش في القسم المناسب. قسم الـــ PK2 Edits
عرفت بقا لية محدش رد عليك؟ علشان اللي انا قولته فوق دا وركز اوي في ان اسئلتك كتير
اللي ايقدر افيدك فية هنا في القسم هو تغيير الاسعار. هتروح علي refPricePolicyOfItem في الداتا والميديا وتظبط الاسعار اللي انت عايزها
وموضوع دي سي في الايتم مول استخدم الكيوري دا
كود:
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_UPDATE_COST] Script Date: 02/02/2012 16:10:45 ******/
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 & (2 | 4 | 16 )) > 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 & 8) > 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
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|