الموقع العربي الاول للعبة 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=618895)

GM_Jo 09-09-2017 03:43 AM

عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
بعد إذن الناس انا بعيد بقالى فتره وفى حاجة مش قادر اوصلها


عاوز احدد لفل لاى حد يشترى بسيلك


بمعنى ان لو حد معاه سيلك مينفعش يشترى بيه غير لما يوصل لفل 100 مثلا


ولكم جزيل الشكر

Neoon 09-09-2017 10:47 AM

رد: عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
انا مش عارف اوصل ل طلبك بالظبط
بس دور " هنا " ان شاء الله تلاقي الي انت عايزه

GM_Jo 10-09-2017 02:34 AM

رد: عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Iron.Man (المشاركة 5327400)
انا مش عارف اوصل ل طلبك بالظبط
بس دور " هنا " ان شاء الله تلاقي الي انت عايزه

مفيهوش حاجة بخصوص طلبى


فين عباقرة S4A مكنش فيه طلب صعب هنا

renomustdie 10-09-2017 02:36 AM

رد: عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
طيب ممكن تعكسها مثلا محدش ياخد سيلك غير لما يوصل لفل 100
كده ممكن اساعدك فيها هتلاقي شرحها هنا

http://www.silkroad4arab.com/vb/showthread.php?t=604687

GM_Jo 10-09-2017 04:29 AM

رد: عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
اقتباس:

المشاركة الأصلية كتبت بواسطة renomustdie (المشاركة 5327565)
طيب ممكن تعكسها مثلا محدش ياخد سيلك غير لما يوصل لفل 100
كده ممكن اساعدك فيها هتلاقي شرحها هنا

http://www.silkroad4arab.com/vb/showthread.php?t=604687

انا بشكر حضرتك طبعآ على اهتمامك

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

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

ف انا عاوز اخلى الكاركتر مينفعش يشترى ايتم سيلك غير لما يوصل لفل معين

وشكرآ لحضرتك كمان مره اتمنى حد يفيدنى

Neoon 10-09-2017 11:31 AM

رد: عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
تحط دى مكان addlogchar يتاعت Silk Per Hour System

الليفل هوا اللى باللون الاحمر علشان لو حبيت تغيروه

