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

KNiGHT OnLiNE

En KaliTeli PAylaşımın Tek adresi
 
AnasayfaPortalKayıt OlGiriş yap

 

 [PAYLAŞIM]Stat Sorunu %100 Fix

Aşağa gitmek 
YazarMesaj
MôHîCåN
Site Kurucusu
Site Kurucusu
MôHîCåN

Mesaj Sayısı : 227
Points : 42788
Kayıt tarihi : 18/04/09
Yaş : 33
Nerden : istanbul

[PAYLAŞIM]Stat Sorunu %100 Fix Empty
MesajKonu: [PAYLAŞIM]Stat Sorunu %100 Fix   [PAYLAŞIM]Stat Sorunu %100 Fix Icon_minitimePerş. Mayıs 07, 2009 12:36 am

LOAD_USER_DATA Procediresini Açın
EXEC REPAIR_USER_STAT_POINT @id Ekleyin
RETURN @@ROWCOUNT ın Yerine Kısacası Eskisini Silip Yenisi Ekleyin..
Özellikleri ;
Kişiye Kaç Stat Gelmiş Olursa Olsun Statlarını Sıfırlar Sorunsuz.
Kesinlikle Sorunsuz, Class ve Race de Dikkat Etmekdedir.
74 Level Olupta Tüm Statlarının(Çarı İlk Açarken Aldığı Statlarda Dahil) Toplamı 350 nin Altında Olması İmkansız
1 LEVEL 1 Çar Açtığında 300 Statla Doğarsın 290 Oyun Verir +10 Stat ta
Bonus Verir Çarı Açtığında Doğal Olarak 300 Stat Point Yapar, Stat
Sıfırlattığında Sana 31 - 26 - 12 Felan Gibi Aptal Statlar Gelir 74
Level Adamda Nasıl Olurda 331 - 326 - 312 Kısacası 350 Pointin Altında
Stat Gelir.
Olması Gerekenler Şöyle
74 Level Stat Toplamı : 557 Stat
75 Level Stat Toplamı : 562 Stat
76 Level Stat Toplamı : 567 Stat
77 Level Stat Toplamı : 572 Stat
78 Level Stat Toplamı : 577 Stat
79 Level Stat Toplamı : 582 Stat
80 Level Stat Toplamı : 587 Stat
Kısacası 74 Level Olupta 350 Statın Altında Olması İmkansız Olduğundan Stat Sıfırlatmış Varsayılır ve İşlem Yapılır...!

TEST EDİLDİ ONAYLANDI .


Kod:

CREATE PROCEDURE REPAIR_USER_STAT_POINT
@strUserID varchar(21)
AS
/*
Author : AKUMA
*/
DECLARE @Level int,@Class int,@Race int,@NewPoint int,@STR int,@HP int, @DEX int,@INT int,@MP int
DECLARE @StatTotal int
SELECT @Level = Level,@Class = Class,@Race = Race,@STR = Strong,@HP = Sta,@DEX = Dex,@INT = Intel,@MP = Cha FROM USERDATA WHERE strUserId = @strUserID
SET @StatTotal = @STR + @HP + @DEX + @INT + @MP

IF @Level >= 74 AND @StatTotal <= 350
BEGIN
IF @Level = 74
SET @NewPoint = 225
IF @Level = 75
SET @NewPoint = 230
IF @Level = 76
SET @NewPoint = 235
IF @Level = 77
SET @NewPoint = 240
IF @Level = 78
SET @NewPoint = 245
IF @Level = 79
SET @NewPoint = 250
IF @Level = 80
SET @NewPoint = 255
IF (@Class = 201) OR (@Class = 205) OR (@Class = 206) OR (@Class = 101) OR (@Class = 105) OR (@Class = 106)
BEGIN
IF @Race = 1
UPDATE USERDATA Set Strong = 65 + 42,Sta = 60,Dex = 65,Intel = 50,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId
ELSE IF @Race = 12
UPDATE USERDATA Set Strong = 60 + 42,Sta = 70,Dex = 60,Intel = 50,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId
ELSE IF @Race = 13
UPDATE USERDATA Set Strong = 50 + 42,Sta = 70,Dex = 50,Intel = 70,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId
END
ELSE IF (@Class = 202) OR (@Class = 207) OR (@Class = 208) OR (@Class = 102) OR (@Class = 107) OR (@Class = 108)
BEGIN

IF @Race = 2
UPDATE USERDATA Set Strong = 60,Sta = 70,Dex = 60 + 42,Intel = 50,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId
ELSE IF @Race = 12
UPDATE USERDATA Set Strong = 60,Sta = 70,Dex = 60 + 42,Intel = 50,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId
ELSE IF @Race = 13
UPDATE USERDATA Set Strong = 50,Sta = 70,Dex = 50 + 42,Intel = 70,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId
END
ELSE IF (@Class = 203) OR (@Class = 209) OR (@Class = 210) OR (@Class = 103) OR (@Class = 109) OR (@Class = 110)
BEGIN
IF @Race = 3
UPDATE USERDATA Set Strong = 50,Sta = 70,Dex = 50,Intel = 70 + 10,Cha = 50 + 32,Points = @NewPoint WHERE strUserId = @strUserId
ELSE IF @Race = 12
UPDATE USERDATA Set Strong = 60,Sta = 70,Dex = 60,Intel = 50 + 10,Cha = 50 + 32,Points = @NewPoint WHERE strUserId = @strUserId
ELSE IF @Race = 13
UPDATE USERDATA Set Strong = 50,Sta = 70,Dex = 50,Intel = 70 + 10,Cha = 50 + 32,Points = @NewPoint WHERE strUserId = @strUserId
END
ELSE IF (@Class = 204) OR (@Class = 211) OR (@Class = 212) OR (@Class = 104) OR (@Class = 111) OR (@Class = 112)
BEGIN
IF @Race = 4
UPDATE USERDATA Set Strong = 60 + 12,Sta = 70 + 10,Dex = 60,Intel = 50 + 20,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId
ELSE IF @Race = 2
UPDATE USERDATA Set Strong = 50 + 12,Sta = 60 + 10,Dex = 60,Intel = 70 + 20,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId
ELSE IF @Race = 12
UPDATE USERDATA Set Strong = 60 + 12,Sta = 70 + 10,Dex = 60,Intel = 50 + 20,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId
ELSE IF @Race = 13
UPDATE USERDATA Set Strong = 50 + 12,Sta = 70 + 10,Dex = 50,Intel = 70 + 20,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId
END
END
Sayfa başına dön Aşağa gitmek
https://koxp.forumgabon.com
 
[PAYLAŞIM]Stat Sorunu %100 Fix
Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
KNiGHT OnLiNE :: Private Serverlar :: Database ve Sorunları-
Buraya geçin: