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

Ahmed Seliem
عضو جديد





• الانـتـسـاب » Mar 2016
• رقـم العـضـويـة » 129421
• المشـــاركـات » 11
• الـدولـة »
• الـهـوايـة » Programming
• اسـم الـسـيـرفـر » Orion
• الـجـنـس » Male
• نقـاط التقييم » 10
Ahmed Seliem صـاعـد

Ahmed Seliem غير متواجد حالياً



افتراضي رد: 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 قبل كدا زمااااان بس للأسف رقمك طار من عندي لما غيرت الموبايل :/




رد مع اقتباس