عرض مشاركة واحدة
قديم 15-03-2016, 12:37 AM   #6

Black Shield
عضو فضى



الصورة الرمزية Black Shield


• الانـتـسـاب » May 2011
• رقـم العـضـويـة » 87556
• المشـــاركـات » 3,395
• الـدولـة » In My Own World
• الـهـوايـة » DBA, C#, APS.NET
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 240
Black Shield جـيـد جـداًBlack Shield جـيـد جـداًBlack Shield جـيـد جـداً

Black Shield غير متواجد حالياً



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



اقتباس:
المشاركة الأصلية كتبت بواسطة Ahmed Seliem عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
تمام ، الله ينور :)
حبيت اشارك بنسخة متطورة شوية من الكويري
استخمت الـ 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 قبل كدا زمااااان بس للأسف رقمك طار من عندي لما غيرت الموبايل :/
تسلم يا كبير
يا ريت حد يجربة و يقول ايه الأخبار


توقيع Black Shield :

اللَّهُمَّ أَنْتَ رَبِّي ، لا إِلَه إِلاَّ أَنْتَ خَلَقْتَني وأَنَا عَبْدُكَ ، وأَنَا على عهْدِكَ ووعْدِكَ ما اسْتَطَعْتُ ،
أَعُوذُ بِكَ مِنْ شَرِّ ما صنَعْتُ ، أَبوءُ لَكَ بِنِعْمتِكَ علَيَ ، وأَبُوءُ بذَنْبي فَاغْفِرْ لي ، فَإِنَّهُ لا يغْفِرُ الذُّنُوبِ إِلاَّ أَنْتَ




تريخ الأنضمام الفعلي Oct 2008 بعضوية عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
تاريخ الخروج Dec 17 2016


عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]




رد مع اقتباس