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

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

drfoxman 23-11-2018 05:19 PM

الاكونت لما بياخد dc بياخد كوين
 
لو سمحتم انا عايز حل فى المشكله دى عندى اى شير بيا خد dc لما يفتح ياخد 15 coin مش عارف ازاى

stafherp 23-11-2018 11:28 PM

رد: الاكونت لما بياخد dc بياخد كوين
 
وضح علشان افيدك

drfoxman 24-11-2018 03:26 AM

رد: الاكونت لما بياخد dc بياخد كوين
 
اقتباس:

المشاركة الأصلية كتبت بواسطة stafherp (المشاركة 5361641)
وضح علشان افيدك

حضرتك اى شير فى الجيم النت بيفصل عنده او بياخد DC مجرد ما يرجع يفتح الشير تانى بيلاقى 15 كوبر كوين فى الشنطه وانا الجيم بتاعى الكوبر كوين اهم حاجه

BuiLt4KiLl 24-11-2018 08:26 AM

رد: الاكونت لما بياخد dc بياخد كوين
 
ياريت حضرتك تورينا الـProcedures دي
_AddLogChar
_AddLogItem


هتلاقيهم في المسار ده

SRO_VT_SHARD > Programmability > Stored Procedures

لان غالباً في سيستم معمول و سطوره فيها غلط
:Emoji27:

drfoxman 24-11-2018 01:07 PM

رد: الاكونت لما بياخد dc بياخد كوين
 
اقتباس:

المشاركة الأصلية كتبت بواسطة BuiLt4KiLl (المشاركة 5361667)
ياريت حضرتك تورينا الـProcedures دي

_AddLogChar

_AddLogItem


هتلاقيهم في المسار ده


SRO_VT_SHARD > Programmability > Stored Procedures


لان غالباً في سيستم معمول و سطوره فيها غلط

:Emoji27:


_
SRO_VT_SHARD > Programmability > Stored Procedures
_AddNewChar



معنديش
_AddLogChar

كود:


كود:

USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewChar]    Script Date: 11/24/2018 2:05:49 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO



ALTER PROCEDURE [dbo].[_AddNewChar]
    @UserJID            INT,       
    --@CharSlot            INT,       
    @RefCharID            INT,       
    @CharName            varchar (64),       
    @CharScale            tinyINT,       
    @StartRegionID            INT,       
    @StartPos_X            real,       
    @StartPos_Y            real,       
    @StartPos_Z            real,       
    @DefaultTeleport    INT,       
    @RefMailID            INT,       
    @RefPantsID            INT,       
    @RefBootsID            INT,       
    @RefWeaponID        INT,       
    @RefShield            INT,       
    @DurMail            tinyINT,       
    @DurPants            tinyINT,       
    @DurBoots            tinyINT,       
    @DurWeapon            tinyINT,       
    @DurShield            tinyINT,       
    @DefaultArrow        INT       
AS   
   
SET NOCOUNT ON     

    DECLARE @Slot  INT       
    DECLARE @temp  INT       
           
    DECLARE @NewCharID  INT       
    SET @NewCharID = 0       
     
     
    -----------------------------------------------------------------------------       
    -- 1. ij¸¯ÅÍ ½½·Ô ³Ñ¹ö°¡ validÇÑ °ÍÀÎÁö, ±×¸®°í ºó½½·ÔÀÌ ¸Â´ÂÁö ¸ÕÀú üũÇÑ´Ù.       
    -----------------------------------------------------------------------------       
       
    -- start by novice.       
    SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID       
         
    IF (@temp >= 4)       
    BEGIN       
        -- ³Ê¹« ¸¹ÀÚ³ª       
        RETURN -2       
    END       
    -- finish by novice.       
     
    -----------------------------------------------------------------------------       
    -- 2. ij¸¯ÅÍ Ãß°¡ÇÏ±â       
    ----------------------------------------------------------------------------- 
    BEGIN
      SET    @StartRegionID = 27092
      SET @StartPos_X = 914
      SET @StartPos_Y = 2000
      SET @StartPos_Z = 968
    END   
    IF (@CharScale > 68) -- 0100 0100 --> 68 ÀÌ´Ù!       
    BEGIN       
        -- ij¸¯ÅÍ »ý¼º ½ÇÆÐ! ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!       
        RETURN -3       
    END
       
    EXEC @temp = _IsExistingCharName @CharName       
    IF (@temp <> 0)       
    BEGIN       
        -- ÀÌ¹Ì »ç¿ëÁßÀÎ À̸§À̶ó´Âµ¥?       
        RETURN -4       
    END       
   
BEGIN TRANSACTION
   
    -- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼* ¸¶Áö¸·¿¡ WorldID¿Í 1°ªÀ» ´õ ³Ö¾î ÁÖ¾ú´Ù!     
    INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,     
                LastLogout, CurLevel, MaxLevel, ExpOffset, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)     
    VALUES (@RefCharID, @CharName, @CharScale, 35, 35, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, 2094, 109,     
                GetDate(), 1, 1, 0, 0, 0, 0, 350,350, 1, 1, 1, 1)   
   
    SET @NewCharID = @@IDENTITY       
    IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)       
    BEGIN       
        -- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!       
        ROLLBACK TRANSACTION       
        RETURN -5       
    END       
       
         
    -- start by novice.       
    -- ÀÌÁ¦ Slot ¾È¾´´Ù.. ±×³É Insert ¸¸..       
    INSERT INTO _User VALUES (@UserJID, @NewCharID)       
    -- finish by novice.       
     
     
    -----------------------------------------------------------------------------       
    -- 3-1. Àåºñ ½½·Ô ä¿ì±â       
    -- [Àκ¥Å丮 ½½·Ô 96°³] + [Àåºñ½½·Ô 13°³] <- Àκ¥Å丮 È®Àå ¼*ºñ½º ÈÄ 48°³¿¡¼* 96°³·Î Áõ°¡!!!(woos0)
    -----------------------------------------------------------------------------       
    --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!       
    INSERT INTO _Inventory(CharID, Slot, ItemID)       
      SELECT @NewCharID, cnt, 0       
      FROM _RefDummySlot with( nolock )     
        WHERE cnt < 109       

         
    IF (@@ERROR <> 0)       
    BEGIN       
        -- Àκ¥Å丮 »ý¼º ½ÇÆÐ!       
        ROLLBACK TRANSACTION       
        RETURN -7       
    END       

    --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!       
         
    -- µðÆúÆ®·Î ¼±ÅÃÇÑ ¾ÆÀÌÅÛÀ» ´Ù½Ã ³Ö¾îÁÖÀÚ...       
    /* ¿ä·± ¼ø¼*·Î  Á¤ÀǵǾî ÀÖ´Ù.       
    0: EQUIP_SLOT_HELM       
    1: EQUIP_SLOT_MAIL,       
    2: EQUIP_SLOT_SHOULDERGUARD,       
    3: EQUIP_SLOT_GAUNTLET,       
    4: EQUIP_SLOT_PANTS,       
    5: EQUIP_SLOT_BOOTS,       
    6: EQUIP_SLOT_WEAPON,       
    7: EQUIP_SLOT_SHIELD or ARROW,       
    8: EQUIP_SLOT_EARRING,       
    9: EQUIP_SLOT_NECKLACE,       
    10: EQUIP_SLOT_L_RING,       
    11: EQUIP_SLOT_R_RING,       
    */       
         
    DECLARE @ItemID BIGINT       
    SET @ItemID = 0       
    -- »ó°©       
    IF (@RefMailID <> 0)       
    BEGIN       
        EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail       
        IF (@ItemID <= 0)       
        BEGIN       
            ROLLBACK TRANSACTION       
            RETURN -8       
        END       
    END       
    -- ¹ÙÁö       
    IF (@RefPantsID <> 0)       
    BEGIN       
        EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants       
        IF (@ItemID <= 0)       
        BEGIN       
            ROLLBACK TRANSACTION       
            RETURN -9       
        END       
    END       
    -- Boots       
    IF (@RefBootsID <> 0)       
    BEGIN       
        EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots       
        IF (@ItemID <= 0)       
        BEGIN       
            ROLLBACK TRANSACTION       
            RETURN -10       
        END       
    END       
    -- Weapon       
    IF (@RefWeaponID <> 0)       
    BEGIN       
        EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon       
        IF (@ItemID <= 0)       
        BEGIN       
            ROLLBACK TRANSACTION       
            RETURN -11       
        END       
    END       
    -- ¹æÆÐ       
    IF (@RefShield <> 0)       
    BEGIN       
        EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield       
        IF (@ItemID <= 0)       
        BEGIN       
            ROLLBACK TRANSACTION       
            RETURN -12       
        END       
    END       
    -- Ȥ½Ã default·Î ¼±ÅÃÇÑ ¹«±â°¡ ȰÀ̶ó¸é È*»ì 250°³µéÀÌ È°Åëµµ ÇÔ²² ÁØ´Ù. ÁÒÄ¡?       
    IF (@DefaultArrow <> 0)       
    BEGIN       
        EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250       
        IF (@ItemID <= 0)       
        BEGIN       
            ROLLBACK TRANSACTION       
            RETURN -13       
        END       
    END


    -----------------------------------------------------------------------------       
    -- 3-2. ¾Æ¹ÙŸ Inventory ½½·Ô ä¿ì±â       
    -- [¾Æ¹ÙŸ Àκ¥Å丮 ½½·Ô 5°³]
    -- APPLY_AVATAR_SYSTEMÀÌ Àû¿ëµÇ¸é¼* Ãß°¡µÇ´Â ºÎºÐ
    -----------------------------------------------------------------------------       
    --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!       
    INSERT INTO _InventoryForAvatar(CharID, Slot, ItemID)       
      SELECT @NewCharID, cnt, 0
      FROM _RefDummySlot with( nolock )     
        WHERE cnt < 5

         
    IF (@@ERROR <> 0)       
    BEGIN       
        -- ¾Æ¹ÙŸ Àκ¥Å丮 »ý¼º ½ÇÆÐ!       
        ROLLBACK TRANSACTION       
        RETURN -14
    END       
    --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!       
         
    -----------------------------------------------------------------------------       
    -- default skill³Ö¾îÁÖ±â       
    -----------------------------------------------------------------------------       
    DECLARE @country tinyINT       
    EXEC @country = _GetObjCountry @RefCharID       
         
    INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)       
    SELECT @NewCharID, MasteryID, 0       
    FROM _RefCharDefault_SkillMastery  with(nolock)     
    WHERE Race = @country or Race = 3       
    IF (@@error <> 0)       
    BEGIN       
        ROLLBACK TRANSACTION       
        RETURN -15       
    END       
    INSERT INTO _CharSkill (CharID,SkillID,Enable)       
    SELECT @NewCharID, SkillID, 1       
    FROM  _RefCharDefault_Skill  with(nolock)     
    WHERE Race = @country or Race = 3       
    IF (@@error <> 0)       
    BEGIN       
        ROLLBACK TRANSACTION       
        RETURN -16       
    END       
    -----------------------------------------------------------------------------       
    -- ±âº» Äù½ºÆ® ³Ö¾îÁÖ±â
    -----------------------------------------------------------------------------       
    INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)       
    SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0       
    FROM _RefQuest
    WHERE CodeName in (SELECT CodeName FROM _RefCharDefault_Quest  with(nolock) WHERE (Race = @country or Race = 3) and RequiredLevel = 1 and Service = 1)
    IF (@@error <> 0)
    BEGIN
        ROLLBACK TRANSACTION       
        RETURN -17       
    END   
    -----------------------------------------------------------------------------       
    -- Static Avatar Initial Record ³Ö±â       
    -----------------------------------------------------------------------------       
    INSERT INTO _StaticAvatar(CharID) values(@NewCharID)       
    IF (@@ERROR <> 0)       
    BEGIN       
        ROLLBACK TRANSACTION       
        RETURN -18       
    END       
         
    -----------------------------------------------------------------------------       
    -- Trijob ä¿ö³Ö±â!!!!!       
    -----------------------------------------------------------------------------       
    INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)       
    IF (@@ERROR <> 0)       
    BEGIN       
        -- Àκ¥Å丮 »ý¼º ½ÇÆÐ!       
        ROLLBACK TRANSACTION       
        RETURN -19       
    END       
         
    -----------------------------------------------------------------------------       
    -- CharList¿¡ ID ³Ö¾îÁÖ±â       
    -----------------------------------------------------------------------------       
    INSERT _CharNameList VALUES(@CharName, @NewCharID)
    INSERT INTO SRO_VT_ACCOUNT.dbo.SK_Silk (JID, silk_own, silk_gift, silk_point) VALUES (@UserJID,1000, 0, 0);       
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_PREMIUM_ATHENS_PLUS',1,1           
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_HP_SUPERSET_5_BAG',1000,1     
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_MP_SUPERSET_5_BAG',1000,1     
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_RENT_RESURRECTION_100P_SCROLL',10,1     
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_HWAN_POTION',5,1     
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_DAMAGE_ABS_20P_SCROLL',10,1     
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_DAMAGE_INC_20P_SCROLL',10,1     
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E090930_SPEED_UP_SUPER_SCROLL',20,1     
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_AVATAR_M_KOREANDRESS',1,1     
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_AVATAR_W_KOREANDRESS',1,1     
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_COS_P_MYOWON_SCROLL',1,1     
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_RENT_REVERSE_RETURN_SCROLL',50,1 
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_RETURN_SCROLL_HIGH_SPEED',50,1 
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_RANGO_MONEY',1,1 

    -- Quick Slot ?¤?¸ A?A??ë!!!       
    exec _AddNewClientConfig @NewCharID  -- by novice...... for saving client configurations...       

COMMIT TRANSACTION       
         
RETURN @NewCharID








SRO_VT_SHARD > Programmability > Stored Procedures


_AddLogItem





كود:

USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddLogItem]    Script Date: 11/24/2018 2:04:25 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO


ALTER  procedure [dbo].[_AddLogItem]
        @CharID        int,
        @ItemRefID    int,
        @ItemSerial    bigint,
        @dwData    int,
        @TargetStorage tinyint,
        @Operation    tinyint,
        @Slot_From    tinyint,
        @Slot_To    tinyint,
        @EventPos    varchar(64),
        @strDesc    varchar(128)
        as
            declare @len_pos int
            declare @len_desc int
            set @len_pos = len(@EventPos)
            set @len_desc = len(@strDesc)
            if (@len_pos > 0 and @len_desc > 0)
            begin
                insert _LogEventItem (EventTime, CharID, ItemRefID, dwData, TargetStorage, Operation, Slot_From, Slot_To, EventPos, strDesc, Serial64)
                values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @EventPos, @strDesc, @ItemSerial)
            end
            else if (@len_pos > 0 and @len_desc = 0)
            begin
                insert _LogEventItem (EventTime, CharID, ItemRefID, dwData, TargetStorage, Operation, Slot_From, Slot_To, EventPos, Serial64)
                values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @EventPos, @ItemSerial)
            end
            else if (@len_pos = 0 and @len_desc > 0)
            begin
                insert _LogEventItem (EventTime, CharID, ItemRefID, dwData, TargetStorage, Operation, Slot_From, Slot_To, strDesc, Serial64)
                values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @strDesc, @ItemSerial)
            end
            else if (@len_pos = 0 and @len_desc = 0)
            begin
                insert _LogEventItem (EventTime, CharID, ItemRefID, dwData, TargetStorage, Operation, Slot_From, Slot_To, Serial64)
                values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @ItemSerial)
            end
            -- 유료 아이템 구입이면!
            -- #define LOG_ITEMEVENT_BUY_CASHITEM        (BYTE)35
            if (@Operation = 35)
            begin
                insert _LogCashItem (RefItemID, CharID, Cnt, EventTime, Serial64)
                values(@ItemRefID, @CharID, @dwData, GetDate(), @ItemSerial)
            end
            IF (@Operation=41 AND @ItemRefID=2236271)
BEGIN
DECLARE @JID int,@Silk int 
SET @Silk=10 SELECT @JID=UserJID from _User where CharID=@CharID  IF EXISTS (Select*from SRO_VT_ACCOUNT..SK_Silk where JID =@JID)
UPDATE SRO_VT_ACCOUNT..SK_Silk set silk_own = silk_own + @Silk where JID =@JID
ELSE INSERT INTO SRO_VT_ACCOUNT..SK_Silk Values (@JID,@Silk,0,0)
END


BuiLt4KiLl 24-11-2018 07:45 PM

رد: الاكونت لما بياخد dc بياخد كوين
 
_AddLogChar فين حضرتك ؟
انت جبت AddNewChar_ مش _AddLogChar
:Emoji26:

drfoxman 24-11-2018 09:51 PM

رد: الاكونت لما بياخد dc بياخد كوين
 
[QUOTE=BuiLt4KiLl;5361718]
_AddLogChar فين حضرتك ؟
انت جبت AddNewChar_ مش _AddLogChar
:Emoji26:



معنديش



غير فى الشيرد لوج .


AddLogChar
كود:

           

USE [SRO_VT_SHARDLOG]
GO
/****** Object:  StoredProcedure [dbo].[_AddLogChar]    Script Date: 11/24/2018 10:52:59 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER  procedure [dbo].[_AddLogChar]
@CharID        int,
@EventID        tinyint,
@Data1        int,
@Data2        int,
@strPos        varchar(64),
@Desc        varchar(128)
as

IF    ( -- Skips over the unnecessary Records
        (@EventID != 11) AND
        (@EventID NOT BETWEEN 21 AND 27) AND
        (@EventID NOT BETWEEN 200 AND 202) AND
        (@EventID NOT BETWEEN 204 AND 206) AND
        (@EventID != 210) AND (@EventID != 214) AND (@EventID != 244)
    )BEGIN

    declare @len_pos    int
    declare @len_desc    int
    set @len_pos = len(@strPos)
    set @len_desc = len(@Desc)
    if (@len_pos > 0 and @len_desc > 0)
    begin   
        insert _LogEventChar values(@CharID, GetDate(), @EventID, @Data1, @Data2, @strPos, @Desc)   
    end
    else if (@len_pos > 0 and @len_desc = 0)
    begin   
        insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2, EventPos) values(@CharID, GetDate(), @EventID, @Data1, @Data2, @strPos)
    end
    else if (@len_pos = 0 and @len_desc > 0)
    begin   
        insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2, strDesc) values(@CharID, GetDate(), @EventID, @Data1, @Data2, @Desc)
    end
    else
    begin
        insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2) values(@CharID, GetDate(), @EventID, @Data1, @Data2)
    end
   
/*Extension*/--> by Caipi

IF not exists (SELECT CharID FROM _OnlineOffline WHERE CharID = @CharID)
    BEGIN
        INSERT INTO _OnlineOffline (CharID, Charname, [Status], [Date], [Minutes], [tMinutes], eSilk, mOnline, [Silk/Hour], [stillOnline@])
        VALUES (
                @CharID,
                (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID),
                'OnHold',
                GETDATE(),
                0,0,0,
                NULL,(SELECT DefaultSilk FROM [_Silk/Hour-Config] WHERE [Desc] like 'Rates'),
                NULL
                );
    END

IF (@EventID = 4 OR @EventID = 6)
    BEGIN

    IF (@EventID = 6 AND ((SELECT [Status] FROM _OnlineOffline WHERE CharID = @CharID) like 'OnHold'))
        BEGIN
            UPDATE _OnlineOffline
            SET [Status] = 'Offline'
            WHERE CharID = @CharID
        END
       
    IF (@EventID = 6 AND ((SELECT [Status] FROM _OnlineOffline WHERE CharID = @CharID) like 'Online'))
        BEGIN
            UPDATE _OnlineOffline
            SET
                [Status] = 'Offline',
                [Minutes] = [Minutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())),
                [tMinutes] = [tMinutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())),
                [mOnline] = NULL,
                [stillOnline@] = NULL
            WHERE CharID = @CharID   
        END
       
    IF (@EventID = 4)
        BEGIN
            UPDATE _OnlineOffline
            SET
                [Status] = 'Online',
                [Date] = GETDATE(),
                [stillOnline@] = GETDATE()
            WHERE CharID = @CharID
        END
    END

   
UPDATE _OnlineOffline
SET
    [mOnline] = CAST((DATEDIFF(MINUTE,[Date],GETDATE()))as varchar(max)) + ' minute(s) Online',
    [Minutes] = [Minutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())),
    [tMinutes] = [tMinutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())),
    [stillOnline@] = GETDATE()
WHERE [Status] like 'Online'

/*Silk/Hour basic calc*/
IF ((SELECT [tMinutes] from _OnlineOffline WHERE CharID = @CharID) >= (SELECT [Step1Silk] FROM [_Silk/Hour-Config] WHERE [Desc] like 'Requirements'))
    BEGIN
        Declare @sph int;
        exec @sph = [_GetSilkperHour] @CharID
        UPDATE _OnlineOffline SET [Silk/Hour] = @sph WHERE CharID = @CharID
    END
/*!Silk/Hour basic calc*/

IF (((SELECT NextDate FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next') IS NULL))
    BEGIN
        DECLARE @FirstDate datetime, @Today datetime = GETDATE(), @FirstCharID int;

        exec @FirstCharID = SRO_VT_SHARD.dbo._RandomPlayerID
        exec SRO_VT_SHARD.dbo._GetRandomTime @Today, @FirstDate OUTPUT
       
        UPDATE [_RandomPlayer&Date]
            SET
                NextDate = @FirstDate,
                RefreshedDate = GETDATE(),
                CharID = @FirstCharID,
                Charname = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @FirstCharID)
            WHERE [Desc] like 'Next';
    END
   
IF ((SELECT NextDate FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next') <= GETDATE())
    BEGIN
        UPDATE _OnlineOffline
            SET [Silk/Hour] = (SELECT RewardSilk FROM [_Silk/Hour-Config] WHERE [Desc] like 'Rates')
            WHERE CharID = (SELECT CharID FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next');
        Declare
                @CurSilkperHour int,
                @OldCharID int = (SELECT CharID FROM [_RandomPlayer&Date] WHERE [Desc] like 'Current');
        IF (@OldCharID IS NOT NULL)
            BEGIN
                exec @CurSilkperHour = _GetSilkperHour @OldCharID
                UPDATE _OnlineOffline
                    SET [Silk/Hour] = @CurSilkperHour
                    WHERE CharID = @OldCharID;
            END
        UPDATE [_RandomPlayer&Date]
            SET
                NextDate = NULL,
                RefreshedDate = GETDATE(),
                CharID = (SELECT CharID FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next'),
                Charname = (SELECT Charname FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next')
            WHERE [Desc] like 'Current'
       
        /*new Random Time of Today+1*/
        DECLARE @NextDate datetime, @Tomorrow datetime = GETDATE()+1, @NewCharID int;
       
        exec @NewCharID = SRO_VT_SHARD.dbo._RandomPlayerID
        exec SRO_VT_SHARD.dbo._GetRandomTime @Tomorrow, @NextDate OUTPUT
       
        UPDATE [_RandomPlayer&Date]
            SET
                NextDate = @NextDate,
                RefreshedDate = GETDATE(),
                CharID = @NewCharID,
                Charname = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @NewCharID)
            WHERE [Desc] like 'Next'
        /*!new Random...*/
    END
   
    /*Calculation of the silk amount*/
    Declare @tMinutes bigint = (SELECT [Minutes] from _OnlineOffline WHERE CharID = @CharID), @Silk int;
   
        IF (@tMinutes >= 60)
            BEGIN
                SET @Silk = CAST(((SELECT [Minutes] FROM _OnlineOffline WHERE CharID = @CharID) / 60) as int)
                UPDATE _OnlineOffline
                SET [Minutes] = [Minutes] % 60
                WHERE CharID = @CharID
               
            IF exists (SELECT [WEEKDAYS] FROM [_Silk/Hour-Config] WHERE [WEEKDAYS] like DATENAME(WEEKDAY, GETDATE()))
                BEGIN
                    UPDATE _OnlineOffline
                    SET [eSilk] = [eSilk] + (@Silk*[Silk/Hour])
                    WHERE CharID = @CharID
                   
                    exec SRO_VT_ACCOUNT.dbo._extraSilk @CharID, @Silk
                END
            END
    /*!Calc*/
   
/*!Extension*/

END -- !Skipping
    if (@EventID = 6) -- Auto Coin Granting and Contribution resetting logout
        Begin
            Exec SRO_VT_SHARDLOG.dbo._RoyalAutoCoinGranting @CharID
     







end





Scrox 25-11-2018 05:53 PM

رد: الاكونت لما بياخد dc بياخد كوين
 
شيل السطر دى وجرب كدة اعمل excute واقفل الجيم سيرفر وافتحوا تانى

كود PHP:

/*!Calc*/
    
/*!Extension*/

END -- !Skipping 
    
if (@EventID 6) -- Auto Coin Granting and Contribution resetting logout
        Begin
            Exec SRO_VT_SHARDLOG
.dbo._RoyalAutoCoinGranting @CharID
       







end 



الساعة الآن 02:06 PM.

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