كود PHP:

 IF (@CharID IN (select charid from SRO_VT_SHARD.dbo._User with (nolockwhere UserJID in (select JID from SRO_VT_ACCOUNT.dbo.TB_User with (nolockwhere sec_content 3))
    and 
exists (Select from SRO_VT_SHARD.dbo._Char where CurLevel '120' and CharID = @charid)
    and 
not exists (SELECT CharID FROM _OnlineOffline WHERE CharID = @CharID) )
     
BEGIN

        INSERT INTO _OnlineOffline 
(CharIDCharname, [Status], [Date], [Minutes], [tMinutes], eSilkmOnline, [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-ConfigWHERE [Desclike 'Rates'),
                
NULL
                
);
    
END

IF (@EventID OR @EventID 6)
    
BEGIN

    
IF (@EventID AND ((SELECT [StatusFROM _OnlineOffline WHERE CharID = @CharIDlike 'OnHold'))
        
BEGIN
            UPDATE _OnlineOffline
            SET 
[Status] = 'Offline'
            
WHERE CharID = @CharID
        END
        
    
IF (@EventID AND ((SELECT [StatusFROM _OnlineOffline WHERE CharID = @CharIDlike '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 [Statuslike 'Online'

/*Silk/Hour basic calc*/
IF ((SELECT [tMinutesfrom _OnlineOffline WHERE CharID = @CharID) >= (SELECT [Step1SilkFROM [_Silk/Hour-ConfigWHERE [Desclike '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&DateWHERE [Desclike '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 [Desclike 'Next';
    
END
    
IF ((SELECT NextDate FROM [_RandomPlayer&DateWHERE [Desclike 'Next') <= GETDATE())
    
BEGIN
        UPDATE _OnlineOffline
            SET 
[Silk/Hour] = (SELECT RewardSilk FROM [_Silk/Hour-ConfigWHERE [Desclike 'Rates')
            
WHERE CharID = (SELECT CharID FROM [_RandomPlayer&DateWHERE [Desclike 'Next');
        Declare
                @
CurSilkperHour int
                @
OldCharID int = (SELECT CharID FROM [_RandomPlayer&DateWHERE [Desclike '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&DateWHERE [Desclike 'Next'),
                
Charname = (SELECT Charname FROM [_RandomPlayer&DateWHERE [Desclike 'Next')
            
WHERE [Desclike '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 [Desclike 'Next'
        
/*!new Random...*/
    
END
    
    
/*Calculation of the silk amount*/
    
Declare @tMinutes bigint = (SELECT [Minutesfrom _OnlineOffline WHERE CharID = @CharID), @Silk int;
    
        IF (@
tMinutes >= 60)
            
BEGIN
                SET 
@Silk CAST(((SELECT [MinutesFROM _OnlineOffline WHERE CharID = @CharID) / 60) as int)
                
UPDATE _OnlineOffline
                SET 
[Minutes] = [Minutes] % 60
                WHERE CharID 
= @CharID
                
            
IF exists (SELECT [WEEKDAYSFROM [_Silk/Hour-ConfigWHERE [WEEKDAYSlike DATENAME(WEEKDAYGETDATE()))
                
BEGIN
                    UPDATE _OnlineOffline
                    SET 
[eSilk] = [eSilk] + (@Silk*[Silk/Hour])
                    
WHERE CharID = @CharID
                    
                    exec SRO_VT_ACCOUNT
.dbo._extraSilk @CharID, @Silk
                END
            END 


GM_Jo 11-09-2017 10:41 AM

رد: عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Iron.Man (المشاركة 5327614)
تحط دى مكان addlogchar يتاعت Silk Per Hour System

الليفل هوا اللى باللون الاحمر علشان لو حبيت تغيروه

كود PHP:

 IF (@CharID IN (select charid from SRO_VT_SHARD.dbo._User with (nolockwhere UserJID in (select JID from SRO_VT_ACCOUNT.dbo.TB_User with (nolockwhere sec_content 3))
    and 
exists (Select from SRO_VT_SHARD.dbo._Char where CurLevel '120' and CharID = @charid)
    and 
not exists (SELECT CharID FROM _OnlineOffline WHERE CharID = @CharID) )
     
BEGIN

        INSERT INTO _OnlineOffline 
(CharIDCharname, [Status], [Date], [Minutes], [tMinutes], eSilkmOnline, [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-ConfigWHERE [Desclike 'Rates'),
                
NULL
                
);
    
END

IF (@EventID OR @EventID 6)
    
BEGIN

    
IF (@EventID AND ((SELECT [StatusFROM _OnlineOffline WHERE CharID = @CharIDlike 'OnHold'))
        
BEGIN
            UPDATE _OnlineOffline
            SET 
[Status] = 'Offline'
            
WHERE CharID = @CharID
        END
        
    
IF (@EventID AND ((SELECT [StatusFROM _OnlineOffline WHERE CharID = @CharIDlike '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 [Statuslike 'Online'

/*Silk/Hour basic calc*/
IF ((SELECT [tMinutesfrom _OnlineOffline WHERE CharID = @CharID) >= (SELECT [Step1SilkFROM [_Silk/Hour-ConfigWHERE [Desclike '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&DateWHERE [Desclike '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 [Desclike 'Next';
    
END
    
IF ((SELECT NextDate FROM [_RandomPlayer&DateWHERE [Desclike 'Next') <= GETDATE())
    
BEGIN
        UPDATE _OnlineOffline
            SET 
[Silk/Hour] = (SELECT RewardSilk FROM [_Silk/Hour-ConfigWHERE [Desclike 'Rates')
            
WHERE CharID = (SELECT CharID FROM [_RandomPlayer&DateWHERE [Desclike 'Next');
        Declare
                @
CurSilkperHour int
                @
OldCharID int = (SELECT CharID FROM [_RandomPlayer&DateWHERE [Desclike '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&DateWHERE [Desclike 'Next'),
                
Charname = (SELECT Charname FROM [_RandomPlayer&DateWHERE [Desclike 'Next')
            
WHERE [Desclike '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 [Desclike 'Next'
        
/*!new Random...*/
    
END
    
    
/*Calculation of the silk amount*/
    
Declare @tMinutes bigint = (SELECT [Minutesfrom _OnlineOffline WHERE CharID = @CharID), @Silk int;
    
        IF (@
tMinutes >= 60)
            
BEGIN
                SET 
@Silk CAST(((SELECT [MinutesFROM _OnlineOffline WHERE CharID = @CharID) / 60) as int)
                
UPDATE _OnlineOffline
                SET 
[Minutes] = [Minutes] % 60
                WHERE CharID 
= @CharID
                
            
IF exists (SELECT [WEEKDAYSFROM [_Silk/Hour-ConfigWHERE [WEEKDAYSlike DATENAME(WEEKDAYGETDATE()))
                
BEGIN
                    UPDATE _OnlineOffline
                    SET 
[eSilk] = [eSilk] + (@Silk*[Silk/Hour])
                    
WHERE CharID = @CharID
                    
                    exec SRO_VT_ACCOUNT
.dbo._extraSilk @CharID, @Silk
                END
            END 



تســــــــــــــــــــــــــــــــــــــــلم يا بطل هجربها دلوقتى وارد عليك

GM_Jo 11-09-2017 11:31 AM

رد: عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
جربت وبردو نفس المشكلة اى اكونت لفل اقل من 120 بيشترى بسيلك

Neoon 11-09-2017 12:42 PM

رد: عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
جرب كدا الكويري ده وباذن الله هينفع

كود PHP:

Use SRO_VT_SHARD_INIT
GO
DECLARE @Level tinyint 105 --Your Minimum Level here
UPDATE dbo
.[_Silk/Hour-Config
SET Value = @Level
WHERE ValueCodeName128
='ENTER_LIMIT_CONDITION_LEVEL_MINIMUM_NUM' 



لو منفعش معاك حاول تغير الـ dbo.[_Silk/Hour-Config غيرها للداتا بتاعت الbuy انا مش عارف اسمها بالظبط

GM_Jo 11-09-2017 04:23 PM

رد: عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Iron.Man (المشاركة 5327757)
جرب كدا الكويري ده وباذن الله هينفع

كود PHP:

Use SRO_VT_SHARD_INIT
GO
DECLARE @Level tinyint 105 --Your Minimum Level here
UPDATE dbo
.[_Silk/Hour-Config
SET Value = @Level
WHERE ValueCodeName128
='ENTER_LIMIT_CONDITION_LEVEL_MINIMUM_NUM' 



لو منفعش معاك حاول تغير الـ dbo.[_Silk/Hour-Config غيرها للداتا بتاعت الbuy انا مش عارف اسمها بالظبط

الكويرى منفعش

وده الجدول اللى عندى فى dbo.[_Silk/Hour-Config
كود PHP:

Rates    1    2    3    4    1    NULL
Requirements    1    10080    43200    525600    1    NULL
allowed Day 
#1    1    0    0    0    1    Monday
allowed Day #2    1    0    0    0    1    Tuesday
allowed Day #3    1    0    0    0    1    Wednesday
allowed Day #4    1    0    0    0    1    Thursday
allowed Day #5    1    0    0    0    1    Friday
allowed Day #6    1    0    0    0    1    Saturday
allowed Day #7    1    0    0    0    1    Sunday 


Neoon 11-09-2017 04:24 PM

رد: عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
فين الجدول ؟

GM_Jo 11-09-2017 04:26 PM

رد: عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Iron.Man (المشاركة 5327781)
فين الجدول ؟

تم التعديل

Neoon 11-09-2017 05:02 PM

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

حاول تجرب انت بقا او انتظر رد الاعضاء و اسف اني مقدرتش افيدك

GM_Jo 11-09-2017 05:21 PM

رد: عاوز احدد لفل الاكونت اللى بيشترى بسيلك
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Iron.Man (المشاركة 5327785)
بص انا الكويري الي ادتهولك ده الي بيحدد اللفل زي ماقلت لك بس مش عارف مش نافع ليه بصراحه انا مش عارف اكتر من كدة عشان ماكونش بفتي عليك او اديك حاجه غلط انا قلت لك الي اعرفه , و تقريبا الي انت بتقوله ده مينفعش لاني مشوفتوش قبل كدة هو اقصى حاجه ممكن تعملها انك تحدد لفل الاكونت الي بياخد سيلك لكن تحدد لفل اكونت بيشتري سيلك دي مشوفتهاش

حاول تجرب انت بقا او انتظر رد الاعضاء و اسف اني مقدرتش افيدك

الف شكر يا كبير على تعبك معايا ومتابعتك للموضوع

طيب ازاى احدد لفل اللى بياخد سيلك بلاش اللى بيشترى بسيلك

مع العلم ان البروسيدور اللى انت اديتهولى فوق منفعش اللى بحطه فى dbo_AddLogChar

عملته وجربت 2 اكونت واحد لفل 120 وواحد لفل 57 والاثنين جالهم سيلك

ياريت لو عندك ملفات السيستم ده متعدله باللفل ترفعهالى ويبقى كتر خير

Neoon 11-09-2017 05:39 PM

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

ولو عاوز ملفات الـ txt حملها من هنا ( مش متعدلة بس انت اعمل زي ماقلتلك في الرد الي فوق في ملفات ال txt الي ادتهالك وهتشتغل باذن الله )


الساعة الآن 11:02 AM.

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