:OZELLIKLERI:
1- Eğer o pc den daha önce girilmişse,başka bir hesap ile ip değişene kadar girilemez.
2- Daha önce o ip ile giriş yapmış ve başka bir hesap ile girmeyi deneyen kullanıcı oyuna alınmaz ve KRAL_LOG tablosuna karakter isimleri ile beraber kayıt edilir.
3- KRAL_LOG tablosundaki Tekrarlama sekmesinde ne kadar oyuna girme denemesi yapmış,görebilirsiniz ..
:YAPILACAKLAR:
ACCOUNT_LOGOUT VE ACCOUNT_LOGOUT2 Prosedürlerinden aşağıdaki kodu silin.
Kod:
DELETE FROM CURRENTUSER WHERE strAccountID = @AccountID
-----------------------------
ACCOUNT_LOGIN Prosedüründe yukarılara bir yerlere ekleyin :
Kod:
DECLARE @online int,@kullanici varchar(21),@ztnvar int,@Kral1 varchar(21),@Kral2 varchar(21),@Kral3 varchar(21),@Tekrar int,@eskiacc varchar(21)
Select @online = Count(strClientIP) FROM CURRENTUSER WHERE strAccountID = @AccountID
Select @eskiacc = strAccountID FROM CURRENTUSER WHERE strAccountID = @AccountID
Select @kullanici = strCharID FROM CURRENTUSER WHERE strAccountID = @AccountID
Select @Kral1 = strCharID1,@kral2 = strCharID2,@Kral3 = strCharID3 FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
Select @ztnvar = Count(strAccountID) FROM CURRENTUSER WHERE strAccountID = @AccountID
Select @Tekrar = Tekrarlama FROM KRAL_LOG WHERE strAccountID = @AccountID
IF @online = 1 AND @ztnvar = 0 AND @eskiacc <> @AccountID
BEGIN
SET @nRet = 2
INSERT INTO KRAL_LOG(strAccountID,strChar1,strChar2,strChar3) VALUES(@AccountID,@Kral1,@Kral2,@Kral3)
RETURN
END
ELSE IF @online = 1 AND @ztnvar = 1 AND @eskiacc <> @AccountID
BEGIN
SET @nRet = 2
SET @Tekrar = @Tekrar + 1
UPDATE KRAL_LOG Set Tekrarlama = @Tekrar WHERE strAccountID = @AccountID
RETURN
END
---------------------------
Yeni bir KRAL_LOG tablosu oluşturun :
strAccountID > varchar(50)
strChar1 > varchar(50)
strChar2 > varchar(50)
strChar3 > varchar(50)
Tekrarlama > int(4)
------------------------------
Bende vista olduğu için kodu deneyemiyorum.Ama kodda sorun olmaması lazım.Varsa bile ben size mantığı söyleyim,siz yapılacakları yaparsınız :
ACC_LOGOUT prosedürlerinden oyundan düşürmüş gibi göstermemeyi sağladık.Yani player oyunda olmasa bile oyunda gözükecek.ACC_LOGIN prosedürünede eğer currentuserda o ip ye ait bir giriş yapılmışsa,oyuna almamasını sağladık.Yani 1 ip ancak ip si değişene kadar 1 hesaptan giriş yapabilecek.Kodun diğer geri kalan kısmıda KRAL_LOG tablosundaki veriler için kullanılıyor ..
1- Eğer o pc den daha önce girilmişse,başka bir hesap ile ip değişene kadar girilemez.
2- Daha önce o ip ile giriş yapmış ve başka bir hesap ile girmeyi deneyen kullanıcı oyuna alınmaz ve KRAL_LOG tablosuna karakter isimleri ile beraber kayıt edilir.
3- KRAL_LOG tablosundaki Tekrarlama sekmesinde ne kadar oyuna girme denemesi yapmış,görebilirsiniz ..
:YAPILACAKLAR:
ACCOUNT_LOGOUT VE ACCOUNT_LOGOUT2 Prosedürlerinden aşağıdaki kodu silin.
Kod:
DELETE FROM CURRENTUSER WHERE strAccountID = @AccountID
-----------------------------
ACCOUNT_LOGIN Prosedüründe yukarılara bir yerlere ekleyin :
Kod:
DECLARE @online int,@kullanici varchar(21),@ztnvar int,@Kral1 varchar(21),@Kral2 varchar(21),@Kral3 varchar(21),@Tekrar int,@eskiacc varchar(21)
Select @online = Count(strClientIP) FROM CURRENTUSER WHERE strAccountID = @AccountID
Select @eskiacc = strAccountID FROM CURRENTUSER WHERE strAccountID = @AccountID
Select @kullanici = strCharID FROM CURRENTUSER WHERE strAccountID = @AccountID
Select @Kral1 = strCharID1,@kral2 = strCharID2,@Kral3 = strCharID3 FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
Select @ztnvar = Count(strAccountID) FROM CURRENTUSER WHERE strAccountID = @AccountID
Select @Tekrar = Tekrarlama FROM KRAL_LOG WHERE strAccountID = @AccountID
IF @online = 1 AND @ztnvar = 0 AND @eskiacc <> @AccountID
BEGIN
SET @nRet = 2
INSERT INTO KRAL_LOG(strAccountID,strChar1,strChar2,strChar3) VALUES(@AccountID,@Kral1,@Kral2,@Kral3)
RETURN
END
ELSE IF @online = 1 AND @ztnvar = 1 AND @eskiacc <> @AccountID
BEGIN
SET @nRet = 2
SET @Tekrar = @Tekrar + 1
UPDATE KRAL_LOG Set Tekrarlama = @Tekrar WHERE strAccountID = @AccountID
RETURN
END
---------------------------
Yeni bir KRAL_LOG tablosu oluşturun :
strAccountID > varchar(50)
strChar1 > varchar(50)
strChar2 > varchar(50)
strChar3 > varchar(50)
Tekrarlama > int(4)
------------------------------
Bende vista olduğu için kodu deneyemiyorum.Ama kodda sorun olmaması lazım.Varsa bile ben size mantığı söyleyim,siz yapılacakları yaparsınız :
ACC_LOGOUT prosedürlerinden oyundan düşürmüş gibi göstermemeyi sağladık.Yani player oyunda olmasa bile oyunda gözükecek.ACC_LOGIN prosedürünede eğer currentuserda o ip ye ait bir giriş yapılmışsa,oyuna almamasını sağladık.Yani 1 ip ancak ip si değişene kadar 1 hesaptan giriş yapabilecek.Kodun diğer geri kalan kısmıda KRAL_LOG tablosundaki veriler için kullanılıyor ..