حفظ بياناتي ؟

1/01/2023

22/05/2024_hema

22/05/2024_hema

END_shaher_01/01/2025

Ahmed_k_nayel_01_01_2025

END_02/12/2024

END 29/01/2025

END 30/02/2025_Belal

END 06/01/2025

END 12/01/2025

END _14/01/2025_Karuoke

END _14/01/2025_Karuoke

END 18/01/2025

END 18/01/2025

END 20/01/2025_coinY

END 20/01/2025_1418

END 30/01/2025

END 30/01/2025

END 01/02/2025

25/01/2022

QueenSro_01_10_2024

Ahmed_k_nayel_01_01_2025

ibrahim_END 07/1212024

END 29/01/2025

END 12/01/2025

END _14/01/2025_Karuoke

END 18/01/2025

END 18/01/2025

END 20/01/2025_coinY

END 30/01/2025

END 30/01/2025

END 06/02/2025

END 06/02/2025

 الـجـروب الـرسـمى لـلـمـنـتـدى FaceBook | Official Group 



قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة [ قسم خاص لأسئلة واستفسارات عمل السيرفرات الخاصة ] [ يرجى الالتزام بقوانين قسم الأسئلة والاستفسارات ]

 
 
أدوات الموضوع انواع عرض الموضوع
قديم 31-12-2016, 01:43 PM   #1

Dev.Myth
عضو فضى



الصورة الرمزية Dev.Myth

مشرف قسم CrossFire

• الانـتـسـاب » May 2010
• رقـم العـضـويـة » 70996
• المشـــاركـات » 3,556
• الـدولـة » مــصــر
• الـهـوايـة » Silkroad Service
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 15
Dev.Myth صـاعـد

Dev.Myth غير متواجد حالياً


إرسال رسالة عبر Yahoo إلى Dev.Myth

افتراضي C-Sro Upgrade items



