المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : لما بشترى من الايتم ميل با سيلك بيجلى DC


mahmoudtarek5
27-02-2015, 01:54 PM
http://postimg.org/image/7nqx7wmbp/

Dangers SrO
27-02-2015, 01:59 PM
تم الموافقه
*****
الline الفي Databease not same Media
اتاكد منها

mahmoudtarek5
27-02-2015, 02:12 PM
line اية واسم الملفات الى فى الدتا اية الى حاعدل عليها فى الميديا

Hamza FiGo
27-02-2015, 02:29 PM
روح يا باشا علي المسار دا

SRO_VT_SHARD >> Programmability >> Stored Procedure >> _STRG_ADD_PACKAGEITEM

وكليك يمين Modify وحط الكيوري دا بدل اللي عندك

USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_STRG_ADD_PACKAGEITEM] Script Date: 24/02/2015 07:58:00 م ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO





--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-- »أ³أپآ،°³أ†أ* (أƒأ–¼±أˆ£)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

ALTER PROCEDURE [dbo].[_STRG_ADD_PACKAGEITEM]
@Operation TINYINT,
@CharID INT,
@PaymentDevice int,
@RefPackageItemID INT,
@Count smallint,
@RemainGold BIGINT,
@OwnSilkToPay int,
@GiftSilkToPay int,
@OptionalPointToPay int,
@MileageToPay int,
@CreaterName VARCHAR(17)
AS

declare @Result int

exec @Result = _STRG_ADD_PACKAGEITEM_CORE @Operation, @CharID, @PaymentDevice, @RefPackageItemID, @Count
, @RemainGold, @OwnSilkToPay, @GiftSilkToPay, @OptionalPointToPay, @MileageToPay, @CreaterName

return @Result
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

mahmoudtarek5
27-02-2015, 03:12 PM
بردو باخود دى سى لما باشترى حاجة من الايتم ميل

mahmoudtarek5
27-02-2015, 03:20 PM
نفسى احل المشكلة دى

Hamza FiGo
27-02-2015, 03:34 PM
باشا ياريت بلاش الاسبام علشان موضوعك ميتقفلش . الاسبام دة كل 24 ساعه

واحنا بنحل المشكلة علي اساس الصورة اللي انت جايبها . لو المشكلة لسة . يبقي ظبط اسم الداتا بيز بتاعتك

لو انت مغيرها ظبط اسمها في الــ Query اللي انا مديهولك

mahmoudtarek5
27-02-2015, 03:43 PM
عملتها بردو دى سى

mahmoudtarek5
27-02-2015, 04:02 PM
انا مش عارف احلها دى انا حطيط الكويرى با الى انا قولت علية بردو هوا هوا

Flsteny
27-02-2015, 04:05 PM
انا عندى الحل

Flsteny
27-02-2015, 04:06 PM
انت شغال بى DB ايه ؟

mahmoudtarek5
27-02-2015, 04:09 PM
داتا دجرى 11

Flsteny
27-02-2015, 04:11 PM
اسمها ايه ؟

mahmoudtarek5
27-02-2015, 04:13 PM
معرفش

Flsteny
27-02-2015, 04:24 PM
http://postimg.org/image/7nqx7wmbp/

الحل

1-
http://www.foxpic.com/V0hXra1X.jpg (http://www.foxpic.com/)
2-
http://www.foxpic.com/VI7iMnmH.jpg (http://www.foxpic.com/)
3-
http://www.foxpic.com/Vj1Nc1oG.jpg (http://www.foxpic.com/)
4-
http://www.foxpic.com/V01b4ISP.jpg (http://www.foxpic.com/)
5-
http://www.foxpic.com/V00CLF0X.jpg (http://www.foxpic.com/)

واخر حاجه رقم 5 دى غير الاسم ده لاسم الداتا بتعتك مثلا SRO_VT_ACCOUNT
زى كده
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

جرب وقول عملت ايه

Flsteny
27-02-2015, 04:37 PM
او اعمل الكويرى ده شغال 100%
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_UPDATE_COST] Script Date: 27/02/2015 03:28:00 م ******/
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¿¡ µû¶ó¼* À¯Àú ij¸¯ÅÍ ¾ÆÀ̵𰡠³Ñ¾î ¿Ã¼öµµ ÀÖ°í, cos ¾ÆÀ̵𰡠³Ñ¾î ¿Ã ¼öµµ ÀÖ´Ù.
-- ij¸¯ÅÍ ¾ÆÀ̵𸦠¾î¶´ø ¾Ë¾Æ³»¾ß ÇϰڴÙ.
----------------------------------------------------------
if (@Operation = 19)
begin
-- COS ¿ë ¹°Ç°À» ±¸ÀÔÇѰŴϱñ... ij¸¯ ã¾Æ¼* µ· »©Áà¾ßÁö...
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
-- ½ÇÅ©, ¼±¹°½ÇÅ©, ¸¶Àϸ®Áö¸¦ ±î¾ß Çϴ±¸¸¸.
-- ´Ü, ¸¶Àϸ®Áö´Â ¿É¼ÇÀÌ´Ù.

-- ij¸¯ÅÍÀÇ 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

--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

mahmoudtarek5
27-02-2015, 06:10 PM
لما بشترى من الشوب ايتم ميل بشترى بيت بلقيها بريميم بلص فى الشنطة وا الديفل بلقية اكسيسورى افتار

mahmoudtarek5
27-02-2015, 06:18 PM
لما باشترى من الشوب بيت مش باتفتح وا بعمل تيلى بورت بلقيها بقت بريميم بلص وا بشترى ديفل الجديد بلقية بقى اكسيسورى

mahmoudtarek5
27-02-2015, 06:26 PM
http://postimg.org/image/mxb9fg6x1/

http://postimg.org/image/ln183vozz/

http://postimg.org/image/eeapk2bov/

http://postimg.org/image/b545cn6w3/

بشترى الديفل مش بيفتح وا بشترى الرسالة السريعة مش بيشتريها وا بشترى البيت الفراشة مش بتفتح وا لما بعمل تيلى بورت بيروحو خالص من الاكونت مش بلقيهم فى الشنطة

Flsteny
27-02-2015, 06:29 PM
لما باشترى من الشوب بيت مش باتفتح وا بعمل تيلى بورت بلقيها بقت بريميم بلص وا بشترى ديفل الجديد بلقية بقى اكسيسورى

غير الداتا دى احسن

Hamza FiGo
27-02-2015, 06:52 PM
غير الداتا دى احسن

بالظبط . لان كدة في لغبطة عندك جامدة اوي في الداتا والكلينت . غيرها يكون افضل علشان هتتعب كتير

هتشيل كل حاجة وهتحطها تاني