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

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

TheBold 04-12-2017 02:22 PM

طلب بسيط
 
انا عندي في الجيم ضيفت 2 سكرول
واحدة بتدي 100 سيلك و 100 gift
و واحدة بتدي 10 سيلك و 10 gift
دلوقتي دخلت الجيم و جربتهم
مش بيدوا غير سيلك بس و كمان مش متتالي
يعني بيمسحوا السيلك القديم و بيضيفوا الجديد بس
انا بقى عاوز يبقى + مش Reset للقديم
و عاوز السكرول الواحدة تدي 100 سيلك و 100 gift
كمان عاوز اعرف ازاي ماتحطش في storge او guild storge او exc او stall
:artist1:

Dev.Ri3o 04-12-2017 07:17 PM

رد: طلب بسيط
 
دى Bug فى ال AddNewChar نفسها المفروض تخلى اى New Char ينزل يتعملو سطر فى ال SK_SILK لان ال scroll كل اللى بتعملو انها بتزود العدد لو فى سطر فى ال SK_SILK وخلى بالك لازم اى New Char يتعمل يتعملو سطر ولو تعمل Char تانى مينزلش سطر لى كل اكونت بسطر واحد بس هتمسح كل ال Accounts اللى فى Database وهتعمل دى فى ال AddNewChar تحت ال Items اللى بيبدأ بيها ال Char
كود:

IF Not Exists (Select * From SRO_VT_ACCOUNT.dbo.SK_Silk Where JID = @UserJID)
Begin ---- Silk Bug Fixed #Ri3o----
INSERT INTO SRO_VT_ACCOUNT.dbo.SK_Silk (JID, silk_own, silk_gift, silk_point) VALUES (@UserJID, 0, 0, 0);
End

وبالنسبة لل Item يتحط فى stall او غيره , من ال RefObjCommon فى CanStore و CanDrop و CanPick وكل حاجة 0 يعنى مينفعش 1 يعنى ينفع ونفس التعديل فى ال Itemdata

TheBold 04-12-2017 09:51 PM

رد: طلب بسيط
 
تمام جداً
كله شغال زي الفل
ما عدا بعد ما شغلت السكرول التانية
الاولى شغالة لسه لكن التانية ولا بتعمل اي حاجة

كود:

if
(@JobID= '33791')
BEGIN
    DECLARE @USERJID int;
    SET @USERJID = (SELECT USERJID FROM SRO_VT_SHARD.._USER WHERE CHARID = @CHARID);
    IF (SELECT COUNT(*) FROM SRO_VT_ACCOUNT..SK_SILK WHERE JID = @USERJID) > 0
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 10 WHERE JID = @USERJID;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 10 WHERE JID = @USERJID;
END

دي شغالة تمام لحد ناو حتى بعد ما ضفت دي
" مع العلم ان التانية مش شغالة ( عممال اعيد و ازيد انا هههه ) "

كود:

if
(@JobID= '33792')
BEGIN
 
    SET @USERJID = (SELECT USERJID FROM SRO_VT_SHARD.._USER WHERE CHARID = @CHARID);
    IF (SELECT COUNT(*) FROM SRO_VT_ACCOUNT..SK_SILK WHERE JID = @USERJID) > 0
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 100 WHERE JID = @USERJID;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 100 WHERE JID = @USERJID;
END


HB# 05-12-2017 12:11 AM

رد: طلب بسيط
 
بص ... هات ال AddLogItem_ وانا هعدلك عليه وهديهولك :wink:

Dev.Ri3o 05-12-2017 12:33 AM

رد: طلب بسيط
 
ايه الحوارات الفكسانة دول الاتنين مفهمش Begin فكك من ال TimedJob اشتغل AddLogItem عشان ال Teleport
كود:

IF (@Operation = 41)
Begin
IF (@ItemRefID >= 46899 And @ItemRefID <= 46902)
Begin
Select @SilkAmount = Case
When @ItemRefID = '46899' Then '10'
When @ItemRefID = '46900' Then '100'
END
END
Begin
Update SRO_VT_ACCOUNT.dbo.SK_Silk Set silk_own = silk_own + @SilkAmount Where JID = @UserJID
Update SRO_VT_ACCOUNT.dbo.SK_Silk Set silk_gift = silk_gift + @SilkAmount Where JID = @UserJID
END
END

هتعدل 46899 ل ID ال RefObjCommon بتاعة ال 10 و 46900 لبتاعة ال 100 وطبعا هتشيل السطر اللى عندك وتعمل سطور Scroll جديدة عشان اللى معا شغال على Skill معين اعمل سطور مش شغالة على اى skill شوف اى Scroll معموله AddLogItem وخد السطور وغير ال Code وال IDs

TheBold 05-12-2017 01:28 AM

رد: طلب بسيط
 
اقتباس:

المشاركة الأصلية كتبت بواسطة HB# (المشاركة 5336516)
بص ... هات ال AddLogItem_ وانا هعدلك عليه وهديهولك :wink:

كود:

USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddTimedJob]    Script Date: 12/05/2017 00:27:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO




ALTER  procedure [dbo].[_AddTimedJob]
@CharID                        int,
@Category                tinyint,
@JobID                        int,
@TimeToKeep        int,
@Data1                        int,
@Data2                        int,
--##begin due to develop composite item
@Data3                        int,
@Data4                        int,
@Data5                        int,
@Data6                        int,
@Data7                        int,
@Data8                        int,
@Serial64                bigint,
@JID                        int
--##end due to develop composite item
as
if
(@JobID= '33791')
BEGIN
    DECLARE @USERJID int;
    SET @USERJID = (SELECT USERJID FROM SRO_VT_SHARD.._USER WHERE CHARID = @CHARID);
    IF (SELECT COUNT(*) FROM SRO_VT_ACCOUNT..SK_SILK WHERE JID = @USERJID) > 0
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 10 WHERE JID = @USERJID;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 10 WHERE JID = @USERJID;
END
if
(@JobID= '33792')
BEGIN
 
    SET @USERJID = (SELECT USERJID FROM SRO_VT_SHARD.._USER WHERE CHARID = @CHARID);
    IF (SELECT COUNT(*) FROM SRO_VT_ACCOUNT..SK_SILK WHERE JID = @USERJID) > 0
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 100 WHERE JID = @USERJID;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 100 WHERE JID = @USERJID;
END
        if (not exists (select CharID from _Char with (nolock) where CharID = @CharID))
                return -1
        if (@TimeToKeep <= 0)
                return -2
        declare @NewJobID int
        set @NewJobID = 0
        --##begin due to develop composite item
        insert into _TimedJob(CharID,Category,JobID,TimeToKeep,Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8,Serial64,JID)
        values(@CharID, @Category, @JobID, @TimeToKeep, @Data1, @Data2, @Data3, @Data4, @Data5, @Data6, @Data7, @Data8, @Serial64, @JID)
        --##end due to develop composite item
        set @NewJobID = @@identity
        if (@@error <> 0 or @@rowcount = 0)
                return -3
        return @NewJobID


TheBold 05-12-2017 01:29 AM

رد: طلب بسيط
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dev.Ri3o (المشاركة 5336522)
ايه الحوارات الفكسانة دول الاتنين مفهمش Begin فكك من ال TimedJob اشتغل AddLogItem عشان ال Teleport
كود:

IF (@Operation = 41)
Begin
IF (@ItemRefID >= 46899 And @ItemRefID <= 46902)
Begin
Select @SilkAmount = Case
When @ItemRefID = '46899' Then '10'
When @ItemRefID = '46900' Then '100'
END
END
Begin
Update SRO_VT_ACCOUNT.dbo.SK_Silk Set silk_own = silk_own + @SilkAmount Where JID = @UserJID
Update SRO_VT_ACCOUNT.dbo.SK_Silk Set silk_gift = silk_gift + @SilkAmount Where JID = @UserJID
END
END

هتعدل 46899 ل ID ال RefObjCommon بتاعة ال 10 و 46900 لبتاعة ال 100 وطبعا هتشيل السطر اللى عندك وتعمل سطور Scroll جديدة عشان اللى معا شغال على Skill معين اعمل سطور مش شغالة على اى skill شوف اى Scroll معموله AddLogItem وخد السطور وغير ال Code وال IDs

يعني مستحيل اشغلهم على اللي انا ضايفهم ؟!

Dev.Ri3o 05-12-2017 01:35 AM

رد: طلب بسيط
 
اقتباس:

المشاركة الأصلية كتبت بواسطة TheBold (المشاركة 5336536)


يعني مستحيل اشغلهم على اللي انا ضايفهم ؟!

مش مستحيل براحتك هتعدل فى ال Procedure التانى هيبقى كدة بس عشان يبقى Auto Teleport احسن بكتير
كود:

if
(@JobID= '33792')
BEGIN
 DECLARE @USERJID2 int;
    SET @USERJID2 = (SELECT USERJID FROM SRO_VT_SHARD.._USER WHERE CHARID = @CHARID);
    IF (SELECT COUNT(*) FROM SRO_VT_ACCOUNT..SK_SILK WHERE JID = @USERJID2) > 0
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 100 WHERE JID = @USERJID2;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 100 WHERE JID = @USERJID2;
END


HB# 05-12-2017 02:49 AM

رد: طلب بسيط
 
هتعمل دي وكلو هيبقا تمام :serenade: :wink: :

كود:

USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddTimedJob]    Script Date: 12/05/2017 00:27:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO




ALTER  procedure [dbo].[_AddTimedJob]
@CharID                        int,
@Category                tinyint,
@JobID                        int,
@TimeToKeep        int,
@Data1                        int,
@Data2                        int,
--##begin due to develop composite item
@Data3                        int,
@Data4                        int,
@Data5                        int,
@Data6                        int,
@Data7                        int,
@Data8                        int,
@Serial64                bigint,
@JID                        int,
@USERJID        int
--##end due to develop composite item
as
        declare @CheckSilkTable int = (select count(*) from [SRO_VT_ACCOUNT].dbo.SK_Silk where JID = @USERJID)
if
(@JobID= '33791')
BEGIN
    SET @USERJID = (SELECT USERJID FROM SRO_VT_SHARD.._USER WHERE CHARID = @CHARID);
        if (@CheckSilkTable = '0')
        begin
        INSERT INTO [SRO_VT_ACCOUNT].dbo.SK_Silk (JID,silk_gift,silk_own,silk_point) values (@USERJID,'0','0','0')
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 10 WHERE JID = @USERJID;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 10 WHERE JID = @USERJID;
        end
    if (@CheckSilkTable != '0')
        begin
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 10 WHERE JID = @USERJID;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 10 WHERE JID = @USERJID;
                end
END
if
(@JobID= '33792')
BEGIN
    SET @USERJID = (SELECT USERJID FROM SRO_VT_SHARD.._USER WHERE CHARID = @CHARID);
        if (@CheckSilkTable = '0')
        begin
        INSERT INTO [SRO_VT_ACCOUNT].dbo.SK_Silk (JID,silk_gift,silk_own,silk_point) values (@USERJID,'0','0','0')
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 100 WHERE JID = @USERJID;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 100 WHERE JID = @USERJID;
        end
    if (@CheckSilkTable != '0')
        begin
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 100 WHERE JID = @USERJID;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 100 WHERE JID = @USERJID;
                end
END
        if (not exists (select CharID from _Char with (nolock) where CharID = @CharID))
                return -1
        if (@TimeToKeep <= 0)
                return -2
        declare @NewJobID int
        set @NewJobID = 0
        --##begin due to develop composite item
        insert into _TimedJob(CharID,Category,JobID,TimeToKeep,Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8,Serial64,JID)
        values(@CharID, @Category, @JobID, @TimeToKeep, @Data1, @Data2, @Data3, @Data4, @Data5, @Data6, @Data7, @Data8, @Serial64, @JID)
        --##end due to develop composite item
        set @NewJobID = @@identity
        if (@@error <> 0 or @@rowcount = 0)
                return -3
        return @NewJobID


TheBold 05-12-2017 11:43 AM

رد: طلب بسيط
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dev.Ri3o (المشاركة 5336537)
مش مستحيل براحتك هتعدل فى ال Procedure التانى هيبقى كدة بس عشان يبقى Auto Teleport احسن بكتير
كود:

if
(@JobID= '33792')
BEGIN
 DECLARE @USERJID2 int;
    SET @USERJID2 = (SELECT USERJID FROM SRO_VT_SHARD.._USER WHERE CHARID = @CHARID);
    IF (SELECT COUNT(*) FROM SRO_VT_ACCOUNT..SK_SILK WHERE JID = @USERJID2) > 0
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 100 WHERE JID = @USERJID2;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 100 WHERE JID = @USERJID2;
END


ماشتغلش غير السكرول الاولى للاسف و التانية بقت تدي 10 سيلك زي الاولى

TheBold 05-12-2017 11:48 AM

رد: طلب بسيط
 
اقتباس:

المشاركة الأصلية كتبت بواسطة HB# (المشاركة 5336546)
هتعمل دي وكلو هيبقا تمام :serenade: :wink: :

كود:

USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddTimedJob]    Script Date: 12/05/2017 00:27:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO




ALTER  procedure [dbo].[_AddTimedJob]
@CharID                        int,
@Category                tinyint,
@JobID                        int,
@TimeToKeep        int,
@Data1                        int,
@Data2                        int,
--##begin due to develop composite item
@Data3                        int,
@Data4                        int,
@Data5                        int,
@Data6                        int,
@Data7                        int,
@Data8                        int,
@Serial64                bigint,
@JID                        int,
@USERJID        int
--##end due to develop composite item
as
        declare @CheckSilkTable int = (select count(*) from [SRO_VT_ACCOUNT].dbo.SK_Silk where JID = @USERJID)
if
(@JobID= '33791')
BEGIN
    SET @USERJID = (SELECT USERJID FROM SRO_VT_SHARD.._USER WHERE CHARID = @CHARID);
        if (@CheckSilkTable = '0')
        begin
        INSERT INTO [SRO_VT_ACCOUNT].dbo.SK_Silk (JID,silk_gift,silk_own,silk_point) values (@USERJID,'0','0','0')
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 10 WHERE JID = @USERJID;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 10 WHERE JID = @USERJID;
        end
    if (@CheckSilkTable != '0')
        begin
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 10 WHERE JID = @USERJID;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 10 WHERE JID = @USERJID;
                end
END
if
(@JobID= '33792')
BEGIN
    SET @USERJID = (SELECT USERJID FROM SRO_VT_SHARD.._USER WHERE CHARID = @CHARID);
        if (@CheckSilkTable = '0')
        begin
        INSERT INTO [SRO_VT_ACCOUNT].dbo.SK_Silk (JID,silk_gift,silk_own,silk_point) values (@USERJID,'0','0','0')
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 100 WHERE JID = @USERJID;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 100 WHERE JID = @USERJID;
        end
    if (@CheckSilkTable != '0')
        begin
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_OWN = SILK_OWN + 100 WHERE JID = @USERJID;
        UPDATE SRO_VT_ACCOUNT..SK_SILK SET SILK_GIFT = SILK_GIFT + 100 WHERE JID = @USERJID;
                end
END
        if (not exists (select CharID from _Char with (nolock) where CharID = @CharID))
                return -1
        if (@TimeToKeep <= 0)
                return -2
        declare @NewJobID int
        set @NewJobID = 0
        --##begin due to develop composite item
        insert into _TimedJob(CharID,Category,JobID,TimeToKeep,Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8,Serial64,JID)
        values(@CharID, @Category, @JobID, @TimeToKeep, @Data1, @Data2, @Data3, @Data4, @Data5, @Data6, @Data7, @Data8, @Serial64, @JID)
        --##end due to develop composite item
        set @NewJobID = @@identity
        if (@@error <> 0 or @@rowcount = 0)
                return -3
        return @NewJobID


Full DC
و بفتح ولا بلاقي سيلك و لا اي حاجة:mf_swordfight:

Dev.Ri3o 05-12-2017 03:12 PM

رد: طلب بسيط
 
اقتباس:

المشاركة الأصلية كتبت بواسطة TheBold (المشاركة 5336566)


ماشتغلش غير السكرول الاولى للاسف و التانية بقت تدي 10 سيلك زي الاولى

متأكد من ال _RefSKill ؟ وال RefObjItem وال Itemdata انها مكتوب فيها Code ال Skill الصح ؟

Dev.Ri3o 05-12-2017 03:14 PM

رد: طلب بسيط
 
او اشتغل AddLogItem احسن

TheBold 05-12-2017 08:50 PM

رد: طلب بسيط
 
و ربنا متأكد من الـ Scroll و كل حاجة صح
بس هو المشكلة في JopTimed
شكلي كدا هعمل Scroll على Time
بس عاوز اعرف ازاي اخلي الجيم خفيفة
لاني خايف اما اعمل كدا تتقل

Dev.Ri3o 05-12-2017 10:06 PM

رد: طلب بسيط
 
اقتباس:

المشاركة الأصلية كتبت بواسطة TheBold (المشاركة 5336600)
و ربنا متأكد من الـ Scroll و كل حاجة صح
بس هو المشكلة في JopTimed
شكلي كدا هعمل Scroll على Time
بس عاوز اعرف ازاي اخلي الجيم خفيفة
لاني خايف اما اعمل كدا تتقل

متشتغلش TimedJob اشتغل AddLogItem تعمل ل scroll Auto Teleport وكمان التقل ده بيظهر لو ال VPS تعبان او ان فى systems تقيلة لكن دول فى الاخر كام scroll Silk متعملش حاجة


الساعة الآن 04:17 PM.

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