السلام عليكم
مشكله مع الـ Upgrade Items بعد الإستخدام بتجيب DC لكن العمليه بتتنفذ والجيم سيرفر طبعاً بيجيب كده :
كود PHP:
AQ succeeded but AsyncQueryCompleted() error occurred [AQType40
حاولت اعمل حاجات كتيره علشان احاول احلها بس مش عارف اصلاً انا بقيت ماشى صح ولا غلط ولا انا بقيت بعمل ايه وديه اخر حاجه وصلت ليها
ده البروسيدور

كود PHP:
USE [Test]
GO
/****** Object:  StoredProcedure [dbo].[_STRG_EQUIP_ITEM_UPGRADE]    Script Date: 31/12/2016 11:51:19 ص ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE 
[dbo].[_STRG_EQUIP_ITEM_UPGRADE]
@
CharID            INT,
@
UgdSuccess        TINYINT,
@
UgdEquipSlot        TINYINT,
@
UgdStoneSlot        TINYINT,
@
UgdRefItemID        INT    0,
@
UgdOptLevel        TINYINT    0,
@
UgdVariance        BIGINT    0,
@
UgdData        INT    0,
@
UgdCreateName    VARCHAR(64)    = '',
@
UgdMagParamNum    TINYINT        0,
@
UgdMagParam1        BIGINT    0,
@
UgdMagParam2        BIGINT    0,
@
UgdMagParam3        BIGINT    0,
@
UgdMagParam4        BIGINT    0,
@
UgdMagParam5        BIGINT    0,
@
UgdMagParam6        BIGINT    0,
@
UgdMagParam7        BIGINT    0,
@
UgdMagParam8        BIGINT    0,
@
UgdMagParam9        BIGINT    0,
@
UgdMagParam10        BIGINT    0,
@
UgdMagParam11        BIGINT    0,
@
UgdMagParam12        BIGINT    0
AS
DECLARE @
UgdEquipID64        BIGINT
    
DECLARE @UgdEquipRefID        INT
    
DECLARE @UgdEquipSerial64    BIGINT
    
DECLARE @UgdEquipTID2        TINYINT
    
DECLARE @UgdEquipTID3        TINYINT
    
DECLARE @UgdEquipItemClass    TINYINT

    
DECLARE @UgdStoneID64        BIGINT
    
DECLARE @UgdStoneRefID        INT
    
DECLARE @UgdStoneSerial64    BIGINT
    
DECLARE @UgdStoneCount    INT
    
DECLARE @CheckTID3_1        INT
    
DECLARE @CheckTID3_2        INT

    SET 
@UgdEquipID64    0
    SET 
@UgdEquipRefID    0
    SET 
@UgdEquipSerial64    0
    SET 
@UgdEquipTID2    0
    SET 
@UgdEquipTID3    0
    SET 
@UgdEquipItemClass    0

    SET 
@UgdStoneRefID    0
    SET 
@UgdStoneID64    0
    SET 
@UgdStoneSerial64    0
    SET 
@UgdStoneCount    0
    SET 
@CheckTID3_1    0
    SET 
@CheckTID3_2    0

    
-- ى—…ê·¸ë*ˆى‌´ë“œ ى„±ê³µ ى‹¤يŒ¨ى—گ ëŒ€ي•œ ê²°ê³¼ê°’ ى*€ى‍¥
    
    
DECLARE @UpgradeResult     TABLE
    
(
        
Type        TINYINT,
        
RefItemID    INT,
        
Slot        TINYINT,
        [
Count]        INT,
        
ID64        BIGINT,
        
Serial64        BIGINT        
    
)

    -- 
ي•´ë‹¹ ى؛گë¦*ي„°ê°€ ى،´ى‍¬ي•کëٹ”ى§€ ي™•ى‌¸
    
IF  NOT EXISTS SELECT FROM _Char WITH (NOLOCKWHERE CharID = @CharID )
    
BEGIN
        INSERT 
@UpgradeResult VALUES0, -1000)
        
SELECT FROM @UpgradeResult 
        
RETURN
    
END

    
-- ى—…ê·¸ë*ˆى‌´ë“œي•ى‍¥ë¹„ ى•„ى‌´ي…œê³¼ ى„±ى‍¥ى„‌ى‌ک ItemID를 ي™•ى‌¸
    SELECT 
@UgdEquipID64 ISNULLMAX(ItemID), FROM _Inventory WITH (NOLOCKWHERE CharID = @CharID AND Slot = @UgdEquipSlot
    SELECT 
@UgdStoneID64 ISNULLMAX(ItemID), FROM _Inventory WITH (NOLOCKWHERE CharID = @CharID AND  Slot = @UgdStoneSlot

    
IF( @UgdEquipID64 OR @UgdStoneID64 )
    
BEGIN
        INSERT 
@UpgradeResult VALUES0, -2000)
        
SELECT FROM @UpgradeResult 
        
RETURN
    
END

    
-- ى—…ê·¸ë*ˆى‌´ë“œي•ى‍¥ë¹„ ى•„ى‌´ي…œى‌ک ëچ°ى‌´ي„°ë¥¼ ى–»ى–´ىک¨ë‹¤!!!
    
SELECT @UgdEquipRefID ISNULLMAX(RefItemID), ), @UgdEquipSerial64 ISNULLMAX(Serial64), )
    
FROM _Items  AS I WITH (NOLOCK)
    
JOIN _ItemPool AS IP WITH (NOLOCKON I.ID64 IP.ItemID
    WHERE ID64 
= @UgdEquipID64 AND IP.InUse 1

    
IF( @UgdEquipRefID OR @UgdEquipSerial64 )
    
BEGIN
        INSERT 
@UpgradeResult VALUES0, -3000)
        
SELECT FROM @UpgradeResult 
        
RETURN
    
END

     
-- ي•´ë‹¹ ى—…ê·¸ë*ˆى‌´ë“œي•ى•„ى‌´ي…œى‌´ ى‍¥ë¹„ ى•„ى‌´ي…œى‌´ê³11ى°¨ ى‌´ىƒپRarityê°€ 2(ë*ˆى–´) OR 6(ë*ˆى–´ى…‹يٹ¸)ى‌¸ى§€ ي™•ى‌¸ (11ى°¨ ى‌´ىƒپ만 ى—…ê·¸ë*ˆى‌´ë“œ ê°€ëٹ¥!!!)  
     
SELECT @UgdEquipTID2 ISNULLMAX(ROC.TypeID2), ), @UgdEquipTID3 ISNULLMAX(ROC.TypeID3), ),  @UgdEquipItemClass = ( ( ISNULLMAX(ROI.ItemClass), ) + ) / )   
     
FROM _RefObjCommon AS ROC JOIN _RefObjItem AS ROI ON ROC.Link ROI.ID   
     WHERE ROC
.ID = @UgdEquipRefID AND ROC.TypeID1AND ROC.TypeID2 AND  ROI.ItemClass 30
      
     
IF( @UgdEquipTID2 OR @UgdEquipTID3 OR @UgdEquipItemClass )  
     
BEGIN  
      INSERT 
@UpgradeResult VALUES0, -4000)  
      
SELECT FROM @UpgradeResult   
      
RETURN    
     
END  
    
-- ى„±ى‍¥ى„‌ ى•„ى‌´ي…œى—گ ëŒ€ي•œ ëچ°ى‌´ي„°ë¥¼ ى–»ى–´ىک¨ë‹¤.
    
SELECT @UgdStoneRefID ISNULLMAX(RefItemID), ), @UgdStoneCount ISNULLMAX(Data), ), @UgdStoneSerial64ISNULLMAX(Serial64), )
    
FROM _Items  AS I WITH (NOLOCK)
    
JOIN _ItemPool AS IP WITH (NOLOCKON I.ID64 IP.ItemID
    WHERE ID64 
= @UgdStoneID64 AND IP.InUse 1

    
IF( @UgdStoneRefID OR @UgdStoneSerial64 OR @UgdStoneCount )
    
BEGIN
        INSERT 
@UpgradeResult VALUES0, -5000)
        
SELECT FROM @UpgradeResult 
        
RETURN
    
END

    
-- ى„±ى‍¥ى„‌ ى•„ى‌´ي…œى‌´ ى‹¤ى*œ ى„±ى‍¥ى„‌ ى•„ى‌´ي…œ يƒ€ى‍…ى‌¸ى§€ ي™•ى‌¸ي•کى‍گ!!!
    -- 
ى„±ى‍¥ى„‌ى‌ک FreeParam1 ëŒ€ىƒپ ى‍¥ë¹„ ى•„ى‌´ي…œى‌ک ى°¨ىˆک
    
-- ى„±ى‍¥ى„‌ى‌ک FreeParam2 ëŒ€ىƒپ ى‍¥ë¹„ ى•„ى‌´ي…œى‌ک TypeID2
    
-- ى„±ى‍¥ى„‌ى‌ک FreeParam3 ëŒ€ىƒپ ى‍¥ë¹„ ى•„ى‌´ي…œى‌ک TypeID3(비يٹ¸ë§ˆىٹ¤ي‚¹)
    -- 
ى„±ى‍¥ى„‌ى‌ک FreeParam4 ëŒ€ىƒپ ى‍¥ë¹„ ى•„ى‌´ي…œى‌ک TypeID3(비يٹ¸ë§ˆىٹ¤ي‚¹)
    
SELECT @CheckTID3_1 ISNULLMAX(ROI.Param3), ), @CheckTID3_2 ISNULLMAX(ROI.Param4), )  
    
FROM _RefObjCommon AS ROC JOIN _RefObjItem AS ROI ON ROC.Link ROI.ID
    WHERE ROC
.ID = @UgdStoneRefID AND ROI.Param1 = @UgdEquipItemClass AND ROI.Param2 = @UgdEquipTID2

    
IF ( @CheckTID3_1 AND @CheckTID3_2 )
    
BEGIN
        INSERT 
@UpgradeResult VALUES0, -6000)
        
SELECT FROM @UpgradeResult 
        
RETURN        
    
END
    
    
DECLARE @Cnt        TINYINT
    
DECLARE @TID3_1    TINYINT
    
DECLARE @TID3_2    TINYINT
    
DECLARE @IsEqualTID3    TINYINT

    SET 
@Cnt        0
    SET 
@TID3_1        0
    SET 
@TID3_2        0
    SET 
@IsEqualTID3    0
    
    
WHILE( @Cnt <= )
    
BEGIN
        SET 
@TID3_1  = ( @CheckTID3_1 POWER* @Cnt ) ) & 0xFF
        SET 
@TID3_2  = ( @CheckTID3_2 POWER* @Cnt ) ) & 0xFF

        
IF( @UgdEquipTID3 IN ( @TID3_1, @TID3_2) )
        
BEGIN
            
-- ى‍¥ë¹„ ى•„ى‌´ي…œê³¼ ى„±ى‍¥ى„‌ى‌ک  ëŒ€ىƒپ TID3ى‌´ ëڈ™ى‌¼ي•ک구ë‚ک!!!
            
SET @IsEqualTID3 1
            
BREAK
        
END

        SET 
@Cnt = @Cnt 1
    END

    
-- ى‍¥ë¹„ ى•„ى‌´ي…œê³¼ ى„±ى‍¥ى„‌ى‌ک  ëŒ€ىƒپ TID3ى‌´ ëڈ™ى‌¼ي•کى§€ ى•ٹ구ë‚ک!!!    
    IF( @
IsEqualTID3 )
    
BEGIN
        INSERT 
@UpgradeResult VALUES0, -7000)
        
SELECT FROM @UpgradeResult 
        
RETURN        
    
END

    
DECLARE @ErrorCode INT
    SET 
@ErrorCode 0
    
    BEGIN TRANSACTION

    
-- ى‌¼ë‹¨ ى—…ê·¸ë*ˆى‌´ë“œ ى„±ê³µ/ى‹¤يŒ¨ ى—¬ë¶€ë¥¼ ë–*ë‚کى„œ ى„±ى‍¥ى„‌ى‌€ ى‚*ى*œي•´ى£¼ى‍گ!!!
    IF( @
UgdStoneCount )
    
BEGIN
        
-- ى„±ى‍¥ى„‌ى‌ک ê°¯ىˆکê°€ 1ى‌´ىƒپى‌´ë‹¤;;; 
        
UPDATE _Items Set Data = @UgdStoneCount 1 WHERE ID64 = @UgdStoneID64
        
IF( @@ERROR <> )
        
BEGIN
            ROLLBACK TRANSACTION
            INSERT 
@UpgradeResult VALUES0, -8000)
            
SELECT FROM @UpgradeResult 
            
RETURN        
        
END

        SET 
@UgdStoneCount = @UgdStoneCount  -1
    END
    
ELSE
    
BEGIN
        EXEC 
@ErrorCode =  _STRG_DEL_ITEM_NoTX 1, @CharID, @UgdStoneSlot
        
IF( @ErrorCode )
        
BEGIN
            ROLLBACK TRANSACTION
            INSERT 
@UpgradeResult VALUES0, -9000)
            
SELECT FROM @UpgradeResult 
            
RETURN        
        
END

        SET 
@UgdStoneCount 0
    END

    SET 
@UgdStoneCount = @UgdStoneCount 1
    
    
IF( @UgdSuccess )
    
BEGIN
        
-- ي•´ë‹¹ ى‍¥ë¹„ ى•„ى‌´ي…œى‌„ ى—…ê·¸ë*ˆى‌´ë“œ ي•کى‍گ!!!
        IF 
NOT EXISTS SELECT FROM _RefObjCommon WHERE ID = @UgdRefItemID )
        
BEGIN
            ROLLBACK TRANSACTION
            INSERT 
@UpgradeResult VALUES0, -10000)
            
SELECT FROM @UpgradeResult 
            
RETURN            
        
END
        
        
-- ىٹ¹ê³„ي•œ ىکµë*ˆë²¨ى‌€ 12ى‌´ي•کى‌´ë‹¤!!! (12ى°¨ ى‌´ىƒپى‌€ ىکµë*ˆë²¨ 15ê°€ ىµ‌ىک¤!!!)
        DECLARE @
MAX_OPT_LEVEL TINYINT
        SET 
@MAX_OPT_LEVEL 15
        
IF( @UgdOptLevel > @MAX_OPT_LEVEL )
        
BEGIN
            ROLLBACK TRANSACTION
            INSERT 
@UpgradeResult VALUES0, -11000)
            
SELECT FROM @UpgradeResult 
            
RETURN        
        
END

        
-- ë§¤ى§پىکµى…ک ê°¯ىˆکëٹ” 12개를 ى´ˆê³¼ي•ىˆک ى—†ë‹¤!!!
        DECLARE @
MAX_MGC_OPT_NUM TINYINT
        SET 
@MAX_OPT_LEVEL 12
        
IF( @UgdMagParamNum > @MAX_MGC_OPT_NUM )
        
BEGIN
            ROLLBACK TRANSACTION
            INSERT 
@UpgradeResult VALUES0, -12000)
            
SELECT FROM @UpgradeResult 
            
RETURN        
        
END

        
-- ë¬¸ى*œê°€ ى—†ë‹¤ë©´ ي•´ë‹¹ ى•„ى‌´ي…œى‌„ ى—…ê·¸ë*ˆى‌´ë“œ ي•کى‍گ!!!
        
UPDATE _Items SET RefItemID = @UgdRefItemIDOptLevel =  @UgdOptLevelVariance = @UgdVarianceData = @UgdDataCreaterName = @UgdCreateName,
            
MagParamNum = @UgdMagParamNumMagParam1 = @UgdMagParam1MagParam2 = @UgdMagParam2MagParam3 = @UgdMagParam3,
            
MagParam4 = @UgdMagParam4MagParam5 = @UgdMagParam5MagParam6 = @UgdMagParam6MagParam7 = @UgdMagParam7MagParam8 = @UgdMagParam8,
            
MagParam9 = @UgdMagParam9MagParam10 = @UgdMagParam10MagParam11 = @UgdMagParam11MagParam12 = @UgdMagParam12
            WHERE ID64 
= @UgdEquipID64
        
IF( @@ROWCOUNT OR @@ERROR <> )
        
BEGIN
            ROLLBACK TRANSACTION
            INSERT 
@UpgradeResult VALUES0, -13000)
            
SELECT FROM @UpgradeResult 
            
RETURN        
        
END

        
-- يٹ¹ىˆک ى—کë¦*ى‹œë¥´ى—گ ى‌کي•´ ى¦‌ê°€ëگœ ىکµë*ˆë²¨ى‌´ ى‍ˆىœ¼ë©´ ى‚*ى*œي•´ى£¼ى‍گ!!!
        IF 
EXISTS (SELECT FROM sysobjects WHERE Name '_BindingOptionWithItem' AND Type 'U' )
        
BEGIN
            DELETE _BindingOptionWithItem WHERE nItemDBID 
= @UgdEquipID64 AND bOptType 2
        END

        
-- Type (ى•„ى‌´ي…œ ى—…ê·¸ë*ˆى‌´ë“œ), TypeID ى•„ى‌´ي…œ ى‚*ى*œ )
        
INSERT @UpgradeResult VALUES1, @UgdRefItemID, @UgdEquipSlot0, @UgdEquipID64, @UgdEquipSerial64 )

    
END

    
-- Type (ى•„ى‌´ي…œ ى—…ê·¸ë*ˆى‌´ë“œ), TypeID ى•„ى‌´ي…œ ى‚*ى*œ )
    -- 
ى„±ى‍¥ى„‌ ى‚*ى*œى—گ ëŒ€ي•œ ë،œê·¸ë¥¼ ê¸°ë،‌ي•کى‍گ!!!
    
INSERT @UpgradeResult VALUES2, @UgdStoneRefID, @UgdStoneSlot, @UgdStoneCount, @UgdStoneID64, @UgdStoneSerial64 )

    
COMMIT TRANSACTION

    SELECT 
FROM @UpgradeResult 
التابل
كود PHP:
nItemDBID  bOptType  nSlot  nOptID  nOptLvl  nOptValue    nParam1  nParam2  
174    1    0    31734    1    0    32166    0
174    1    1    0    0    0    0    0
174    1    2    0    0    0    0    0
189    1    0    31738    2    0    32161    0
189    1    1    31743    1    0    32163    0
189    1    2    31755    2    0    32167    0
468    1    0    31734    1    0    32166    0
468    1    1    0    0    0    0    0
468    1    2    0    0    0    0    0
832    1    0    60046    2    0    101626    0
832    1    1    0    0    0    0    0
832    1    2    0    0    0    0    0
1171    1    0    0    0    0    0    0
1171    1    1    60045    1    0    101626    0
1171    1    2    0    0    0    0    0
1182    1    0    0    0    0    0    0
1182    1    1    0    0    0    0    0
1182    1    2    60047    3    0    101626    0
1724    1    0    31756    3    0    32167    0
1724    1    1    31751    1    0    32165    0
1724    1    2    0    0    0    0    0
1732    1    0    0    0    0    0    0
1732    1    1    31730    3    0    32159    0
1732    1    2    0    0    0    0    0
1826    1    0    31753    3    0    32165    0
1826    1    1    31755    2    0    32167    0
2556    1    0    0    0    0    0    0
2556    1    1    31739    3    0    32161    0
2556    1    2    31747    5    0    32163    0
2803    1    0    31753    3    0    32165    0
2803    1    1    31756    3    0    32167    0
2803    1    2    31739    3    0    32161    0
3088    1    0    31739    3    0    32161    0
3088    1    1    31756    3    0    32167    0
3088    1    2    31753    3    0    32165    0
3283    1    0    0    0    0    0    0
3283    1    1    0    0    0    0    0
3283    1    2    0    0    0    0    0
3725    1    0    31737    1    0    32161    0
3725    1    1    0    0    0    0    0
3725    1    2    0    0    0    0    0
4090    1    0    60046    2    0    101626    0
4090    1    1    0    0    0    0    0
4090    1    2    0    0    0    0    0
4864    1    0    31738    2    0    32161    0
4864    1    1    0    0    0    0    0
4864    1    2    0    0    0    0    0
4872    1    0    31751    1    0    32165    0
4872    1    1    0    0    0    0    0
4872    1    2    31754    1    0    32167    0
4873    1    0    0    0    0    0    0
4873    1    1    31738    2    0    32161    0
4873    1    2    31743    1    0    32163    0
4874    1    0    31737    1    0    32161    0
4874    1    1    0    0    0    0    0
4874    1    2    0    0    0    0    0
4931    1    0    0    0    0    0    0
5039    1    0    60096    1    0    101636    0
5039    1    1    0    0    0    0    0
5039    1    2    0    0    0    0    0
5394    1    2    60085    5    0    101633    0
5403    1    2    60126    1    0    101642    0
5489    1    0    0    0    0    0    0
5489    1    1    60091    1    0    101635    0
5503    1    0    60090    5    0    101634    0
5503    1    1    0    0    0    0    0
5503    1    2    0    0    0    0    0
5563    1    0    0    0    0    0    0
5563    1    1    0    0    0    0    0
5563    1    2    60123    3    0    101641    0
5775    1    0    0    0    0    0    0
5775    1    1    60097    2    0    101636    0
5775    1    2    0    0    0    0    0
103428    1    0    33061    1    0    35027    0
103428    1    1    33053    1    0    35025    0
NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL 
وده التصميم بتاعه :

كود PHP:
nItemDBID    bigint    Unchecked 
bOptType    tinyint    Unchecked 
nSlot    tinyint    Unchecked 
nOptID    int    Unchecked 
nOptLvl    tinyint    Unchecked 
nOptValue    int    Unchecked 
nParam1    int    Checked 
nParam2    int    Checked 
وده كمان له علاقه بالموضوع وحاسس ان المشكله فيه مش عارف ليه :D

كود PHP:
USE [test]
GO
/****** Object:  StoredProcedure [dbo].[_STRG_DEL_ITEM_NoTX]    Script Date: 31/12/2016 12:48:10 م ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER   procedure 
[dbo].[_STRG_DEL_ITEM_NoTX]
@
DelFromPC_Inv    AS TINYINT,
@
CharID            AS BIGINT,  -- &#47588;직 큐브 추가로 인해 확장
@Slot            AS TINYINT

as
    declare @
Rvalue int
    
declare @ItemToDel bigint
    
     
if (@DelFromPC_Inv 1)    
        
select @ItemToDel ItemID FROM _Inventory WHERE CharID = @CharID AND Slot = @Slot    
    
else if ( @DelFromPC_Inv )  
        
select @itemToDel ItemID FROM _InventoryForLinkedStorage WHERE LinkedItemID = @CharID AND Slot = @Slot  
    
else if ( @DelFromPC_Inv ) -- #ifdef ADD_TRADE_BAG_INVENTORY 
        
select @itemToDel ItemID FROM _TradeBagInventory WHERE CharID = @CharID AND Slot = @Slot
    
else if ( @DelFromPC_Inv ) -- #ifdef ADD_TRADE_EQUIP_INVENTORY 
        
select @itemToDel ItemID FROM _TradeEquipInventory WHERE CharID = @CharID AND Slot = @Slot
    
--#ifdef PET_SYSTEM_RENEWAL
    
else if(  @DelFromPC_Inv 
        
select @ItemToDel ItemID FROM _EquipInvCos WHERE NewCOSID = @CharID AND Slot = @Slot        
    
--#endif // PET_SYSTEM_RENEWAL
    
else    
        
select @ItemToDel ItemID FROM _InvCOS WHERE COSID = @CharID AND Slot = @Slot
    
    
if (@ItemToDel IS NULL or @ItemToDel 0)
        return -
1

    
----------------------------------------
    -- &
#51320;라 이 아래쪽 순전히 펫 소환아이템 때문에 
    
-- &#46308;어간 코드이다. 분명 overhead이긴 하지만
    
-- _STRG_DEL_ITEM &#51032; 신뢰도와 게임서버 코드 복잡도
    
-- &#51613;가를 유발하지 않기 위해 어쩔 수 없는 판단이었다. T_T
    
----------------------------------------
    declare @
BoundCOS int
    
declare @RefItemID int
    select 
@RefItemID RefItemID, @BoundCOS Data from _Items where ID64 = @ItemToDel
    
if (@@ROWCOUNT 0)
        return -
2

    
----------------------------------------
    -- &
#54841;시 이눔 PET 소환아이템인가?
    
----------------------------------------
    declare @
TypeID1 tinyint
    
declare @TypeID2 tinyint
    
declare @TypeID3 tinyint
    select 
@TypeID1 TypeID1, @TypeID2 TypeID2, @TypeID3 TypeID3 from _RefObjCommon where ID = @RefItemID
    
if (@TypeID1 and @TypeID2 and @TypeID3 )
    
begin
        
----------------------------------------
        -- &
#50670;여있는 PET 이 있으면 그넘 삭제
        
----------------------------------------
        if (@
BoundCOS <> 0)    
        
begin
            exec 
@Rvalue _DeleteCharCOS_NoTX @BoundCOS
            
if (@Rvalue 0)
                return @
Rvalue
        end
    end

    
----------------------------------------          
    -- &
#54841;시 이눔 LinkedStorage아이템인가?          
    
----------------------------------------          
    else if( @
TypeID1 and @TypeID2 and @TypeID3 )          
    
begin        
        
----------------------------------------          
        -- &
#50670;여있는 Storage 있으면 그넘 삭제          
        
----------------------------------------          
        if (@
BoundCOS <> 0)           
        
begin          
            
IF( NOT EXISTSselect LinkedItemID from _InventoryForLinkedStorage where LinkedItemID = @ItemToDel ) )        
            
BEGIN return -1000 END        
            
IF( EXISTSselect top 1 ItemID from _InventoryForLinkedStorage where LinkedItemID = @ItemToDel and ItemID <> and ItemID IS NOT NULL  ) )        
            
BEGIN        
                update _ItemPool Set InUse 
0 from _ItemPool as IP join _InventoryForLinkedStorage as IFLS on IP.ItemID IFLS.ItemID        
                where IFLS
.LinkedItemID = @ItemToDel AND IFLS.ItemID <> 0        
            END        
            DELETE FROM _InventoryForLinkedStorage where LinkedItemID 
= @ItemToDel        
            
IF( @@ERROR <> )        
            
BEGIN return -2 END         
        end          
    end


    
-- ADD_BINDING_OPTION_INSTANCE_TABLE
     
----------------------------------------------------------  
     -- &
#49325;제 대상 아이템에 묶인 바인드 옵션 삭제
     
----------------------------------------------------------  
    if 
exists (select 1 from _BindingOptionWithItem with (nolockwhere nItemDBID = @ItemToDel)
    
begin -- &#45936;이터가 들어 있다면..
        
delete from _BindingOptionWithItem where nItemDBID = @ItemToDel
        
if (@@ERROR <> OR @@ROWCOUNT 0)
        
begin
            rollback transaction
            
return -5
        end
    end
    
-- ADD_BINDING_OPTION_INSTANCE_TABLE

     
----------------------------------------------------------    
     -- &
#49836;롯 비우기    
     
----------------------------------------------------------     
     if (@
DelFromPC_Inv )    
         
update _Inventory SET ItemID 0 WHERE CharID = @CharID AND Slot = @Slot    
     
else if (@DelFromPC_Inv )  
         
update _InventoryForLinkedStorage SET ItemID 0 WHERE LinkedItemID = @CharID AND Slot = @Slot   
     
else if (@DelFromPC_Inv ) -- #ifdef ADD_TRADE_BAG_INVENTORY     
         
update _TradeBagInventory SET ItemID 0 WHERE CharID = @CharID AND Slot = @Slot    
     
else if (@DelFromPC_Inv ) -- #ifdef ADD_TRADE_EQUIP_INVENTORY     
         
update _TradeEquipInventory SET ItemID 0 WHERE CharID = @CharID AND Slot = @Slot
     
-- #ifdef PET_SYSTEM_RENEWAL
    
else if(  @DelFromPC_Inv )  
        
update _EquipInvCos SET ItemID 0 WHERE NEWCOSID = @CharID AND Slot = @Slot      
    
--#endif // PET_SYSTEM_RENEWAL 
     
else  
         
update _InvCOS SET ItemID 0 WHERE COSID = @CharID AND Slot = @Slot 

    
if (@@error <> OR @@rowcount 0)
        return -
3
    
-- SYSTEM_RENT_ITEM
    
----------------------------------------------------------  
    -- &
#49325;제 대상 아이템에 묶인 임대 정보 삭제
    
----------------------------------------------------------  
        if 
exists (select 1 from _RentItemInfo with (nolockwhere nItemDBID = @ItemToDel)
        
begin
            delete from _RentItemInfo where nItemDBID 
= @ItemToDel
            
if (@@ERROR <> OR @@ROWCOUNT 0)
            
begin
                rollback transaction
                
return -6
            end
        end
    
-- SYSTEM_RENT_ITEM
    
----------------------------------------------------------
    -- &
#54644;당 아이템 삭제 
    
----------------------------------------------------------
    
exec @Rvalue _STRG_FREE_ITEM_NoTX  @ItemToDel
    
if (@Rvalue 0)

        return -
4

    
return 

_InventoryForLinkedStorage
Invalid Object Name
و
ItemID
LinkedItemID
Slot
Invaild Culmn name


كود PHP:
        IF EXISTS (SELECT FROM sysobjects WHERE Name '_BindingOptionWithItem' AND Type 'U' )
        
BEGIN
            DELETE _BindingOptionWithItem WHERE nItemDBID 
= @UgdEquipID64 AND bOptType 2
        END 
دلوقتى انا عاوز افهم انا ماشى صح ولا ده اصلاً ملهوش علاقه بالموضوع ولا في ايه بالظبط واحل المشكله ديه ازاى :D ؟
ولو حد عنده حل للمشكله يقول عليه بصرف النظر اذا كان يخص Vsro أو C-sro المهم نعرف ايه اللى بيعمل المشكله ديه البروسيدور سليم ومفهوش مشاكل وانا مش عارف صراحه ممكن تكون فين


طبعاً عارف ان معظم اللى اشتغلو على الملفات ديه عارفين الموضوع ده فقولت أعمل بيه موضوع واجيبه هنا علشان كلنا نبص بصه سوا :D واى حد عنده رأى او جرب حاجه ونفعت معاه يقولنا :)


توقيع Dev.Myth :

التعديل الأخير تم بواسطة Dev.Myth ; 31-12-2016 الساعة 02:09 PM

إعلانات google

 


يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر)
 

ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى الردود آخر مشاركة
upgrade hodamoseba قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة 4 10-01-2017 03:49 PM
set & acc upgrade hodamoseba قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة 2 02-01-2017 04:24 AM
upgrade HraZ قسم المواضيع المكررة و المخالفة 2 25-09-2014 11:15 AM
بخصوص Upgrade To D13 Items! shireeee قـسـم الاسـئـلـه و الاسـتـفـسـارات حـول الـلـعـبـة 6 12-09-2014 07:06 AM


الساعة الآن 08:39 AM.