عرض مشاركة واحدة
قديم 05-01-2017, 10:34 AM   #2

Jayden
عضو متألق



الصورة الرمزية Jayden


• الانـتـسـاب » Jun 2008
• رقـم العـضـويـة » 24328
• المشـــاركـات » 1,564
• الـدولـة » طنـــطاوي
• الـهـوايـة » Private server developing and designing [ 2D -3D - Pk2 ]
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 55
Jayden جـيـد

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



افتراضي رد: اتمنا من الاعصاء او المشرفين هذه الملفات auto equpmient



ده ال Procedure

كود PHP:

USE SRO_VT_SHARDLOG
GO
/****** Object:  StoredProcedure [dbo].[_AutoEquipt]    Script Date: 05/01/2017 09:26:46 ص ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure 
[dbo].[_AutoEquipt]
    @
CharID INT,
    @
data2 INT
AS
    
DECLARE @
Flag INT 0,    
@
ID64 INT, @ReFObjID INT
, @ReFItemID INT
, @T1 TINYINT
, @T2 TINYINT
, @T3 TINYINT
, @T4 TINYINT
, @optLvl TINYINT
, @race BIT
, @Gen TINYINT;
    
SELECT @Gen 
            CASE 
                
WHEN RefObjID BETWEEN 1920 AND 1932
                    THEN 2
                WHEN RefObjID 
<= 1919
                    THEN 1
                WHEN RefObjID BETWEEN 14875 
AND 14887
                    THEN 3
                WHEN RefObjID BETWEEN 14888 
AND 14900
                THEN 4
            
ELSE 0
            END
    FROM     SRO_VT_SHARD
.dbo._Char WITH (NOLOCK)
    
WHERE     CharID = @CharID
        
    SELECT 
@race 
            CASE 
                
WHEN @Gen IN (1,2)
                    
THEN 0
                WHEN 
@Gen IN (3,4)
                    
THEN 1
            
ELSE NULL
            END
        
    
IF  @race IS NULL
        
RETURN;
        
    WHILE @
Flag <13
        BEGIN
            SELECT 
@ID64 0, @ReFItemID 0, @ReFObjID 0, @T1 0, @T2 =0, @T3 0, @T4 0
            
IF @Flag != 
                BEGIN
                    SELECT        
@ID64 I.ItemID,
                                @
ReFObjID IT.RefItemID,
                                @
optLvl IT.OptLevel
                    FROM        SRO_VT_SHARD
.dbo._Inventory I WITH (NOLOCK)
                    
INNER JOIN    SRO_VT_SHARD.dbo._Items IT WITH (NOLOCKON I.ItemID IT.ID64
                    WHERE        I
.Slot = @Flag 
                    
AND            I.CharID = @CharID
                    
AND            IT.RefItemID    NOT IN (62,3655382324459383451038310885,196442446038346) -- Arrows Bolts...
                    
                    IF @
ID64  != 0  AND @ReFObjID IS NOT NULL
                        BEGIN
                            SELECT    
@T1 TypeID1,@T2 TypeID2, @T3 TypeID3, @T4 TypeID4 
                            FROM    SRO_VT_SHARD
.dbo._RefObjCommon 
                            WHERE    ID 
= @ReFObjID                        
                            
                            SELECT 
@optLvl =
                                CASE 
WHEN @optLvl >= 3
                                        THEN 
@optLvl
                                    
ELSE 3
                                END
                            
                            UPDATE    SRO_VT_SHARD
.dbo._Items
                            SET        RefItemID 
Q.ID,
                                    
Variance  ISNULL(Q.Va0),
                                    
MagParam1 Q.P1,
                                    
MagParam2 Q.P2,
                                    
MagParam3 Q.P3,
                                    
MagParam4 Q.P4,
                                    
MagParam5 Q.P5,
                                    
MagParam6 Q.P6,
                                    
MagParam7 Q.P7,
                                    
MagParam8 Q.P8,
                                    
MagParam9 Q.P9,
                                    
MagParamNum Q.MagParamNum,
                                    
OptLevel = @optLvl
                            FROM    
(
                            
SELECT TOP 1 ID,
                                         
P1,
                                         
P2,
                                         
P3,
                                         
P4,
                                         
P5,
                                         
P6,
                                         
P7,
                                         
P8,
                                         
P9,
                                         
Va,
                                        CASE 
                                            
WHEN P1 0
                                                THEN 0
                                            WHEN P5 
0
                                                THEN 4
                                            WHEN P6 
0
                                                THEN 5
                                            WHEN P7 
0
                                                THEN 6
                                            WHEN P8 
0
                                                THEN 7
                                            WHEN P9 
0
                                                THEN 8    
                                        
ELSE 0
                                        END 
                                        
AS    MagParamNum
                            FROM        SRO_VT_SHARDLOG
.dbo._ItemPool P WITH (NOLOCK)
                            
WHERE        typeid1 = @T1
                            
AND            typeid2 = @T2
                            
AND            typeid3 = @T3
                            
AND            typeid4 = @T4
                            
AND            (Gender  = @Gen OR Gender 0)
                            AND            
Race = @race
                            
AND            ReqLevel1 <= @data2
                            ORDER  BY reqlevel1 DESC
                            

                            AS        
Q
                            WHERE    ID64 
= @ID64
                            
AND        ID64 != 0
                            
AND        Q.ID != 0
                    END
                END
            SET 
@Flag += 1
        END 
وتحط دى فى AddLogChar_
وملحوظة هنا هتغير 88 دى لأخر لفل عايزه يقف عنده انه يديله Items من السيستم على حسب ال cap بتاعتك يعنى
كود PHP:
-- AutoEquipment 
IF @EventID '22' and @Data2 > @Data1 and @Data2 between '0' and '88' 
    
BEGIN 
    EXEC SRO_VT_SHARDLOG
.dbo._AutoEquipt @charid,@data2 
    END 
ودى ال Table اللى هتحط فيها ال Items من أول ديجرى 1 لحد أخر ديجرى عايزه يديها لل Player برضو على حسب ال cap بتاعتك

كود PHP:
USE SRO_VT_SHARDLOG
GO

/****** Object:  Table [dbo].[_ItemPool]    Script Date: 05/01/2017 09:31:18 ص ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[_ItemPool](
    [
service] [intNOT NULL,
    [
ID] [intNOT NULL,
    [
CodeName128] [varchar](129NOT NULL,
    [
TypeID1] [tinyintNOT NULL,
    [
TypeID2] [tinyintNOT NULL,
    [
TypeID3] [tinyintNOT NULL,
    [
TypeID4] [tinyintNOT NULL,
    [
ReqLevel1] [tinyintNOT NULL,
    [
Gender] [tinyintNULL,
    [
P1] [bigintNULL,
    [
P2] [bigintNULL,
    [
P3] [bigintNULL,
    [
P4] [bigintNULL,
    [
P5] [bigintNULL,
    [
P6] [bigintNULL,
    [
P7] [bigintNULL,
    [
P8] [bigintNULL,
    [
P9] [bigintNULL,
    [
MagParamNum] [tinyintNULL,
    [
Va] [bigintNULL,
    [
Race] [bitNULL,
 
CONSTRAINT [PK__ItemPoolPRIMARY KEY CLUSTERED 
(
    [
IDASC
)WITH (PAD_INDEX OFFSTATISTICS_NORECOMPUTE OFFIGNORE_DUP_KEY OFFALLOW_ROW_LOCKS ONALLOW_PAGE_LOCKS ONON [PRIMARY]
ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO 
اللى فيها بيبقى شبه كده

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

وده سطر منهم عشان تمشى عليه

كود PHP:
1    71    ITEM_CH_SWORD_01_A    3    1    6    2    0    0    85899346013    257698037841    150323855465    12884901894    12884901900    25769803830    25769803836    0    0    7    1524020653    False 



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


رد مع اقتباس