الموقع العربي الاول للعبة Silkroad Online

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=226)
-   -   مشكله بخصوص Item Mall (https://silkroad4arab.com/vb/showthread.php?t=629310)

re3o016 25-12-2018 11:10 AM

مشكله بخصوص Item Mall
 
انا شغال بداتا Divine كل اما اجي اشتري حاجه من F10 يجيب DC ولما اجي افتح تاني الاقي الحاجه اللى اشترتها والسيلك زي ما هو متخصمش منه حاجه

fouad66 25-12-2018 03:43 PM

رد: مشكله بخصوص Item Mall
 
استخدم الكويرى ده
#
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

--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-- »???°³?? (??¼±E£)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

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?? µû¶?¼* A¯A? ?³¸¯?? ¾?A?µ?°? ³?¾î ??¼?µµ A?°?, cos ¾?A?µ?°? ³?¾î ?? ¼?µµ A?´U.
-- ?³¸¯?? ¾?A?µ?¸¦ ¾îA¶´? ¾E¾?³»¾? CI°?´U.
----------------------------------------------------------
if (@Operation = 19)
begin
-- COS ?ë ¹°C°A» ±¸AOC?°?´I±?... ?³¸¯ ?£¾?¼* µ· »©?à¾???...
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
-- ½C?©, ¼±¹°½C?©, ¸¶AI¸®??¸¦ ±î¾? CI´A±¸¸¸.
-- ´U, ¸¶AI¸®??´A ?E¼CA?´U.

-- ?³¸¯??AC JID¸¦ ¾?¾î?A³E¶?.
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. ¼??¤ Aü ??µ? >> -- ??E*
--------------------------
-- -- °OA? ¼*¹?AE??¼* °»½? ¹?±â A§C? cost °?A» °?°? ?×A????? ³?¾îµ?´U.
-- 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. ¼??¤ E? ??µ? >> --
--------------------------
-- °OA? ¼*¹?AE??¼* °»½? ¹?±â A§C? cost °?A» °?°? ?×A????? ³?¾îµ?´U.
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
-- ±?µ?¸¦ ¾E¾???¶?.
declare @GuildID int
select @GuildID = GuildID from _GuildMember
where CharID = @PC_ID

IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
RETURN -2004
END

-- ±?µ? ?÷AI?® ±î¶?.
update _Guild set GatheredSP = GatheredSP - @OffsetOptionalPoint
where GatheredSP >= @OffsetOptionalPoint and ID = @GuildID

IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
/*
-- ¾?A»¼?µµ A?´A°?´U.

-- by novice. 2010-01-15 ??·¯??µ? µ¥A???Cü E®A?
-- ??·? ??¼®µC¾î A?´? ??µ?A???¸¸, ??E? °³¹?CI´A »ç¶÷µéA?
-- ¼??¤µC?? ¾EA? ³»?ëA» ?¸°? E¥¶?½?·¯?? C? ¼? A?¾î¼*
-- A? ?I??±î?? ¼??¤C?¹?¸²!
-- declare @Slot tinyint
declare @Slot int
declare @RefItemSerial64 bigint
declare @RefItemDBID bigint
declare @RefItemID int
declare @Type tinyint

-- by novice. 2010-01-15 ??·¯??µ? µ¥A???Cü E®A?
-- set @Slot = 0xd0 -- error_num ¼*¹???¼* »ç?ëCI´A ??·¯

-- 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 ¼*¹???¼* »ç?ëCI´A ??·¯
set @RefItemSerial64 = 0
set @RefItemDBID = 0
set @RefItemID = 0
set @Type = 2
select @Operation, @Slot, @RefItemSerial64, @RefItemDBID, @RefItemID, @Type
*/
RETURN -2005
END
--------------------------
--<< 2. ¼??¤ Aü ??µ? >> --
--------------------------
-- °OA? ¼*¹?AE??¼* °»½? ¹?±â A§C? cost °?A» °?°? ?×A????? ³?¾îµ?´U.
-- insert into _ResultOfPackageItemToMappingWithServerSide
-- values (@Operation, @CharID, 252, @OffsetOptionalPoint, 8, 0, 1)
--------------------------
--<< 2. ¼??¤ E? ??µ? >> --
--------------------------
-- °OA? ¼*¹?AE??¼* °»½? ¹?±â A§C? cost °?A» °?°? ?×A????? ³?¾îµ?´U.
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. ¼??¤ Aü ??µ? >> --
--------------------------
-- °OA? ¼*¹?AE??¼* °»½? ¹?±â A§C? cost °?A» °?°? ?×A????? ³?¾îµ?´U.
-- insert into _ResultOfPackageItemToMappingWithServerSide
-- values (@Operation, @CharID, 252, @OffsetOptionalPoint, 32, 0, 1)

--------------------------
--<< 3. ¼??¤ E? ??µ? >> --
--------------------------
-- °OA? ¼*¹?AE??¼* °»½? ¹?±â A§C? cost °?A» °?°? ?×A????? ³?¾îµ?´U.
insert into _ResultOfPackageItemToMappingWithServerSide
values (@Operation, @CharID, 252, @OffsetOptionalPoint, 32, 0, 1, 0)


----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------

if (@@ERROR <> 0 or @@ROWCOUNT = 0)
begin
return -2007
end
end #

re3o016 25-12-2018 05:42 PM

رد: مشكله بخصوص Item Mall
 
اقتباس:

المشاركة الأصلية كتبت بواسطة fouad66 (المشاركة 5363346)
استخدم الكويرى ده
#
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

--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-- »???°³?? (??¼±E£)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

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?? µû¶?¼* A¯A? ?³¸¯?? ¾?A?µ?°? ³?¾î ??¼?µµ A?°?, cos ¾?A?µ?°? ³?¾î ?? ¼?µµ A?´U.
-- ?³¸¯?? ¾?A?µ?¸¦ ¾îA¶´? ¾E¾?³»¾? CI°?´U.
----------------------------------------------------------
if (@Operation = 19)
begin
-- COS ?ë ¹°C°A» ±¸AOC?°?´I±?... ?³¸¯ ?£¾?¼* µ· »©?à¾???...
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
-- ½C?©, ¼±¹°½C?©, ¸¶AI¸®??¸¦ ±î¾? CI´A±¸¸¸.
-- ´U, ¸¶AI¸®??´A ?E¼CA?´U.

-- ?³¸¯??AC JID¸¦ ¾?¾î?A³E¶?.
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. ¼??¤ Aü ??µ? >> -- ??E*
--------------------------
-- -- °OA? ¼*¹?AE??¼* °»½? ¹?±â A§C? cost °?A» °?°? ?×A????? ³?¾îµ?´U.
-- 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. ¼??¤ E? ??µ? >> --
--------------------------
-- °OA? ¼*¹?AE??¼* °»½? ¹?±â A§C? cost °?A» °?°? ?×A????? ³?¾îµ?´U.
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
-- ±?µ?¸¦ ¾E¾???¶?.
declare @GuildID int
select @GuildID = GuildID from _GuildMember
where CharID = @PC_ID

IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
RETURN -2004
END

-- ±?µ? ?÷AI?® ±î¶?.
update _Guild set GatheredSP = GatheredSP - @OffsetOptionalPoint
where GatheredSP >= @OffsetOptionalPoint and ID = @GuildID

IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
/*
-- ¾?A»¼?µµ A?´A°?´U.

-- by novice. 2010-01-15 ??·¯??µ? µ¥A???Cü E®A?
-- ??·? ??¼®µC¾î A?´? ??µ?A???¸¸, ??E? °³¹?CI´A »ç¶÷µéA?
-- ¼??¤µC?? ¾EA? ³»?ëA» ?¸°? E¥¶?½?·¯?? C? ¼? A?¾î¼*
-- A? ?I??±î?? ¼??¤C?¹?¸²!
-- declare @Slot tinyint
declare @Slot int
declare @RefItemSerial64 bigint
declare @RefItemDBID bigint
declare @RefItemID int
declare @Type tinyint

-- by novice. 2010-01-15 ??·¯??µ? µ¥A???Cü E®A?
-- set @Slot = 0xd0 -- error_num ¼*¹???¼* »ç?ëCI´A ??·¯

-- 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 ¼*¹???¼* »ç?ëCI´A ??·¯
set @RefItemSerial64 = 0
set @RefItemDBID = 0
set @RefItemID = 0
set @Type = 2
select @Operation, @Slot, @RefItemSerial64, @RefItemDBID, @RefItemID, @Type
*/
RETURN -2005
END
--------------------------
--<< 2. ¼??¤ Aü ??µ? >> --
--------------------------
-- °OA? ¼*¹?AE??¼* °»½? ¹?±â A§C? cost °?A» °?°? ?×A????? ³?¾îµ?´U.
-- insert into _ResultOfPackageItemToMappingWithServerSide
-- values (@Operation, @CharID, 252, @OffsetOptionalPoint, 8, 0, 1)
--------------------------
--<< 2. ¼??¤ E? ??µ? >> --
--------------------------
-- °OA? ¼*¹?AE??¼* °»½? ¹?±â A§C? cost °?A» °?°? ?×A????? ³?¾îµ?´U.
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. ¼??¤ Aü ??µ? >> --
--------------------------
-- °OA? ¼*¹?AE??¼* °»½? ¹?±â A§C? cost °?A» °?°? ?×A????? ³?¾îµ?´U.
-- insert into _ResultOfPackageItemToMappingWithServerSide
-- values (@Operation, @CharID, 252, @OffsetOptionalPoint, 32, 0, 1)

--------------------------
--<< 3. ¼??¤ E? ??µ? >> --
--------------------------
-- °OA? ¼*¹?AE??¼* °»½? ¹?±â A§C? cost °?A» °?°? ?×A????? ³?¾îµ?´U.
insert into _ResultOfPackageItemToMappingWithServerSide
values (@Operation, @CharID, 252, @OffsetOptionalPoint, 32, 0, 1, 0)


----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------

if (@@ERROR <> 0 or @@ROWCOUNT = 0)
begin
return -2007
end
end #

هجرب كدا واقولك

re3o016 25-12-2018 08:42 PM

رد: مشكله بخصوص Item Mall
 
جربت ودا اللى ظهر
http://www9.0zz0.com/2018/12/25/20/288051320.png
ونفس المشكلة برضو

GM.Samo 26-12-2018 03:02 AM

رد: مشكله بخصوص Item Mall
 
لو في حاجات كتير في ال f10 اقفل شويه وظبط السعار اللي في الداتا زي الميديا

.Gamer. 07-03-2019 03:08 PM

رد: مشكله بخصوص Item Mall
 
##


الساعة الآن 06:21 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.