Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...
Hekatonkheir

v.1299 Char Açma Ekranında Hata [Unknow Error]

Önerilen Mesajlar

v.1299'da char açarken böyle bir hata alıyorum çözümü nedir?

https://i.hizliresim.com/9mL2bZ.png

tb_user'da kayıtlı olan başka bir chara giriş yaptığımda (dbde oluşturulu char) hiç sıkıntı almadan oyuna girebiliyorum fakat yeni char açamıyorum.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
CREATE_NEW_CHAR prosedüründe sıkıntı var.
@nRet yada RETURN değerlerini kontrol et.


USE [kn_online]
GO
/****** Object: StoredProcedure [dbo].[CREATE_NEW_CHAR] Script Date: 03.02.2018 15:34:42 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
/****** Object: Stored Procedure dbo.CREATE_NEW_CHAR Script Date: 6/6/2006 6:03:33 PM ******/


/****** 개체: 저장 프로시저 dbo.CREATE_NEW_CHAR 스크립트 날짜: 2002-11-14 오전 11:18:03 ******/


-- scripted by samma
-- Duzenleyen GoldenShark
-- 14.12.2009 Turkce Karakter Ve Bir Cok Cesit Dupe Fixed

ALTER PROCEDURE [dbo].[CREATE_NEW_CHAR]

@nRet smallint OUTPUT,
@AccountID char(21),
@index tinyint,
@CharID char(21),
@Race tinyint,
@Class smallint,
@Hair tinyint,
@Face tinyint,
@Str tinyint,
@Sta tinyint,
@Dex tinyint,
@Intel tinyint,
@Cha tinyint

AS

DECLARE @Row tinyint, @Nation tinyint, @Zone tinyint, @PosX int, @PosZ int
SET @Row = 0 SET @Nation = 0 SET @Zone = 0 SET @PosX = 0 SET @PosZ = 0

SELECT @Nation = bNation, @Row = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID

IF @Row >= 5 SET @nRet = 1

IF @Nation = 1 AND @Race > 10 SET @nRet = 2
ELSE IF @Nation = 2 AND @Race ELSE IF @Nation 1 AND @Nation 2 SET @nRet = 2

IF @nRet > 0
RETURN

SELECT @Row = COUNT(strUserId) FROM USERDATA WHERE strUserId = @CharID
IF @Row > 0
BEGIN
SET @nRet = 3
RETURN
END
--İzin verilen karakter kontrolü

DECLARE @CheckChar as tinyint
select @CheckChar=dbo.ufn_RegExIsMatch(rtrim(@CharID),'^[A-Za-z0-9öÖçÇüÜ._\-\[\]@!:;.,=+\^{}\*&()\$]*$',1)
if @CheckChar=0
BEGIN
SET @nRet = 3
RETURN
END
-- İzin verilen karakter kontrolü bitiş

DECLARE @BABO as char(21)
set @BABO = @CharID
if @BABO like '%;%'
BEGIN
SET @nRet = 3
RETURN
END

--SET @Zone = @Nation
SET @Zone=21
SELECT @PosX = InitX, @PosZ = InitZ FROM ZONE_INFO WHERE ZoneNo = @Zone



BEGIN TRAN
IF @index = 0
UPDATE ACCOUNT_CHAR SET strCharID1 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
ELSE IF @index = 1
UPDATE ACCOUNT_CHAR SET strCharID2 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
ELSE IF @index = 2
UPDATE ACCOUNT_CHAR SET strCharID3 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
ELSE IF @index = 3
UPDATE ACCOUNT_CHAR SET strCharID4 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
ELSE IF @index = 4
UPDATE ACCOUNT_CHAR SET strCharID5 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID


INSERT INTO USERDATA (strUserId, Nation, Race, Class, HairColor, Face, Strong, Sta, Dex, Intel, Cha, Zone, PX, PZ, sRace)
VALUES (@CharID, @Nation, @Race, @Class, @Hair, @Face, @Str, @Sta, @Dex, @Intel, @Cha, @Zone, @PosX, @PosZ, @Race)
--Baslangıç Item--
exec baslangicitem @CharID
--Başlangıç Item--

--Auto Master--
update USERDATA set Class = 106 where strUserId = @CharID and @Class = 101
update USERDATA set Class = 108 where strUserId = @CharID and @Class = 102
update USERDATA set Class = 110 where strUserId = @CharID and @Class = 103
update USERDATA set Class = 112 where strUserId = @CharID and @Class = 104
update USERDATA set Class = 206 where strUserId = @CharID and @Class = 201
update USERDATA set Class = 208 where strUserId = @CharID and @Class = 202
update USERDATA set Class = 210 where strUserId = @CharID and @Class = 203
update USERDATA set Class = 212 where strUserId = @CharID and @Class = 204
--Auto Master--
IF @@ERROR 0
BEGIN
ROLLBACK TRAN
SET @nRet = 4
RETURN
END

COMMIT TRAN
SET @nRet = 0

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin

@nRet değerleri sıfır olmayanları tek tek sıfır yap kontrol et hangisini değiştirdiğinde karakter oluşuyor veya oluşurmuş gibi oluyor.

Eğer bir önceki hatayı almazsan o @nRet değerinde sıkıntı var demektir ondan önceki kontrole bak işte.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
@nRet değerleri sıfır olmayanları tek tek sıfır yap kontrol et hangisini değiştirdiğinde karakter oluşuyor veya oluşurmuş gibi oluyor.

Eğer bir önceki hatayı almazsan o @nRet değerinde sıkıntı var demektir ondan önceki kontrole bak işte.


çok teşekkür ederim sorun çözülmüştür :)

İletiyi paylaş


Link to post
Sitelerde Paylaş

×
×
  • Yeni Oluştur...