ForumDATA
Would you like to react to this message? Create an account in a few clicks or log in to continue.

ForumDATA

ForumDATA Forum
 
AnasayfaAnasayfa  AramaArama  Latest imagesLatest images  Zayıflama Lida Fx15 ve Biber Hapı zlfvbhZayıflama Lida Fx15 ve Biber Hapı zlfvbh  Kayıt OlKayıt Ol  Giriş yapGiriş yap  

 

 Db'mize NP İncrease ScroLL ekleyelim (DeathRow FarkıyLa)

Aşağa gitmek 
YazarMesaj
ADMİN
KoManyak Yönetim
KoManyak Yönetim
ADMİN


Takım Takım : 1
Ruh Hali Ruh Hali : 31
Mesaj Sayısı Mesaj Sayısı : 157
Doğum tarihi Doğum tarihi : 21/12/94
Kayıt tarihi Kayıt tarihi : 29/03/09
Yaş Yaş : 29
Nerden Nerden : Edirne
Lakap Lakap : Murphy

Cüzdan
Altın Altın: 21893114
Para Para: 93127124

Db'mize NP İncrease ScroLL ekleyelim (DeathRow FarkıyLa) Empty
MesajKonu: Db'mize NP İncrease ScroLL ekleyelim (DeathRow FarkıyLa)   Db'mize NP İncrease ScroLL ekleyelim (DeathRow FarkıyLa) Icon_minitimePaz Tem. 05, 2009 8:18 pm

Evet açıyoruz Quary AnaLyzer'imizi Ve
Aşağıdaki Kodlarımızı Yapıştırıyoruz:

Kod:
DELETE FROM MAGIC WHERE MagicNum = 504001
INSERT INTO ITEM VALUES (800074000,'NP Increase Scroll(+0)',255,15,0,0,0,0,0,1,10,2000,0,0,0,504001,0,70,99,0,0,0,0,0,0,0,0,0,0,​0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
INSERT INTO MAGIC VALUES (504001,'NP Increase Scroll(+0)','General','Increase NP by %50',0,0,0,1,702,1,0,0,0,0,9,800074000,0,180,100,4,0,25,1,0)
INSERT INTO MAGIC_TYPE4 VALUES (504001,'NP Increase Scroll

TabLomuzu oLuşturuyoruz:
Kod:
CREATE TABLE [dbo].[USER_LOYALTY_INCREASES](
    [ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
    [strUserId] [char](21) NULL,
    [Loyalty] [int] NULL,
    [Description] [char](500) NULL,
    [Process] [tinyint] NULL,
    [UpdateTime] [datetime] NULL,
CONSTRAINT [PK_USER_LOYALTY_INCREASES] PRIMARY KEY CLUSTERED
(
    [ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[USER_LOYALTY_INCREASES_TEMP](
    [strUserId] [char](21) NULL,
    [Loyalty] [int] NULL
) ON [PRIMARY]

Mevcut Np LEri oluşturmamız için Kod:


Kod:
INSERT INTO USER_LOYALTY_INCREASES_TEMP SELECT strUserId,Loyalty FROM USERDATA


Ve Prosedür

Kod:
CREATE PROCEDURE UPDATE_USER_LOYALTY_INCREASES
@strUserId char(21)
AS
/*
Author : DeathRow
Update : 05.07.2009 - 21:15
*/
DECLARE @ID int
DECLARE @Loyalty int

DECLARE LOYALTY_INCREASES_CURSOR CURSOR FOR
SELECT ID,Loyalty FROM USER_LOYALTY_INCREASES WHERE Process = 0 AND strUserId = @strUserId

OPEN LOYALTY_INCREASES_CURSOR

FETCH NEXT FROM LOYALTY_INCREASES_CURSOR INTO @ID,@Loyalty
WHILE @@FETCH_STATUS = 0
BEGIN

    UPDATE USERDATA SET Loyalty = Loyalty + @Loyalty WHERE strUserId = @strUserId
   
    UPDATE USER_LOYALTY_INCREASES SET Process = 1 WHERE ID = @ID
   
FETCH NEXT FROM LOYALTY_INCREASES_CURSOR INTO @ID,@Loyalty
END

CLOSE LOYALTY_INCREASES_CURSOR
DEALLOCATE LOYALTY_INCREASES_CURSOR

Triggerimiz


Kod:
CREATE TRIGGER [dbo].[LOYALTY_INCREASES] ON [dbo].[USERDATA]
AFTER UPDATE AS
IF UPDATE(Loyalty)
BEGIN
   
    /*
    Author : DeatRow
    Update : 05.07.2009 - 21:15
    */
   
    DECLARE @strUserId char(21)
    DECLARE @LoyaltyCurrent int
    DECLARE @LoyaltyLast int
    DECLARE @LoyaltyAdded int
    DECLARE @LoyaltyDifference int
    DECLARE @NPIncreasesScrollPercent int
    DECLARE @NPIncreasesScrollPercentTemp char(400)
    DECLARE @nSkill1 int
    DECLARE @nSkill2 int
    DECLARE @nSkill3 int
    DECLARE @nSkill4 int
    DECLARE @nSkill5 int
    DECLARE @nSkill6 int
    DECLARE @nSkill7 int
    DECLARE @nSkill8 int
    DECLARE @nSkill9 int
    DECLARE @nSkill10 int
   
    SELECT @strUserId = strUserId,@LoyaltyLast = Loyalty FROM INSERTED
   
    SELECT @nSkill1 = nSkill1,@nSkill2 = nSkill2,@nSkill3 = nSkill3,@nSkill4 = nSkill4,@nSkill5 = nSkill5,@nSkill6 = nSkill6,@nSkill7 = nSkill7,@nSkill8 = nSkill8,@nSkill9 = nSkill9,@nSkill10 = nSkill10  FROM USER_SAVED_MAGIC WHERE strCharID = @strUserId
   
    IF (@nSkill1 = 504001) OR (@nSkill2 = 504001) OR (@nSkill3 = 504001) OR (@nSkill4 = 504001) OR (@nSkill5 = 504001) OR (@nSkill6 = 504001) OR (@nSkill7 = 504001) OR (@nSkill8 = 504001) OR (@nSkill9 = 504001) OR (@nSkill10 = 504001)
    BEGIN

        SELECT @LoyaltyCurrent = Loyalty FROM USER_LOYALTY_INCREASES_TEMP WHERE strUserId = @strUserId
   
        SET @LoyaltyDifference = (@LoyaltyLast - @LoyaltyCurrent)
        SET @LoyaltyAdded = 0
               
        IF CHARINDEX('-',@LoyaltyDifference) = 0
        BEGIN
               
            SELECT @NPIncreasesScrollPercentTemp = Description FROM MAGIC WHERE MagicNum = 504001
           
            SET @NPIncreasesScrollPercent = SUBSTRING(@NPIncreasesScrollPercentTemp,CHARINDEX('%',@NPIncreasesScrollPercentT​emp) + 1,2)
       
            SET @LoyaltyAdded = ((@LoyaltyDifference) * @NPIncreasesScrollPercent) / 100

            IF @LoyaltyAdded <> 0
            BEGIN
                INSERT INTO USER_LOYALTY_INCREASES (strUserId,Loyalty,Description,Process,UpdateTime)
                VALUES (@strUserId,@LoyaltyAdded,'Mevcut National Point : ' + RTRIM(LTRIM(STR(@LoyaltyCurrent))) + ' / Son National Point : ' + RTRIM(LTRIM(STR(@LoyaltyLast))) + ' / Verilen NP Yüzdesi %' + RTRIM(LTRIM(STR(@NPIncreasesScrollPercent))) + ' / Verilen National Point : ' + RTRIM(LTRIM(STR(@LoyaltyAdded))),0,GETDATE())
                UPDATE USER_LOYALTY_INCREASES_TEMP SET Loyalty = @LoyaltyLast WHERE strUserId = @strUserId
            END   
        END
    END
END

LOAD_USER_DATA ye AS'ten Sonra Eklenecek Olan kodumuz:
Kod:
-- # Loyalty Increases System Start # --
DECLARE @LIT tinyint

SELECT @LIT = COUNT(strUserId) FROM USER_LOYALTY_INCREASES_TEMP WHERE strUserId = @strUserId

IF @LIT = 0
    INSERT INTO USER_LOYALTY_INCREASES_TEMP (strUserId,Loyalty) VALUES (@strUserId,(SELECT Loyalty FROM USERDATA WHERE strUserId = @strUserId))

EXEC UPDATE_USER_LOYALTY_INCREASES @strUserId
-- # Loyalty Increases System End # --

Ve GerekLi Patchimiz:

NPIncreasePatch
Sayfa başına dön Aşağa gitmek
http://forumdata.web-rpg.org
ADMİN
KoManyak Yönetim
KoManyak Yönetim
ADMİN


Takım Takım : 1
Ruh Hali Ruh Hali : 31
Mesaj Sayısı Mesaj Sayısı : 157
Doğum tarihi Doğum tarihi : 21/12/94
Kayıt tarihi Kayıt tarihi : 29/03/09
Yaş Yaş : 29
Nerden Nerden : Edirne
Lakap Lakap : Murphy

Cüzdan
Altın Altın: 21893114
Para Para: 93127124

Db'mize NP İncrease ScroLL ekleyelim (DeathRow FarkıyLa) Empty
MesajKonu: Geri: Db'mize NP İncrease ScroLL ekleyelim (DeathRow FarkıyLa)   Db'mize NP İncrease ScroLL ekleyelim (DeathRow FarkıyLa) Icon_minitimeCuma Ekim 23, 2009 10:44 pm

Download Linkimiz Bozulmuştur..En Kısa Sürede Yenilenecektir..
Sayfa başına dön Aşağa gitmek
http://forumdata.web-rpg.org
 
Db'mize NP İncrease ScroLL ekleyelim (DeathRow FarkıyLa)
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» onLine User Bar'ı {DeathRow FarkıyLa}
» Maradon Skill Açma Yerine Guardlar ekleyelim Ne dersiniz??
» Genel Notice vs.Değiştirmek için Durma((KoManYaK FarkıyLa))

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
ForumDATA  :: Pvp Paylaşımlar :: Prosedürler & Kodlar :: Kodlar-
Buraya geçin: