مشاهدة النسخة كاملة : مشكله Storage
killer2speed11
16-02-2015, 03:53 PM
كل انا بحط حاجه في Storage باخد DC ايه الحل ؟؟ اي حاجه حتي لو Gold
:harp: :harp: :harp: :harp: :mf_biggrinumbrella:
™MaR™
16-02-2015, 03:58 PM
علي اي شخصيه ولا شخصيه معينه ؟
killer2speed11
16-02-2015, 03:59 PM
علي اي شخصيه ولا شخصيه معينه ؟
علي اي شخصيه يا باشا
Hamza FiGo
16-02-2015, 04:06 PM
بعد الــ DC يا باشا بتدخل تلاقي الحاجة في الـ Storage ولا زي ماهيا في الصفحة؟
killer2speed11
16-02-2015, 04:11 PM
بعد الــ DC يا باشا بتدخل تلاقي الحاجة في الـ Storage ولا زي ماهيا في الصفحة؟
اها الايتم بتبقي موجوده اما الجولد لا
Hamza FiGo
16-02-2015, 04:17 PM
اها الايتم بتبقي موجوده اما الجولد لا
بتبتقي موجودة في الخزنة ولا الصفحة ؟ و الجولد بيروح فين. وضح اكتر بعد اذنك
killer2speed11
16-02-2015, 04:25 PM
بتبتقي موجودة في الخزنة ولا الصفحة ؟ و الجولد بيروح فين. وضح اكتر بعد اذنك
انا مثلا حطيت Stone فضل في Storage اما الجولد لما بحطه في Storage بيجيلي DC ومبيطحتش
وبيفضل معايا عااادي ولا اكني عملت حاجه مع العلم ان اي حاجه بحطها لازم يجيلي DC لو حطيت ايتم اخد DC وبعدين ادخل الاقيها موجوده في ال Storage
Hamza FiGo
16-02-2015, 04:31 PM
طيب سؤال تاني معلش. لما بتحط الاستون بيجيلك DC علي طول . ولا الشخصية بتقف كام ثانية كدة وبعد كدة DC ؟
لان لو كدة . انت تحط الايتم في الاستورج وتستني علية شوية هيتحط . اكيد الجهاز بتاعك تقيل ومش مستحمل كل دا
killer2speed11
16-02-2015, 04:33 PM
طيب سؤال تاني معلش. لما بتحط الاستون بيجيلك DC علي طول . ولا الشخصية بتقف كام ثانية كدة وبعد كدة DC ؟
لان لو كدة . انت تحط الايتم في الاستورج وتستني علية شوية هيتحط . اكيد الجهاز بتاعك تقيل ومش مستحمل كل دا
لا ياباشا بلبس Confirm علطووول السيرفر VPS و انا عندي الجهاز رامات 24 كارت شاشا 2 :D العيب من السيرفر عند الناس كلها
Hamza FiGo
16-02-2015, 04:38 PM
رامات 24 اية الافترا دا ^_^ . علي العموم بص علي GameServer و ShardManger شوف بيجيلك ايرور لما بتاخد DC ولا لا . وحاول تفتح بوت وتشوف DC ولا Crash هيا مش هتفرق كتير بس هنعرف انها من الداتا بيز ولا الكلينت
™MaR™
16-02-2015, 04:45 PM
ممكن طيب تشوف sr gameserver , بيجيلك في حاجه لما بتحوط حاجة في storge !
killer2speed11
16-02-2015, 05:21 PM
ممكن طيب تشوف sr gameserver , بيجيلك في حاجه لما بتحوط حاجة في storge !
http://www10.0zz0.com/2015/02/16/17/143682015.png (http://www.0zz0.com)
صوره اهيه يا باشا
™MaR™
16-02-2015, 05:23 PM
انت مظبط Odbc !!!
killer2speed11
16-02-2015, 05:26 PM
انت مظبط Odbc !!!
ايوه ياباشا مظبط كل حاجه
killer2speed11
16-02-2015, 05:32 PM
رامات 24 اية الافترا دا ^_^ . علي العموم بص علي GameServer و ShardManger شوف بيجيلك ايرور لما بتاخد DC ولا لا . وحاول تفتح بوت وتشوف DC ولا Crash هيا مش هتفرق كتير بس هنعرف انها من الداتا بيز ولا الكلينت
هي داتا بيس Castaway بس انا مغير الكلينت لو كدا عرفني مكان المسار بتاع ال Storage في الكلينت وانا اجيبو
ولو ممكن حضرتك تفتح ال Facebook انا LuckyHeart
killer2speed11
16-02-2015, 05:33 PM
بس ادام يا جماعه بتجيب كدا في ال GameServer يبقي من الداتا ؟ وايه حلها ؟
:111 (11): :111 (11): :mfr_bl4:
killer2speed11
16-02-2015, 05:48 PM
up
™Dev Microsoft™
16-02-2015, 06:17 PM
حضرتك بلاش سبام UP دي بتتعمل كل 24 ساعة
Hamza FiGo
16-02-2015, 06:19 PM
روح يا باشا علي المسار دا
SRO_VT_SHARD >> Programmability >> Stored Procedure >> _STRG_MOVE_ITEM
وكليك يمين Modify وحط الكيوري دا بدل اللي عندك
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_STRG_MOVE_ITEM] Script Date: 16/02/2015 05:17:16 م ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--------------------------------------------------------------------------------------------------------------------------
-- PROC #3
-- _STRG_MOVE_ITEM ÇÁ·Î½ÃÁ®¸¦ ¼öÁ¤ÇÏ¿© ¾Æ¹ÙŸ Àκ¥Å丮·Î ¾ÆÀÌÅÛ À̵¿ ±â´ÉÀ» Ãß°¡ÇØ ÁÖÀÚ! - by zone0000 (Çã½Â¿í)
--------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------
-- _STRG_MOVE_ITEM ¾Æ¹ÙŸ Operation(35)(36) Ãß°¡ (Çã½Â¿í)
-----------------------------------------------------------------
ALTER PROCEDURE [dbo].[_STRG_MOVE_ITEM]
@Operation AS TINYINT,
@UserJID AS INT,
@CharID AS INT,
@GuildID AS BIGINT, -- Operation 39, 40¿¡¼± LinkedItemID·Î »ç¿ë.
@Slot_From AS TINYINT,
@Slot_To AS TINYINT,
@Data AS INT, -- ºÎ¼*Áø Àåºñµµ °¡´ÉÇϱⶫ¿¡ 0 ÀÌ µÉ ¼ö ÀÖ´Ù.
@RemoveAndOverwrite AS TINYINT
AS
----------------
-- SP_UPDATE_SLOTS_INV 0
-- SP_UPDATE_SLOTS_CHEST 1
-- SP_DEPOSIT_ITEM 2
-- SP_WITHDRAW_ITEM 3
-- SP_UPDATE_SLOTS_INV_COS 16
-- SP_GUILD_CHEST_UPDATE_SLOT 29
-- SP_GUILD_CHEST_DEPOSIT_ITEM 30
-- SP_GUILD_CHEST_WITHDRAW_ITEM 31
-- SP_MOVE_ITEM_AVATAR_PC 35 -- Avatar Ãß°¡
-- SP_MOVE_ITEM_PC_AVATAR 36 -- Avatar Ãß°¡
-- SP_PUSH_ITEM_INTO_MAGIC_CUBE 39 -- MagicCubeÃß°¡
-- SP_POP_ITEM_FROM_MAGIC_CUBE 40 -- MagicCubeÃß°¡
----------------
IF (@Operation <> 0 AND @Operation <> 1 AND @Operation <> 2 AND @Operation <> 3 AND @Operation <> 16 AND @Operation <> 29 AND @Operation <> 30 AND @Operation <> 31
AND @Operation <> 35 AND @Operation <> 36 -- Avatar Ãß°¡
AND @Operation <> 39 AND @Operation <> 40 ) -- MagicCubeÃß°¡
BEGIN
RETURN -1000
END
-- overwrite ´Â ¿ÀÁ÷ inventory ¾È¿¡¼*¸¸ ÀϾ ¼ö ÀÖ´Â ÀÏÀÌ´Ù(È*»ì ÀÚµ¿ reloading)
IF (@RemoveAndOverwrite <> 0 AND @Operation <> 0)
BEGIN
RETURN -1001
END
DECLARE @ItemID_From BIGINT
DECLARE @ItemID_To BIGINT
SET @ItemID_From = 0
SET @ItemID_To = 0
----------------------------------------------------------
-- Step1. Src Slot °ú Dst Slot ÀÇ ¾ÆÀÌÅÛ ¾ò±â ¹× Á¸Àç ¹«°á¼º °Ë»ç
----------------------------------------------------------
-------------- Src Item ¾ò±â
IF (@Operation = 0 OR @Operation = 2 OR @Operation = 30) -- src: inventory
BEGIN
SELECT @ItemID_From = ItemID FROM _Inventory WHERE CharID = @CharID AND Slot = @Slot_From
END
ELSE IF (@Operation = 1 OR @Operation = 3) -- src: chest
BEGIN
SELECT @ItemID_From = ItemID FROM _Chest WHERE UserJID = @UserJID AND Slot = @Slot_From
END
ELSE IF (@Operation = 16)
BEGIN
SELECT @ItemID_From = ItemID FROM _InvCOS WHERE COSID = @CharID AND Slot = @Slot_From
END
ELSE IF (@Operation = 29 OR @Operation = 31)
BEGIN
SELECT @ItemID_From = ItemID FROM _GuildChest WHERE GuildID = @GuildID AND Slot = @Slot_From
END
-- Avatar Ãß°¡ ( Avatar -> PC )
ELSE IF (@Operation = 35)
BEGIN
SELECT @ItemID_From = ItemID FROM _InventoryForAvatar WHERE CharID = @CharID AND Slot = @Slot_From
END
-- Avatar Ãß°¡ ( PC -> Avatar )
ELSE IF (@Operation = 36)
BEGIN
SELECT @ItemID_From = ItemID FROM _Inventory WHERE CharID = @CharID AND Slot = @Slot_From
END
-- MagicCube Ãß°¡( PCInv -> MagicCube )
ELSE IF (@Operation = 39)
BEGIN
SELECT @ItemID_From = ItemID FROM _Inventory WHERE CharID = @CharID AND Slot = @Slot_From
END
-- MagicCube Ãß°¡( MagicCube -> PCInv )
ELSE IF (@Operation = 40)
BEGIN
SELECT @ItemID_From = ItemID FROM _InventoryForLinkedStorage WHERE LinkedItemID = @GuildID AND Slot = @Slot_From
END
-------------- Dst Item ¾ò±â
IF (@Operation = 0 OR @Operation = 3 OR @Operation = 31) -- dst: inventory
BEGIN
SELECT @ItemID_To = ItemID FROM _Inventory WHERE CharID = @CharID AND Slot = @Slot_To
END
ELSE IF (@Operation = 1 OR @Operation = 2) -- dst: chest
BEGIN
SELECT @ItemID_To = ItemID FROM _Chest WHERE UserJID = @UserJID AND Slot = @Slot_To
END
ELSE IF (@Operation = 16)
BEGIN
SELECT @ItemID_To = ItemID FROM _InvCOS WHERE COSID = @CharID AND Slot = @Slot_To
END
ELSE IF (@Operation = 29 OR @Operation = 30)
BEGIN
SELECT @ItemID_To = ItemID FROM _GuildChest WHERE GuildID = @GuildID AND Slot = @Slot_To
END
-- Avatar Ãß°¡ ( Avatar -> PC )
ELSE IF (@Operation = 35)
BEGIN
SELECT @ItemID_To = ItemID FROM _Inventory WHERE CharID = @CharID AND Slot = @Slot_To
END
-- Avatar Ãß°¡ ( PC -> Avatar )
ELSE IF (@Operation = 36)
BEGIN
SELECT @ItemID_To = ItemID FROM _InventoryForAvatar WHERE CharID = @CharID AND Slot = @Slot_To
END
-- MagicCube Ãß°¡( PCInv -> MagicCube )
ELSE IF (@Operation = 39)
BEGIN
SELECT @ItemID_To = ItemID FROM _InventoryForLinkedStorage WHERE LinkedItemID = @GuildID AND Slot = @Slot_To
END
-- MagicCube Ãß°¡( MagicCube -> PCInv )
ELSE IF (@Operation = 40)
BEGIN
SELECT @ItemID_To = ItemID FROM _Inventory WHERE CharID = @CharID AND Slot = @Slot_To
END
-------------- ¹«°á¼º °Ë»ç
IF (@RemoveAndOverwrite <> 0)
BEGIN
-- µÎ ½½·Ô ¸ðµÎ ¾ÆÀÌÅÛÀÌ Á¸ÀçÇØ¾ß ÇÑ´Ù.
IF (@ItemID_From IS NULL OR @ItemID_To IS NULL)
BEGIN
RETURN -1003
END
IF (@ItemID_From = 0 OR @ItemID_To = 0)
BEGIN
RETURN -1004
END
END
ELSE
BEGIN
-- Source ½½·Ô¿¡¸¸ ¾ÆÀÌÅÛÀÌ Á¸ÀçÇØ¾ß ÇÑ´Ù.
IF (@ItemID_From IS NULL OR @ItemID_From = 0)
BEGIN
RETURN -1005
END
IF (@ItemID_To IS NOT NULL AND @ItemID_To <> 0)
BEGIN
RETURN -1006
END
END
IF (@Operation = 0)
BEGIN
IF (@Slot_To < 13)
BEGIN
DECLARE @CheckValidity INT
EXEC @CheckValidity = _STRG_CHECKITEM_CANBE_EQUIPED @ItemID_From, @Slot_To
IF (@CheckValidity <= 0)
BEGIN
RETURN @CheckValidity
END
END
END
BEGIN TRANSACTION
----------------------------------------------------------
-- Step2. Storage ¾÷µ¥ÀÌÆ®
----------------------------------------------------------
-------------- Src Slot °»½Å
IF (@Operation = 0 OR @Operation = 2 OR @Operation = 30)
BEGIN
UPDATE _Inventory SET ItemID = 0 WHERE CharID = @CharID AND Slot = @Slot_From
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2
END
END
ELSE IF (@Operation = 1 OR @Operation = 3)
BEGIN
UPDATE _Chest SET ItemID = 0 WHERE UserJID = @UserJID AND Slot = @Slot_From
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2
END
END
ELSE IF (@Operation = 16)
BEGIN
UPDATE _InvCOS SET ItemID = 0 WHERE COSID = @CharID AND Slot = @Slot_From
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2
END
END
ELSE IF (@Operation = 29 OR @Operation = 31)
BEGIN
UPDATE _GuildChest SET ItemID = 0 WHERE GuildID = @GuildID AND Slot = @Slot_From
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2
END
END
-- Avatar Ãß°¡ ( Avatar -> PC )
ELSE IF (@Operation = 35 )
BEGIN
UPDATE _InventoryForAvatar SET ItemID = 0 WHERE CharID = @CharID AND Slot = @Slot_From
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2
END
END
-- Avatar Ãß°¡ ( PC -> Avatar )
ELSE IF (@Operation = 36 )
BEGIN
UPDATE _Inventory SET ItemID = 0 WHERE CharID = @CharID AND Slot = @Slot_From
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2
END
END
-- MagicCube Ãß°¡( PCInv -> MagicCube )
ELSE IF (@Operation = 39 )
BEGIN
UPDATE _Inventory SET ItemID = 0 WHERE CharID = @CharID AND Slot = @Slot_From
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2
END
END
-- MagicCube Ãß°¡( MagicCube -> PCInv )
ELSE IF (@Operation = 40 )
BEGIN
UPDATE _InventoryForLinkedStorage SET ItemID = 0 WHERE LinkedItemID = @GuildID AND Slot = @Slot_From
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2
END
END
-------------- Dst Slot °»½Å
IF (@Operation = 0 OR @Operation = 3 OR @Operation = 31)
BEGIN
UPDATE _Inventory SET ItemID = @ItemID_From WHERE CharID = @CharID AND Slot = @Slot_To
END
ELSE IF (@Operation = 1 OR @Operation = 2)
BEGIN
UPDATE _Chest SET ItemID = @ItemID_From WHERE UserJID = @UserJID AND Slot = @Slot_To
END
ELSE IF (@Operation = 16)
BEGIN
UPDATE _InvCOS SET ItemID = @ItemID_From WHERE COSID = @CharID AND Slot = @Slot_To
END
ELSE IF (@Operation = 29 OR @Operation = 30)
BEGIN
UPDATE _GuildChest SET ItemID = @ItemID_From WHERE GuildID = @GuildID AND Slot = @Slot_To
END
-- Avatar Ãß°¡ ( Avatar -> PC )
ELSE IF (@Operation = 35)
BEGIN
UPDATE _Inventory SET ItemID = @ItemID_From WHERE CharID = @CharID AND Slot = @Slot_To
END
-- Avatar Ãß°¡ ( PC -> Avatar )
ELSE IF (@Operation = 36)
BEGIN
UPDATE _InventoryForAvatar SET ItemID = @ItemID_From WHERE CharID = @CharID AND Slot = @Slot_To
END
-- MagicCube Ãß°¡( PCInv -> MagicCube )
ELSE IF (@Operation = 39)
BEGIN
UPDATE _InventoryForLinkedStorage SET ItemID = @ItemID_From WHERE LinkedItemID = @GuildID AND Slot = @Slot_To
END
-- MagicCube Ãß°¡( MagicCube -> PCInv )
ELSE IF (@Operation = 40)
BEGIN
UPDATE _Inventory SET ItemID = @ItemID_From WHERE CharID = @CharID AND Slot = @Slot_To
END
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -3
END
----------------------------------------------------------
-- Step3. Overwrite ÇØ¾ß ÇÏ´Â °æ¿ì ¿ø·¡ ´ë»ó ½½·Ô¿¡ ÀÖ´ø ¾ÆÀÌÅÛ »èÁ¦!
----------------------------------------------------------
IF (@RemoveAndOverwrite <> 0)
BEGIN
DECLARE @Rvalue INT
EXEC @Rvalue = _STRG_FREE_ITEM_NoTX @ItemID_To
IF (@Rvalue < 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -4
END
END
----------------------------------------------------------
-- Step4. 4Byte Item Data °»½Å (±âÁ¸ °ªÀÌ º¯°æµÈ °æ¿ì¸¸!)
----------------------------------------------------------
DECLARE @Old_ItemData INT
SELECT @Old_ItemData = Data FROM _ITEMS WHERE ID64 = @ItemID_From
IF (@Old_ItemData IS NOT NULL AND @Old_ItemData <> @Data)
BEGIN
UPDATE _Items SET Data = @Data WHERE ID64 = @ItemID_From
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -4
END
END
----------------------------------------------------------
-- Step4. COMMIT
----------------------------------------------------------
COMMIT TRANSACTION
RETURN 1
Hamza FiGo
16-02-2015, 06:21 PM
ونفس المسار بس انزل تحت شوية علي _UPDATE_USER_N_CHAR_GOLD حط الكيوري دا بدل اللي عندك
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_UPDATE_USER_N_CHAR_GOLD] Script Date: 16/02/2015 05:21:07 م ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[_UPDATE_USER_N_CHAR_GOLD]
@UserJID AS INT,
@NewGold_User AS BIGINT,
@CharID AS INT,
@NewGold_Char AS BIGINT
AS
IF (@NewGold_User < 0 OR @NewGold_Char < 0)
BEGIN
RETURN -1
END
BEGIN TRANSACTION
UPDATE _AccountJID SET Gold = @NewGold_User WHERE JID = @UserJID
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2
END
UPDATE _Char SET RemainGold = @NewGold_Char WHERE CharID = @CharID
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -3
END
COMMIT TRANSACTION
RETURN 1
killer2speed11
16-02-2015, 06:40 PM
ونفس المسار بس انزل تحت شوية علي _UPDATE_USER_N_CHAR_GOLD حط الكيوري دا بدل اللي عندك
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_UPDATE_USER_N_CHAR_GOLD] Script Date: 16/02/2015 05:21:07 م ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[_UPDATE_USER_N_CHAR_GOLD]
@UserJID AS INT,
@NewGold_User AS BIGINT,
@CharID AS INT,
@NewGold_Char AS BIGINT
AS
IF (@NewGold_User < 0 OR @NewGold_Char < 0)
BEGIN
RETURN -1
END
BEGIN TRANSACTION
UPDATE _AccountJID SET Gold = @NewGold_User WHERE JID = @UserJID
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2
END
UPDATE _Char SET RemainGold = @NewGold_Char WHERE CharID = @CharID
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -3
END
COMMIT TRANSACTION
RETURN 1
شكرا يا hamza باشا <3 تم الحل مش زي الي داخل يقولي UP كل 24 ساعه طب رد ع الموضوع وبعدين قول Up كل 24 ساعه شكرا يا معلم Close##
Hamza FiGo
16-02-2015, 06:51 PM
العفو يا باشا . بس مع احترامي بلاش الكلام دة لاي مشرف او عضو ^_^
™MaR™
16-02-2015, 11:39 PM
يغلق
##
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions, Inc