Zitat von zcoolmax;125260help!!! error query [CHARACTER_STR]
Code Alles anzeigenset ANSI_NULLS ON set QUOTED_IDENTIFIER ON [COLOR="DeepSkyBlue"]ALTER[/COLOR] proc [dbo].[CHARACTER_STR] @iGu CHAR(2) = 'S1', @im_idPlayer CHAR(7) = '0000001', @iserverindex CHAR(2) = '01', /********************************************** INSERT ? **********************************************/ -- CHARACTER_TBL @iaccount VARCHAR(32) = '', @im_szName VARCHAR(32) = '', @iplayerslot INT = 0, @idwWorldID INT = 0, @im_dwIndex INT = 0, @im_vPos_x REAL = 0, @im_vPos_y REAL = 0, @im_vPos_z REAL = 0, @im_szCharacterKey VARCHAR(32) = '', @im_dwSkinSet INT = 0, @im_dwHairMesh INT = 0, @im_dwHairColor INT = 0, @im_dwHeadMesh INT = 0, @im_dwSex INT = 0, /********************************************** UPDATE ? **********************************************/ -- CHARACTER_TBL @im_vScale_x REAL = 0, @im_dwMotion INT = 0, @im_fAngle REAL = 0, @im_nHitPoint INT = 0, @im_nManaPoint INT = 0, @im_nFatiguePoint INT = 0, @im_dwRideItemIdx INT = 0, @im_dwGold INT = 0, @im_nJob INT = 0, @im_pActMover VARCHAR(50) = '', @im_nStr INT = 0, @im_nSta INT = 0, @im_nDex INT = 0, @im_nInt INT = 0, @im_nLevel INT = 0, @im_nExp1 BIGINT = 0, @im_nExp2 BIGINT = 0, @im_aJobSkill VARCHAR(500) ='', @im_aLicenseSkill VARCHAR(500) ='', @im_aJobLv VARCHAR(500) ='', @im_dwExpertLv INT = 0, @im_idMarkingWorld INT = 0, @im_vMarkingPos_x REAL = 0, @im_vMarkingPos_y REAL = 0, @im_vMarkingPos_z REAL = 0, @im_nRemainGP INT = 0, @im_nRemainLP INT = 0, @im_nFlightLv INT = 0, @im_nFxp INT = 0, @im_nTxp INT = 0, @im_lpQuestCntArray VARCHAR(3072)= '', @im_chAuthority CHAR(1) = '', @im_dwMode INT = 0, @im_idparty INT = 0, @im_idMuerderer INT = 0, @im_nFame INT = 0, @im_nDeathExp BIGINT = 0, @im_nDeathLevel INT = 0, @im_dwFlyTime INT = 0, @im_nMessengerState INT = 0, @iTotalPlayTime INT = 0 -------------- (ADD : Version8-PK System) ,@im_nPKValue int=0 ,@im_dwPKPropensity int=0 ,@im_dwPKExp int=0 -- CARD_CUBE_TBL ,@im_Card VARCHAR(1980)= '', @im_Index_Card VARCHAR(215) = '', @im_ObjIndex_Card VARCHAR(215) = '', @im_Cube VARCHAR(1980)= '', @im_Index_Cube VARCHAR(215) = '', @im_ObjIndex_Cube VARCHAR(215) = '', -- INVENTORY_TBL @im_Inventory VARCHAR(6940)= '', @im_apIndex VARCHAR(345) = '', @im_adwEquipment VARCHAR(135) = '', @im_dwObjIndex VARCHAR(345) = '', -- TASKBAR_TBL @im_aSlotApplet VARCHAR(3100)= '', -- TASKBAR_ITEM_TBL @im_aSlotItem VARCHAR(6885)= '', -- TASKBAR_TBL @im_aSlotQueue VARCHAR(225)= '', @im_SkillBar SMALLINT = 0, -- BANK_TBL @im_Bank VARCHAR(4290)= '', @im_apIndex_Bank VARCHAR(215)= '', @im_dwObjIndex_Bank VARCHAR(215)= '', @im_dwGoldBank INT = 0, @im_nFuel INT = -1, @im_tmAccFuel INT = 0, @im_dwSMTime VARCHAR(2560)='', @iSkillInfluence varchar(2048) ='', @im_dwSkillPoint INT = 0, @im_aCompleteQuest varchar(1024) = '', @im_extInventory varchar(2000) = '', @im_extBank varchar(2000) = '', @im_InventoryPiercing varchar(8000) = '', @im_BankPiercing varchar(8000) = '', @im_dwReturnWorldID INT = 1, @im_vReturnPos_x REAL = 0, @im_vReturnPos_y REAL = 0, @im_vReturnPos_z REAL = 0, -------------- ( Version 7 : Skill Update) @im_SkillPoint int=0, @im_SkillLv int=0, @im_SkillExp bigint=0, -------------- (?? ?? : 2006 11 13 Attendant Class) @idwEventFlag bigint=0, @idwEventTime int=0, @idwEventElapsed int=0 -------------- (ADD : Version8-Angel System) ,@im_nAngelExp bigint=0 ,@im_nAngelLevel int=0 --------------- Version 9 ?? ?? Pet?? ,@iszInventoryPet varchar(4200) = '$' ,@iszBankPet varchar(4200) = '$' ,@im_dwPetId int = -1 ,@im_nExpLog int = 0 ,@im_nAngelExpLog int = 0 , @im_nCoupon int = 0 ---------- Ver.13 , @im_nHonor int = -1 , @im_nLayer int = 0 ---------- Ver 15 --, @im_BankPW char(4) = '0000' , @im_aCheckedQuest varchar(100) ='' , @im_nCampusPoint int = 0 , @im_idCampus int = 0 /******************************************************* Gu ?? S : SELECT I : INSERT U : UPDATE D : DELETE 2005.04.11 updated ALTER TABLE CHARACTER_TBL ADD m_aCompleteQuest varchar(1024) NULL ALTER TABLE CHARACTER_TBL ALTER COLUMN m_lpQuestCntArray VARCHAR(3072) NULL *******************************************************/ AS set nocount on declare @last_connect tinyint set @last_connect = 1 DECLARE @om_chLoginAuthority CHAR(1),@oaccount VARCHAR(32),@oplayerslot INT IF @iGu = 'S2' -- ??? ?? ??????? ?????? ???? BEGIN IF @iaccount = '' OR @im_szName = '' BEGIN SELECT m_chAuthority = '',fError = '1', fText = '????' RETURN END SELECT A.dwWorldID, A.m_szName, A.playerslot, A.End_Time, A.BlockTime, A.m_dwIndex, A.m_idPlayer, A.m_idparty, A.m_dwSkinSet, A.m_dwHairMesh, A.m_dwHeadMesh, A.m_dwHairColor, A.m_dwSex, A.m_nJob, A.m_nLevel, A.m_vPos_x, A.m_vPos_y, A.m_vPos_z, A.m_nStr, A.m_nSta, A.m_nDex, A.m_nInt, A.m_aJobLv, A.m_chAuthority, A.m_idCompany, A.m_nMessengerState, B.m_Inventory, B.m_apIndex, B.m_adwEquipment, B.m_dwObjIndex, m_idGuild = CASE WHEN C.m_idGuild IS NULL THEN '0' ELSE C.m_idGuild END , m_idWar = CASE WHEN C.m_idWar IS NULL THEN '0' ELSE C.m_idWar END, D.m_extInventory, D.m_InventoryPiercing, ------------- ver. 13 A.m_nHonor, last_connect = @last_connect FROM CHARACTER_TBL A, INVENTORY_TBL B,GUILD_MEMBER_TBL C, INVENTORY_EXT_TBL D WHERE A.m_idPlayer = B.m_idPlayer AND A.serverindex= B.serverindex AND B.m_idPlayer = D.m_idPlayer AND B.serverindex = D.serverindex AND D.m_idPlayer *= C.m_idPlayer AND D.serverindex *= C.serverindex AND A.isblock = 'F' AND A.account = @iaccount AND A.serverindex= @iserverindex ORDER BY A.playerslot insert into CHARACTER_TBL_penya_check (account, m_szName, m_dwGold, check_sec, serverindex) select @iaccount, m_szName, m_dwGold, 9, @iserverindex from CHARACTER_TBL (nolock) where account = @iaccount and serverindex = @iserverindex and TotalPlayTime < 1 and m_dwGold >= 1 RETURN END /* ??? ?? ??????? ?????? ???? ex ) CHARACTER_STR 'S2',@im_idPlayer (iMode),@iserverindex,@iaccount,@im_szName (iPassword) CHARACTER_STR 'S2','0','02','seghope','1234' */ ELSE IF @iGu = 'S3' -- ??? ????? ?? ???? idPlayer? ? ???? BEGIN SELECT m_szName, m_idPlayer,m_idCompany FROM CHARACTER_TBL WHERE serverindex = @iserverindex -- AND isblock = 'F' ORDER BY m_idPlayer RETURN END /* ??? ????? ?? ???? idPlayer? ? ???? ex ) CHARACTER_STR 'S3','',@iserverindex CHARACTER_STR 'S3','','01' */ ELSE IF @iGu = 'S4' -- ??? ??? ?? BEGIN declare @q1 nvarchar(4000) set @q1 = ' SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption, m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime, nRandomOptItemId, isnull(adwItemId5, 0) as adwItemId5, isnull(adwItemId6, 0) as adwItemId6, isnull(adwItemId7, 0) as adwItemId7, isnull(adwItemId8, 0) as adwItemId8, isnull(adwItemId9, 0) as adwItemId9, isnull(nUMPiercedSize, 0) as nUMPiercedSize, isnull(adwUMItemId0, 0) as adwUMItemId0, isnull(adwUMItemId1, 0) as adwUMItemId1, isnull(adwUMItemId2, 0) as adwUMItemId2, isnull(adwUMItemId3, 0) as adwUMItemId3, isnull(adwUMItemId4, 0) as adwUMItemId4 FROM ITEM_SEND_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0' exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex /* SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption, m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime FROM ITEM_SEND_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0 */ RETURN END /* ??? ?? ex ) CHARACTER_STR 'S4',@im_idPlayer,@iserverindex CHARACTER_STR 'S4','000001','01' */ ELSE IF @iGu = 'S5' -- ??? ??? ????? ??? ?? BEGIN -- DELETE ITEM_SEND_TBL UPDATE ITEM_SEND_TBL SET ProvideDt=getdate(), ItemFlag=1 WHERE m_nNo = @iplayerslot IF @@ROWCOUNT = 0 SELECT fError = '0' ELSE SELECT fError = '1' RETURN END /* ??? ??? ????? ??? ?? ex ) CHARACTER_STR 'S5',@im_idPlayer,@iserverindex,@iaccount CHARACTER_STR 'S5','000001','01','???',1,1 */ ELSE IF @iGu = 'S6' -- ??? ??? ?? BEGIN SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, State, m_bItemResist, m_nResistAbilityOption FROM ITEM_REMOVE_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0 RETURN END /* ??? ?? ex ) CHARACTER_STR 'S6',@im_idPlayer,@iserverindex CHARACTER_STR 'S6','000001','01' */ ELSE IF @iGu = 'S7' -- ??? ??? ????? ??? ?? BEGIN -- DELETE ITEM_REMOVE_TBL UPDATE ITEM_REMOVE_TBL SET DeleteDt=getdate(), ItemFlag=1 WHERE m_nNo = @iplayerslot IF @@ROWCOUNT = 0 SELECT fError = '0' ELSE SELECT fError = '1' RETURN END /* ??? ??? ????? ??? ?? ex ) CHARACTER_STR 'S7',@im_idPlayer,@iserverindex,@iaccount CHARACTER_STR 'S7','000001','01','???',1,1 */ IF @iGu = 'S8' -- ??? ?? ???? BEGIN -- ?? ?? ???? character ? SELECT @om_chLoginAuthority = m_chLoginAuthority FROM ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL WHERE account = @iaccount SELECT m_chLoginAuthority = @om_chLoginAuthority, A.account, A.m_idPlayer, A.playerslot, A.serverindex, A.dwWorldID, A.m_szName, A.m_dwIndex, A.m_vScale_x, A.m_dwMotion, A.m_vPos_x, A.m_vPos_y, A.m_vPos_z, A.m_fAngle, A.m_szCharacterKey, A.m_idPlayer, A.m_nHitPoint, A.m_nManaPoint, A.m_nFatiguePoint, A.m_nFuel, A.m_dwSkinSet, A.m_dwHairMesh, A.m_dwHairColor, A.m_dwHeadMesh, A.m_dwSex, A.m_dwRideItemIdx, A.m_dwGold, A.m_nJob, A.m_pActMover, A.m_nStr, A.m_nSta, A.m_nDex, A.m_nInt, A.m_nLevel, A.m_nMaximumLevel, A.m_nExp1, A.m_nExp2, A.m_aJobSkill, A.m_aLicenseSkill, A.m_aJobLv, A.m_dwExpertLv, A.m_idMarkingWorld, A.m_vMarkingPos_x, A.m_vMarkingPos_y, A.m_vMarkingPos_z, A.m_nRemainGP, A.m_nRemainLP, A.m_nFlightLv, A.m_nFxp, A.m_nTxp, A.m_lpQuestCntArray, m_aCompleteQuest = ISNULL(A.m_aCompleteQuest,'$'), A.m_chAuthority, A.m_dwMode, A.m_idparty, A.m_idCompany, A.m_idMuerderer, A.m_nFame, A.m_nDeathExp, A.m_nDeathLevel, A.m_dwFlyTime, A.m_nMessengerState, A.End_Time, A.BlockTime, A.blockby, A.isblock, A.TotalPlayTime, A.CreateTime, A.m_dwSkillPoint, B.m_aSlotApplet, B.m_aSlotQueue, B.m_SkillBar, C.m_aSlotItem, D.m_Inventory, D.m_apIndex, D.m_adwEquipment, D.m_dwObjIndex, m_idGuild = ISNULL(G.m_idGuild,'0'), m_idWar = ISNULL(G.m_idWar,'0'), A.m_tmAccFuel, A.m_tGuildMember, m_dwSMTime = ISNULL(H.m_dwSMTime,'NULL') , SkillInfluence = ISNULL(E.SkillInfluence,'$'), F.m_extInventory, F.m_InventoryPiercing, A.m_dwReturnWorldID, A.m_vReturnPos_x, A.m_vReturnPos_y, A.m_vReturnPos_z, last_connect = @last_connect, A.m_SkillPoint, A.m_SkillLv, A.m_SkillExp, -------------- (2006 11 13 ?? ?? : Attedant Event) A.dwEventFlag, A.dwEventTime, A.dwEventElapsed -------------- (Version8 : PK System) ,A.PKValue as m_nPKValue ,A.PKPropensity as m_dwPKPropensity ,A.PKExp as m_dwPKExp -------------- (Version8 : Angel System) ,A.AngelExp as m_nAngelExp ,A.AngelLevel as m_nAngelLevel ------------------- Version9 Pet ,F.szInventoryPet as szInventoryPet ,A.m_dwPetId , A.m_nExpLog, A.m_nAngelExpLog , m_nCoupon ---------------- ver.13 , A.m_nLayer ---------- Ver 15 , A.m_aCheckedQuest , A.m_nCampusPoint , A.idCampus , isnull(R.m_nRestPoint, 0) m_nRestPoint , isnull(R.m_LogOutTime, 0) m_LogOutTime FROM CHARACTER_TBL A, TASKBAR_TBL B, TASKBAR_ITEM_TBL C, INVENTORY_TBL D, SKILLINFLUENCE_TBL E, INVENTORY_EXT_TBL F, GUILD_MEMBER_TBL G, BILING_ITEM_TBL H , tblRestPoint R WHERE A.m_idPlayer = @im_idPlayer AND A.serverindex = @iserverindex AND A.m_idPlayer = B.m_idPlayer AND A.serverindex = B.serverindex AND B.m_idPlayer = C.m_idPlayer AND B.serverindex = C.serverindex AND C.m_idPlayer = D.m_idPlayer AND C.serverindex = D.serverindex AND D.m_idPlayer = E.m_idPlayer AND D.serverindex = E.serverindex AND E.m_idPlayer = F.m_idPlayer AND E.serverindex = F.serverindex AND F.serverindex *= G.serverindex AND F.m_idPlayer *= G.m_idPlayer AND F.serverindex *= R.serverindex AND F.m_idPlayer *= R.m_idPlayer AND F.serverindex *= H.serverindex AND F.m_idPlayer *= H.m_idPlayer AND A.account = lower(@iaccount) insert into CHARACTER_TBL_validity_check (m_idPlayer, serverindex, account, m_szName, TotalPlayTime, m_dwGold, m_nLevel, m_nJob, sum_ability, CreateTime) select m_idPlayer, serverindex, account, m_szName, TotalPlayTime, m_dwGold, m_nLevel, m_nJob, (m_nStr + m_nSta + m_nDex + m_nInt), CreateTime from CHARACTER_TBL (nolock) where m_idPlayer = @im_idPlayer and TotalPlayTime <= 1 and (m_dwGold >= 1 or m_nLevel >= 2 or m_nJob >= 1 or (m_nStr + m_nSta + m_nDex + m_nInt) > 60) declare @m_dwGold_old bigint, @m_dwGold_now bigint select @m_dwGold_old = m_dwGold from tblLogout_Penya (nolock) where m_idPlayer = @im_idPlayer select @m_dwGold_now = m_dwGold from CHARACTER_TBL (nolock) where serverindex = @iserverindex and m_idPlayer = @im_idPlayer if (@m_dwGold_old <> @m_dwGold_now) begin insert into tblLogout_Penya_Diff_Log (serverindex, m_idPlayer, m_dwGold_old, regdate_old, m_dwGold_now) select serverindex, m_idPlayer, @m_dwGold_old, regdate, @m_dwGold_now from tblLogout_Penya (nolock) where m_idPlayer = @im_idPlayer and serverindex = @iserverindex end -- ?? ?? ???? account ? -- DECLARE @bank TABLE (m_idPlayer CHAR(6),serverindex CHAR(2),playerslot INT) -- -- INSERT @bank -- (m_idPlayer,serverindex,playerslot) -- SELECT m_idPlayer,serverindex,playerslot -- FROM CHARACTER_TBL -- WHERE account = @iaccount -- AND isblock = 'F' -- ORDER BY playerslot SELECT a.m_idPlayer, c.playerslot, a.m_Bank, a.m_apIndex_Bank, a.m_dwObjIndex_Bank, a.m_dwGoldBank, a.m_BankPw, b.m_extBank, b.m_BankPiercing ,b.szBankPet FROM dbo.BANK_TBL a, dbo.BANK_EXT_TBL b, dbo.CHARACTER_TBL c WHERE a.m_idPlayer = b.m_idPlayer AND a.serverindex = b.serverindex AND b.m_idPlayer = c.m_idPlayer AND b.serverindex = c.serverindex AND c.account = @iaccount AND c.isblock = 'F' ORDER BY c.playerslot -- ?? ?? ???? SELECT a.nPocket, a.szItem, a.szIndex, a.szObjIndex, a.bExpired, a.tExpirationDate, b.szExt, b.szPiercing, b.szPet FROM tblPocket as a inner join tblPocketExt as b on a.serverindex = b.serverindex AND a.idPlayer = b.idPlayer AND a.nPocket = b.nPocket WHERE a.serverindex = @iserverindex AND a.idPlayer = @im_idPlayer ORDER BY a.nPocket RETURN END /* ??? ?? ???? New ex ) CHARACTER_STR 'S8',@im_idPlayer,@iserverindex,@iaccount CHARACTER_STR 'S8','425120','01','ata3k' */ ELSE IF @iGu = 'U1' -- ??? ?? BEGIN UPDATE CHARACTER_TBL SET dwWorldID = @idwWorldID, m_dwIndex = @im_dwIndex, m_dwSex = @im_dwSex, m_vScale_x = @im_vScale_x, m_dwMotion = @im_dwMotion, m_vPos_x = @im_vPos_x, m_vPos_y = @im_vPos_y, m_vPos_z = @im_vPos_z, m_dwHairMesh = @im_dwHairMesh, m_dwHairColor = @im_dwHairColor, m_dwHeadMesh = @im_dwHeadMesh, -- 2004/11/08 ?? m_fAngle = 0, --@im_fAngle, m_szCharacterKey = @im_szCharacterKey, m_nHitPoint = @im_nHitPoint, m_nManaPoint = @im_nManaPoint, m_nFatiguePoint = @im_nFatiguePoint, m_nFuel = @im_nFuel, m_dwRideItemIdx = @im_dwRideItemIdx, m_dwGold = @im_dwGold, m_nJob = @im_nJob, m_pActMover = @im_pActMover, m_nStr = @im_nStr, m_nSta = @im_nSta, m_nDex = @im_nDex, m_nInt = @im_nInt, m_nLevel = @im_nLevel, m_nMaximumLevel = CASE WHEN m_nMaximumLevel < @im_nLevel THEN @im_nLevel ELSE m_nMaximumLevel END, m_nExp1 = @im_nExp1, m_nExp2 = @im_nExp2, m_aJobSkill = @im_aJobSkill, m_aLicenseSkill = @im_aLicenseSkill, m_aJobLv = @im_aJobLv, m_dwExpertLv = @im_dwExpertLv, m_idMarkingWorld = @im_idMarkingWorld, m_vMarkingPos_x = @im_vMarkingPos_x, m_vMarkingPos_y = @im_vMarkingPos_y, m_vMarkingPos_z = @im_vMarkingPos_z, m_nRemainGP = @im_nRemainGP, m_nRemainLP = @im_nRemainLP, m_nFlightLv = @im_nFlightLv, m_nFxp = @im_nFxp, m_nTxp = @im_nTxp, m_lpQuestCntArray = @im_lpQuestCntArray, m_aCompleteQuest = @im_aCompleteQuest, m_dwMode = @im_dwMode, m_idparty = @im_idparty, m_idMuerderer = @im_idMuerderer, m_nFame = @im_nFame, m_nDeathExp = @im_nDeathExp, m_nDeathLevel = @im_nDeathLevel, m_nMessengerState = @im_nMessengerState, --m_dwFlyTime = m_dwFlyTime + @im_dwFlyTime, m_dwFlyTime = @im_dwFlyTime, TotalPlayTime = TotalPlayTime + @iTotalPlayTime, m_tmAccFuel = @im_tmAccFuel, m_dwSkillPoint = @im_dwSkillPoint, m_dwReturnWorldID= @im_dwReturnWorldID, m_vReturnPos_x = @im_vReturnPos_x, m_vReturnPos_y = @im_vReturnPos_y, m_vReturnPos_z = @im_vReturnPos_z, m_SkillPoint =@im_SkillPoint, m_SkillLv =@im_SkillLv, m_SkillExp =@im_SkillExp -------------- (?? ?? : 2006 11 13 Attendant Event) , dwEventFlag =@idwEventFlag , dwEventTime =@idwEventTime , dwEventElapsed =@idwEventElapsed -------------- (ADD: Version8-PK System) , PKValue = @im_nPKValue , PKPropensity = @im_dwPKPropensity , PKExp = @im_dwPKExp -------------- (ADD: Version8-Angel System) , AngelExp = @im_nAngelExp , AngelLevel = @im_nAngelLevel --------------------- Version9 Pet , m_dwPetId = @im_dwPetId , m_nExpLog = @im_nExpLog , m_nAngelExpLog = @im_nAngelExpLog , m_nCoupon = @im_nCoupon ------------- ver. 13 , m_nHonor = @im_nHonor , m_nLayer = @im_nLayer ---------- Ver 15 , m_aCheckedQuest = @im_aCheckedQuest , m_nCampusPoint = @im_nCampusPoint , idCampus = @im_idCampus WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex -- if object_id('QUEST_TBL') is not null -- EXEC QUEST_STR 'A1',@im_idPlayer,@iserverindex,@im_lpQuestCntArray update tblLogout_Penya set m_dwGold = @im_dwGold, regdate = getdate() where m_idPlayer = @im_idPlayer and serverindex = @iserverindex IF @im_nLevel>=120 BEGIN UPDATE CHARACTER_TBL SET FinalLevelDt=getdate() WHERE serverindex=@iserverindex AND m_idPlayer=@im_idPlayer AND FinalLevelDt='2000-01-01' END --??? ???? ?? ?? IF @im_dwSMTime > '' BEGIN IF EXISTS(SELECT * FROM BILING_ITEM_TBL WHERE m_idPlayer= @im_idPlayer AND serverindex = @iserverindex) UPDATE BILING_ITEM_TBL SET m_dwSMTime = @im_dwSMTime WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex ELSE INSERT BILING_ITEM_TBL (m_idPlayer,serverindex,m_dwSMTime) VALUES (@im_idPlayer,@iserverindex,@im_dwSMTime) END ELSE DELETE BILING_ITEM_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex -- UPDATE CARD_CUBE_TBL -- SET m_Card = @im_Card, -- m_apIndex_Card = @im_Index_Card, -- m_dwObjIndex_Card= @im_ObjIndex_Card, -- m_Cube = @im_Cube, -- m_apIndex_Cube = @im_Index_Cube, -- m_dwObjIndex_Cube=@im_ObjIndex_Cube -- WHERE m_idPlayer = @im_idPlayer -- AND serverindex = @iserverindex UPDATE INVENTORY_TBL SET m_Inventory = @im_Inventory, m_apIndex = @im_apIndex, m_adwEquipment = @im_adwEquipment, m_dwObjIndex = @im_dwObjIndex WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex UPDATE TASKBAR_TBL SET m_aSlotApplet = @im_aSlotApplet, m_aSlotQueue = @im_aSlotQueue, m_SkillBar = @im_SkillBar WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex UPDATE TASKBAR_ITEM_TBL SET m_aSlotItem = @im_aSlotItem WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex UPDATE BANK_TBL SET m_Bank = @im_Bank, m_apIndex_Bank = @im_apIndex_Bank, m_dwObjIndex_Bank = @im_dwObjIndex_Bank, m_dwGoldBank = @im_dwGoldBank WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex UPDATE SKILLINFLUENCE_TBL SET SkillInfluence = @iSkillInfluence WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex UPDATE INVENTORY_EXT_TBL SET m_extInventory = @im_extInventory, m_InventoryPiercing= @im_InventoryPiercing ,szInventoryPet = @iszInventoryPet WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex UPDATE BANK_EXT_TBL SET m_extBank = @im_extBank, m_BankPiercing = @im_BankPiercing , szBankPet = @iszBankPet WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex SELECT fError = '1', fText = 'OK' RETURN END /* ?????? ex ) CHARACTER_STR 'U1', ALL ... CHARACTER_STR 'U1','000001','01' ... */ ELSE IF @iGu = 'U2' --? ???? ?? BEGIN UPDATE CHARACTER_TBL SET TotalPlayTime = TotalPlayTime + @iplayerslot WHERE m_szName = @im_szName AND serverindex = @iserverindex RETURN END /* ? ???? ?? ex ) CHARACTER_STR 'U2','',@iserverindex,'',@im_szName,@iplayerslot (@iTotalPlayTime) CHARACTER_STR 'U2','','01','','beat',10234 */ ELSE IF @iGu = 'U3' --? ???? ?? new BEGIN UPDATE CHARACTER_TBL SET TotalPlayTime = TotalPlayTime + @iplayerslot WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex RETURN END /* ? ???? ?? (new) ex ) CHARACTER_STR 'U3',@im_idPlayer,@iserverindex,'','',@iplayerslot (@iTotalPlayTime) CHARACTER_STR 'U3','000001','01','','',10234 */ ELSE IF @iGu = 'U4' --??? ? ?? BEGIN IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE m_szName = @im_szName AND serverindex = @iserverindex) BEGIN SELECT fError = '0' END ELSE BEGIN UPDATE CHARACTER_TBL SET m_szName = @im_szName WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex SELECT fError = '1' END RETURN END -- Ver 15 ELSE IF @iGu = 'U5' --?? ??? ???? ?? BEGIN IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex) BEGIN UPDATE CHARACTER_TBL SET m_nCampusPoint = m_nCampusPoint + @iplayerslot WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex declare @u5m_nCampusPoint int select @u5m_nCampusPoint = m_nCampusPoint from CHARACTER_TBL (nolock) WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex SELECT fError = '1', @u5m_nCampusPoint m_nCampusPoint END ELSE RETURN END ELSE IF @iGu = 'U6' -- ?? ID ???? ?? BEGIN IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex) BEGIN UPDATE CHARACTER_TBL SET idCampus = @iplayerslot WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex SELECT fError = '1' END ELSE BEGIN SELECT fError = '0' END RETURN END /* ??? ? ?? ex ) CHARACTER_STR 'U4',@im_idPlayer,@iserverindex,@iaccount,@im_szName CHARACTER_STR 'U4','000001','01','','????' */ ELSE IF @iGu = 'D1' -- ??? ?? BEGIN IF @im_szName = '' BEGIN SELECT fError = '1', fText = '??????' RETURN END if not exists (select * from CHARACTER_TBL where m_idPlayer = @im_idPlayer and account = @iaccount and serverindex = @iserverindex) begin select fError = '1' return end DECLARE @Exists int IF EXISTS(SELECT name from syscolumns where name='m_idPlayer' AND collation= 'Japanese_BIN') BEGIN IF EXISTS(SELECT * FROM ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL WHERE account = @iaccount AND (password = @im_szName OR member = 'B' )) SET @Exists = 1 ELSE SET @Exists = 0 END ELSE BEGIN IF EXISTS(SELECT * FROM ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL WHERE account = @iaccount AND (id_no2 = @im_szName OR member = 'B' )) SET @Exists = 1 ELSE SET @Exists = 0 END IF @Exists > 0 BEGIN DECLARE @currDate char(12) SET @currDate = CONVERT(CHAR(8),GETDATE(),112) + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(hh,GETDATE())),2) + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(mi,GETDATE())),2) IF EXISTS(SELECT m_idPlayer FROM GUILD_MEMBER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND m_idWar > 0) BEGIN SELECT fError = '3', fText = '????' RETURN END ELSE BEGIN UPDATE CHARACTER_TBL SET isblock = 'D', End_Time = @currDate , BlockTime = LEFT(@currDate,8) WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex UPDATE MESSENGER_TBL SET State = 'D' WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex UPDATE MESSENGER_TBL SET State = 'D' WHERE f_idPlayer = @im_idPlayer AND serverindex = @iserverindex /****************************************************************************************/ /** 200506 event **/ /****************************************************************************************/ -- if (not exists(select account from RANKING.RANKING_DBF.dbo.last_1_month_tbl where account = @iaccount) -- and convert(char(10),getdate(),120) between '2005-07-05' and '2005-07-12') -- -- begin --: 1?? ?? ????? ?? ???? ?? -- declare @cash int,@get_cach int -- select @cash = case when m_nLevel between 10 and 19 then 500 -- when m_nLevel between 20 and 39 then 1000 -- when m_nLevel between 40 and 49 then 1500 -- when m_nLevel between 50 and 59 then 2000 -- when m_nLevel between 60 and 69 then 2500 -- when m_nLevel >= 70 then 3000 -- else 0 end -- from CHARACTER_TBL -- where m_idPlayer = @im_idPlayer and serverindex = @iserverindex -- -- select @get_cach = isnull(sum(amount),0) -- from RANKING.RANKING_DBF.dbo.event_member_tbl -- where account = @iaccount -- group by account -- -- if @cash + @get_cach > 5000 -- set @cash = 5000 - @get_cach -- -- if @cash > 0 -- -- begin -- declare @retcode int -- -- if not exists(select * from BILLING.QLORD_MASTER.dbo.BX_TG_USERINFO where USER_ID = @iaccount) -- exec BILLING.QLORD_MASTER.dbo.BX_SP_PROCESS_USERINFO @iaccount,@iaccount,'FLYF',' ','1111111111118',' ',' ','' -- -- exec @retcode = BILLING.QLORD_MASTER.dbo.BX_SP_INSERT_BONUS_IN @iaccount,@iaccount,'FLYF','IN00000004',@cash,'??? ?? ???',0,'' -- -- if @retcode <> 1 -- set @cash = 0 -- -- insert RANKING.RANKING_DBF.dbo.event_member_tbl -- (account,amount,m_idPlayer,serverindex,retcode,date) -- values -- (@iaccount,@cash,@im_idPlayer,@iserverindex,@retcode,getdate()) -- -- end -- end /****************************************************************************************/ /****************************************************************************************/ /****************************************************************************************/ IF EXISTS(SELECT m_idPlayer FROM GUILD_MEMBER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex) BEGIN SELECT fError = '4', fText = m_idGuild FROM GUILD_MEMBER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex RETURN END ELSE BEGIN SELECT fError = '0', fText = 'DELETE OK' RETURN END END END ELSE BEGIN SELECT fError = '1', fText = '??????' RETURN END END /* ??? ?? ex ) CHARACTER_STR 'D1',@im_idPlayer,@iserverindex,@iaccount (isblock) CHARACTER_STR 'D1','001068','01','ata3k','1019311' */ ELSE IF @iGu = 'I1' -- ?? ?? ?? BEGIN IF EXISTS(SELECT m_szName FROM CHARACTER_TBL WHERE m_szName = @im_szName AND serverindex = @iserverindex) BEGIN SELECT fError = '0', fText = '??? ??!' RETURN END ELSE BEGIN DECLARE @om_idPlayer CHAR (7) , @om_vScale_x REAL , @om_dwMotion INT , @om_fAngle REAL , @om_nHitPoint INT , @om_nManaPoint INT , @om_nFatiguePoint INT , @om_dwRideItemIdx INT , @om_dwGold INT , @om_nJob INT , @om_pActMover VARCHAR(50) , @om_nStr INT , @om_nSta INT , @om_nDex INT , @om_nInt INT , @om_nLevel INT , @om_nExp1 BIGINT , @om_nExp2 BIGINT , @om_aJobSkill VARCHAR (500), @om_aLicenseSkill VARCHAR (500), @om_aJobLv VARCHAR (500), @om_dwExpertLv INT , @om_idMarkingWorld INT , @om_vMarkingPos_x REAL , @om_vMarkingPos_y REAL , @om_vMarkingPos_z REAL , @om_nRemainGP INT , @om_nRemainLP INT , @om_nFlightLv INT , @om_nFxp INT , @om_nTxp INT , @om_lpQuestCntArray VARCHAR(1024), @om_chAuthority CHAR(1) , @om_dwMode INT , @oblockby VARCHAR(32) , @oTotalPlayTime INT , @oisblock CHAR(1) , @oEnd_Time CHAR(12) , @om_Inventory VARCHAR(6940), @om_apIndex VARCHAR(345) , @om_adwEquipment VARCHAR(135) , @om_aSlotApplet VARCHAR(3100), @om_aSlotItem VARCHAR(6885), @om_aSlotQueue VARCHAR(225), @om_SkillBar SMALLINT, @om_dwObjIndex VARCHAR(345) , @om_Card VARCHAR(1980), @om_Cube VARCHAR(1980), @om_apIndex_Card VARCHAR(215) , @om_dwObjIndex_Card VARCHAR(215) , @om_apIndex_Cube VARCHAR(215) , @om_dwObjIndex_Cube VARCHAR(215) , @om_idparty INT , @om_idMuerderer INT , @om_nFame INT , @om_nDeathExp BIGINT , @om_nDeathLevel INT , @om_dwFlyTime INT , @om_nMessengerState INT , @om_Bank VARCHAR(4290), @om_apIndex_Bank VARCHAR(215) , @om_dwObjIndex_Bank VARCHAR(215) , @om_dwGoldBank INT ---------- Ver 15 , @om_aCheckedQuest varchar(100) , @om_nCampusPoint int , @om_idCampus int IF EXISTS (SELECT * FROM CHARACTER_TBL WHERE serverindex = @iserverindex) SELECT @om_idPlayer = RIGHT('0000000' + CONVERT(VARCHAR(7),MAX(m_idPlayer)+1),7) FROM CHARACTER_TBL WHERE serverindex = @iserverindex ELSE SELECT @om_idPlayer = '0000001' SELECT @om_vScale_x = m_vScale_x, @om_dwMotion = m_dwMotion, @om_fAngle = m_fAngle, @om_nHitPoint = m_nHitPoint, @om_nManaPoint = m_nManaPoint, @om_nFatiguePoint = m_nFatiguePoint, @om_dwRideItemIdx = m_dwRideItemIdx, @om_dwGold = m_dwGold, @om_nJob = m_nJob, @om_pActMover = m_pActMover, @om_nStr = m_nStr, @om_nSta = m_nSta, @om_nDex = m_nDex, @om_nInt = m_nInt, @om_nLevel = m_nLevel, @om_nExp1 = m_nExp1, @om_nExp2 = m_nExp2, @om_aJobSkill = m_aJobSkill, @om_aLicenseSkill = m_aLicenseSkill, @om_aJobLv = m_aJobLv, @om_dwExpertLv = m_dwExpertLv, @om_idMarkingWorld = m_idMarkingWorld, @om_vMarkingPos_x = m_vMarkingPos_x, @om_vMarkingPos_y = m_vMarkingPos_y, @om_vMarkingPos_z = m_vMarkingPos_z, @om_nRemainGP = m_nRemainGP, @om_nRemainLP = m_nRemainLP, @om_nFlightLv = m_nFlightLv, @om_nFxp = m_nFxp, @om_nTxp = m_nTxp, @om_lpQuestCntArray = m_lpQuestCntArray, @om_chAuthority = m_chAuthority, @om_dwMode = m_dwMode, @oblockby = blockby, @oTotalPlayTime = TotalPlayTime, @oisblock = isblock, @oEnd_Time = CONVERT(CHAR(8),DATEADD(yy,3,GETDATE()),112) + '0000', @om_Inventory = m_Inventory, @om_apIndex = m_apIndex, @om_adwEquipment = m_adwEquipment, @om_aSlotApplet = m_aSlotApplet, @om_aSlotItem = m_aSlotItem, @om_aSlotQueue = m_aSlotQueue, @om_SkillBar = m_SkillBar, @om_dwObjIndex = m_dwObjIndex, @om_Card = m_Card, @om_Cube = m_Cube, @om_apIndex_Card = m_apIndex_Card, @om_dwObjIndex_Card = m_dwObjIndex_Card, @om_apIndex_Cube = m_apIndex_Cube, @om_dwObjIndex_Cube = m_dwObjIndex_Cube, @om_idparty = m_idparty, @om_idMuerderer = m_idMuerderer, @om_nFame = m_nFame, @om_nDeathExp = m_nDeathExp, @om_nDeathLevel = m_nDeathLevel, @om_dwFlyTime = m_dwFlyTime, @om_nMessengerState = m_nMessengerState, @om_Bank = m_Bank, @om_apIndex_Bank = m_apIndex_Bank, @om_dwObjIndex_Bank = m_dwObjIndex_Bank, @om_dwGoldBank = m_dwGoldBank FROM BASE_VALUE_TBL WHERE g_nSex = @im_dwSex INSERT CHARACTER_TBL ( m_idPlayer, serverindex, account, m_szName, playerslot, dwWorldID, m_dwIndex, m_vScale_x, m_dwMotion, m_vPos_x, m_vPos_y, m_vPos_z, m_fAngle, m_szCharacterKey, m_nHitPoint, m_nManaPoint, m_nFatiguePoint, m_nFuel, m_dwSkinSet, m_dwHairMesh, m_dwHairColor, m_dwHeadMesh, m_dwSex, m_dwRideItemIdx, m_dwGold, m_nJob, m_pActMover, m_nStr, m_nSta, m_nDex, m_nInt, m_nLevel, m_nMaximumLevel, m_nExp1, m_nExp2, m_aJobSkill, m_aLicenseSkill, m_aJobLv, m_dwExpertLv, m_idMarkingWorld, m_vMarkingPos_x, m_vMarkingPos_y, m_vMarkingPos_z, m_nRemainGP, m_nRemainLP, m_nFlightLv, m_nFxp, m_nTxp, m_lpQuestCntArray, m_aCompleteQuest, m_chAuthority, m_dwMode, m_idparty, m_idCompany, m_idMuerderer, m_nFame, m_nDeathExp, m_nDeathLevel, m_dwFlyTime, m_nMessengerState, blockby, TotalPlayTime, isblock, End_Time, BlockTime, CreateTime, m_tmAccFuel, m_tGuildMember, m_dwSkillPoint, m_dwReturnWorldID, m_vReturnPos_x, m_vReturnPos_y, m_vReturnPos_z, m_SkillPoint, m_SkillLv, m_SkillExp ---------- Ver 15 , m_aCheckedQuest , m_nCampusPoint , idCampus ) VALUES ( @om_idPlayer, @iserverindex, @iaccount, @im_szName, @iplayerslot, @idwWorldID, @im_dwIndex, @om_vScale_x, @om_dwMotion, @im_vPos_x, @im_vPos_y, @im_vPos_z, @om_fAngle, @im_szCharacterKey, @om_nHitPoint, @om_nManaPoint, @om_nFatiguePoint, -1, --m_nFuel @im_dwSkinSet, @im_dwHairMesh, @im_dwHairColor, @im_dwHeadMesh, @im_dwSex, @om_dwRideItemIdx, @om_dwGold, @om_nJob, @om_pActMover, @om_nStr, @om_nSta, @om_nDex, @om_nInt, @om_nLevel, 1, --m_nMaximumLevel @om_nExp1, @om_nExp2, @om_aJobSkill, @om_aLicenseSkill, @om_aJobLv, @om_dwExpertLv, @om_idMarkingWorld, @om_vMarkingPos_x, @om_vMarkingPos_y, @om_vMarkingPos_z, @om_nRemainGP, @om_nRemainLP, @om_nFlightLv, @om_nFxp, @om_nTxp, @om_lpQuestCntArray, '$', -- m_aCompleteQuest @om_chAuthority, @om_dwMode, @om_idparty, '000000', -- m_idCompany @om_idMuerderer, @om_nFame, @om_nDeathExp, @om_nDeathLevel, @om_dwFlyTime , @om_nMessengerState, @oblockby, @oTotalPlayTime, @oisblock, @oEnd_Time, CONVERT(CHAR(8),DATEADD(d,-1,GETDATE()),112), GETDATE(), 0, CONVERT(CHAR(8),DATEADD(d,-1,GETDATE()),112) + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(hh,DATEADD(d,-1,GETDATE()))),2) + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(mi,DATEADD(d,-1,GETDATE()))),2) + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(ss,DATEADD(d,-1,GETDATE()))),2), 0, --m_dwSkillPoint 1, 0, 0, 0, @im_SkillPoint, @im_SkillLv, @im_SkillExp -- Ver 15 , '$' , 0 , 0 ) INSERT INVENTORY_TBL ( m_idPlayer, serverindex, m_Inventory, m_apIndex, m_adwEquipment, m_dwObjIndex ) VALUES ( @om_idPlayer, @iserverindex, @om_Inventory, @om_apIndex, @om_adwEquipment, @om_dwObjIndex ) -- INSERT CARD_CUBE_TBL -- ( -- m_idPlayer, -- serverindex, -- m_Card, -- m_Cube, -- m_apIndex_Card, -- m_dwObjIndex_Card, -- m_apIndex_Cube, -- m_dwObjIndex_Cube -- ) -- VALUES -- ( -- @om_idPlayer, -- @iserverindex, -- @om_Card, -- @om_Cube, -- @om_apIndex_Card, -- @om_dwObjIndex_Card, -- @om_apIndex_Cube, -- @om_dwObjIndex_Cube -- ) IF @@SERVERNAME = 'WEB' OR @@SERVERNAME = 'SERVER4' SET @om_aSlotApplet = '0,2,400,0,0,0,0/1,2,398,0,1,0,0/2,2,2010,0,2,0,0/3,2,1005,0,3,0,0/4,3,25,0,4,0,0/$' INSERT TASKBAR_TBL ( m_idPlayer, serverindex, m_aSlotApplet, m_aSlotQueue, m_SkillBar ) VALUES ( @om_idPlayer, @iserverindex, @om_aSlotApplet, @om_aSlotQueue, @om_SkillBar ) INSERT TASKBAR_ITEM_TBL ( m_idPlayer, serverindex, m_aSlotItem ) VALUES ( @om_idPlayer, @iserverindex, @om_aSlotItem ) INSERT BANK_TBL ( m_idPlayer, serverindex, m_Bank, m_BankPw, m_apIndex_Bank, m_dwObjIndex_Bank , m_dwGoldBank ) VALUES ( @om_idPlayer, @iserverindex, @om_Bank, '0000', -- m_BankPw -- @im_BankPW, @om_apIndex_Bank, @om_dwObjIndex_Bank, @om_dwGoldBank ) INSERT SKILLINFLUENCE_TBL ( m_idPlayer, serverindex, SkillInfluence ) VALUES ( @om_idPlayer, @iserverindex, '$' ) INSERT INVENTORY_EXT_TBL ( m_idPlayer, serverindex, m_extInventory, m_InventoryPiercing ) VALUES ( @om_idPlayer, @iserverindex, '$','$' ) INSERT BANK_EXT_TBL ( m_idPlayer, serverindex, m_extBank, m_BankPiercing ) VALUES ( @om_idPlayer, @iserverindex, '$','$' ) -- Skill Information INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES (@iserverindex, @om_idPlayer, 1, 0, 0) INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES (@iserverindex, @om_idPlayer, 2, 0, 1) INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES (@iserverindex, @om_idPlayer, 3, 0, 2) -- Pocket INSERT tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate ) VALUES ( @iserverindex, @om_idPlayer, 0, '$', '$', '$', 0, 0 ) INSERT tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet ) VALUES ( @iserverindex, @om_idPlayer, 0, '$', '$', '$' ) INSERT tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate ) VALUES ( @iserverindex, @om_idPlayer, 1, '$', '$', '$', 1, 0 ) INSERT tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet ) VALUES ( @iserverindex, @om_idPlayer, 1, '$', '$', '$' ) INSERT tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate ) VALUES ( @iserverindex, @om_idPlayer, 2, '$', '$', '$', 1, 0 ) INSERT tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet ) VALUES ( @iserverindex, @om_idPlayer, 2, '$', '$', '$' ) ------------------- ver. 13 insert into tblMaster_all (serverindex, m_idPlayer, sec) select @iserverindex, @om_idPlayer, 1 insert into tblMaster_all (serverindex, m_idPlayer, sec) select @iserverindex, @om_idPlayer, 2 insert into tblMaster_all (serverindex, m_idPlayer, sec) select @iserverindex, @om_idPlayer, 3 /* ?? ??? : ??? ???? ?? ??1 : ?? 1~20 ??? ?? ?? ???(????? ????? ?? ?? ??) ?? ??2 : ??? ??? ???? ??? ??? ?? ??? 23~27???(28 0?? ??) ?? ?? ??? 24~27???(28 0?? ??) */ ------------------- ver. 15 insert into tblRestPoint (serverindex, m_idPlayer) select @iserverindex, @om_idPlayer ------------ Penay check default setting insert into tblLogout_Penya (serverindex, m_idPlayer) select @iserverindex, @om_idPlayer /*"???????~!"*/ if (getdate() >= '2009-05-29 00:00:00' and getdate() < '2009-06-29 00:00:00') begin declare @i1_regdate datetime select @i1_regdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount if (@i1_regdate >= '2009-05-29 00:00:00' and @i1_regdate < '2009-06-29 00:00:00') begin if not exists (select * from MANAGE_DBF.dbo.tblEvent_NewAcc_090529 where account = @iaccount) begin insert into ITEM_SEND_TBL (m_idPlayer, serverindex, Item_Name, Item_count, m_bCharged, idSender) select @om_idPlayer, @iserverindex, '30191', 1, 1, '0000000' insert into MANAGE_DBF.dbo.tblEvent_NewAcc_090529 (account, serverindex, m_idPlayer, m_szName) select @iaccount, @iserverindex, @om_idPlayer, @im_szName end end end --[Event.4] ???? ?? ???? if (getdate() >= '2009-12-29 10:00:00' and getdate() < '2010-03-02 10:00:00') begin declare @aregdate datetime select @aregdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount declare @id_no1 char(6), @id_no2 char(7), @itcount int if (@aregdate >= '2009-12-29 10:00:00' and @aregdate < '2010-03-02 10:00:00') begin select @id_no1 = id_no1, @id_no2 = id_no2 from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount /* ??? ????? ?? ?? 2?? ??? ??? ? ?? ?? ?? ??*/ select @itcount = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL AA inner join ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL BB on AA.account = BB.account where id_no1 = @id_no1 and id_no2 = @id_no2 and left ((right(AA.account, 4)), 2) <> '__' and regdate <= '2009-12-29 10:00:00' --Event.1 ?? ?? ?? : ??? ???? (????) if (@itcount = 0) begin /* DECLARE @nMaxMailID int SELECT @nMaxMailID = MAX(nMail) + 1 from MAIL_TBL where serverindex = @iserverindex SET @nMaxMailID = ISNULL( @nMaxMailID, 0 ) EXEC dbo.MAIL_STR 'A1', @nMaxMailID, @iserverindex, @om_idPlayer, '0000000', 0, 0, 0, '?? ?? ???', '????? ??? ??????.', '26205', 3, 0, 0, 0, 0, 2 */ --ES ??? ????(20) (???: 26205) insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '26314', 3, 1, '0000000' insert into MANAGE_DBF.dbo.tbl_Event_NewAccount_0912 (account, serverindex, m_idPlayer, m_Jumin) select @iaccount, @iserverindex, @om_idPlayer, @id_no1+@id_no2 end end -- Event.2 ????! ??? ????? ( ?? ??) if (getdate() >= '2010-02-22 10:00:00' and getdate() < '2010-02-23 10:00:00') begin --??? ????? ( ?? ??) -- @aregdate, @id_no1, @id_no2 ? ????? ???? ?? ?? if (@aregdate >= '2010-02-02 10:00:00' and @aregdate < '2010-02-23 10:00:00') begin /* ??? ????? ?? ?? 2?? ??? ??? ? ?? ?? ?? ??*/ select @itcount = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL AA inner join ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL BB on AA.account = BB.account where id_no1 = @id_no1 and id_no2 = @id_no2 and left ((right(AA.account, 4)), 2) <> '__' and regdate <= '2010-01-29 10:00:00' if (@itcount = 0 ) begin -- ?? 3? ?? insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '26919', 1, 1, '0000000' insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '26920', 1, 1, '0000000' insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '26921', 1, 1, '0000000' insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001 (account, serverindex, m_idPlayer, m_Type) select @iaccount, @iserverindex, @om_idPlayer, 'N' insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001_account (account) select @iaccount end end --??? ????? (?? ??) if not exists (select top 1 * from MANAGE_DBF.dbo.tbl_Event_WSNB_1001_account (nolock) where account = @iaccount) begin -- ?? 3? ?? insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '26919', 1, 1, '0000000' insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '26920', 1, 1, '0000000' insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '26921', 1, 1, '0000000' insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001 (account, serverindex, m_idPlayer, m_Type) select @iaccount, @iserverindex, @om_idPlayer, 'H' end end end /*[Event.1-2]?? ???? ???? ??~!! ? ???~ ???~ Start if (getdate() >= '2009-07-28 10:00:00' and getdate() < '2009-09-01') begin declare @aregdate datetime select @aregdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount if (@aregdate >= '2009-07-28 10:00:00') begin declare @id_no1 char(6), @id_no2 char(7), @itcount int select @id_no1 = id_no1, @id_no2 = id_no2 from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount -- select @itcount = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL where id_no1 = @id_no1 and id_no2 = @id_no2 and left ((right(account, 4)), 2) <> '__' -- ??? ????? ?? ?? 2?? ??? ??? ? ?? ?? ?? ?? select @itcount = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL AA inner join ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL BB on AA.account = BB.account where id_no1 = @id_no1 and id_no2 = @id_no2 and left ((right(AA.account, 4)), 2) <> '__' and regdate <= @aregdate --Event.1 ?? ?? ?? : ?? ??? ???? (????) if not exists (select * from WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_0907 where account = @iaccount) begin if (@itcount = 1) begin --??? ?? ??(???: 30191) insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000' --??? ?? ??(???: 26770) insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '26770', 1, 1, '0000000' insert into WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_0907 (account, serverindex, m_idPlayer) select @iaccount, @iserverindex, @om_idPlayer end end --Event.2 ?? ?? ? ???? ??? ?? : ??? ??? ???? (????) if exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount and regdate >= '2009-07-28') begin --?? ???? ?? (???? ???? ?? : 2082) declare @remem_id as varchar (32), @re_serverindex char(2), @re_m_idPlayer char(7) select @remem_id = remem_id from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount exec MANAGE_DBF.dbo.usp_Highest_Char @remem_id, @re_serverindex output, @re_m_idPlayer output -- select @remem_id, @re_serverindex, @re_m_idPlayer if @re_serverindex is not NULL and @re_m_idPlayer is not NULL begin if not exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0907 where account = @iaccount) begin if (@itcount = 1) begin insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000' insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0907 (account, serverindex, m_idPlayer, m_Item) select @iaccount, @iserverindex, @om_idPlayer, '30191' -- ???? ???? (??) declare @q001 nvarchar(4000) set @q001 = ' insert into CHARACTER_[&server&]_DBF.dbo.ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @re_serverindex, @re_m_idPlayer, ''2082'', 2, 1, ''0000000''' set @q001 = replace(@q001, '[&server&]', @re_serverindex) exec sp_executesql @q001, N'@re_serverindex char(2), @re_m_idPlayer char(7)', @re_serverindex, @re_m_idPlayer -- insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0907 (account, serverindex, m_idPlayer, m_Item) -- select @remem_id, @re_serverindex, @re_m_idPlayer, '2082' end end end end end end -- [Event.1-2]??? ???? ???? ??~!! ? ???~ ???~ End */ /* [Event.2]???~ ??? ????! Start if (getdate() >= '2009-02-24 10:00:00' and getdate() <= '2009-03-24 10:00:00') begin declare @aregdate datetime select @aregdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount if (@aregdate >= '2009-02-24 10:00:00') begin declare @id_no1 char(6), @id_no2 char(7), @itcount int select @id_no1 = id_no1, @id_no2 = id_no2 from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount select @itcount = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL where id_no1 + id_no2 = @id_no1 + @id_no2 and left ((right(account, 4)), 2) <> '__' --?? ?? ?? : ?? ??? ???? (????) if not exists (select * from WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_0902 where account = @iaccount) begin if (@itcount = 1) begin --FLY/FOR/FUN?? 30? insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '26666', 30, 1, '0000000' --FLY/FOR/FUN?? 30? insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '26667', 30, 1, '0000000' --FLY/FOR/FUN?? 30? insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '26668', 30, 1, '0000000' insert into WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_0902 (account, serverindex, m_idPlayer) select @iaccount, @iserverindex, @om_idPlayer end end --?? ?? ? ???? ??? ?? : ??? ??? ???? (????) if exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount and regdate >= '2009-02-24') begin if not exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0902 where account = @iaccount) begin if (@itcount = 1) begin -- ??? ?? ????? ?? ???? ?? (2009-02-24 11:40) by ??? insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000' insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0902 (account, serverindex, m_idPlayer) select @iaccount, @iserverindex, @om_idPlayer end end end end end*/ /* [Event.2]???~ ??? ????! End */ /* [Event.5] ???? ???? ^^ Start if (getdate() >= '2009-03-03 09:00:00' and getdate() <= '2009-03-31 09:00:00') begin declare @a2regdate datetime declare @sex char(1) select @a2regdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount select @sex = [??] from WEB.ONLINE_DBF.dbo.USER_TBL where [??] = @iaccount if (@a2regdate >= '2009-03-03 09:00:00' and @sex = '2') begin --- ?? ??? ???? (????) if not exists (select * from WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_Women_0903 where account = @iaccount) begin --??? ?? ?? insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '26770', 1, 1, '0000000' insert into WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_Women_0903 (account, serverindex, m_idPlayer) select @iaccount, @iserverindex, @om_idPlayer end end end*/ /* [Event.5] ???? ???? ^^ End */ /* ?? ??? : ??? ???? ?? ??1 : ?? 1~20 ??? ?? ?? ???(????? ????? ?? ?? ??) ?? ??2 : ??? ??? ???? ??? ??? ?? ??? 23~27???(28 0?? ??) ?? ?? ??? 24~27???(28 0?? ??) */ /* if (getdate() <= '2008-02-12 09:00:00') begin declare @regdate datetime, @check int select @check = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.tblEvent_Board_Provide where account = @iaccount select @regdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount if ((@check = 0) and (@regdate >= '2008-01-08 11:00:00')) begin declare @channel_check char(4) set @channel_check = right(@iaccount, 4) if (@channel_check = '__an') begin insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender) select @om_idPlayer, @iserverindex, '26533', 1, 0, '0000000' insert into ACCOUNT.ACCOUNT_DBF.dbo.tblEvent_Board_Provide (account, serverindex, m_idPlayer, m_szName) select @iaccount, @iserverindex, @om_idPlayer, @im_szName end else if (@channel_check = '__bu') begin if (getdate() <= '2008-02-08 23:59:59') begin insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender) select @om_idPlayer, @iserverindex, '26534', 1, 0, '0000000' insert into ACCOUNT.ACCOUNT_DBF.dbo.tblEvent_Board_Provide (account, serverindex, m_idPlayer, m_szName) select @iaccount, @iserverindex, @om_idPlayer, @im_szName end end else begin insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender) select @om_idPlayer, @iserverindex, '26532', 1, 0, '0000000' insert into ACCOUNT.ACCOUNT_DBF.dbo.tblEvent_Board_Provide (account, serverindex, m_idPlayer, m_szName) select @iaccount, @iserverindex, @om_idPlayer, @im_szName end end end */ /* if (getdate() >= '2008-07-30 00:00:00' and getdate() <= '2008-09-15 23:59:59') begin declare @aregdate datetime select @aregdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount if (@aregdate >= '2008-07-30 00:00:00') begin declare @reaccount varchar(32) if exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount) begin if not exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL where account = @iaccount) begin insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000' insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL (account, serverindex, m_idPlayer) select @iaccount, @iserverindex, @om_idPlayer end end end end */ /* if (getdate() >= '2008-12-17 10:00:00' and getdate() <= '2009-01-27 10:00:00') begin declare @aregdate datetime select @aregdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount if (@aregdate >= '2008-12-17 10:00:00') begin declare @reaccount varchar(32) if exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount and regdate >= '2008-12-16') begin if not exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0812 where account = @iaccount) begin insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender) select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000' insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0812 (account, serverindex, m_idPlayer) select @iaccount, @iserverindex, @om_idPlayer end end end end IF (GETDATE() BETWEEN '2004-06-23 18:00:00.000' AND '2004-06-27 23:59:59.999') INSERT ITEM_SEND_TBL (m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, End_Time, m_bItemResist, m_nResistAbilityOption, m_bCharged) VALUES ('261007','01','?? ??? 12',2,0,NULL,0,0,1) */ SELECT fError = '1', fText = 'OK',m_idPlayer=@om_idPlayer RETURN END END /* ?? ?? ?? ex ) CHARACTER_STR 'I1','',@iserverindex,@iaccount,@im_szName,@iplayerslot,@idwWorldID, @im_dwIndex,@im_vPos_x,@im_vPos_y,@im_vPos_z,@im_szCharacterKey, @im_dwSkinSet,@im_dwHairMesh,@im_dwHairColor,@im_dwHeadMesh,@im_dwSex CHARACTER_STR 'I1','','01','beat','????3',0,0, 0,0,0,0,'', 0,0,0,0,0 */ set nocount off RETURN
Change ALTER to CREATE
>.>