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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=289)
-   -   Silk/Gold Per Level System Working 100% (https://silkroad4arab.com/vb/showthread.php?t=599823)

Black Shield 14-03-2016 07:46 PM

Silk/Gold Per Level System Working 100%
 
http://store2.up-00.com/2015-07/1437915467981.png



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


http://i.imgur.com/bWvpBly.png


Silk Per Level System

هانعمل Create للـ tables ديه
كود PHP:

USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[_SilkPerLvl]    Script Date: 14/03/2016 06:28:15 م ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE 
[dbo].[_SilkPerLvl](
    [
Charid] [intNULL,
    [
Level] [intNULL,
    [
Date] [dateNULL
ON [PRIMARY]

GO 

كود PHP:

USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[SilkPerLvl_AntiCheat]    Script Date: 14/03/2016 06:29:46 م ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[SilkPerLvl_AntiCheat](
    [
Charname] [varchar](maxNULL,
    [
Jid] [intNULL,
    [
Level] [intNULL
ON [PRIMARYTEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO 

هانضيف الجزء ده في _AddLogChar

كود PHP:

    --------------------------------------------- Black Shield -----------------------------------------------
    ---------------------------------------- [
Silk Per Level System] -----------------------------------------
    ----------------------------------------------- 
S T A R T ------------------------------------------------
    DECLARE @
charname varchar(max) = ( select charname16 from sro_vt_shard.._char where charid = @charid )
    DECLARE @
jid int = (select UserJID from SRO_VT_SHARD.._User where CharID = @CharID
        if (@
eventid 22  and not exists select from SRO_VT_SHARDLOG.._silkperlvl where charid = @charid and [level]=@data2 ))
        
BEGIN
            update SRO_VT_ACCOUNT
..SK_Silk set silk_own silk_own +@Data2 where  JID = @jid
            insert into SRO_VT_SHARDLOG
.._silkperLvl values (@CharID,@data2,getdate())
            if 
exists select from SRO_VT_SHARDLOG..silkperlvl_anticheat where jid=@jid and [level]=@data2 )
            
BEGIN
            update SRO_VT_ACCOUNT
..SK_Silk set silk_own silk_own-@Data2 where  JID = @jid
            END
            insert into SRO_VT_SHARDLOG
..SilkPerLvl_AntiCheat values (@charname,@jid,@data2)
        
END
    
------------------------------------------------- E n d -------------------------------------------------- 


http://i.imgur.com/bWvpBly.png



Gold Per Level System

هانعمل Create للـ table ده
كود PHP:

USE [SRO_VT_SHARDLOG

كود PHP:

GO

/****** Object:  Table [dbo].[_GoldPerLvl]    Script Date: 14/03/2016 06:42:10 م ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE 
[dbo].[_GoldPerLvl](
    [
Charid] [intNULL,
    [
Level] [intNULL,
    [
Date] [dateNULL
ON [PRIMARY]

GO 

هانضيف الجزء ده في _AddLogChar

كود PHP:

    --------------------------------------------- Black Shield -----------------------------------------------
    ---------------------------------------- [
Gold Per Level System] -----------------------------------------
    ----------------------------------------------- 
S T A R T ------------------------------------------------
    DECLARE @
charname varchar(max) = ( select charname16 from sro_vt_shard.._char where charid = @charid )
    DECLARE @
jid int = (select UserJID from SRO_VT_SHARD.._User where CharID = @CharID
        if (@
eventid 22  and not exists select from SRO_VT_SHARDLOG.._goldperlvl where charid = @charid and [level]=@data2 ))
        
BEGIN
        update SRO_VT_SHARD
.._Char set RemainGold RemainGold+@Data2*100000 where  charid = @CharID
        insert into SRO_VT_SHARDLOG
.._goldperLvl values (@CharID,@data2,getdate())
        
END
    
------------------------------------------------- E n d -------------------------------------------------- 


http://i.imgur.com/bWvpBly.png


## FQA ##

اقتباس:

المشاركة الأصلية كتبت بواسطة gameman (المشاركة 5259264)
هي نسبة الsilk & gold اغيرها منين ؟

اقتباس:

المشاركة الأصلية كتبت بواسطة Black Shield (المشاركة 5259295)

بالنسبه للـSilk هي معادلة تقدر تغيرها حسب ما انت عاوز
انا عاملها تضيف قيمة الـ Level الي انت فيه يعني دلوقتي انت Level 1 معاك 0 Silk
بقيت Level 2 الـSystem هايضيف القيمة الي هي 2 + قيمة الـSilk الي هي 0 = 2 سيلك
بقيت Level 3 الـSystem هايضيف القيمة الي هي 3 + قيمة الـSilk الي هي 2 = 5 سيلك

ممكن تغيرها حسب ما انت عاوز و ممكن تعمل جدول بالقيم الي انت عاوزها لكل Level
كود:

update SRO_VT_ACCOUNT..SK_Silk set silk_own = silk_own +@Data2 where  JID = @jid
بالنسبة للـGold

كود:

        update SRO_VT_SHARD.._Char set RemainGold = RemainGold+@Data2*100000 where  charid = @CharID
نفس الفكرة بس انا ضايف في المعادلة انه يضرب قيمة الـ Level في 10000

لو عندك فكرة و عاوز تطبقها قول لي و ان شاء الله نعملها


http://i.imgur.com/bWvpBly.png

لو عــجـبــكـمـ الــمـوضــوع أرجــو الـتــقــيـم http://www.silkroad4arab.com/vb/3eed...reputation.gif http://www.silkroad4arab.com/vb/Silk...reputation.gif
جميعـ الحقوقـ محفوظه

All Rights Reserved®2011~2016

http://www14.0zz0.com/2013/08/04/16/684670676.png
http://www14.0zz0.com/2013/08/04/16/754915422.png
http://img5.imageshack.us/img5/3968/enjoyf.png
http://im25.gulfup.com/2012-07-05/1341435897929.png

Hamza FiGo 14-03-2016 11:18 PM

رد: Silk/Gold Per Level System Working 100%
 
تحياتي الحارة

Black Shield 14-03-2016 11:28 PM

رد: Silk/Gold Per Level System Working 100%
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Hamza FiGo (المشاركة 5258978)
تحياتي الحارة

تسلم

elbattawy1st 15-03-2016 12:11 AM

رد: Silk/Gold Per Level System Working 100%
 
شغل عالي اوي استمر :wave:

Ahmed Seliem 15-03-2016 12:17 AM

رد: Silk/Gold Per Level System Working 100%
 
تمام ، الله ينور :)
حبيت اشارك بنسخة متطورة شوية من الكويري
استخمت الـ JOIN عشان يلم الموضوع كله في select واحد و يزود الـ performance
و ضفت جزء الـ anticheat مع اول if ، كدا افضل من انك تضيف السيلك و تمسحه بعدين
استخدمت procedure CGI_WebPurchaseSilk لانه بينزل السيلك من غير متحتاج teleport
كود PHP:

    ---------------------------------------- [Silk Per Level System] -----------------------------------------
    ----------------------------------------------- 
S T A R T ------------------------------------------------
    DECLARE @
charname varchar(max), @jid INT, @UserName varchar(max)
    
SELECT @charname=C.CharName16,@jid=U.UserJID,@UserName=TU.StrUserID FROM SRO_VT_SHARD.._Char C INNER JOIN SRO_VT_SHARD.._User U ON C.CharID=U.CharID INNER JOIN SRO_VT_ACCOUNT..TB_User TU ON U.UserJID=TU.JID WHERE C.CharID=@CharID
        
if ((@eventid 22)  and (not exists select from SRO_VT_SHARDLOG.._silkperlvl where charid = @charid and [level]=@data2 )) and (not exists select from SRO_VT_SHARDLOG..silkperlvl_anticheat where jid=@jid and [level]=@data2 )))
        
BEGIN
            EXEC SRO_VT_ACCOUNT
.CGI.CGI_WebPurchaseSilk null,@UserName,null,@Data2,null
            insert into SRO_VT_SHARDLOG
.._silkperLvl values (@CharID,@data2,getdate())
            
insert into SRO_VT_SHARDLOG..SilkPerLvl_AntiCheat values (@charname,@jid,@data2)
        
END
    
------------------------------------------------- E n d -------------------------------------------------- 

في الكويري ده لميت الموضوع في Select واحد
و ضفت الجولد بـ += بدل remaingold+@data ، هي مش فارقة كتير. بس اريحلك و انت بتكتب الكويري و اوضح و انت بتقراه
كود PHP:

 ---------------------------------------- [Gold Per Level System] -----------------------------------------
    ----------------------------------------------- 
S T A R T ------------------------------------------------
    DECLARE @
charname varchar(max), @jid int
    SELECT 
@charname=C.CharName16,@jid=U.UserJID FROM SRO_VT_SHARD.._Char C INNER JOIN SRO_VT_SHARD.._User U ON C.CharID=U.CharID WHERE C.CharID=@CharID
        
if (@eventid 22  and not exists select from SRO_VT_SHARDLOG.._goldperlvl where charid = @charid and [level]=@data2 ))
        
BEGIN
        update SRO_VT_SHARD
.._Char set RemainGold +=(@Data2*100000where  charid = @CharID
        insert into SRO_VT_SHARDLOG
.._goldperLvl values (@CharID,@data2,getdate())
        
END
    
------------------------------------------------- E n d -------------------------------------------------- 

تحياتي و شكرا جزيلا علي الموضوع الجميل :)

علي فكرة : انا كنت مشاركك في اكونت phbot قبل كدا زمااااان :hockey1: بس للأسف رقمك طار من عندي لما غيرت الموبايل :/

Black Shield 15-03-2016 12:37 AM

رد: Silk/Gold Per Level System Working 100%
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Ahmed Seliem (المشاركة 5258990)
تمام ، الله ينور :)
حبيت اشارك بنسخة متطورة شوية من الكويري
استخمت الـ JOIN عشان يلم الموضوع كله في select واحد و يزود الـ performance
و ضفت جزء الـ anticheat مع اول if ، كدا افضل من انك تضيف السيلك و تمسحه بعدين
استخدمت procedure CGI_WebPurchaseSilk لانه بينزل السيلك من غير متحتاج teleport
كود PHP:

    ---------------------------------------- [Silk Per Level System] -----------------------------------------
    ----------------------------------------------- 
S T A R T ------------------------------------------------
    DECLARE @
charname varchar(max), @jid INT, @UserName varchar(max)
    
SELECT @charname=C.CharName16,@jid=U.UserJID,@UserName=TU.StrUserID FROM SRO_VT_SHARD.._Char C INNER JOIN SRO_VT_SHARD.._User U ON C.CharID=U.CharID INNER JOIN SRO_VT_ACCOUNT..TB_User TU ON U.UserJID=TU.JID WHERE C.CharID=@CharID
        
if ((@eventid 22)  and (not exists select from SRO_VT_SHARDLOG.._silkperlvl where charid = @charid and [level]=@data2 )) and (not exists select from SRO_VT_SHARDLOG..silkperlvl_anticheat where jid=@jid and [level]=@data2 )))
        
BEGIN
            EXEC SRO_VT_ACCOUNT
.CGI.CGI_WebPurchaseSilk null,@UserName,null,@Data2,null
            insert into SRO_VT_SHARDLOG
.._silkperLvl values (@CharID,@data2,getdate())
            
insert into SRO_VT_SHARDLOG..SilkPerLvl_AntiCheat values (@charname,@jid,@data2)
        
END
    
------------------------------------------------- E n d -------------------------------------------------- 

في الكويري ده لميت الموضوع في Select واحد
و ضفت الجولد بـ += بدل remaingold+@data ، هي مش فارقة كتير. بس اريحلك و انت بتكتب الكويري و اوضح و انت بتقراه
كود PHP:

 ---------------------------------------- [Gold Per Level System] -----------------------------------------
    ----------------------------------------------- 
S T A R T ------------------------------------------------
    DECLARE @
charname varchar(max), @jid int
    SELECT 
@charname=C.CharName16,@jid=U.UserJID FROM SRO_VT_SHARD.._Char C INNER JOIN SRO_VT_SHARD.._User U ON C.CharID=U.CharID WHERE C.CharID=@CharID
        
if (@eventid 22  and not exists select from SRO_VT_SHARDLOG.._goldperlvl where charid = @charid and [level]=@data2 ))
        
BEGIN
        update SRO_VT_SHARD
.._Char set RemainGold +=(@Data2*100000where  charid = @CharID
        insert into SRO_VT_SHARDLOG
.._goldperLvl values (@CharID,@data2,getdate())
        
END
    
------------------------------------------------- E n d -------------------------------------------------- 

تحياتي و شكرا جزيلا علي الموضوع الجميل :)

علي فكرة : انا كنت مشاركك في اكونت phbot قبل كدا زمااااان :hockey1: بس للأسف رقمك طار من عندي لما غيرت الموبايل :/

تسلم يا كبير
يا ريت حد يجربة و يقول ايه الأخبار

M.HADAD 15-03-2016 12:37 AM

رد: Silk/Gold Per Level System Working 100%
 
الله عليك يا حودة تسلم ايدك

Dev. iLegend 15-03-2016 01:43 AM

رد: Silk/Gold Per Level System Working 100%
 
عاش يا برنجي

Dev. iLegend 15-03-2016 01:48 AM

رد: Silk/Gold Per Level System Working 100%
 
بالنسبة لموضوع الجولد ،، معلومة ليك يعني ،، متخليهوش يضيف الجولد إلا على EventID التليبورت او ال Log off / Log in
ليه بقا ،،
عشان الجولد لو هو عامل بارتي وحصل إيفنت الليفل أب وقت ما البارتي شغال وشغل البروسيدور وزود الجولد ،،
لو هو لم 1 جولد بس كافي انه يرجع قيمة الجولد للي كانت معاه + 1 جولد اللي لمه ،، لأن السرو كلينت بيخزن قيمة الجولد فيه مش بيجيبه اول بأول من الداتا بيز ،، ولو عاوز تجربها ادخل في dbo._Char ونقص او زود الجولد بس الكراكتر يكون مفتوح ومجهزه انه يلم جولد او توقع منه جولد ع الأرض ،، ولاحظ التغيير اللي هيحصل في dbo._Char

Ahmed Seliem 15-03-2016 02:06 AM

رد: Silk/Gold Per Level System Working 100%
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dev. iLegend (المشاركة 5259002)
بالنسبة لموضوع الجولد ،، معلومة ليك يعني ،، متخليهوش يضيف الجولد إلا على EventID التليبورت او ال Log off / Log in
ليه بقا ،،
عشان الجولد لو هو عامل بارتي وحصل إيفنت الليفل أب وقت ما البارتي شغال وشغل البروسيدور وزود الجولد ،،
لو هو لم 1 جولد بس كافي انه يرجع قيمة الجولد للي كانت معاه + 1 جولد اللي لمه ،، لأن السرو كلينت بيخزن قيمة الجولد فيه مش بيجيبه اول بأول من الداتا بيز ،، ولو عاوز تجربها ادخل في dbo._Char ونقص او زود الجولد بس الكراكتر يكون مفتوح ومجهزه انه يلم جولد او توقع منه جولد ع الأرض ،، ولاحظ التغيير اللي هيحصل في dbo._Char

كلامك صح، او ممكن تعمل بوت يعمل reload للكركتر في مكانه بعد متدي الجولد
ازاي بقي؟ يعمل movetouser xx وراها recalluser xx علي طول

Dev. iLegend 15-03-2016 02:13 AM

رد: Silk/Gold Per Level System Working 100%
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Ahmed Seliem (المشاركة 5259003)
كلامك صح، او ممكن تعمل بوت يعمل reload للكركتر في مكانه بعد متدي الجولد
ازاي بقي؟ يعمل movetouser xx وراها recalluser xx علي طول


vSro Multi tool created to do like these functions
and he can control the interval of the timer which work to movetouser and recalluser

Dangers SrO 15-03-2016 02:22 AM

رد: Silk/Gold Per Level System Working 100%
 
تحياتي

Ahmed Seliem 15-03-2016 02:27 AM

رد: Silk/Gold Per Level System Working 100%
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dev. iLegend (المشاركة 5259004)
vSro Multi tool created to do like these functions
and he can control the interval of the timer which work to movetouser and recalluser

انا مش بسألك ازاي يا عم xD انا بكود c# اصلا
انا بقول للناس فكرة الـ reload بس..

Dev. iLegend 15-03-2016 02:30 AM

رد: Silk/Gold Per Level System Working 100%
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Ahmed Seliem (المشاركة 5259007)
انا مش بسألك ازاي يا عم xD انا بكود c# اصلا
انا بقول للناس فكرة الـ reload بس..

وانا برضه والله بقول ينفذ فكرة ال reload ازاي ،، لأن معظم الناس هنا مش هتقدر تعمل الكلام دا بالـ C#
:icon5:

Ahmed Seliem 15-03-2016 02:36 AM

رد: Silk/Gold Per Level System Working 100%
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dev. iLegend (المشاركة 5259008)
وانا برضه والله بقول ينفذ فكرة ال reload ازاي ،، لأن معظم الناس هنا مش هتقدر تعمل الكلام دا بالـ C#
:icon5:

تمام


الساعة الآن 05:30 PM.

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