Cosa fa questo script?. Quando qualcosa cambia all'interno del TCHARTABLE entra in scena questo script che controlla se il nome è quello del bug, se è lui lo cambia, se non lo è, no.
Scarica la tabella e inseriscila in TGAME_GSP.
TCHARTABLE_BACK
PS: ("Verifica se il Currenty identity value del TCHARTABLE_BACK è identico a quello del TCHARTABLE,").
Adesso apri il TCreateChar in TGAME_GSP e metti questo codice dopo "COMMIT TRAN TCREATECHAR".
Adesso crea una nuova procedura ed inserisci questo.
PS: ricordati di cambiare questo ("SET @fakename = 'put_here_the_fake_name'"), devi inserire il nome che compare quando si crea il bug.
Adesso vai su TCHARTABLE --> design table, premi su trigger, e fai come ho fatto io nello screen.
Scarica la tabella e inseriscila in TGAME_GSP.
TCHARTABLE_BACK
PS: ("Verifica se il Currenty identity value del TCHARTABLE_BACK è identico a quello del TCHARTABLE,").
Adesso apri il TCreateChar in TGAME_GSP e metti questo codice dopo "COMMIT TRAN TCREATECHAR".
Codice:
INSERT INTO TCHARTABLE_BACK
(
dwUserID,
bSlot,
szNAME,
bRace,
bCountry,
bOriCountry,
bSex,
bRealSex,
bClass,
bLevel,
bHair,
bFace,
bBody,
bPants,
bHand,
bFoot,
dwEXP,
dwHP,
dwMP,
wSkillPoint,
dwGold,
dwSilver,
dwCooper,
wMapID,
wSpawnID,
wTemptedMon,
bAftermath,
fPosX,
fPosY,
fPosZ,
wDIR
)
VALUES
(
@dwUserID, -- dwUserID
@bSlot, -- bSlot
@szNAME, -- szNAME
@bRace, -- bRace
@bCountry, -- bCountry
@bOriCountry,
@bSex, -- bSex
@bRealSex, -- bRealSex
@bClass, -- bClass
@bLevel, -- bLevel
@bHair, -- bHair
@bFace,
@bBody,
@bPants,
@bHand,
@bFoot,
@dwExp,
@dwHP,
@dwMP,
@wSkillPoint,
0,
0,
0,
2010,
@wSpawnID,
0,
0,
@fPosX,
@fPosY,
@fPosZ,
@wDIR
)
Adesso crea una nuova procedura ed inserisci questo.
PS: ricordati di cambiare questo ("SET @fakename = 'put_here_the_fake_name'"), devi inserire il nome che compare quando si crea il bug.
Codice:
CREATE PROCEDURE [dbo].[PRTName]
AS
BEGIN
DECLARE @name1 VARCHAR(50)
DECLARE @name2 VARCHAR(50)
DECLARE @szNAME VARCHAR(50)
DECLARE @szNAME2 VARCHAR(50)
DECLARE @dwCharID INT
DECLARE @dwUserID INT
DECLARE @fakename VARCHAR(50)
SET @fakename =[COLOR="DarkRed"] 'put_here_the_fake_name'[/COLOR]
DECLARE bGroup_Cursor CURSOR FOR SELECT dwUserID,dwCharID,szNAME FROM TCHARTABLE
OPEN bGroup_Cursor
FETCH NEXT FROM bGroup_Cursor INTO @dwUserID,@dwCharID,@szNAME
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @szNAME2 = szNAME FROM TCHARTABLE_BACK WHERE dwCharID = @dwCharID
IF(@szNAME = @fakename)
BEGIN
UPDATE TCHARTABLE SET szNAME = @szNAME2 WHERE dwCharID = @dwCharID
END
FETCH NEXT FROM bGroup_Cursor INTO @dwUserID,@dwCharID,@szNAME
END
CLOSE bGroup_Cursor
DEALLOCATE bGroup_Cursor
END
Adesso vai su TCHARTABLE --> design table, premi su trigger, e fai come ho fatto io nello screen.