Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > 4Story
You last visited: Today at 03:34

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Fix bugs]4Story...

Discussion on [Fix bugs]4Story... within the 4Story forum part of the MMORPGs category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2011
Posts: 28
Received Thanks: 16
[Fix bugs]4Story...

Bug fix behemonth --> open db --> TGAME_GSP --> TITEMCHART --> find item "summon behemonth" set use value 17.
Bug premium shop -->

Hide pvp armor items :

Clothes of enlightenment set
-11931
-11932
-11933
-11934
-11935
Uniform of enlightenment set
-11936
-11937
-11938
-11939
-11940
Light leather of slaughter set
-11941
-11942
-11943
-11944
-11945
Heavy leather of slaughter set
-11946
-11947
-11948
-11949
-11950
Punishers lightweight armor set
-11951
-11952
-11953
-11954
-11955
Punishers heavy armor set
-11956
-11957
-11958
-11959
-11960

Fix create char and parametres for new char..

TCREATECHAR-
PHP Code:
/* CREATE CHARACTER PROCESS

========================================================
PARAMETER
========================================================
@szNAME        VARCHAR(50)
@dwCharID        INT        OUTPUT
@dwUserID        INT
@bSlot            TINYINT
@bClass        TINYINT
@bRace        TINYINT
@bCountry        TINYINT
@bSex            TINYINT
@bHair            TINYINT
@bFace        TINYINT
@bBody        TINYINT
@bPants        TINYINT
@bHand        TINYINT
@bFoot            TINYINT

========================================================
RETURN VALUE
========================================================
0    : SUCCESS
1    : NO GROUP
2    : DUPLICATE NAME
3    : INVALID SLOT
4    : Non Class ID 

========================================================
PROCESS
========================================================
1. Check duplicate name
2. Check slot
3. Insert character data

*/


ALTER PROCEDURE [dbo].[TCreateChar]
    @
bCreateCnt        TINYINT    OUTPUT,
    @
szNAME        VARCHAR(50),
    @
dwCharID        INT        OUTPUT,
    @
dwUserID        INT,
    @
bGroup        TINYINT,
    @
bSlot            TINYINT,
    @
bClass        TINYINT,
    @
bRace        TINYINT,
    @
bCountry        TINYINT,
    @
bSex            TINYINT,
    @
bHair            TINYINT,
    @
bFace        TINYINT,
    @
bBody        TINYINT,
    @
bPants        TINYINT,
    @
bHand        TINYINT,
    @
bFoot            TINYINT

AS
    DECLARE @
dwCharSeq INT
    
DECLARE @dwMP    INT
    
DECLARE @dwHP    INT
    
DECLARE @fPosX    FLOAT
    
DECLARE @fPosY    FLOAT
    
DECLARE @fPosZ    FLOAT
    
DECLARE @wDIR    SMALLINT
    
DECLARE @wSpawnID SMALLINT
    
DECLARE @nCheckGlobal INT
    
DECLARE @bRealSex    TINYINT

    SET 
@bCreateCnt 0
    SET 
@dwCharID 0
    SET 
@dwMP 2
    SET 
@dwHP 2

    SELECT TOP 1 
@dwHP = @dwHP wCON, @dwMP = @dwMP wMEN FROM TCLASSCHART WHERE bClassID = @bClass
    SELECT TOP 1 
@dwHP = @dwHP wCON, @dwMP = @dwMP wMEN FROM TRACECHART WHERE bRaceID = @bRace

    SET 
@dwHP * @dwHP 1
    SET 
@dwMP * @dwMP 1

    
IF EXISTSSELECT TOP 1 dwCharID FROM TCHARTABLE WHERE szNAME = @szNAME)
        RETURN 
2
    
/*
        * Duplicate npc name 
     */
    
IF EXISTS(SELECT TOP 1 FROM TNPCCHART WHERE szNAME = @szNAME)
        RETURN 
2
    
/*
     * Duplicate monster name
     */
    
IF EXISTS(SELECT TOP 1 FROM TMONSTERCHART WHERE szNAME = @szNAME)
        RETURN 
2
    
/*
     * Invalid slot
     */
    
IF EXISTS(SELECT TOP 1 dwCharID FROM TCHARTABLE WHERE dwUserID = @dwUserID AND bSlot = @bSlot AND bDelete 0)
        RETURN 
3
    
/*
      * Check the country
     */

    
DECLARE @bOriCountry TINYINT
    
DECLARE @bLevel    TINYINT
    
DECLARE @dwExp    INT
    
DECLARE @wSkillPoint    SMALLINT
    
DECLARE @dwGold INT

    
  

   
/*
     * Hier könnt ihr die Variablen ändern!
     */
    
SET @bOriCountry 3
    SET 
@bLevel 90
    SET 
@dwExp 0
    SET 
@wSpawnID 15003
    SET 
@wSkillPoint 200
  SET 
@dwGold 20


    SELECT TOP 1 
@bOriCountry bOriCountry FROM TCHARTABLE WHERE dwUserID=@dwUserID AND bDelete=AND bOriCountry 2
    
IF(@bOriCountry 2)
    
BEGIN
        SET 
@bCountry = @bOriCountry
        SET 
@bLevel 90
        SET 
@wSkillPoint 200
    SET 
@dwGold 20
        SELECT 
@dwExp dwExp FROM TLEVELCHART WHERE bLevel 8

        
IF(@bOriCountry 0)
            
SET @wSpawnID 15001
        
ELSE
            
SET @wSpawnID 15002
    END
    
ELSE IF(@bCountry <> 4)
        RETURN 
4

    SET 
@fPosX     587.04
    SET 
@fPosY     31.33
    SET 
@fPosZ     603.82
    SET 
@wDIR 1640

    EXEC 
@nCheckGlobal TGLOBAL_GSP.DBO.TCreateChar
        
@dwCharSeq  OUTPUT,
        @
bCreateCnt OUTPUT,
        @
bRealSex OUTPUT,
        @
dwUserID,
        @
bGroup,
        @
dwCharID,
        @
bSlot,
        @
szNAME,
        @
bClass,
        @
bRace,
        @
bCountry,
        @
bSex,
        @
bHair,        -- bHair
        
@bFace,    -- bFace
        
@bBody,    -- bBody
        
@bPants,    -- bPants
        
@bHand,    -- bHand
        
@bFoot,    -- bFoot        
        
@bLevel,
        @
dwExp    -- dwExp

    
IF(@nCheckGlobal <> 0)
        RETURN @
nCheckGlobal

    BEGIN TRAN TCREATECHAR



    INSERT INTO TCHARTABLE
    
(
        
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
    
)

    
SET @dwCharID = @@IDENTITY
    INSERT INTO TINVENTABLE
    
