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

Hekatonkheir

Uzaklaştırılmış
  • İçerik sayısı

    26
  • Katılım

  • Son ziyaret

  • Puan

    1,191 [ Bağış Yap ]

İletiler : Hekatonkheir


  1. 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

  2. Üye adı: Hekatonkheir

    Ad ve Soyad: Ebubekir ÖZBEK

    Ülke / Şehir: Muğla, Türkiye

    Hakkınızda kısa bilgi: 23 Yaşındayım Üniversite öğrencisiyim.

    E-posta adresiniz: [email protected]

    Skype adresiniz: [email protected]

    Facebook adresiniz:

    Gizli İçerik

      Gizli içeriği görmek için bu konuya bir mesaj yazın.


    Referans olan üye:

    Ne kadar süredir Knight OnLine ile ilgileniyorsunuz?: 8 Yıl

    Aktif olarak Knight OnLine oynuyor musunuz?: Yes

    Oynuyorsanız, hangi sunucuda?: Yourko PVP

    Yetkinlikleriniz, becerileriniz nelerdir?: Kafama taktığım şeyleri er ya da geç çözmeye ve öğrenmeye çalışan birisiyim.

    Önceki çalışmalarınız, referanslarınız:

    Ek Bilgiler: günde 12 saat bilgisayar başında geçiren asosyal bir kişiliğe sahibim :)

    IP Address:: 78.181.242.112
×
×
  • Yeni Oluştur...