- Nis
- 179
- 0
Cevap: [1453 WİNDOWS FİLES] Server Files & Client
ebenezer saymaya başlamıyor herşey doğru nedendir acaba :/
ebenezer saymaya başlamıyor herşey doğru nedendir acaba :/
client tepki pacht ı atıyorum ama oyuna gırınce versiyon hatası verıyor resımdede goruldugu gibi
![]()
Patchle alakalı bir sorun.. Linkteki dosyayı indir ve dene bakalım kardeş..
BURAYA TIKLA!!!
Load_user_data Presedürünü Deyiştir Düzelir.usta o sorunu sayende çözdüm ama buseferde dc sorunu resımde gorundugu gibi![]()
![]()
Load_user_data Presedürünü Deyiştir Düzelir.
peki sizde ornek Load_user_data varmı varsa verırmısınız acaba?
CREATE PROCEDURE [dbo].[ACCOUNT_LOGIN]
@AccountID varchar(30),
@Password varchar(50),
@nRet tinyint OUTPUT
AS
/*
Author: Nero
*/
DECLARE @pwd varchar(50), @Premium tinyint, @Nation tinyint, @CharNum tinyint
SELECT @nRet = COUNT(strAccountID) FROM TB_USER WHERE strAccountID = @AccountID
IF @nRet = 0
BEGIN
INSERT INTO TB_USER (strAccountID, strPasswd, strSocNo, iDays, strWarehouseNo) VALUES (@AccountID, @Password, 1, '6', '000000')
SET @nRet = 1
RETURN
END
SELECT @pwd = strPasswd FROM TB_USER WHERE strAccountID = @AccountID and idays=6
--
SELECT @Premium = COUNT(strAccountID) FROM PREMIUM_SERVICE WHERE strAccountID = @AccountID
IF @Premium = 0
BEGIN
INSERT INTO PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3)
END
SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
IF @@ROWCOUNT = 0
BEGIN
SET @nRet = 1
RETURN
END
IF @CharNum = 0
BEGIN
SET @nRet = 1
RETURN
END
ELSE
BEGIN
SET @nRet = @Nation+1
RETURN
END
--
GO
Kardeş öncelikle "Load_User_Data" dan önce diyeceğim şeyi bir dene..
Databasendeki "Account_Login" Prodecure yi kaldır.. Aşağıda yazdığım Prodecure yi uygula.. Uygulamadan önce önce eskisini bir not defterine felan kaydedip yedekle.!
PHP:CREATE PROCEDURE [dbo].[ACCOUNT_LOGIN] @AccountID varchar(30), @Password varchar(50), @nRet tinyint OUTPUT AS /* Author: Nero */ DECLARE @pwd varchar(50), @Premium tinyint, @Nation tinyint, @CharNum tinyint SELECT @nRet = COUNT(strAccountID) FROM TB_USER WHERE strAccountID = @AccountID IF @nRet = 0 BEGIN INSERT INTO TB_USER (strAccountID, strPasswd, strSocNo, iDays, strWarehouseNo) VALUES (@AccountID, @Password, 1, '6', '000000') SET @nRet = 1 RETURN END SELECT @pwd = strPasswd FROM TB_USER WHERE strAccountID = @AccountID and idays=6 -- SELECT @Premium = COUNT(strAccountID) FROM PREMIUM_SERVICE WHERE strAccountID = @AccountID IF @Premium = 0 BEGIN INSERT INTO PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3) END SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID IF @@ROWCOUNT = 0 BEGIN SET @nRet = 1 RETURN END IF @CharNum = 0 BEGIN SET @nRet = 1 RETURN END ELSE BEGIN SET @nRet = @Nation+1 RETURN END -- GO
Load user dataya bunu koy..CREATE PROCEDURE [dbo].[LOAD_USER_DATA]
@AccountID char(21),
@id char(21),
@nRet smallint OUTPUT
AS
DECLARE @charid1 char(21), @charid2 char(21), @charid3 char(21)
DECLARE @True smallint
SET @charid1 = null
SET @charid2 = null
SET @charid3 = null
SET @True = 0
SET @nRet = 0
SELECT @charid1 = strCharID1, @charid2 = strCharID2, @charid3 = strCharID3 FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
IF @id = @charid1 or @id = @charid2 or @id = @charid3
SET @True = 1
IF @True = 0
BEGIN
SET @nRet = 0
RETURN
END
DECLARE @class char(21),@levelim int
set @class = (select class from userdata where struserid = @id)
Select @levelim = [Level] FROM USERDATA WHERE strUserID = @id
if @class = 105 AND @levelim > 59
begin
update userdata set class = 106 where struserid = @id
end
if @class = 107 AND @levelim > 59
begin
update userdata set class = 108 where struserid = @id
end
if @class = 109 AND @levelim > 59
begin
update userdata set class = 110 where struserid = @id
end
if @class = 111 AND @levelim > 59
begin
update userdata set class = 112 where struserid = @id
end
if @class = 205 AND @levelim > 59
begin
update userdata set class = 206 where struserid = @id
end
if @class = 207 AND @levelim > 59
begin
update userdata set class = 208 where struserid = @id
end
if @class = 209 AND @levelim > 59
begin
update userdata set class = 210 where struserid = @id
end
if @class = 211 AND @levelim > 59
begin
update userdata set class = 212 where struserid = @id
end
SELECT Nation, Race, Class, HairColor, Rank, Title, [Level], [Exp], Loyalty, Face, City, Knights, Fame,
Hp, Mp, Sp, Strong, Sta, Dex, Intel, Cha, Authority, Points, Gold, [Zone], Bind, PX, PZ, PY, dwTime, strSkill, strItem,strSerial, sQuestCount, strQuest, MannerPoint, LoyaltyMonthly
FROM USERDATA WHERE strUserId = @id
SET @nRet = @@RowCount
RETURN
GO
USE [kn_online]
GO
/****** Object: StoredProcedure [dbo].[LOAD_USER_DATA] Script Date: 01/30/2021 23:43:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[LOAD_USER_DATA]
@AccountID char(21),
@id char(21),
@nRet smallint OUTPUT
AS
DECLARE @charid1 char(21), @charid2 char(21), @charid3 char(21)
DECLARE @True smallint
SET @charid1 = null
SET @charid2 = null
SET @charid3 = null
SET @True = 0
SET @nRet = 0
SELECT @charid1 = strCharID1, @charid2 = strCharID2, @charid3 = strCharID3 FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
IF @id = @charid1 or @id = @charid2 or @id = @charid3
SET @True = 1
IF @True = 0
BEGIN
SET @nRet = 0
RETURN
END
DECLARE @class char(21),@levelim int
set @class = (select class from userdata where struserid = @id)
Select @levelim = [Level] FROM USERDATA WHERE strUserID = @id
if @class = 105 AND @levelim > 59
begin
update userdata set class = 106 where struserid = @id
end
if @class = 107 AND @levelim > 59
begin
update userdata set class = 108 where struserid = @id
end
if @class = 109 AND @levelim > 59
begin
update userdata set class = 110 where struserid = @id
end
if @class = 111 AND @levelim > 59
begin
update userdata set class = 112 where struserid = @id
end
if @class = 205 AND @levelim > 59
begin
update userdata set class = 206 where struserid = @id
end
if @class = 207 AND @levelim > 59
begin
update userdata set class = 208 where struserid = @id
end
if @class = 209 AND @levelim > 59
begin
update userdata set class = 210 where struserid = @id
end
if @class = 211 AND @levelim > 59
begin
update userdata set class = 212 where struserid = @id
end
SELECT Nation, Race, Class, HairColor, Rank, Title, [Level], [Exp], Loyalty, Face, City, Knights, Fame,
Hp, Mp, Sp, Strong, Sta, Dex, Intel, Cha, Authority, Points, Gold, [Zone], Bind, PX, PZ, PY, dwTime, strSkill, strItem,strSerial, sQuestCount, strQuest, MannerPoint, LoyaltyMonthly
FROM USERDATA WHERE strUserId = @id
SET @nRet = @@RowCount
RETURN
eror 207 : ınvalid clumn name "strwarehouseno" hatsı verdı kardeş
Eğer sorun hala devam ediyorsa benim sorunsuz bir şekilde girdiğim databasenin "Load_User_Data" Prodecure sini verim.. Aşağıdaki kod da "USE [kn_online]" yazan yerdeki kn_onlineyi database ismin olarak değiştir. kn_online ise değiştirmene gerek yok..
PHP:USE [kn_online] GO /****** Object: StoredProcedure [dbo].[LOAD_USER_DATA] Script Date: 01/30/2021 23:43:51 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO ALTER PROCEDURE [dbo].[LOAD_USER_DATA] @AccountID char(21), @id char(21), @nRet smallint OUTPUT AS DECLARE @charid1 char(21), @charid2 char(21), @charid3 char(21) DECLARE @True smallint SET @charid1 = null SET @charid2 = null SET @charid3 = null SET @True = 0 SET @nRet = 0 SELECT @charid1 = strCharID1, @charid2 = strCharID2, @charid3 = strCharID3 FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID IF @id = @charid1 or @id = @charid2 or @id = @charid3 SET @True = 1 IF @True = 0 BEGIN SET @nRet = 0 RETURN END DECLARE @class char(21),@levelim int set @class = (select class from userdata where struserid = @id) Select @levelim = [Level] FROM USERDATA WHERE strUserID = @id if @class = 105 AND @levelim > 59 begin update userdata set class = 106 where struserid = @id end if @class = 107 AND @levelim > 59 begin update userdata set class = 108 where struserid = @id end if @class = 109 AND @levelim > 59 begin update userdata set class = 110 where struserid = @id end if @class = 111 AND @levelim > 59 begin update userdata set class = 112 where struserid = @id end if @class = 205 AND @levelim > 59 begin update userdata set class = 206 where struserid = @id end if @class = 207 AND @levelim > 59 begin update userdata set class = 208 where struserid = @id end if @class = 209 AND @levelim > 59 begin update userdata set class = 210 where struserid = @id end if @class = 211 AND @levelim > 59 begin update userdata set class = 212 where struserid = @id end SELECT Nation, Race, Class, HairColor, Rank, Title, [Level], [Exp], Loyalty, Face, City, Knights, Fame, Hp, Mp, Sp, Strong, Sta, Dex, Intel, Cha, Authority, Points, Gold, [Zone], Bind, PX, PZ, PY, dwTime, strSkill, strItem,strSerial, sQuestCount, strQuest, MannerPoint, LoyaltyMonthly FROM USERDATA WHERE strUserId = @id SET @nRet = @@RowCount RETURN
Tamam kardeş. Es geç onu bir önceki yolladığım mesajdakileri uygula. Sorunun çözülür.
Eğer sorun hala devam ediyorsa benim sorunsuz bir şekilde girdiğim databasenin "Load_User_Data" Prodecure sini verim.. Aşağıdaki kod da "USE [kn_online]" yazan yerdeki kn_onlineyi database ismin olarak değiştir. kn_online ise değiştirmene gerek yok..
PHP:USE [kn_online] GO /****** Object: StoredProcedure [dbo].[LOAD_USER_DATA] Script Date: 01/30/2021 23:43:51 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO ALTER PROCEDURE [dbo].[LOAD_USER_DATA] @AccountID char(21), @id char(21), @nRet smallint OUTPUT AS DECLARE @charid1 char(21), @charid2 char(21), @charid3 char(21) DECLARE @True smallint SET @charid1 = null SET @charid2 = null SET @charid3 = null SET @True = 0 SET @nRet = 0 SELECT @charid1 = strCharID1, @charid2 = strCharID2, @charid3 = strCharID3 FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID IF @id = @charid1 or @id = @charid2 or @id = @charid3 SET @True = 1 IF @True = 0 BEGIN SET @nRet = 0 RETURN END DECLARE @class char(21),@levelim int set @class = (select class from userdata where struserid = @id) Select @levelim = [Level] FROM USERDATA WHERE strUserID = @id if @class = 105 AND @levelim > 59 begin update userdata set class = 106 where struserid = @id end if @class = 107 AND @levelim > 59 begin update userdata set class = 108 where struserid = @id end if @class = 109 AND @levelim > 59 begin update userdata set class = 110 where struserid = @id end if @class = 111 AND @levelim > 59 begin update userdata set class = 112 where struserid = @id end if @class = 205 AND @levelim > 59 begin update userdata set class = 206 where struserid = @id end if @class = 207 AND @levelim > 59 begin update userdata set class = 208 where struserid = @id end if @class = 209 AND @levelim > 59 begin update userdata set class = 210 where struserid = @id end if @class = 211 AND @levelim > 59 begin update userdata set class = 212 where struserid = @id end SELECT Nation, Race, Class, HairColor, Rank, Title, [Level], [Exp], Loyalty, Face, City, Knights, Fame, Hp, Mp, Sp, Strong, Sta, Dex, Intel, Cha, Authority, Points, Gold, [Zone], Bind, PX, PZ, PY, dwTime, strSkill, strItem,strSerial, sQuestCount, strQuest, MannerPoint, LoyaltyMonthly FROM USERDATA WHERE strUserId = @id SET @nRet = @@RowCount RETURN
Tamam kardeş. Es geç onu bir önceki yolladığım mesajdakileri uygula. Sorunun çözülür.