(
        
dwCharID,
        
bInvenID,
        
wItemID,
        
dEndTime
    

    
VALUES
    
(
        @
dwCharID,
        
255
        
3,
        
0
    
)

    
INSERT INTO TINVENTABLE
    
(
        
dwCharID,
        
bInvenID,
        
wItemID,
        
dEndTime
    

    
VALUES
    
(
        @
dwCharID,
        
254
        
2,
        
0
    
)

    
INSERT INTO TCABINETTABLE VALUES(@dwCharID01)
    
INSERT INTO TSKILLTABLE SELECT @dwCharIDwSkillID10 FROM TSTARTSKILL WHERE bClassID=@bClass
    COMMIT TRAN TCREATECHAR

    
DECLARE @bStartInven TINYINT
    
DECLARE @bStartSlot TINYINT
    
DECLARE @bStartChartType TINYINT
    
DECLARE @wStartItemID SMALLINT
    
DECLARE @bStartCount TINYINT
    
DECLARE CUR_STARTITEM CURSOR FOR
    
SELECT bInvenbSlotbChartTypewItemIDbCount FROM TSTARTITEMCHART WHERE bCountry=@bCountry AND bClass = @bClass
    OPEN CUR_STARTITEM
    FETCH NEXT FROM CUR_STARTITEM INTO 
@bStartInven, @bStartSlot, @bStartChartType, @wStartItemID, @bStartCount
    
WHILE @@FETCH_STATUS 0
    BEGIN
        EXEC TPutItemInInven 
@dwCharID, @bStartInven, @bStartSlot, @bStartChartType, @wStartItemID, @bStartCount
        FETCH NEXT FROM CUR_STARTITEM INTO  
@bStartInven, @bStartSlot, @bStartChartType, @wStartItemID, @bStartCount
    END
    CLOSE CUR_STARTITEM
    DEALLOCATE CUR_STARTITEM

--    &#54200;지보내기    ------------------------------------------------------------------------------------

IF(@bslot 0)
    
BEGIN

    
DECLARE @dwPostID INT
    
DECLARE @dwRecvID INT
    
DECLARE @szTitle VARCHAR(256)
    DECLARE @
szMessage VARCHAR(2048)
    DECLARE @
bLenTitle    BINARY(4)
    DECLARE @
bLenMessage BINARY(4)
    DECLARE @
szT VARCHAR(8)
    DECLARE @
szM VARCHAR(8)
    DECLARE @
dateCreated SMALLDATETIME
    SET 
@dateCreated GetDate()
    
  
SET @szTitle 'Welcome On Our Server! '
  
SET @szMessage 'Hey ' + @szName +'
Nice to meet you here. We are proud to announce that we offer more chances to new player now. Every new player will get a 175% permanent mount!
Visit us on www.4Story.com
Thank you for playing.'
    
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
    EXEC TSavePost 
@dwPostID OUTPUT, @dwRecvID OUTPUT0, @dwCharID, @szName'Server Announcement',@szTitle,@szMessage,0,0,10,0,0,@dateCreated

    END

-----------------------------------------------------------------------------------------------------------------------------

    
UPDATE TGLOBAL_GSP.DBO.TALLCHARTABLE SET dwCharID = @dwCharID WHERE dwSeq = @dwCharSeq  


    INSERT INTO THOTKEYTABLE 
        SELECT 
@dwCharIDbInvenIDbType1wID1bType2wID2bType3wID3bType4wID4bType5wID5,
              
bType6wID6bType7wID7bType8wID8bType9wID9bType10wID10bType11wID11bType12wID12 
        FROM TSTARTHOTKEY WHERE bClassID
=@bClass

    UPDATE THOTKEYTABLE SET wID12 
1+@bRace WHERE dwCharID = @dwCharID and bInvenID 1

    
IF EXISTSSELECT bClassID FROM TSTARTRECALL WHERE bClassID = @bClass AND bCountryID = @bCountry)
    
BEGIN
        
DECLARE @dwMonID INT
        
DECLARE @wMonTemp SMALLINT
        
DECLARE @dwATTR INT
        
DECLARE @dwMaxHP INT
        
DECLARE @dwMaxMP INT
        SET 
@wMonTemp 0
        SELECT 
@wMonTemp wMonID FROM TSTARTRECALL WHERE bClassID = @bClass AND bCountryID = @bCountry
        
IF(@wMonTemp 0)
        
BEGIN
            SELECT 
@dwATTR wSummonAttr FROM TMONSTERCHART WHERE wID= @wMonTemp
            SELECT 
@dwMaxHP=dwMaxHP, @dwMaxMP dwMaxMP FROM TMONATTRCHART WHERE wID=@dwATTR AND bLevel=1
            UPDATE TCHARTABLE SET wTemptedMon 
= @wMonTemp WHERE dwCharID = @dwCharID
            SET 
@dwATTR = @dwATTR POWER(2,16)
            
EXEC TCreateRecallMon 
                
@dwMonID OUTPUT
                @
dwCharID
                @
wMonTemp
                
0
                @
dwATTR
                
1
                @
dwMaxHP
                @
dwMaxMP
                
1,
                @
fPosX
                @
fPosY,

                @
fPosZ,
                
0
        END
    END
IF NOT EXISTS(SELECT dwUserID FROM TPETTABLE WHERE dwUserID = @dwUserID)

BEGIN
    
DECLARE @szMountName VARCHAR(50)
    
SET @szMountName = @szNAME+'''s Mount'
    
SET @szMountName REPLACE(@szMountName's''s''s''')
    
INSERT INTO TPETTABLE (dwUserIDwPetIDszNametimeuseVALUES(@dwUserID6, @szMountName0)
END

IF NOT EXISTS(SELECT dwUserID FROM TGLOBAL_GSP.dbo.TCASHTESTTABLE WHERE dwUserID = @dwUserID)

    
BEGIN
        INSERT INTO TGLOBAL_GSP
.dbo.TCASHTESTTABLE (dwUserIDdwCashdwBonusVALUES(@dwUserID100100)
    
END


    
RETURN @@ERROR 
Fix skill bug, skills are save after relog..

TLOGOUT-
PHP Code:
 
/* LOGOUT PROCESS
 
========================================================
PARAMETER
========================================================
@dwUserID               INT
 
========================================================
RETURN VALUE
========================================================
0       : SUCCESS
1       : NO USER
 
========================================================
PROCESS
========================================================
1. Check TCURRENTUSER table
2. Delete user from TCURRENTUSER
3. Update log data
 
*/
 
ALTER PROCEDURE [dbo].[TLogout]
        @
dwUserID       INT,
        @
dwCharID       INT
AS
        DECLARE @
nResult        INT
        
DECLARE @bLevel TINYINT
        
DECLARE @dwExp  INT
        
DECLARE @dwPlayTime INT
        
DECLARE @dwGold INT
        
DECLARE @dwSilver       INT
        
DECLARE @dwCooper       INT
        
DECLARE @bWorldID       TINYINT
        
DECLARE @dCurDate SMALLDATETIME
        
DECLARE @bSave TINYINT
        
DECLARE @bInven TINYINT
        
DECLARE @bType1 TINYINT
        
DECLARE @wID1 SMALLINT
        
DECLARE @bType2 TINYINT
        
DECLARE @wID2 SMALLINT
        
DECLARE @bType3 TINYINT
        
DECLARE @wID3 SMALLINT
        
DECLARE @bType4 TINYINT
        
DECLARE @wID4 SMALLINT
        
DECLARE @bType5 TINYINT
        
DECLARE @wID5 SMALLINT
        
DECLARE @bType6 TINYINT
        
DECLARE @wID6 SMALLINT
        
DECLARE @bType7 TINYINT
        
DECLARE @wID7 SMALLINT
        
DECLARE @bType8 TINYINT
        
DECLARE @wID8 SMALLINT
        
DECLARE @bType9 TINYINT
        
DECLARE @wID9 SMALLINT
        
DECLARE @bType10 TINYINT
        
DECLARE @wID10 SMALLINT
        
DECLARE @bType11 TINYINT
        
DECLARE @wID11 SMALLINT
        
DECLARE @bType12 TINYINT
        
DECLARE @wID12 SMALLINT
       
IF(@bSave 2)
        
INSERT INTO THOTKEYTABLE VALUES(@dwCharID, @bInven, @bType1, @wID1, @bType2, @wID2, @bType3, @wID3, @bType4, @wID4,
                                                 @
bType5, @wID5, @bType6, @wID6, @bType7, @wID7, @bType8, @wID8, @bType9, @wID9,
                                                 @
bType10, @wID10, @bType11, @wID11, @bType12, @wID12)
ELSE IF(@
bSave 3)
        
UPDATE THOTKEYTABLE SET bType1=@bType1wID1=@wID1bType2=@bType2wID2=@wID2bType3=@bType3wID3=@wID3bType4=@bType4wID4=@wID4
                                        
bType5=@bType5wID5=@wID5bType6=@bType6wID6=@wID6bType7=@bType7wID7=@wID7bType8=@bType8wID8=@wID8
                                        
bType9=@bType9wID9=@wID9bType10=@bType10wID10=@wID10bType11=@bType11wID11=@wID11
                                        
bType12=@bType12wID12=@wID12 WHERE dwCharID = @dwCharID AND bInvenID = @bInven
ELSE
        
DELETE THOTKEYTABLE WHERE dwCharID=@dwCharID AND bInvenID = @bInven
 
 
        SET 
@bLevel 0
        SET 
@dwExp 0
        SET 
@dwGold 0
        SET 
@dwSilver 0
        SET 
@dwCooper 0
        SET 
@dCurDate GetDate()
 
        IF(@
dwCharID <> 0)
        
BEGIN
                SELECT 
@bLevel bLevel, @dwExp dwEXP, @dwGold=dwGold, @dwSilver=dwSilver, @dwCooper=dwCooper FROM TCHARTABLE WHERE dwCharID = @dwCharID
 
                EXEC TUpdateActiveChar 
@dwCharID
 
                UPDATE TCHARTABLE SET dLogoutDate 
= @dCurDate WHERE dwCharID=@dwCharID
 
                EXEC 
@nResult TGLOBAL_GSP.dbo.TLogout @dwUserID, @dwCharID, @bLevel, @dwExp
                
IF(@nResult 0)
                
BEGIN
                        SELECT 
@bWorldID bWorld+1 FROM TDBITEMINDEXTABLE
                        EXEC TGLOBAL_GSP
.dbo.TUpdateCharMoney @bWorldID, @dwCharID, @dwGold, @dwSilver, @dwCooper
                END
        END
 
        EXEC TGLOBAL_GSP
.DBO.TPcBangLogout @dwUserID, @dwPlayTime OUTPUT
/*
        IF(@dwGuildID <> 0 AND @dwPlayTime <> 0)
        BEGIN
                INSERT INTO TGUILDPLAYLOG(dwGuildID, dwUserID, dwCharID, dwPlayTime) VALUES(@dwGuildID, @dwUserID, @dwCharID, @dwPlayTime)
                UPDATE TGUILDTABLE SET dwPlayTime = dwPlayTime + @dwPlayTime  WHERE dwID = @dwGuildID
        END
*/
--      DELETE TITEMTABLE WHERE @dwCharID dwOwnerID AND bOwnerType=AND wItemID 7605
 
SELECT 
@dwUserID dwUserID FROM TCHARTABLE WHERE dwCharID = @dwCharID
 
BEGIN TRAN SAVECHAREND
 
DELETE TITEMTABLE WHERE dwOwnerID 
= @dwCharID AND bOwnerType AND bStorageType <> 2
DELETE TITEMTABLE WHERE dlID IN
(SELECT dlID FROM TTEMPITEMTABLE WHERE dwOwnerID = @dwCharID)
 
INSERT INTO TITEMTABLE(
        
dlIDbStorageTypedwStorageIDbOwnerTypedwOwnerIDbItemIDwItemIDbLevelbCountbGLeveldwDuraMaxdwDuraCurbRefineCur,dEndTime,bGradeEffect,
        
bMagic1bMagic2bMagic3bMagic4bMagic5bMagic6,
        
wValue1wValue2wValue3wValue4wValue5wValue6,
        
dwTime1dwTime2dwTime3dwTime4dwTime5dwTime6)
        
SELECT FROM TTEMPITEMTABLE WHERE dwOwnerID = @dwCharID
 
DELETE TSKILLTABLE WHERE dwCharID 
= @dwCharID
INSERT INTO TSKILLTABLE SELECT 
FROM TTEMPSKILLTABLE WHERE dwCharID = @dwCharID
 
 
 
COMMIT TRAN SAVECHAREND
 
EXEC TGLOBAL_GSP
.DBO.TSaveDuringItem @dwUserID 

TSAVECHARDATAEND-
PHP Code:
 
 
 
 
ALTER PROCEDURE 
[dbo].[TSaveCharDataEnd]
@
dwCharID INT
AS
 
DECLARE @
dwUserID INT
SELECT 
@dwUserID dwUserID FROM TCHARTABLE WHERE dwCharID = @dwCharID
 
BEGIN TRAN SAVECHAREND
 
DELETE TINVENTABLE WHERE dwCharID 
= @dwCharID
DELETE TCABINETTABLE WHERE dwCharID 
= @dwCharID
/*DELETE TITEMTABLE WHERE dwOwnerID = @dwCharID AND bOwnerType = 0 AND bStorageType <> 2
DELETE TSKILLTABLE WHERE dwCharID = @dwCharID
DELETE TSKILLMAINTAINTABLE WHERE dwCharID = @dwCharID*/
DELETE TITEMUSEDTABLE WHERE dwCharID = @dwCharID
DELETE TEXPITEMTABLE WHERE dwCharID 
= @dwCharID
/*DELETE TITEMTABLE WHERE dlID IN(SELECT dlID FROM TTEMPITEMTABLE WHERE dwOwnerID = @dwCharID)*/
 
INSERT INTO TINVENTABLE SELECT FROM TTEMPINVENTABLE WHERE dwCharID = @dwCharID
INSERT INTO TCABINETTABLE SELECT 
FROM TTEMPCABINETTABLE WHERE dwCharID = @dwCharID
/*INSERT INTO TSKILLTABLE SELECT * FROM TTEMPSKILLTABLE WHERE dwCharID = @dwCharID
INSERT INTO TSKILLMAINTAINTABLE SELECT * FROM TTEMPSKILLMAINTAINTABLE WHERE dwCharID = @dwCharID*/
INSERT INTO TITEMUSEDTABLE SELECT FROM TTEMPITEMUSEDTABLE WHERE dwCharID = @dwCharID
INSERT INTO TEXPITEMTABLE SELECT 
FROM TTEMPEXPITEMTABLE WHERE dwCharID = @dwCharID
/*INSERT INTO TITEMTABLE(
        dlID, bStorageType, dwStorageID, bOwnerType, dwOwnerID, bItemID, wItemID, bLevel, bCount, bGLevel, dwDuraMax, dwDuraCur, bRefineCur,dEndTime,bGradeEffect,
        bMagic1, bMagic2, bMagic3, bMagic4, bMagic5, bMagic6,
        wValue1, wValue2, wValue3, wValue4, wValue5, wValue6,
        dwTime1, dwTime2, dwTime3, dwTime4, dwTime5, dwTime6)
        SELECT * FROM TTEMPITEMTABLE WHERE dwOwnerID = @dwCharID*/
 
COMMIT TRAN SAVECHAREND
 
EXEC TGLOBAL_GSP
.DBO.TSaveDuringItem @dwUserID 
TSAVESKILL
PHP Code:
ALTER PROCEDURE [dbo].[TSaveSkill]
@
dwCharID int,
@
wSkill smallint,
@
bLevel tinyint,
@
dwTick int

AS

declare @
bClass TINYINT

select 
@bClass bclass from tchartable where dwCharID = @dwCharID
BEGIN TRAN SAVESKILL

    INSERT INTO TTEMPSKILLTABLE
(dwCharIDwSkillIDbLeveldwRemainTickVALUES(@dwCharID, @wSkill, @bLevel, @dwTick)
  
INSERT TSKILLTABLE (dwCharIDwSkillIDbLeveldwRemainTickSELECT @dwCharidwIDbmaxlevel0 FROM TSKILLCHART WHERE (dwClassid power(2,@bClass) <> 0) and bCanLearn =1
COMMIT TRAN SAVESKILL 
Fix mount for new char.

TCHANGEDPETSYSTEMTOMOUNTSYSTEM-
PHP Code:
ALTER PROCEDURE [dbo].[TChangedPetSystemToMountSystem]
@
dwUserID    INT
AS

DECLARE @
wCount    SMALLINT

--ItemChanged
SET 
@wCount 0
SELECT 
@wCount COUNT(dlIDFROM TITEMTABLE WHERE dwOwnerID IN(SELECT dwCharID FROM TCHARTABLE WHERE dwUserID = @dwUserID) AND bOwnerType AND wItemID IN(7549,7550,7551,7552,7553,7554,7555,7556,7557)
SELECT @wCount = @wCount COUNT(dlIDFROM TGLOBAL_GSP.DBO.TCASHITEMCABINETTABLE WHERE dwUserID = @dwUserID AND wItemID IN(7549,7550,7551,7552,7553,7554,7555,7556,7557)

IF(@
wCount 0)
BEGIN
    EXEC TChangedMountItem 
@dwUserID754977097559
    EXEC TChangedMountItem 
@dwUserID755077097560
    EXEC TChangedMountItem 
@dwUserID755177097561
    EXEC TChangedMountItem 
@dwUserID755275307562
    EXEC TChangedMountItem 
@dwUserID755375397563
    EXEC TChangedMountItem 
@dwUserID755475487564
    EXEC TChangedMountItem 
@dwUserID755575187565
    EXEC TChangedMountItem 
@dwUserID755677097566
    EXEC TChangedMountItem 
@dwUserID755775587567
END

--PetChanged
SET 
@wCount 0
SELECT 
@wCount COUNT(wPetIDFROM TPETTABLE WHERE dwUserID = @dwUserID
IF(@wCount 0)
BEGIN    
    EXEC TChangedPetToMount 
@dwUserID175010
    EXEC TChangedPetToMount 
@dwUserID475010
    EXEC TChangedPetToMount 
@dwUserID775010
    EXEC TChangedPetToMount 
@dwUserID1075010
    EXEC TChangedPetToMount 
@dwUserID10275010
    EXEC TChangedPetToMount 
@dwUserID8175010
    EXEC TChangedPetToMount 
@dwUserID275020
    EXEC TChangedPetToMount 
@dwUserID575020
    EXEC TChangedPetToMount 
@dwUserID875020
    EXEC TChangedPetToMount 
@dwUserID1175020
    EXEC TChangedPetToMount 
@dwUserID10375020
    EXEC TChangedPetToMount 
@dwUserID375030
    EXEC TChangedPetToMount 
@dwUserID675030
    EXEC TChangedPetToMount 
@dwUserID975030
    EXEC TChangedPetToMount 
@dwUserID1275030
    EXEC TChangedPetToMount 
@dwUserID1377097559
    EXEC TChangedPetToMount 
@dwUserID1477097560
    EXEC TChangedPetToMount 
@dwUserID1577097561
    EXEC TChangedPetToMount 
@dwUserID1675187565
    EXEC TChangedPetToMount 
@dwUserID1777097566


END 
shelpa123 is offline  
Thanks
14 Users
Old 05/01/2013, 22:41   #2
 
elite*gold: 0
Join Date: Nov 2011
Posts: 391
Received Thanks: 471
#CloseRequest fix is aldray fix.
EliteTuerie is offline  
Thanks
1 User
Old 05/01/2013, 22:49   #3
 
elite*gold: 0
Join Date: Sep 2011
Posts: 28
Received Thanks: 16
I have more fix, but i cant public..
shelpa123 is offline  
Thanks
1 User
Old 05/01/2013, 23:47   #4
 
elite*gold: 0
Join Date: Nov 2011
Posts: 391
Received Thanks: 471
Quote:
Originally Posted by shelpa123 View Post
I have more fix, but i cant public..
Yes normaly but is aldray public fix.
EliteTuerie is offline  
Thanks
1 User
Old 05/02/2013, 07:17   #5
 
elite*gold: 0
Join Date: Aug 2010
Posts: 109
Received Thanks: 6
thx a lott shelpa *_* add me skype xlittlexx :P if u wanna give me more help with fixxes
THX AGAIN

uhmm can't find in my itemchart summon behemonth

found it
rulercom is offline  
Old 05/02/2013, 13:38   #6
 
elite*gold: 0
Join Date: Oct 2011
Posts: 170
Received Thanks: 16
Thx bro for this fix.
OnePippa is offline  
Old 05/02/2013, 15:20   #7
 
Lumpi''s Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 802
Received Thanks: 92
Can you put the other fixes public too? That would be really nice.
Lumpi' is offline  
Old 05/02/2013, 16:03   #8
 
elite*gold: 0
Join Date: Sep 2011
Posts: 28
Received Thanks: 16
J cant public other fixes...
shelpa123 is offline  
Old 05/02/2013, 16:59   #9
 
elite*gold: 0
Join Date: Nov 2011
Posts: 391
Received Thanks: 471
its just compiled of all fixed public =)
EliteTuerie is offline  
Old 05/02/2013, 19:18   #10
 
elite*gold: 0
Join Date: Sep 2011
Posts: 28
Received Thanks: 16
yeas
shelpa123 is offline  
Old 05/02/2013, 22:02   #11
 
elite*gold: 0
Join Date: Aug 2010
Posts: 109
Received Thanks: 6
omg i did this fixxes and now my serv.....dosent work all char have 0/1 hp mp and my items delete after relog
why?
help pm here or skype xlittlexx
rulercom is offline  
Thanks
1 User
Old 05/03/2013, 16:26   #12
 
elite*gold: 0
Join Date: May 2011
Posts: 579
Received Thanks: 85
Great work. Helps me a lot.
murimacher is offline  
Old 05/03/2013, 16:53   #13
 
Serous''s Avatar
 
elite*gold: 0
Join Date: May 2011
Posts: 689
Received Thanks: 163
Very nice work
But i have a question : Pm
Serous' is offline  
Old 05/03/2013, 23:05   #14
 
elite*gold: 0
Join Date: Sep 2011
Posts: 28
Received Thanks: 16
yes? I will answer questions..
shelpa123 is offline  
Old 05/05/2013, 03:05   #15
 
elite*gold: 0
Join Date: Feb 2013
Posts: 15
Received Thanks: 7
Quote:
Originally Posted by shelpa123 View Post
Bug fix behemonth --> open db --> TGAME_GSP --> TITEMCHART --> find item "summon behemonth" set use value 17.
Bug premium shop -->

Hide pvp armor items :

Clothes of enlightenment set
-11931
-11932
-11933
-11934
-11935
Uniform of enlightenment set
-11936
-11937
-11938
-11939
-11940
Light leather of slaughter set
-11941
-11942
-11943
-11944
-11945
Heavy leather of slaughter set
-11946
-11947
-11948
-11949
-11950
Punishers lightweight armor set
-11951
-11952
-11953
-11954
-11955
Punishers heavy armor set
-11956
-11957
-11958
-11959
-11960

Fix create char and parametres for new char..

TCREATECHAR-
PHP Code:
/* CREATE CHARACTER PROCESS

========================================================
PARAMETER
========================================================
@szNAME        VARCHAR(50)
@dwCharID        INT        OUTPUT
@dwUserID        INT
@bSlot            TINYINT
@bClass        TINYINT
@bRace        TINYINT
@bCountry        TINYINT
@bSex            TINYINT
@bHair            TINYINT
@bFace        TINYINT
@bBody        TINYINT
@bPants        TINYINT
@bHand        TINYINT
@bFoot            TINYINT

========================================================
RETURN VALUE
========================================================
0    : SUCCESS
1    : NO GROUP
2    : DUPLICATE NAME
3    : INVALID SLOT
4    : Non Class ID 

========================================================
PROCESS
========================================================
1. Check duplicate name
2. Check slot
3. Insert character data

*/


ALTER PROCEDURE [dbo].[TCreateChar]
    @
bCreateCnt        TINYINT    OUTPUT,
    @
szNAME        VARCHAR(50),
    @
dwCharID        INT        OUTPUT,
    @
dwUserID        INT,
    @
bGroup        TINYINT,
    @
bSlot            TINYINT,
    @
bClass        TINYINT,
    @
bRace        TINYINT,
    @
bCountry        TINYINT,
    @
bSex            TINYINT,
    @
bHair            TINYINT,
    @
bFace        TINYINT,
    @
bBody        TINYINT,
    @
bPants        TINYINT,
    @
bHand        TINYINT,
    @
bFoot            TINYINT

AS
    DECLARE @
dwCharSeq INT
    
DECLARE @dwMP    INT
    
DECLARE @dwHP    INT
    
DECLARE @fPosX    FLOAT
    
DECLARE @fPosY    FLOAT
    
DECLARE @fPosZ    FLOAT
    
DECLARE @wDIR    SMALLINT
    
DECLARE @wSpawnID SMALLINT
    
DECLARE @nCheckGlobal INT
    
DECLARE @bRealSex    TINYINT

    SET 
@bCreateCnt 0
    SET 
@dwCharID 0
    SET 
@dwMP 2
    SET 
@dwHP 2

    SELECT TOP 1 
@dwHP = @dwHP wCON, @dwMP = @dwMP wMEN FROM TCLASSCHART WHERE bClassID = @bClass
    SELECT TOP 1 
@dwHP = @dwHP wCON, @dwMP = @dwMP wMEN FROM TRACECHART WHERE bRaceID = @bRace

    SET 
@dwHP * @dwHP 1
    SET 
@dwMP * @dwMP 1

    
IF EXISTSSELECT TOP 1 dwCharID FROM TCHARTABLE WHERE szNAME = @szNAME)
        RETURN 
2
    
/*
        * Duplicate npc name 
     */
    
IF EXISTS(SELECT TOP 1 FROM TNPCCHART WHERE szNAME = @szNAME)
        RETURN 
2
    
/*
     * Duplicate monster name
     */
    
IF EXISTS(SELECT TOP 1 FROM TMONSTERCHART WHERE szNAME = @szNAME)
        RETURN 
2
    
/*
     * Invalid slot
     */
    
IF EXISTS(SELECT TOP 1 dwCharID FROM TCHARTABLE WHERE dwUserID = @dwUserID AND bSlot = @bSlot AND bDelete 0)
        RETURN 
3
    
/*
      * Check the country
     */

    
DECLARE @bOriCountry TINYINT
    
DECLARE @bLevel    TINYINT
    
DECLARE @dwExp    INT
    
DECLARE @wSkillPoint    SMALLINT
    
DECLARE @dwGold INT

    
  

   
/*
     * Hier könnt ihr die Variablen ändern!
     */
    
SET @bOriCountry 3
    SET 
@bLevel 90
    SET 
@dwExp 0
    SET 
@wSpawnID 15003
    SET 
@wSkillPoint 200
  SET 
@dwGold 20


    SELECT TOP 1 
@bOriCountry bOriCountry FROM TCHARTABLE WHERE dwUserID=@dwUserID AND bDelete=AND bOriCountry 2
    
IF(@bOriCountry 2)
    
BEGIN
        SET 
@bCountry = @bOriCountry
        SET 
@bLevel 90
        SET 
@wSkillPoint 200
    SET 
@dwGold 20
        SELECT 
@dwExp dwExp FROM TLEVELCHART WHERE bLevel 8

        
IF(@bOriCountry 0)
            
SET @wSpawnID 15001
        
ELSE
            
SET @wSpawnID 15002
    END
    
ELSE IF(@bCountry <> 4)
        RETURN 
4

    SET 
@fPosX     587.04
    SET 
@fPosY     31.33
    SET 
@fPosZ     603.82
    SET 
@wDIR 1640

    EXEC 
@nCheckGlobal TGLOBAL_GSP.DBO.TCreateChar
        
@dwCharSeq  OUTPUT,
        @
bCreateCnt OUTPUT,
        @
bRealSex OUTPUT,
        @
dwUserID,
        @
bGroup,
        @
dwCharID,
        @
bSlot,
        @
szNAME,
        @
bClass,
        @
bRace,
        @
bCountry,
        @
bSex,
        @
bHair,        -- bHair
        
@bFace,    -- bFace
        
@bBody,    -- bBody
        
@bPants,    -- bPants
        
@bHand,    -- bHand
        
@bFoot,    -- bFoot        
        
@bLevel,
        @
dwExp    -- dwExp

    
IF(@nCheckGlobal <> 0)
        RETURN @
nCheckGlobal

    BEGIN TRAN TCREATECHAR



    INSERT INTO TCHARTABLE
    
(
        
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
    
)

    
SET @dwCharID = @@IDENTITY
    INSERT INTO TINVENTABLE
    
(
        
dwCharID,
        
bInvenID,
        
wItemID,
        
dEndTime
    

    
VALUES
    
(
        @
dwCharID,
        
255
        
3,
        
0
    
)

    
INSERT INTO TINVENTABLE
    
(
        
dwCharID,
        
bInvenID,
        
wItemID,
        
dEndTime
    

    
VALUES
    
(
        @
dwCharID,
        
254
        
2,
        
0
    
)

    
INSERT INTO TCABINETTABLE VALUES(@dwCharID01)
    
INSERT INTO TSKILLTABLE SELECT @dwCharIDwSkillID10 FROM TSTARTSKILL WHERE bClassID=@bClass
    COMMIT TRAN TCREATECHAR

    
DECLARE @bStartInven TINYINT
    
DECLARE @bStartSlot TINYINT
    
DECLARE @bStartChartType TINYINT
    
DECLARE @wStartItemID SMALLINT
    
DECLARE @bStartCount TINYINT
    
DECLARE CUR_STARTITEM CURSOR FOR
    
SELECT bInvenbSlotbChartTypewItemIDbCount FROM TSTARTITEMCHART WHERE bCountry=@bCountry AND bClass = @bClass
    OPEN CUR_STARTITEM
    FETCH NEXT FROM CUR_STARTITEM INTO 
@bStartInven, @bStartSlot, @bStartChartType, @wStartItemID, @bStartCount
    
WHILE @@FETCH_STATUS 0
    BEGIN
        EXEC TPutItemInInven 
@dwCharID, @bStartInven, @bStartSlot, @bStartChartType, @wStartItemID, @bStartCount
        FETCH NEXT FROM CUR_STARTITEM INTO  
@bStartInven, @bStartSlot, @bStartChartType, @wStartItemID, @bStartCount
    END
    CLOSE CUR_STARTITEM
    DEALLOCATE CUR_STARTITEM

--    &#54200;지보내기    ------------------------------------------------------------------------------------

IF(@bslot 0)
    
BEGIN

    
DECLARE @dwPostID INT
    
DECLARE @dwRecvID INT
    
DECLARE @szTitle VARCHAR(256)
    DECLARE @
szMessage VARCHAR(2048)
    DECLARE @
bLenTitle    BINARY(4)
    DECLARE @
bLenMessage BINARY(4)
    DECLARE @
szT VARCHAR(8)
    DECLARE @
szM VARCHAR(8)
    DECLARE @
dateCreated SMALLDATETIME
    SET 
@dateCreated GetDate()
    
  
SET @szTitle 'Welcome On Our Server! '
  
SET @szMessage 'Hey ' + @szName +'
Nice to meet you here. We are proud to announce that we offer more chances to new player now. Every new player will get a 175% permanent mount!
Visit us on www.4Story.com
Thank you for playing.'
    
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
    EXEC TSavePost 
@dwPostID OUTPUT, @dwRecvID OUTPUT0, @dwCharID, @szName'Server Announcement',@szTitle,@szMessage,0,0,10,0,0,@dateCreated

    END

-----------------------------------------------------------------------------------------------------------------------------

    
UPDATE TGLOBAL_GSP.DBO.TALLCHARTABLE SET dwCharID = @dwCharID WHERE dwSeq = @dwCharSeq  


    INSERT INTO THOTKEYTABLE 
        SELECT 
@dwCharIDbInvenIDbType1wID1bType2wID2bType3wID3bType4wID4bType5wID5,
              
bType6wID6bType7wID7bType8wID8bType9wID9bType10wID10bType11wID11bType12wID12 
        FROM TSTARTHOTKEY WHERE bClassID
=@bClass

    UPDATE THOTKEYTABLE SET wID12 
1+@bRace WHERE dwCharID = @dwCharID and bInvenID 1

    
IF EXISTSSELECT bClassID FROM TSTARTRECALL WHERE bClassID = @bClass AND bCountryID = @bCountry)
    
BEGIN
        
DECLARE @dwMonID INT
        
DECLARE @wMonTemp SMALLINT
        
DECLARE @dwATTR INT
        
DECLARE @dwMaxHP INT
        
DECLARE @dwMaxMP INT
        SET 
@wMonTemp 0
        SELECT 
@wMonTemp wMonID FROM TSTARTRECALL WHERE bClassID = @bClass AND bCountryID = @bCountry
        
IF(@wMonTemp 0)
        
BEGIN
            SELECT 
@dwATTR wSummonAttr FROM TMONSTERCHART WHERE wID= @wMonTemp
            SELECT 
@dwMaxHP=dwMaxHP, @dwMaxMP dwMaxMP FROM TMONATTRCHART WHERE wID=@dwATTR AND bLevel=1
            UPDATE TCHARTABLE SET wTemptedMon 
= @wMonTemp WHERE dwCharID = @dwCharID
            SET 
@dwATTR = @dwATTR POWER(2,16)
            
EXEC TCreateRecallMon 
                
@dwMonID OUTPUT
                @
dwCharID
                @
wMonTemp
                
0
                @
dwATTR
                
1
                @
dwMaxHP
                @
dwMaxMP
                
1,
                @
fPosX
                @
fPosY,

                @
fPosZ,
                
0
        END
    END
IF NOT EXISTS(SELECT dwUserID FROM TPETTABLE WHERE dwUserID = @dwUserID)

BEGIN
    
DECLARE @szMountName VARCHAR(50)
    
SET @szMountName = @szNAME+'''s Mount'
    
SET @szMountName REPLACE(@szMountName's''s''s''')
    
INSERT INTO TPETTABLE (dwUserIDwPetIDszNametimeuseVALUES(@dwUserID6, @szMountName0)
END

IF NOT EXISTS(SELECT dwUserID FROM TGLOBAL_GSP.dbo.TCASHTESTTABLE WHERE dwUserID = @dwUserID)

    
BEGIN
        INSERT INTO TGLOBAL_GSP
.dbo.TCASHTESTTABLE (dwUserIDdwCashdwBonusVALUES(@dwUserID100100)
    
END


    
RETURN @@ERROR 
Fix skill bug, skills are save after relog..

TLOGOUT-
PHP Code:
 
/* LOGOUT PROCESS
 
========================================================
PARAMETER
========================================================
@dwUserID               INT
 
========================================================
RETURN VALUE
========================================================
0       : SUCCESS
1       : NO USER
 
========================================================
PROCESS
========================================================
1. Check TCURRENTUSER table
2. Delete user from TCURRENTUSER
3. Update log data
 
*/
 
ALTER PROCEDURE [dbo].[TLogout]
        @
dwUserID       INT,
        @
dwCharID       INT
AS
        DECLARE @
nResult        INT
        
DECLARE @bLevel TINYINT
        
DECLARE @dwExp  INT
        
DECLARE @dwPlayTime INT
        
DECLARE @dwGold INT
        
DECLARE @dwSilver       INT
        
DECLARE @dwCooper       INT
        
DECLARE @bWorldID       TINYINT
        
DECLARE @dCurDate SMALLDATETIME
        
DECLARE @bSave TINYINT
        
DECLARE @bInven TINYINT
        
DECLARE @bType1 TINYINT
        
DECLARE @wID1 SMALLINT
        
DECLARE @bType2 TINYINT
        
DECLARE @wID2 SMALLINT
        
DECLARE @bType3 TINYINT
        
DECLARE @wID3 SMALLINT
        
DECLARE @bType4 TINYINT
        
DECLARE @wID4 SMALLINT
        
DECLARE @bType5 TINYINT
        
DECLARE @wID5 SMALLINT
        
DECLARE @bType6 TINYINT
        
DECLARE @wID6 SMALLINT
        
DECLARE @bType7 TINYINT
        
DECLARE @wID7 SMALLINT
        
DECLARE @bType8 TINYINT
        
DECLARE @wID8 SMALLINT
        
DECLARE @bType9 TINYINT
        
DECLARE @wID9 SMALLINT
        
DECLARE @bType10 TINYINT
        
DECLARE @wID10 SMALLINT
        
DECLARE @bType11 TINYINT
        
DECLARE @wID11 SMALLINT
        
DECLARE @bType12 TINYINT
        
DECLARE @wID12 SMALLINT
       
IF(@bSave 2)
        
INSERT INTO THOTKEYTABLE VALUES(@dwCharID, @bInven, @bType1, @wID1, @bType2, @wID2, @bType3, @wID3, @bType4, @wID4,
                                                 @
bType5, @wID5, @bType6, @wID6, @bType7, @wID7, @bType8, @wID8, @bType9, @wID9,
                                                 @
bType10, @wID10, @bType11, @wID11, @bType12, @wID12)
ELSE IF(@
bSave 3)
        
UPDATE THOTKEYTABLE SET bType1=@bType1wID1=@wID1bType2=@bType2wID2=@wID2bType3=@bType3wID3=@wID3bType4=@bType4wID4=@wID4
                                        
bType5=@bType5wID5=@wID5bType6=@bType6wID6=@wID6bType7=@bType7wID7=@wID7bType8=@bType8wID8=@wID8
                                        
bType9=@bType9wID9=@wID9bType10=@bType10wID10=@wID10bType11=@bType11wID11=@wID11
                                        
bType12=@bType12wID12=@wID12 WHERE dwCharID = @dwCharID AND bInvenID = @bInven
ELSE
        
DELETE THOTKEYTABLE WHERE dwCharID=@dwCharID AND bInvenID = @bInven
 
 
        SET 
@bLevel 0
        SET 
@dwExp 0
        SET 
@dwGold 0
        SET 
@dwSilver 0
        SET 
@dwCooper 0
        SET 
@dCurDate GetDate()
 
        IF(@
dwCharID <> 0)
        
BEGIN
                SELECT 
@bLevel bLevel, @dwExp dwEXP, @dwGold=dwGold, @dwSilver=dwSilver, @dwCooper=dwCooper FROM TCHARTABLE WHERE dwCharID = @dwCharID
 
                EXEC TUpdateActiveChar 
@dwCharID
 
                UPDATE TCHARTABLE SET dLogoutDate 
= @dCurDate WHERE dwCharID=@dwCharID
 
                EXEC 
@nResult TGLOBAL_GSP.dbo.TLogout @dwUserID, @dwCharID, @bLevel, @dwExp
                
IF(@nResult 0)
                
BEGIN
                        SELECT 
@bWorldID bWorld+1 FROM TDBITEMINDEXTABLE
                        EXEC TGLOBAL_GSP
.dbo.TUpdateCharMoney @bWorldID, @dwCharID, @dwGold, @dwSilver, @dwCooper
                END
        END
 
        EXEC TGLOBAL_GSP
.DBO.TPcBangLogout @dwUserID, @dwPlayTime OUTPUT
/*
        IF(@dwGuildID <> 0 AND @dwPlayTime <> 0)
        BEGIN
                INSERT INTO TGUILDPLAYLOG(dwGuildID, dwUserID, dwCharID, dwPlayTime) VALUES(@dwGuildID, @dwUserID, @dwCharID, @dwPlayTime)
                UPDATE TGUILDTABLE SET dwPlayTime = dwPlayTime + @dwPlayTime  WHERE dwID = @dwGuildID
        END
*/
--      DELETE TITEMTABLE WHERE @dwCharID dwOwnerID AND bOwnerType=AND wItemID 7605
 
SELECT 
@dwUserID dwUserID FROM TCHARTABLE WHERE dwCharID = @dwCharID
 
BEGIN TRAN SAVECHAREND
 
DELETE TITEMTABLE WHERE dwOwnerID 
= @dwCharID AND bOwnerType AND bStorageType <> 2
DELETE TITEMTABLE WHERE dlID IN
(SELECT dlID FROM TTEMPITEMTABLE WHERE dwOwnerID = @dwCharID)
 
INSERT INTO TITEMTABLE(
        
dlIDbStorageTypedwStorageIDbOwnerTypedwOwnerIDbItemIDwItemIDbLevelbCountbGLeveldwDuraMaxdwDuraCurbRefineCur,dEndTime,bGradeEffect,
        
bMagic1bMagic2bMagic3bMagic4bMagic5bMagic6,
        
wValue1wValue2wValue3wValue4wValue5wValue6,
        
dwTime1dwTime2dwTime3dwTime4dwTime5dwTime6)
        
SELECT FROM TTEMPITEMTABLE WHERE dwOwnerID = @dwCharID
 
DELETE TSKILLTABLE WHERE dwCharID 
= @dwCharID
INSERT INTO TSKILLTABLE SELECT 
FROM TTEMPSKILLTABLE WHERE dwCharID = @dwCharID
 
 
 
COMMIT TRAN SAVECHAREND
 
EXEC TGLOBAL_GSP
.DBO.TSaveDuringItem @dwUserID 

TSAVECHARDATAEND-
PHP Code:
 
 
 
 
ALTER PROCEDURE 
[dbo].[TSaveCharDataEnd]
@
dwCharID INT
AS
 
DECLARE @
dwUserID INT
SELECT 
@dwUserID dwUserID FROM TCHARTABLE WHERE dwCharID = @dwCharID
 
BEGIN TRAN SAVECHAREND
 
DELETE TINVENTABLE WHERE dwCharID 
= @dwCharID
DELETE TCABINETTABLE WHERE dwCharID 
= @dwCharID
/*DELETE TITEMTABLE WHERE dwOwnerID = @dwCharID AND bOwnerType = 0 AND bStorageType <> 2
DELETE TSKILLTABLE WHERE dwCharID = @dwCharID
DELETE TSKILLMAINTAINTABLE WHERE dwCharID = @dwCharID*/
DELETE TITEMUSEDTABLE WHERE dwCharID = @dwCharID
DELETE TEXPITEMTABLE WHERE dwCharID 
= @dwCharID
/*DELETE TITEMTABLE WHERE dlID IN(SELECT dlID FROM TTEMPITEMTABLE WHERE dwOwnerID = @dwCharID)*/
 
INSERT INTO TINVENTABLE SELECT FROM TTEMPINVENTABLE WHERE dwCharID = @dwCharID
INSERT INTO TCABINETTABLE SELECT 
FROM TTEMPCABINETTABLE WHERE dwCharID = @dwCharID
/*INSERT INTO TSKILLTABLE SELECT * FROM TTEMPSKILLTABLE WHERE dwCharID = @dwCharID
INSERT INTO TSKILLMAINTAINTABLE SELECT * FROM TTEMPSKILLMAINTAINTABLE WHERE dwCharID = @dwCharID*/
INSERT INTO TITEMUSEDTABLE SELECT FROM TTEMPITEMUSEDTABLE WHERE dwCharID = @dwCharID
INSERT INTO TEXPITEMTABLE SELECT 
FROM TTEMPEXPITEMTABLE WHERE dwCharID = @dwCharID
/*INSERT INTO TITEMTABLE(
        dlID, bStorageType, dwStorageID, bOwnerType, dwOwnerID, bItemID, wItemID, bLevel, bCount, bGLevel, dwDuraMax, dwDuraCur, bRefineCur,dEndTime,bGradeEffect,
        bMagic1, bMagic2, bMagic3, bMagic4, bMagic5, bMagic6,
        wValue1, wValue2, wValue3, wValue4, wValue5, wValue6,
        dwTime1, dwTime2, dwTime3, dwTime4, dwTime5, dwTime6)
        SELECT * FROM TTEMPITEMTABLE WHERE dwOwnerID = @dwCharID*/
 
COMMIT TRAN SAVECHAREND
 
EXEC TGLOBAL_GSP
.DBO.TSaveDuringItem @dwUserID 
TSAVESKILL
PHP Code:
ALTER PROCEDURE [dbo].[TSaveSkill]
@
dwCharID int,
@
wSkill smallint,
@
bLevel tinyint,
@
dwTick int

AS

declare @
bClass TINYINT

select 
@bClass bclass from tchartable where dwCharID = @dwCharID
BEGIN TRAN SAVESKILL

INSERT INTO TTEMPSKILLTABLE
(dwCharIDwSkillIDbLeveldwRemainTickVALUES(@dwCharID, @wSkill, @bLevel, @dwTick)
  
INSERT TSKILLTABLE (dwCharIDwSkillIDbLeveldwRemainTickSELECT @dwCharidwIDbmaxlevel0 FROM TSKILLCHART WHERE (dwClassid power(2,@bClass) <> 0) and bCanLearn =1
COMMIT TRAN SAVESKILL 
Fix mount for new char.

TCHANGEDPETSYSTEMTOMOUNTSYSTEM-
PHP Code:
ALTER PROCEDURE [dbo].[TChangedPetSystemToMountSystem]
@
dwUserID    INT
AS

DECLARE @
wCount    SMALLINT

--ItemChanged
SET 
@wCount 0
SELECT 
@wCount COUNT(dlIDFROM TITEMTABLE WHERE dwOwnerID IN(SELECT dwCharID FROM TCHARTABLE WHERE dwUserID = @dwUserID) AND bOwnerType AND wItemID IN(7549,7550,7551,7552,7553,7554,7555,7556,7557)
SELECT @wCount = @wCount COUNT(dlIDFROM TGLOBAL_GSP.DBO.TCASHITEMCABINETTABLE WHERE dwUserID = @dwUserID AND wItemID IN(7549,7550,7551,7552,7553,7554,7555,7556,7557)

IF(@
wCount 0)
BEGIN
    EXEC TChangedMountItem 
@dwUserID754977097559
    EXEC TChangedMountItem 
@dwUserID755077097560
    EXEC TChangedMountItem 
@dwUserID755177097561
    EXEC TChangedMountItem 
@dwUserID755275307562
    EXEC TChangedMountItem 
@dwUserID755375397563
    EXEC TChangedMountItem 
@dwUserID755475487564
    EXEC TChangedMountItem 
@dwUserID755575187565
    EXEC TChangedMountItem 
@dwUserID755677097566
    EXEC TChangedMountItem 
@dwUserID755775587567
END

--PetChanged
SET 
@wCount 0
SELECT 
@wCount COUNT(wPetIDFROM TPETTABLE WHERE dwUserID = @dwUserID
IF(@wCount 0)
BEGIN    
    EXEC TChangedPetToMount 
@dwUserID175010
    EXEC TChangedPetToMount 
@dwUserID475010
    EXEC TChangedPetToMount 
@dwUserID775010
    EXEC TChangedPetToMount 
@dwUserID1075010
    EXEC TChangedPetToMount 
@dwUserID10275010
    EXEC TChangedPetToMount 
@dwUserID8175010
    EXEC TChangedPetToMount 
@dwUserID275020
    EXEC TChangedPetToMount 
@dwUserID575020
    EXEC TChangedPetToMount 
@dwUserID875020
    EXEC TChangedPetToMount 
@dwUserID1175020
    EXEC TChangedPetToMount 
@dwUserID10375020
    EXEC TChangedPetToMount 
@dwUserID375030
    EXEC TChangedPetToMount 
@dwUserID675030
    EXEC TChangedPetToMount 
@dwUserID975030
    EXEC TChangedPetToMount 
@dwUserID1275030
    EXEC TChangedPetToMount 
@dwUserID1377097559
    EXEC TChangedPetToMount 
@dwUserID1477097560
    EXEC TChangedPetToMount 
@dwUserID1577097561
    EXEC TChangedPetToMount 
@dwUserID1675187565
    EXEC TChangedPetToMount 
@dwUserID1777097566


END 
Its compiled is no your fix omg is not your creating..

#CloseRequest all bug is in

Its propiety of fixer is not you fix its very useless thread man...
TLTSTRONG is offline  
Reply




All times are GMT +1. The time now is 03:35.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.