Oyun İçi NCS Sistemi – Sorunsuz İsim Değiştirme Prosedürü

Aethre

www.pvpers.gg
Katılım
19 Haz 2024
Konular
392
Mesajlar
491
Beğeniler
920
GG Coin
16,706
Ticaret Değeri - 0%
0   0   0
Discord
pvpers.gg
Bu prosedür sayesinde Knight Online PvP serverınız içindeki NCS sorunlarınız tamamen ortadan kalkacaktır.

Peki, Nasıl Kullanılır?

  • Oyun içi NPC üzerinden: NCS Scroll, NP veya benzeri eşyalar için NPC ekleyerek kullanım sağlayabilirsiniz.
  • Panel üzerinden otomatik algılama: Oyuncu almak istediği ID'yi seçer, sistem gerekli kontrolleri yaptıktan sonra Query kodu otomatik olarak işler.
  • NCS SC kısayolu olarak: Bu yöntemle işlem daha hızlı olabilir, ancak karmaşık bir yapı gerektirir. Özellikle beginner seviyesindeki bir kullanıcı için zorlu bir süreç olacaktır. Ayrıca client tarafında patch işlemi yapılması gerekecektir.
Tavsiyem: Öncelikle tablo olarak ekleme işlemini yapmanızdır.

Kod:
CREATE PROCEDURE CHANGE_NEW_ID 
    @byType CHAR(21), 
    @AccountID CHAR(21), 
    @OldCharID CHAR(21), 
    @NewCharID CHAR(21), 
    @nRet SMALLINT OUTPUT 
AS 
/*
    Author: AKUMA
*/ 
DECLARE @CheckUserID INT 

SELECT @CheckUserID = COUNT(strUserID) 
FROM USERDATA 
WHERE strUserID = @NewCharID 

IF @CheckUserID = 0 
BEGIN 
    -- Change Account All Information 
    UPDATE ACCOUNT_CHAR 
    SET strCharID1 = @NewCharID 
    WHERE strCharID1 = @OldCharID AND strCharID1 IS NOT NULL 

    UPDATE ACCOUNT_CHAR 
    SET strCharID2 = @NewCharID 
    WHERE strCharID2 = @OldCharID AND strCharID2 IS NOT NULL 

    UPDATE ACCOUNT_CHAR 
    SET strCharID3 = @NewCharID 
    WHERE strCharID3 = @OldCharID AND strCharID3 IS NOT NULL 

    UPDATE USERDATA 
    SET strUserId = @NewCharID 
    WHERE strUserId = @OldCharID AND strUserId IS NOT NULL 

    -- Change Information a User in Knights 
    UPDATE KNIGHTS_USER 
    SET strUserId = @NewCharID 
    WHERE strUserId = @OldCharID AND strUserId IS NOT NULL 

    UPDATE KNIGHTS 
    SET Chief = @NewCharID 
    WHERE Chief = @OldCharID AND Chief IS NOT NULL 

    UPDATE KNIGHTS 
    SET ViceChief_1 = @NewCharID 
    WHERE ViceChief_1 = @OldCharID AND ViceChief_1 IS NOT NULL 

    UPDATE KNIGHTS 
    SET ViceChief_2 = @NewCharID 
    WHERE ViceChief_2 = @OldCharID AND ViceChief_2 IS NOT NULL 

    UPDATE KNIGHTS 
    SET ViceChief_3 = @NewCharID 
    WHERE ViceChief_3 = @OldCharID AND ViceChief_3 IS NOT NULL 

    -- Change Information a User is King 
    UPDATE KING_SYSTEM 
    SET strKingName = @NewCharID 
    WHERE strKingName = @OldCharID AND strKingName IS NOT NULL 

    UPDATE KING_ELECTION_LIST 
    SET strName = @NewCharID 
    WHERE strName = @OldCharID AND strName IS NOT NULL 

    -- Change User Friend List Information 
    UPDATE FRIEND_LIST 
    SET strUserID = @NewCharID 
    WHERE strUserID = @OldCharID 

    -- User Rental Item 
    UPDATE RENTAL_ITEM 
    SET strLenderCharID = @NewCharID 
    WHERE strLenderCharID = @OldCharID AND strLenderCharID IS NOT NULL 

    UPDATE RENTAL_ITEM 
    SET strBorrowerCharID = @NewCharID 
    WHERE strBorrowerCharID = @OldCharID AND strBorrowerCharID IS NOT NULL 

    UPDATE RENTAL_ITEM_LIST 
    SET strBorrowerCharID = @NewCharID 
    WHERE strBorrowerCharID = @OldCharID AND strBorrowerCharID IS NOT NULL 

    -- Change Current User 
    UPDATE CURRENTUSER 
    SET strCharID = @NewCharID 
    WHERE strCharID = @OldCharID 

    -- Change Saved Magic 
    UPDATE USER_SAVED_MAGIC 
    SET strCharID = @NewCharID 
    WHERE strCharID = @OldCharID 

    -- Change Skill Shortcut 
    UPDATE USERDATA_SKILLSHORTCUT 
    SET strCharID = @NewCharID 
    WHERE strCharID = @OldCharID 

    -- Name Change is Successful 
    SET @nRet = 0 
    RETURN 
END 
ELSE 
BEGIN 
    -- Entered ID is Already Being Used by Another Character 
    SET @nRet = 1 
    RETURN 
END
 
Elinize sağlık, paylaşım için teşekkürler.
 
Geri
Üst Alt