Bonjour.
Voila, je suis en possession d'un serveur 4story qui fonctionne correctement, et vu que je suis en possession d'un serveur non émulé (J'utilise le mêmes logiciels que le vrai) je ne peut pas me donner d'item mit a part avec une fonction.
Pour simplifier mon travail sur ce serveur, est il possible de créer un EXE qui agis comme le bouton RUN et qui demande juste les infos pour exécuter la fonction.
Voila la fonction.
Voila, je suis en possession d'un serveur 4story qui fonctionne correctement, et vu que je suis en possession d'un serveur non émulé (J'utilise le mêmes logiciels que le vrai) je ne peut pas me donner d'item mit a part avec une fonction.
Pour simplifier mon travail sur ce serveur, est il possible de créer un EXE qui agis comme le bouton RUN et qui demande juste les infos pour exécuter la fonction.
Voila la fonction.
HTML:
ALTER PROCEDURE TEventItem3Give
@szName VARCHAR(50),
@wItemID1 SMALLINT,
@wItemID2 SMALLINT,
@wITemID3 SMALLINT,
@bCount TINYINT,
@szTitle VARCHAR(256),
@szMessage VARCHAR(2048)
AS
DECLARE @dlID BIGINT
DECLARE @dwCharID INT
DECLARE @dwMakeID INT
DECLARE @bLenTitle BINARY(4)
DECLARE @bLenMessage BINARY(4)
DECLARE @szT VARCHAR(8)
DECLARE @szM VARCHAR(8)
SELECT @dwCharID=dwCharID FROM TCHARTABLE WHERE szName=@szName
IF @@ROWCOUNT = 0
BEGIN
PRINT 'FAIL'
RETURN 0
END
SET @bLenTitle = DATALENGTH(@szTitle)
SET @bLenMessage = DATALENGTH(@szMessage)
SET @szT = RIGHT(master.dbo.fn_sqlvarbasetostr(@bLenTitle), 8)
SET @szTitle = @szT + @szTitle
SET @szM = RIGHT(master.dbo.fn_sqlvarbasetostr(@bLenMessage), 8)
SET @szMessage = @szM + @szMessage
INSERT INTO TPOSTTABLE(
dwCharID,
szSender,
dwSendID,
szRecvName,
szTitle,
szMessage,
bType,
bRead,
dwGold,
dwSilver,
dwCooper,
timeRecv) VALUES(
@dwCharID,
'운영자',
0,
@szName,
@szTitle,
@szMessage,
1,
0,
0,
0,
0,
GetDate())
SET @dwMakeID = @@IDENTITY
DECLARE @dwDuraMax INT
IF EXISTS(SELECT TOP 1 dwPostID FROM TPOSTTABLE WHERE dwPostID = @dwMakeID)
BEGIN
IF(@wItemID1 <> 0)
BEGIN
EXEC TGenerateDBItemID @dlID OUTPUT
SET @dwDuraMax = 0
SELECT @dwDuraMax = dwDuraMax FROM TITEMCHART WHERE wItemID = @wItemID1
INSERT INTO TITEMTABLE(
dlID,bStorageType,dwStorageID,bOwnerType,dwOwnerID,bItemID,wItemID,bLevel,bCount,bGLevel,dwDuraMax,dwDuraCur,bRefineCur,dEndTime,
bMagic1,bMagic2,bMagic3,bMagic4,bMagic5,bMagic6,
wValue1,wValue2,wValue3,wValue4,wValue5,wValue6,
dwTime1,dwTime2,dwTime3,dwTime4,dwTime5,dwTime6) VALUES(
@dlID,2,@dwMakeID,0,@dwCharID,0,@wItemID1,0,@bCount,0,@dwDuraMax,@dwDuraMax,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0)
END
IF(@wItemID2 <> 0)
BEGIN
EXEC TGenerateDBItemID @dlID OUTPUT
SET @dwDuraMax = 0
SELECT @dwDuraMax = dwDuraMax FROM TITEMCHART WHERE wItemID = @wItemID2
INSERT INTO TITEMTABLE(
dlID,bStorageType,dwStorageID,bOwnerType,dwOwnerID,bItemID,wItemID,bLevel,bCount,bGLevel,dwDuraMax,dwDuraCur,bRefineCur,dEndTime,
bMagic1,bMagic2,bMagic3,bMagic4,bMagic5,bMagic6,
wValue1,wValue2,wValue3,wValue4,wValue5,wValue6,
dwTime1,dwTime2,dwTime3,dwTime4,dwTime5,dwTime6) VALUES(
@dlID,2,@dwMakeID,0,@dwCharID,0,@wItemID2,0,@bCount,0,@dwDuraMax,@dwDuraMax,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0)
END
IF(@wItemID3 <> 0)
BEGIN
EXEC TGenerateDBItemID @dlID OUTPUT
SET @dwDuraMax = 0
SELECT @dwDuraMax = dwDuraMax FROM TITEMCHART WHERE wItemID = @wItemID2
INSERT INTO TITEMTABLE(
dlID,bStorageType,dwStorageID,bOwnerType,dwOwnerID,bItemID,wItemID,bLevel,bCount,bGLevel,dwDuraMax,dwDuraCur,bRefineCur,dEndTime,
bMagic1,bMagic2,bMagic3,bMagic4,bMagic5,bMagic6,
wValue1,wValue2,wValue3,wValue4,wValue5,wValue6,
dwTime1,dwTime2,dwTime3,dwTime4,dwTime5,dwTime6) VALUES(
@dlID,2,@dwMakeID,0,@dwCharID,0,@wItemID3,0,@bCount,0,@dwDuraMax,@dwDuraMax,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0)
END
END
RETURN @dwMakeID