Bug/Probs und ihr Fixes

    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Hier ist die v14 sry

      Quellcode

      1. USE [CHARACTER_01_DBF]
      2. GO
      3. /****** Object: StoredProcedure [dbo].[CHARACTER_STR] Script Date: 01/29/2010 13:04:54 ******/
      4. SET ANSI_NULLS ON
      5. GO
      6. SET QUOTED_IDENTIFIER ON
      7. GO
      8. /****** Object: Stored Procedure dbo.CHARACTER_STR Script Date: 7/29/2008 3:34:04 AM ******/
      9. CREATE proc [dbo].[CHARACTER_STR]
      10. @iGu CHAR(2) = 'S1',
      11. @im_idPlayer CHAR(7) = '0000001',
      12. @iserverindex CHAR(2) = '01',
      13. /**********************************************
      14. INSERT 용
      15. **********************************************/
      16. -- CHARACTER_TBL
      17. @iaccount VARCHAR(32) = '',
      18. @im_szName VARCHAR(32) = '',
      19. @iplayerslot INT = 0,
      20. @idwWorldID INT = 0,
      21. @im_dwIndex INT = 0,
      22. @im_vPos_x REAL = 0,
      23. @im_vPos_y REAL = 0,
      24. @im_vPos_z REAL = 0,
      25. @im_szCharacterKey VARCHAR(32) = '',
      26. @im_dwSkinSet INT = 0,
      27. @im_dwHairMesh INT = 0,
      28. @im_dwHairColor INT = 0,
      29. @im_dwHeadMesh INT = 0,
      30. @im_dwSex INT = 0,
      31. /**********************************************
      32. UPDATE 용
      33. **********************************************/
      34. -- CHARACTER_TBL
      35. @im_vScale_x REAL = 0,
      36. @im_dwMotion INT = 0,
      37. @im_fAngle REAL = 0,
      38. @im_nHitPoint INT = 0,
      39. @im_nManaPoint INT = 0,
      40. @im_nFatiguePoint INT = 0,
      41. @im_dwRideItemIdx INT = 0,
      42. @im_dwGold INT = 0,
      43. @im_nJob INT = 0,
      44. @im_pActMover VARCHAR(50) = '',
      45. @im_nStr INT = 0,
      46. @im_nSta INT = 0,
      47. @im_nDex INT = 0,
      48. @im_nInt INT = 0,
      49. @im_nLevel INT = 0,
      50. @im_nExp1 BIGINT = 0,
      51. @im_nExp2 BIGINT = 0,
      52. @im_aJobSkill VARCHAR(500) ='',
      53. @im_aLicenseSkill VARCHAR(500) ='',
      54. @im_aJobLv VARCHAR(500) ='',
      55. @im_dwExpertLv INT = 0,
      56. @im_idMarkingWorld INT = 0,
      57. @im_vMarkingPos_x REAL = 0,
      58. @im_vMarkingPos_y REAL = 0,
      59. @im_vMarkingPos_z REAL = 0,
      60. @im_nRemainGP INT = 0,
      61. @im_nRemainLP INT = 0,
      62. @im_nFlightLv INT = 0,
      63. @im_nFxp INT = 0,
      64. @im_nTxp INT = 0,
      65. @im_lpQuestCntArray VARCHAR(3072)= '',
      66. @im_chAuthority CHAR(1) = '',
      67. @im_dwMode INT = 0,
      68. @im_idparty INT = 0,
      69. --@im_nNumKill INT = 0,
      70. @im_idMuerderer INT = 0,
      71. --@im_nSlaughter INT = 0,
      72. @im_nFame INT = 0,
      73. @im_nDeathExp BIGINT = 0,
      74. @im_nDeathLevel INT = 0,
      75. @im_dwFlyTime INT = 0,
      76. @im_nMessengerState INT = 0,
      77. @iTotalPlayTime INT = 0,
      78. ---------- Additional end ----------
      79. -- PK Variable
      80. @im_nPKValue int=0,
      81. @im_dwPKPropensity int=0,
      82. @im_dwPKExp int=0,
      83. ---------- Additional end ----------
      84. -- CARD_CUBE_TBL
      85. @im_Card VARCHAR(1980)= '',
      86. @im_Index_Card VARCHAR(215) = '',
      87. @im_ObjIndex_Card VARCHAR(215) = '',
      88. @im_Cube VARCHAR(1980)= '',
      89. @im_Index_Cube VARCHAR(215) = '',
      90. @im_ObjIndex_Cube VARCHAR(215) = '',
      91. -- INVENTORY_TBL
      92. @im_Inventory VARCHAR(6940)= '',
      93. @im_apIndex VARCHAR(345) = '',
      94. @im_adwEquipment VARCHAR(135) = '',
      95. @im_dwObjIndex VARCHAR(345) = '',
      96. -- TASKBAR_TBL
      97. @im_aSlotApplet VARCHAR(3100)= '',
      98. -- TASKBAR_ITEM_TBL
      99. @im_aSlotItem VARCHAR(6885)= '',
      100. -- TASKBAR_TBL
      101. @im_aSlotQueue VARCHAR(225)= '',
      102. @im_SkillBar SMALLINT = 0,
      103. -- BANK_TBL
      104. @im_Bank VARCHAR(4290)= '',
      105. @im_apIndex_Bank VARCHAR(215)= '',
      106. @im_dwObjIndex_Bank VARCHAR(215)= '',
      107. @im_dwGoldBank INT = 0,
      108. @im_nFuel INT = -1,
      109. @im_tmAccFuel INT = 0,
      110. @im_dwSMTime VARCHAR(2560)='',
      111. @iSkillInfluence varchar(2048) ='',
      112. @im_dwSkillPoint INT = 0,
      113. @im_aCompleteQuest varchar(1024) = '',
      114. @im_extInventory varchar(2000) = '',
      115. @im_extBank varchar(2000) = '',
      116. @im_InventoryPiercing varchar(2000) = '',
      117. @im_BankPiercing varchar(2000) = '',
      118. @im_dwReturnWorldID INT = 1,
      119. @im_vReturnPos_x REAL = 0,
      120. @im_vReturnPos_y REAL = 0,
      121. @im_vReturnPos_z REAL= 0
      122. -------------- ( Version 7 : Skill Update)
      123. , @im_SkillPoint int=0
      124. , @im_SkillLv int=0
      125. , @im_SkillExp bigint=0
      126. -------------- (Additional end)
      127. , @idwEventFlag bigint=0,
      128. @idwEventTime int=0,
      129. @idwEventElapsed int=0
      130. -------------- (Additional end)
      131. ----------Additional end----------
      132. -- PVP (Additional end)
      133. ,@im_nAngelExp bigint=0
      134. ,@im_nAngelLevel int=0
      135. ----------Additional end ----------
      136. --------------- Version 9 Relation of additional partial Pet
      137. ,@iszInventoryPet varchar(2688) = '$'
      138. ,@iszBankPet varchar(2688) = '$'
      139. ,@im_dwPetId int = -1
      140. ,@im_nExpLog int = 0
      141. ,@im_nAngelExpLog int = 0
      142. --------- Ver 11 Coupon
      143. ,@im_nCoupon int = 0
      144. --------- Ver 14 Shit
      145. ,@im_nHonor int = -1
      146. ,@im_nLayer int = 0
      147. /*******************************************************
      148. Gu Dividing
      149. S : SELECT
      150. I : INSERT
      151. U : UPDATE
      152. D : DELETE
      153. 2005.04.11 updated
      154. ALTER TABLE CHARACTER_TBL ADD m_aCompleteQuest varchar(1024) NULL
      155. ALTER TABLE CHARACTER_TBL ALTER COLUMN m_lpQuestCntArray VARCHAR(3072) NULL
      156. *******************************************************/
      157. AS
      158. set nocount on
      159. declare @last_connect tinyint
      160. set @last_connect = 1
      161. IF @iGu = 'S2' -- Is a player list which follows in the slot cuts coil information bringing,
      162. BEGIN
      163. IF @iaccount = '' OR @im_szName = ''
      164. BEGIN
      165. SELECT m_chAuthority = '',fError = '1', fText = 'Wrong password'
      166. RETURN
      167. END
      168. SELECT A.dwWorldID,
      169. A.m_szName,
      170. A.playerslot,
      171. A.End_Time,
      172. A.BlockTime,
      173. A.m_dwIndex,
      174. A.m_idPlayer,
      175. A.m_idparty,
      176. A.m_dwSkinSet,
      177. A.m_dwHairMesh,
      178. A.m_dwHeadMesh,
      179. A.m_dwHairColor,
      180. A.m_dwSex,
      181. A.m_nJob,
      182. A.m_nLevel,
      183. A.m_vPos_x,
      184. A.m_vPos_y,
      185. A.m_vPos_z,
      186. A.m_nStr,
      187. A.m_nSta,
      188. A.m_nDex,
      189. A.m_nInt,
      190. --A.m_nSlaughter, -- raidersAddition 2005.5.11
      191. A.m_aJobLv,
      192. A.m_chAuthority,
      193. A.m_idCompany,
      194. A.m_nMessengerState,
      195. B.m_Inventory,
      196. B.m_apIndex,
      197. B.m_adwEquipment,
      198. B.m_dwObjIndex,
      199. m_idGuild = CASE WHEN C.m_idGuild IS NULL THEN '0' ELSE C.m_idGuild END ,
      200. m_idWar = CASE WHEN C.m_idWar IS NULL THEN '0' ELSE C.m_idWar END,
      201. D.m_extInventory,
      202. D.m_InventoryPiercing,
      203. A.m_idCompany,
      204. last_connect = @last_connect
      205. FROM CHARACTER_TBL A, INVENTORY_TBL B,GUILD_MEMBER_TBL C, INVENTORY_EXT_TBL D
      206. WHERE A.m_idPlayer = B.m_idPlayer
      207. AND A.serverindex= B.serverindex
      208. AND B.m_idPlayer = D.m_idPlayer
      209. AND B.serverindex = D.serverindex
      210. AND D.m_idPlayer *= C.m_idPlayer
      211. AND D.serverindex *= C.serverindex
      212. AND A.isblock = 'F'
      213. AND A.account = @iaccount
      214. AND A.serverindex= @iserverindex
      215. ORDER BY A.playerslot
      216. RETURN
      217. END
      218. /*
      219. Is a player list which follows in the slot cuts coil information bringing,
      220. ex )
      221. CHARACTER_STR 'S2',@im_idPlayer (iMode),@iserverindex,@iaccount,@im_szName (iPassword)
      222. CHARACTER_STR 'S2','0','02','seghope','1234'
      223. */
      224. ELSE
      225. IF @iGu = 'S3' -- The server initially idPlayer of characters which will execute all the branch, coming,
      226. BEGIN
      227. SELECT m_szName, m_idPlayer,m_idCompany
      228. FROM CHARACTER_TBL
      229. WHERE serverindex = @iserverindex
      230. -- AND isblock = 'F'
      231. ORDER BY m_idPlayer
      232. RETURN
      233. END
      234. /*
      235. The server initially idPlayer of characters which will execute all the branch, coming,
      236. ex )
      237. CHARACTER_STR 'S3','',@iserverindex
      238. CHARACTER_STR 'S3','','02'
      239. */
      240. ELSE
      241. IF @iGu = 'S4' -- The item confirmation which will add
      242. BEGIN
      243. /* if (getdate() >= '2007-10-29 00:00:00' and getdate() <= '2007-10-31 23:59:59')
      244. begin
      245. if not exists (select * from EOCRM.MANAGE_DBF.dbo.tblEvent_Halloween_2007 where serverindex = @iserverindex and m_idPlayer = @im_idPlayer)
      246. begin
      247. declare @q1 nvarchar(4000)
      248. declare @ktime bigint
      249. select @ktime = cast(replace(replace(replace(convert(char(16), dateadd(hh, 72, getdate()), 21), '-', ''), ' ', ''), ':', '') as bigint)
      250. set @q1 = '
      251. insert into ITEM_SEND_TBL (m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, m_bItemResist, m_nResistAbilityOption, m_bCharged, m_dwKeepTime)
      252. select @im_idPlayer, @iserverindex, ''26425'', 1, 0, 0, 0, 0, @ktime'
      253. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2), @ktime bigint', @im_idPlayer, @iserverindex, @ktime
      254. set @q1 = '
      255. insert into EOCRM.MANAGE_DBF.dbo.tblEvent_Halloween_2007 (serverindex, m_idPlayer)
      256. select @iserverindex, @im_idPlayer'
      257. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      258. set @q1 = '
      259. SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption, m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime, nRandomOptItemId
      260. FROM ITEM_SEND_TBL
      261. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
      262. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      263. end
      264. else
      265. begin
      266. SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption, m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime, nRandomOptItemId
      267. FROM ITEM_SEND_TBL
      268. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0
      269. end
      270. end
      271. else
      272. begin
      273. SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption, m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime, nRandomOptItemId
      274. FROM ITEM_SEND_TBL
      275. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0
      276. end*/
      277. declare @q1 nvarchar(4000)
      278. /* if ((getdate() >= '2007-12-23 00:00:00') and (getdate() <= '2007-12-25 23:59:59'))
      279. begin
      280. if not exists (select * from tblevent_2007_xmas where m_idPlayer = @im_idPlayer)
      281. begin
      282. declare @m_dwSex int
      283. declare @xmas_Item varchar(32)
      284. select @m_dwSex = m_dwSex from CHARACTER_TBL where m_idPlayer = @im_idPlayer
      285. if @m_dwSex = 0
      286. begin
      287. set @xmas_Item = '26339'
      288. end
      289. else
      290. begin
      291. set @xmas_Item = '26340'
      292. end
      293. set @q1 = 'insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender)
      294. select @im_idPlayer, ''01'', @xmas_Item, 1, 0, ''0000000'''
      295. exec sp_executesql @q1, N'@im_idPlayer char(7), @xmas_Item varchar(32)', @im_idPlayer, @xmas_Item
      296. insert into tblevent_2007_xmas (m_idPlayer)
      297. select @im_idPlayer
      298. set @q1 = 'SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
      299. m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime
      300. FROM ITEM_SEND_TBL
      301. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
      302. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      303. end
      304. else
      305. begin
      306. set @q1 = 'SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
      307. m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime
      308. FROM ITEM_SEND_TBL
      309. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
      310. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      311. end
      312. end*/
      313. if ((getdate() >= '2007-12-31 00:00:00') and (getdate() <= '2007-12-31 23:59:59'))
      314. begin
      315. if not exists (select * from tblevent_2007_newyear where m_idPlayer = @im_idPlayer)
      316. begin
      317. declare @newyear_Item varchar(32)
      318. set @newyear_Item = '2904'
      319. set @q1 = 'insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender)
      320. select @im_idPlayer, ''01'', @newyear_Item, 5, 0, ''0000000'''
      321. exec sp_executesql @q1, N'@im_idPlayer char(7), @newyear_Item varchar(32)', @im_idPlayer, @newyear_Item
      322. insert into tblevent_2007_newyear (m_idPlayer)
      323. select @im_idPlayer
      324. set @q1 = 'SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
      325. m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, adwItemId4, m_dwKeepTime, nRandomOptItemId
      326. FROM ITEM_SEND_TBL
      327. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
      328. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      329. end
      330. else
      331. begin
      332. set @q1 = 'SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
      333. m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, adwItemId4, m_dwKeepTime, nRandomOptItemId
      334. FROM ITEM_SEND_TBL
      335. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
      336. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      337. end
      338. end
      339. else
      340. begin
      341. set @q1 = 'SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
      342. m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, adwItemId4, m_dwKeepTime, nRandomOptItemId
      343. FROM ITEM_SEND_TBL
      344. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
      345. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      346. end
      347. RETURN
      348. END
      349. /*
      350. Item confirmation
      351. ex )
      352. CHARACTER_STR 'S4',@im_idPlayer,@iserverindex
      353. CHARACTER_STR 'S4','000001','01'
      354. */
      355. ELSE
      356. IF @iGu = 'S5' -- From table after item utmost urgency item elimination
      357. BEGIN
      358. -- DELETE ITEM_SEND_TBL
      359. UPDATE ITEM_SEND_TBL SET ProvideDt=getdate(), ItemFlag=1
      360. WHERE m_nNo = @iplayerslot
      361. IF @@ROWCOUNT = 0
      362. SELECT fError = '0'
      363. ELSE
      364. SELECT fError = '1'
      365. RETURN
      366. END
      367. /*
      368. From table after item utmost urgency item elimination
      369. ex )
      370. CHARACTER_STR 'S5',@im_idPlayer,@iserverindex,@iaccount
      371. CHARACTER_STR 'S5','000001','01','Broom',1,1
      372. */
      373. ELSE
      374. IF @iGu = 'S6' -- The item confirmation which will eliminate
      375. BEGIN
      376. SELECT Item_Name,
      377. Item_count,
      378. m_nAbilityOption,
      379. m_nNo,
      380. State,
      381. m_bItemResist,
      382. m_nResistAbilityOption
      383. FROM ITEM_REMOVE_TBL
      384. WHERE m_idPlayer = @im_idPlayer
      385. AND serverindex = @iserverindex
      386. AND ItemFlag = 0
      387. RETURN
      388. END
      389. /*
      390. Item confirmation
      391. ex )
      392. CHARACTER_STR 'S6',@im_idPlayer,@iserverindex
      393. CHARACTER_STR 'S6','000001','01'
      394. */
      395. ELSE
      396. IF @iGu = 'S7' -- After item eliminating from table item elimination
      397. BEGIN
      398. -- DELETE ITEM_REMOVE_TBL
      399. UPDATE ITEM_REMOVE_TBL SET DeleteDt=getdate(), ItemFlag=1
      400. WHERE m_nNo = @iplayerslot
      401. IF @@ROWCOUNT = 0
      402. SELECT fError = '0'
      403. ELSE
      404. SELECT fError = '1'
      405. RETURN
      406. END
      407. /*
      408. From table after item utmost urgency item elimination
      409. ex )
      410. CHARACTER_STR 'S7',@im_idPlayer,@iserverindex,@iaccount
      411. CHARACTER_STR 'S7','000001','01','Broom',1,1
      412. */
      413. IF @iGu = 'S8' -- The data whole bringing,
      414. BEGIN
      415. PRINT @iaccount
      416. DECLARE @om_chLoginAuthority CHAR(1)
      417. -- Bank information character stars bringing
      418. SET @om_chLoginAuthority = 'F'
      419. --SELECT @om_chLoginAuthority = m_chLoginAuthority
      420. -- FROM ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL
      421. --WHERE lower(account) = lower(@iaccount)
      422. --INSERT INTO [ONLINE_TBL] ([account] ,[name]) VALUES(@iaccount,@im_idPlayer)
      423. SELECT m_chLoginAuthority = @om_chLoginAuthority,
      424. A.account,
      425. A.m_idPlayer,
      426. A.playerslot,
      427. A.serverindex,
      428. A.dwWorldID,
      429. A.m_szName,
      430. A.m_dwIndex,
      431. A.m_vScale_x,
      432. A.m_dwMotion,
      433. A.m_vPos_x,
      434. A.m_vPos_y,
      435. A.m_vPos_z,
      436. A.m_fAngle,
      437. A.m_szCharacterKey,
      438. A.m_idPlayer,
      439. A.m_nHitPoint,
      440. A.m_nManaPoint,
      441. A.m_nFatiguePoint,
      442. A.m_nFuel,
      443. A.m_dwSkinSet,
      444. A.m_dwHairMesh,
      445. A.m_dwHairColor,
      446. A.m_dwHeadMesh,
      447. A.m_dwSex,
      448. A.m_dwRideItemIdx,
      449. A.m_dwGold,
      450. A.m_nJob,
      451. A.m_pActMover,
      452. A.m_nStr,
      453. A.m_nSta,
      454. A.m_nDex,
      455. A.m_nInt,
      456. A.m_nLevel,
      457. A.m_nMaximumLevel,
      458. A.m_nExp1,
      459. A.m_nExp2,
      460. A.m_aJobSkill,
      461. A.m_aLicenseSkill,
      462. A.m_aJobLv,
      463. A.m_dwExpertLv,
      464. A.m_idMarkingWorld,
      465. A.m_vMarkingPos_x,
      466. A.m_vMarkingPos_y,
      467. A.m_vMarkingPos_z,
      468. A.m_nRemainGP,
      469. A.m_nRemainLP,
      470. A.m_nFlightLv,
      471. A.m_nFxp,
      472. A.m_nTxp,
      473. A.m_lpQuestCntArray,
      474. m_aCompleteQuest = ISNULL(A.m_aCompleteQuest,'$'),
      475. A.m_chAuthority,
      476. A.m_dwMode,
      477. A.m_idparty,
      478. A.m_idCompany,
      479. --A.m_nNumKill,
      480. A.m_idMuerderer,
      481. --A.m_nSlaughter,
      482. A.m_nFame,
      483. A.m_nDeathExp,
      484. A.m_nDeathLevel,
      485. A.m_dwFlyTime,
      486. A.m_nMessengerState,
      487. A.End_Time,
      488. A.BlockTime,
      489. A.blockby,
      490. A.isblock,
      491. A.TotalPlayTime,
      492. A.CreateTime,
      493. A.m_dwSkillPoint,
      494. B.m_aSlotApplet,
      495. B.m_aSlotQueue,
      496. B.m_SkillBar,
      497. C.m_aSlotItem,
      498. D.m_Inventory,
      499. D.m_apIndex,
      500. D.m_adwEquipment,
      501. D.m_dwObjIndex,
      502. m_idGuild = ISNULL(G.m_idGuild,'0'),
      503. m_idWar = ISNULL(G.m_idWar,'0'),
      504. A.m_tmAccFuel,
      505. A.m_tGuildMember,
      506. m_dwSMTime = ISNULL(H.m_dwSMTime,'NULL') ,
      507. SkillInfluence = ISNULL(E.SkillInfluence,'$'),
      508. F.m_extInventory,
      509. F.m_InventoryPiercing,
      510. A.m_dwReturnWorldID,
      511. A.m_idCompany,
      512. A.m_vReturnPos_x,
      513. A.m_vReturnPos_y,
      514. A.m_vReturnPos_z
      515. ------------------ ( ADD : Version7-Skill System)
      516. , m_SkillPoint = SkillPoint
      517. , m_SkillLv = SkillLv
      518. , m_SkillExp = SkillExp
      519. -------------- (Additional start)
      520. , A.dwEventFlag,
      521. A.dwEventTime,
      522. A.dwEventElapsed
      523. -------------- (Additional start)
      524. ----------Additional start ----------
      525. , A.PKValue as m_nPKValue,
      526. A.PKPropensity as m_dwPKPropensity,
      527. A.PKExp as m_dwPKExp
      528. ----------Additional end ----------
      529. ----------Additional end ----------
      530. ,AngelExp as m_nAngelExp
      531. ,AngelLevel as m_nAngelLevel
      532. ----------Additional end ----------
      533. ------------------- Version9 Pet
      534. , F.szInventoryPet as szInventoryPet
      535. , A.m_dwPetId
      536. , A.m_nExpLog, A.m_nAngelExpLog
      537. ------------- Ver 11 Coupon
      538. , m_nCoupon
      539. ------------- Ver 14 shit
      540. , m_nHonor
      541. , m_nLayer
      542. , last_connect = @last_connect
      543. FROM CHARACTER_TBL A,
      544. TASKBAR_TBL B,
      545. TASKBAR_ITEM_TBL C,
      546. INVENTORY_TBL D,
      547. SKILLINFLUENCE_TBL E,
      548. INVENTORY_EXT_TBL F,
      549. GUILD_MEMBER_TBL G,
      550. BILING_ITEM_TBL H
      551. WHERE A.m_idPlayer = @im_idPlayer
      552. AND A.serverindex = @iserverindex
      553. AND A.m_idPlayer = B.m_idPlayer
      554. AND A.serverindex = B.serverindex
      555. AND B.m_idPlayer = C.m_idPlayer
      556. AND B.serverindex = C.serverindex
      557. AND C.m_idPlayer = D.m_idPlayer
      558. AND C.serverindex = D.serverindex
      559. AND D.m_idPlayer = E.m_idPlayer
      560. AND D.serverindex = E.serverindex
      561. AND E.m_idPlayer = F.m_idPlayer
      562. AND E.serverindex = F.serverindex
      563. AND F.serverindex *= G.serverindex
      564. AND F.m_idPlayer *= G.m_idPlayer
      565. AND F.serverindex *= H.serverindex
      566. AND F.m_idPlayer *= H.m_idPlayer
      567. AND A.account = lower(@iaccount)
      568. -- Bank information account stars bringing
      569. -- DECLARE @bank TABLE (m_idPlayer CHAR(6),serverindex CHAR(2),playerslot INT)
      570. --
      571. -- INSERT @bank
      572. -- (m_idPlayer,serverindex,playerslot)
      573. -- SELECT m_idPlayer,serverindex,playerslot
      574. -- FROM CHARACTER_TBL
      575. -- WHERE account = @iaccount
      576. -- AND isblock = 'F'
      577. -- ORDER BY playerslot
      578. SELECT a.m_idPlayer,
      579. c.playerslot,
      580. a.m_Bank,
      581. a.m_apIndex_Bank,
      582. a.m_dwObjIndex_Bank,
      583. a.m_dwGoldBank,
      584. a.m_BankPw,
      585. b.m_extBank,
      586. b.m_BankPiercing, b.szBankPet
      587. FROM dbo.BANK_TBL a,
      588. dbo.BANK_EXT_TBL b,
      589. dbo.CHARACTER_TBL c
      590. WHERE a.m_idPlayer = b.m_idPlayer
      591. AND a.serverindex = b.serverindex
      592. AND b.m_idPlayer = c.m_idPlayer
      593. AND b.serverindex = c.serverindex
      594. AND c.account = lower(@iaccount)
      595. AND c.isblock = 'F'
      596. ORDER BY c.playerslot
      597. ------------- Ver11 Pocket
      598. SELECT a.nPocket,
      599. a.szItem,
      600. a.szIndex,
      601. a.szObjIndex,
      602. a.bExpired,
      603. a.tExpirationDate,
      604. b.szExt,
      605. b.szPiercing,
      606. b.szPet
      607. FROM tblPocket as a inner join tblPocketExt as b
      608. on a.serverindex = b.serverindex AND a.idPlayer = b.idPlayer AND a.nPocket = b.nPocket
      609. WHERE a.serverindex = @iserverindex AND a.idPlayer = @im_idPlayer
      610. ORDER BY a.nPocket
      611. RETURN
      612. END
      613. /*
      614. The data whole bringing, New
      615. ex )
      616. CHARACTER_STR 'S8',@im_idPlayer,@iserverindex,@iaccount
      617. CHARACTER_STR 'S8','425120','01','ata3k'
      618. */
      619. ELSE
      620. IF @iGu = 'U1' -- Character store
      621. BEGIN
      622. --DELETE FROM ONLINE_TBL WHERE name = @im_idPlayer
      623. UPDATE CHARACTER_TBL
      624. SET dwWorldID = @idwWorldID,
      625. m_dwIndex = @im_dwIndex,
      626. m_dwSex = @im_dwSex,
      627. m_vScale_x = @im_vScale_x,
      628. m_dwMotion = @im_dwMotion,
      629. m_vPos_x = @im_vPos_x,
      630. m_vPos_y = @im_vPos_y,
      631. m_vPos_z = @im_vPos_z,
      632. m_dwHairMesh = @im_dwHairMesh,
      633. m_dwHairColor = @im_dwHairColor,
      634. m_dwHeadMesh = @im_dwHeadMesh, -- 2004/11/08 Addition
      635. m_fAngle = 0, --@im_fAngle,
      636. m_szCharacterKey = @im_szCharacterKey,
      637. m_nHitPoint = @im_nHitPoint,
      638. m_nManaPoint = @im_nManaPoint,
      639. m_nFatiguePoint = @im_nFatiguePoint,
      640. m_nFuel = @im_nFuel,
      641. m_dwRideItemIdx = @im_dwRideItemIdx,
      642. m_dwGold = @im_dwGold,
      643. m_nJob = @im_nJob,
      644. m_pActMover = @im_pActMover,
      645. m_nStr = @im_nStr,
      646. m_nSta = @im_nSta,
      647. m_nDex = @im_nDex,
      648. m_nInt = @im_nInt,
      649. m_nLevel = @im_nLevel,
      650. m_nMaximumLevel = CASE WHEN m_nMaximumLevel < @im_nLevel THEN @im_nLevel ELSE m_nMaximumLevel END,
      651. m_nExp1 = @im_nExp1,
      652. m_nExp2 = @im_nExp2,
      653. m_aJobSkill = @im_aJobSkill,
      654. m_aLicenseSkill = @im_aLicenseSkill,
      655. m_aJobLv = @im_aJobLv,
      656. m_dwExpertLv = @im_dwExpertLv,
      657. m_idMarkingWorld = @im_idMarkingWorld,
      658. m_vMarkingPos_x = @im_vMarkingPos_x,
      659. m_vMarkingPos_y = @im_vMarkingPos_y,
      660. m_vMarkingPos_z = @im_vMarkingPos_z,
      661. m_nRemainGP = @im_nRemainGP,
      662. m_nRemainLP = @im_nRemainLP,
      663. m_nFlightLv = @im_nFlightLv,
      664. m_nFxp = @im_nFxp,
      665. m_nTxp = @im_nTxp,
      666. m_lpQuestCntArray = @im_lpQuestCntArray,
      667. m_aCompleteQuest = @im_aCompleteQuest,
      668. m_dwMode = @im_dwMode,
      669. m_idparty = @im_idparty,
      670. --m_nNumKill = @im_nNumKill,
      671. m_idMuerderer = @im_idMuerderer,
      672. --m_nSlaughter = @im_nSlaughter ,
      673. m_nFame = @im_nFame,
      674. m_nDeathExp = @im_nDeathExp,
      675. m_nDeathLevel = @im_nDeathLevel,
      676. -- m_dwFlyTime = m_dwFlyTime + @im_dwFlyTime,
      677. m_dwFlyTime = @im_dwFlyTime,
      678. m_nMessengerState = @im_nMessengerState,
      679. TotalPlayTime = TotalPlayTime + @iTotalPlayTime,
      680. m_tmAccFuel = @im_tmAccFuel,
      681. m_dwSkillPoint = @im_dwSkillPoint,
      682. m_dwReturnWorldID= @im_dwReturnWorldID,
      683. m_idCompany = 0,
      684. m_vReturnPos_x = @im_vReturnPos_x,
      685. m_vReturnPos_y = @im_vReturnPos_y,
      686. m_vReturnPos_z = @im_vReturnPos_z
      687. -------------- (ADD: Version7-SkillSystem)
      688. , SkillPoint = @im_SkillPoint
      689. , SkillLv = @im_SkillLv
      690. , SkillExp = @im_SkillExp
      691. -------------- (Additional part)
      692. , dwEventFlag =@idwEventFlag,
      693. dwEventTime =@idwEventTime,
      694. dwEventElapsed =@idwEventElapsed
      695. -------------- (Additional part)
      696. ----------Additional start ----------
      697. , PKValue = @im_nPKValue,
      698. PKPropensity = @im_dwPKPropensity,
      699. PKExp = @im_dwPKExp
      700. ----------Additional end ----------
      701. ----------Additional start ----------
      702. , AngelExp= @im_nAngelExp
      703. , AngelLevel= @im_nAngelLevel
      704. ----------Additional end ----------
      705. --------------------- Version9 Pet
      706. , m_dwPetId = @im_dwPetId
      707. , m_nExpLog = @im_nExpLog
      708. , m_nAngelExpLog = @im_nAngelExpLog
      709. ------------ Ver 11
      710. , m_nCoupon = @im_nCoupon
      711. , m_nLayer = @im_nLayer
      712. WHERE m_idPlayer = @im_idPlayer
      713. AND serverindex = @iserverindex
      714. -- if object_id('QUEST_TBL') is not null
      715. -- EXEC QUEST_STR 'A1',@im_idPlayer,@iserverindex,@im_lpQuestCntArray
      716. --Relation of [song] present three request fact Bill rings
      717. IF @im_dwSMTime > ''
      718. BEGIN
      719. IF EXISTS(SELECT * FROM BILING_ITEM_TBL WHERE m_idPlayer= @im_idPlayer AND serverindex = @iserverindex)
      720. UPDATE BILING_ITEM_TBL
      721. SET m_dwSMTime = @im_dwSMTime
      722. WHERE m_idPlayer = @im_idPlayer
      723. AND serverindex = @iserverindex
      724. ELSE
      725. INSERT BILING_ITEM_TBL
      726. (m_idPlayer,serverindex,m_dwSMTime)
      727. VALUES
      728. (@im_idPlayer,@iserverindex,@im_dwSMTime)
      729. END
      730. ELSE
      731. DELETE BILING_ITEM_TBL
      732. WHERE m_idPlayer = @im_idPlayer
      733. AND serverindex = @iserverindex
      734. -- UPDATE CARD_CUBE_TBL
      735. -- SET m_Card = @im_Card,
      736. -- m_apIndex_Card = @im_Index_Card,
      737. -- m_dwObjIndex_Card= @im_ObjIndex_Card,
      738. -- m_Cube = @im_Cube,
      739. -- m_apIndex_Cube = @im_Index_Cube,
      740. -- m_dwObjIndex_Cube=@im_ObjIndex_Cube
      741. -- WHERE m_idPlayer = @im_idPlayer
      742. -- AND serverindex = @iserverindex
      743. UPDATE INVENTORY_TBL
      744. SET m_Inventory = @im_Inventory,
      745. m_apIndex = @im_apIndex,
      746. m_adwEquipment = @im_adwEquipment,
      747. m_dwObjIndex = @im_dwObjIndex
      748. WHERE m_idPlayer = @im_idPlayer
      749. AND serverindex = @iserverindex
      750. UPDATE TASKBAR_TBL
      751. SET m_aSlotApplet = @im_aSlotApplet,
      752. m_aSlotQueue = @im_aSlotQueue,
      753. m_SkillBar = @im_SkillBar
      754. WHERE m_idPlayer = @im_idPlayer
      755. AND serverindex = @iserverindex
      756. UPDATE TASKBAR_ITEM_TBL
      757. SET m_aSlotItem = @im_aSlotItem
      758. WHERE m_idPlayer = @im_idPlayer
      759. AND serverindex = @iserverindex
      760. UPDATE BANK_TBL
      761. SET m_Bank = @im_Bank,
      762. m_apIndex_Bank = @im_apIndex_Bank,
      763. m_dwObjIndex_Bank = @im_dwObjIndex_Bank,
      764. m_dwGoldBank = @im_dwGoldBank
      765. WHERE m_idPlayer = @im_idPlayer
      766. AND serverindex = @iserverindex
      767. UPDATE SKILLINFLUENCE_TBL
      768. SET SkillInfluence = @iSkillInfluence
      769. WHERE m_idPlayer = @im_idPlayer
      770. AND serverindex = @iserverindex
      771. UPDATE INVENTORY_EXT_TBL
      772. SET m_extInventory = @im_extInventory,
      773. m_InventoryPiercing = @im_InventoryPiercing
      774. , szInventoryPet = @iszInventoryPet
      775. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex
      776. UPDATE BANK_EXT_TBL
      777. SET m_extBank = @im_extBank,
      778. m_BankPiercing = @im_BankPiercing
      779. , szBankPet = @iszBankPet
      780. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex
      781. SELECT fError = '1', fText = 'OK'
      782. RETURN
      783. END
      784. /*
      785. Information update
      786. ex )
      787. CHARACTER_STR 'U1', ALL ...
      788. CHARACTER_STR 'U1','000001','01' ...
      789. */
      790. ELSE
      791. IF @iGu = 'U2' -- Total use time correction
      792. BEGIN
      793. UPDATE CHARACTER_TBL
      794. SET TotalPlayTime = TotalPlayTime + @iplayerslot
      795. WHERE m_szName = @im_szName
      796. AND serverindex = @iserverindex
      797. RETURN
      798. END
      799. /*
      800. Total use time correction
      801. ex )
      802. CHARACTER_STR 'U2','',@iserverindex,'',@im_szName,@iplayerslot (@iTotalPlayTime)
      803. CHARACTER_STR 'U2','','01','','beat',10234
      804. */
      805. ELSE
      806. IF @iGu = 'U3' --Total use time correction new
      807. BEGIN
      808. UPDATE CHARACTER_TBL
      809. SET TotalPlayTime = TotalPlayTime + @iplayerslot
      810. WHERE m_idPlayer = @im_idPlayer
      811. AND serverindex = @iserverindex
      812. RETURN
      813. END
      814. /*
      815. Total use time correction (new)
      816. ex )
      817. CHARACTER_STR 'U3',@im_idPlayer,@iserverindex,'','',@iplayerslot (@iTotalPlayTime)
      818. CHARACTER_STR 'U3','000001','01','','',10234
      819. */
      820. ELSE
      821. IF @iGu = 'U4' --Character life fringe land
      822. BEGIN
      823. IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE lower(m_szName) = lower(@im_szName) AND serverindex = @iserverindex)
      824. BEGIN
      825. SELECT fError = '0'
      826. END
      827. ELSE
      828. BEGIN
      829. UPDATE CHARACTER_TBL
      830. SET m_szName = @im_szName
      831. WHERE m_idPlayer = @im_idPlayer
      832. AND serverindex = @iserverindex
      833. SELECT fError = '1'
      834. END
      835. RETURN
      836. END
      837. /*
      838. Character life fringe land
      839. ex)
      840. CHARACTER_STR ' U4' @im_idPlayer, @iserverindex, @iaccount and @im_szName
      841. CHARACTER_STR ' U4' ' 000001' ' 01' ' ' ' The morning star princess'
      842. */
      843. ELSE
      844. IF @iGu = 'D1' -- Character elimination
      845. BEGIN
      846. -- The part which the box tries to close once in the class arctic regions #1 2007-03-21
      847. IF @im_szName = ''
      848. BEGIN
      849. SELECT fError = '1', fText = 'Resident number error'
      850. RETURN
      851. END
      852. if not exists (select * from CHARACTER_TBL where m_idPlayer = @im_idPlayer and account = @iaccount and serverindex = @iserverindex)
      853. begin
      854. select fError = '1'
      855. return
      856. end
      857. DECLARE @Exists int
      858. -- IF EXISTS(SELECT name from syscolumns where name='m_idPlayer' AND collation= 'Japanese_BIN')
      859. -- BEGIN
      860. -- IF EXISTS(SELECT * FROM ACCOUNT_DBF.dbo.ACCOUNT_TBL WHERE account = @iaccount AND (password = @im_szName OR member = 'B' ))
      861. SET @Exists = 1
      862. -- ELSE
      863. -- SET @Exists = 0
      864. -- END
      865. -- ELSE
      866. -- BEGIN
      867. -- IF EXISTS(SELECT * FROM ACCOUNT_DBF.dbo.ACCOUNT_TBL WHERE account = @iaccount AND (id_no2 = @im_szName OR member = 'B' ))
      868. -- SET @Exists = 1
      869. -- ELSE
      870. -- SET @Exists = 0
      871. -- END
      872. IF @Exists > 0
      873. BEGIN
      874. DECLARE @currDate char(12)
      875. SET @currDate = CONVERT(CHAR(8),GETDATE(),112)
      876. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(hh,GETDATE())),2)
      877. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(mi,GETDATE())),2)
      878. IF EXISTS(SELECT m_idPlayer FROM GUILD_MEMBER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND m_idWar > 0)
      879. BEGIN
      880. SELECT fError = '3', fText = 'In before guild'
      881. RETURN
      882. END
      883. ELSE
      884. BEGIN
      885. UPDATE CHARACTER_TBL
      886. SET isblock = 'D',
      887. End_Time = @currDate ,
      888. BlockTime = LEFT(@currDate,8)
      889. WHERE m_idPlayer = @im_idPlayer
      890. AND serverindex = @iserverindex
      891. UPDATE MESSENGER_TBL
      892. SET State = 'D'
      893. WHERE m_idPlayer = @im_idPlayer
      894. AND serverindex = @iserverindex
      895. UPDATE MESSENGER_TBL
      896. SET State = 'D'
      897. WHERE f_idPlayer = @im_idPlayer
      898. AND serverindex = @iserverindex
      899. /****************************************************************************************/
      900. /** 200506 event **/
      901. /****************************************************************************************/
      902. -- if (not exists(select account from RANKING_DBF.dbo.last_1_month_tbl where account = @iaccount)
      903. -- and convert(char(10),getdate(),120) between '2005-07-05' and '2005-07-12')
      904. --
      905. -- begin --: Of 1 or more month the account objective type writing which is not connection experience
      906. -- declare @cash int,@get_cach int
      907. -- select @cash = case when m_nLevel between 10 and 19 then 500
      908. -- when m_nLevel between 20 and 39 then 1000
      909. -- when m_nLevel between 40 and 49 then 1500
      910. -- when m_nLevel between 50 and 59 then 2000
      911. -- when m_nLevel between 60 and 69 then 2500
      912. -- when m_nLevel >= 70 then 3000
      913. -- else 0 end
      914. -- from CHARACTER_TBL
      915. -- where m_idPlayer = @im_idPlayer and serverindex = @iserverindex
      916. --
      917. -- select @get_cach = isnull(sum(amount),0)
      918. -- from RANKING_DBF.dbo.event_member_tbl
      919. -- where account = @iaccount
      920. -- group by account
      921. --
      922. -- if @cash + @get_cach > 5000
      923. -- set @cash = 5000 - @get_cach
      924. --
      925. -- if @cash > 0
      926. --
      927. -- begin
      928. -- declare @retcode int
      929. --
      930. -- if not exists(select * from BILLING.QLORD_MASTER.dbo.BX_TG_USERINFO where USER_ID = @iaccount)
      931. -- exec BILLING.QLORD_MASTER.dbo.BX_SP_PROCESS_USERINFO @iaccount,@iaccount,'FLYF',' ','1111111111118',' ',' ',''
      932. --
      933. -- exec @retcode = BILLING.QLORD_MASTER.dbo.BX_SP_INSERT_BONUS_IN @iaccount,@iaccount,'FLYF','IN00000004',@cash,'Character compensation event',0,''
      934. --
      935. -- if @retcode <> 1
      936. -- set @cash = 0
      937. --
      938. -- insert RANKING_DBF.dbo.event_member_tbl
      939. -- (account,amount,m_idPlayer,serverindex,retcode,date)
      940. -- values
      941. -- (@iaccount,@cash,@im_idPlayer,@iserverindex,@retcode,getdate())
      942. --
      943. -- end
      944. -- end
      945. /****************************************************************************************/
      946. /****************************************************************************************/
      947. /****************************************************************************************/
      948. -- The part which the box tries to close once in the class arctic regions #2 2007-03-21
      949. IF EXISTS(SELECT m_idPlayer FROM GUILD_MEMBER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex)
      950. BEGIN
      951. SELECT fError = '4', fText = m_idGuild FROM GUILD_MEMBER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex
      952. RETURN
      953. END
      954. ELSE
      955. BEGIN
      956. SELECT fError = '0', fText = 'DELETE OK'
      957. RETURN
      958. END
      959. END
      960. END
      961. ELSE
      962. BEGIN
      963. SELECT fError = '1', fText = 'Resident number error'
      964. RETURN
      965. END
      966. -- At the price which is not eliminated unconditionally return
      967. select fError = '1', fText = 'Resident number error'
      968. END
      969. /*
      970. Character elimination
      971. ex )
      972. CHARACTER_STR 'D1',@im_idPlayer,@iserverindex,@iaccount (isblock)
      973. CHARACTER_STR 'D1','001068','01','ata3k','1019311'
      974. */
      975. ELSE
      976. IF @iGu = 'I1' -- Initially information input
      977. BEGIN
      978. IF EXISTS(SELECT m_szName FROM CHARACTER_TBL
      979. WHERE m_szName = @im_szName AND serverindex = @iserverindex)
      980. BEGIN
      981. SELECT fError = '0', fText = 'Character duplication!'
      982. RETURN
      983. END
      984. ELSE
      985. BEGIN
      986. DECLARE
      987. @om_idPlayer CHAR (7) ,
      988. @om_vScale_x REAL ,
      989. @om_dwMotion INT ,
      990. @om_fAngle REAL ,
      991. @om_nHitPoint INT ,
      992. @om_nManaPoint INT ,
      993. @om_nFatiguePoint INT ,
      994. @om_dwRideItemIdx INT ,
      995. @om_dwGold INT ,
      996. @om_nJob INT ,
      997. @om_pActMover VARCHAR(50) ,
      998. @om_nStr INT ,
      999. @om_nSta INT ,
      1000. @om_nDex INT ,
      1001. @om_nInt INT ,
      1002. @om_nLevel INT ,
      1003. @om_nExp1 BIGINT ,
      1004. @om_nExp2 BIGINT ,
      1005. @om_aJobSkill VARCHAR (500),
      1006. @om_aLicenseSkill VARCHAR (500),
      1007. @om_aJobLv VARCHAR (500),
      1008. @om_dwExpertLv INT ,
      1009. @om_idMarkingWorld INT ,
      1010. @om_vMarkingPos_x REAL ,
      1011. @om_vMarkingPos_y REAL ,
      1012. @om_vMarkingPos_z REAL ,
      1013. @om_nRemainGP INT ,
      1014. @om_nRemainLP INT ,
      1015. @om_nFlightLv INT ,
      1016. @om_nFxp INT ,
      1017. @om_nTxp INT ,
      1018. @om_lpQuestCntArray VARCHAR(1024),
      1019. @om_chAuthority CHAR(1) ,
      1020. @om_dwMode INT ,
      1021. @oblockby VARCHAR(32) ,
      1022. @oTotalPlayTime INT ,
      1023. @oisblock CHAR(1) ,
      1024. @oEnd_Time CHAR(12) ,
      1025. @om_Inventory VARCHAR(6940),
      1026. @om_apIndex VARCHAR(345) ,
      1027. @om_adwEquipment VARCHAR(135) ,
      1028. @om_aSlotApplet VARCHAR(3100),
      1029. @om_aSlotItem VARCHAR(6885),
      1030. @om_aSlotQueue VARCHAR(225),
      1031. @om_SkillBar SMALLINT,
      1032. @om_dwObjIndex VARCHAR(345) ,
      1033. @om_Card VARCHAR(1980),
      1034. @om_Cube VARCHAR(1980),
      1035. @om_apIndex_Card VARCHAR(215) ,
      1036. @om_dwObjIndex_Card VARCHAR(215) ,
      1037. @om_apIndex_Cube VARCHAR(215) ,
      1038. @om_dwObjIndex_Cube VARCHAR(215) ,
      1039. @om_idparty INT ,
      1040. --@om_nNumKill INT ,
      1041. @om_idMuerderer INT ,
      1042. --@om_nSlaughter INT ,
      1043. @om_nFame INT ,
      1044. @om_nDeathExp BIGINT ,
      1045. @om_nDeathLevel INT ,
      1046. @om_dwFlyTime INT ,
      1047. @om_nMessengerState INT ,
      1048. @om_Bank VARCHAR(4290),
      1049. @om_apIndex_Bank VARCHAR(215) ,
      1050. @om_dwObjIndex_Bank VARCHAR(215) ,
      1051. @om_dwGoldBank INT
      1052. IF EXISTS (SELECT * FROM CHARACTER_TBL WHERE serverindex = @iserverindex)
      1053. SELECT @om_idPlayer = RIGHT('0000000' + CONVERT(VARCHAR(7),MAX(m_idPlayer)+1),7)
      1054. FROM CHARACTER_TBL
      1055. WHERE serverindex = @iserverindex
      1056. ELSE
      1057. SELECT @om_idPlayer = '0000001'
      1058. SELECT @om_vScale_x = m_vScale_x,
      1059. @om_dwMotion = m_dwMotion,
      1060. @om_fAngle = m_fAngle,
      1061. @om_nHitPoint = m_nHitPoint,
      1062. @om_nManaPoint = m_nManaPoint,
      1063. @om_nFatiguePoint = m_nFatiguePoint,
      1064. @om_dwRideItemIdx = m_dwRideItemIdx,
      1065. @om_dwGold = m_dwGold,
      1066. @om_nJob = m_nJob,
      1067. @om_pActMover = m_pActMover,
      1068. @om_nStr = m_nStr,
      1069. @om_nSta = m_nSta,
      1070. @om_nDex = m_nDex,
      1071. @om_nInt = m_nInt,
      1072. @om_nLevel = m_nLevel,
      1073. @om_nExp1 = m_nExp1,
      1074. @om_nExp2 = m_nExp2,
      1075. @om_aJobSkill = m_aJobSkill,
      1076. @om_aLicenseSkill = m_aLicenseSkill,
      1077. @om_aJobLv = m_aJobLv,
      1078. @om_dwExpertLv = m_dwExpertLv,
      1079. @om_idMarkingWorld = m_idMarkingWorld,
      1080. @om_vMarkingPos_x = m_vMarkingPos_x,
      1081. @om_vMarkingPos_y = m_vMarkingPos_y,
      1082. @om_vMarkingPos_z = m_vMarkingPos_z,
      1083. @om_nRemainGP = m_nRemainGP,
      1084. @om_nRemainLP = m_nRemainLP,
      1085. @om_nFlightLv = m_nFlightLv,
      1086. @om_nFxp = m_nFxp,
      1087. @om_nTxp = m_nTxp,
      1088. @om_lpQuestCntArray = m_lpQuestCntArray,
      1089. @om_chAuthority = m_chAuthority,
      1090. @om_dwMode = m_dwMode,
      1091. @oblockby = blockby,
      1092. @oTotalPlayTime = TotalPlayTime,
      1093. @oisblock = isblock,
      1094. @oEnd_Time = CONVERT(CHAR(8),DATEADD(yy,3,GETDATE()),112) + '0000',
      1095. @om_Inventory = m_Inventory,
      1096. @om_apIndex = m_apIndex,
      1097. @om_adwEquipment = m_adwEquipment,
      1098. @om_aSlotApplet = m_aSlotApplet,
      1099. @om_aSlotItem = m_aSlotItem,
      1100. @om_aSlotQueue = m_aSlotQueue,
      1101. @om_SkillBar = m_SkillBar,
      1102. @om_dwObjIndex = m_dwObjIndex,
      1103. @om_Card = m_Card,
      1104. @om_Cube = m_Cube,
      1105. @om_apIndex_Card = m_apIndex_Card,
      1106. @om_dwObjIndex_Card = m_dwObjIndex_Card,
      1107. @om_apIndex_Cube = m_apIndex_Cube,
      1108. @om_dwObjIndex_Cube = m_dwObjIndex_Cube,
      1109. @om_idparty = m_idparty,
      1110. --@om_nNumKill = m_nNumKill,
      1111. @om_idMuerderer = m_idMuerderer,
      1112. --@om_nSlaughter = m_nSlaughter ,
      1113. @om_nFame = m_nFame,
      1114. @om_nDeathExp = m_nDeathExp,
      1115. @om_nDeathLevel = m_nDeathLevel,
      1116. @om_dwFlyTime = m_dwFlyTime,
      1117. @om_nMessengerState = m_nMessengerState,
      1118. @om_Bank = m_Bank,
      1119. @om_apIndex_Bank = m_apIndex_Bank,
      1120. @om_dwObjIndex_Bank = m_dwObjIndex_Bank,
      1121. @om_dwGoldBank = m_dwGoldBank
      1122. FROM BASE_VALUE_TBL
      1123. WHERE g_nSex = @im_dwSex
      1124. INSERT CHARACTER_TBL
      1125. (
      1126. m_idPlayer,
      1127. serverindex,
      1128. account,
      1129. m_szName,
      1130. playerslot,
      1131. dwWorldID,
      1132. m_dwIndex,
      1133. m_vScale_x,
      1134. m_dwMotion,
      1135. m_vPos_x,
      1136. m_vPos_y,
      1137. m_vPos_z,
      1138. m_fAngle,
      1139. m_szCharacterKey,
      1140. m_nHitPoint,
      1141. m_nManaPoint,
      1142. m_nFatiguePoint,
      1143. m_nFuel,
      1144. m_dwSkinSet,
      1145. m_dwHairMesh,
      1146. m_dwHairColor,
      1147. m_dwHeadMesh,
      1148. m_dwSex,
      1149. m_dwRideItemIdx,
      1150. m_dwGold,
      1151. m_nJob,
      1152. m_pActMover,
      1153. m_nStr,
      1154. m_nSta,
      1155. m_nDex,
      1156. m_nInt,
      1157. m_nLevel,
      1158. m_nMaximumLevel,
      1159. m_nExp1,
      1160. m_nExp2,
      1161. m_aJobSkill,
      1162. m_aLicenseSkill,
      1163. m_aJobLv,
      1164. m_dwExpertLv,
      1165. m_idMarkingWorld,
      1166. m_vMarkingPos_x,
      1167. m_vMarkingPos_y,
      1168. m_vMarkingPos_z,
      1169. m_nRemainGP,
      1170. m_nRemainLP,
      1171. m_nFlightLv,
      1172. m_nFxp,
      1173. m_nTxp,
      1174. m_lpQuestCntArray,
      1175. m_aCompleteQuest,
      1176. m_chAuthority,
      1177. m_dwMode,
      1178. m_idparty,
      1179. m_idCompany,
      1180. --m_nNumKill,
      1181. m_idMuerderer,
      1182. --m_nSlaughter,
      1183. m_nFame,
      1184. m_nDeathExp,
      1185. m_nDeathLevel,
      1186. m_dwFlyTime,
      1187. m_nMessengerState,
      1188. blockby,
      1189. TotalPlayTime,
      1190. isblock,
      1191. End_Time,
      1192. BlockTime,
      1193. CreateTime,
      1194. m_tmAccFuel,
      1195. m_tGuildMember,
      1196. m_dwSkillPoint,
      1197. m_dwReturnWorldID,
      1198. m_vReturnPos_x,
      1199. m_vReturnPos_y,
      1200. m_vReturnPos_z
      1201. )
      1202. VALUES
      1203. (
      1204. @om_idPlayer,
      1205. @iserverindex,
      1206. @iaccount,
      1207. @im_szName,
      1208. @iplayerslot,
      1209. @idwWorldID,
      1210. @im_dwIndex,
      1211. '1',
      1212. '0',
      1213. @im_vPos_x,
      1214. @im_vPos_y,
      1215. @im_vPos_z,
      1216. '0',
      1217. @im_szCharacterKey,
      1218. '230',
      1219. '63',
      1220. '32',
      1221. -1, --m_nFuel
      1222. @im_dwSkinSet,
      1223. @im_dwHairMesh,
      1224. @im_dwHairColor,
      1225. @im_dwHeadMesh,
      1226. @im_dwSex,
      1227. '0',
      1228. '0',
      1229. '0',
      1230. '1,0',
      1231. '15',
      1232. '15',
      1233. '15',
      1234. '15',
      1235. '1',
      1236. '1', --m_nMaximumLevel
      1237. '0',
      1238. '0',
      1239. '',
      1240. '',
      1241. '0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/$',
      1242. '0',
      1243. '0',
      1244. '0',
      1245. '0',
      1246. '0',
      1247. '0',
      1248. '0',
      1249. '0',
      1250. '0',
      1251. '0',
      1252. '$',
      1253. '$', -- m_aCompleteQuest
      1254. 'F',
      1255. '131072',
      1256. '0',
      1257. '0', -- m_idCompany
      1258. --@om_nNumKill,
      1259. '0',
      1260. --@om_nSlaughter,
      1261. '0',
      1262. '0',
      1263. '0',
      1264. '0' ,
      1265. '0',
      1266. @oblockby,
      1267. '0',
      1268. 'F',
      1269. '200811030000',
      1270. CONVERT(CHAR(8),DATEADD(d,-1,GETDATE()),112),
      1271. GETDATE(),
      1272. 0,
      1273. CONVERT(CHAR(8),DATEADD(d,-1,GETDATE()),112)
      1274. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(hh,DATEADD(d,-1,GETDATE()))),2)
      1275. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(mi,DATEADD(d,-1,GETDATE()))),2)
      1276. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(ss,DATEADD(d,-1,GETDATE()))),2),
      1277. 0, --m_dwSkillPoint
      1278. 1,
      1279. 0,
      1280. 0,
      1281. 0
      1282. )
      1283. declare @invi1 VARCHAR(8000)
      1284. declare @invi2 VARCHAR(8000)
      1285. declare @invi3 VARCHAR(8000)
      1286. declare @invi4 VARCHAR(8000)
      1287. IF @im_dwSex = '1'
      1288. BEGIN
      1289. SET @invi1 = '0,512,0,0,,1,0,4500000,0,0,0,-1118993182,0,0,0,0,0/1,504,0,0,,1,0,9000000,0,0,0,946307614,0,0,0,0,0/42,508,0,0,,1,0,5850000,0,0,0,750110947,0,0,0,0,0/44,21,0,0,,1,0,7200000,0,0,0,-2111939376,0,0,0,0,0/$'
      1290. SET @invi2 = '45/43/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/-1/-1/1/-1/42/0/-1/-1/-1/-1/44/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/$'
      1291. SET @invi3 = '0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/$'
      1292. SET @invi4 = '47/44/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/46/1/52/0/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/$'
      1293. END
      1294. ELSE
      1295. BEGIN
      1296. SET @invi1 = '0,506,0,0,,1,0,5850000,0,0,0,-2005860201,0,0,0,0,0/1,502,0,0,,1,0,9000000,0,0,0,688242964,0,0,0,0,0/2,510,0,0,,1,0,4500000,0,0,0,583094601,0,0,0,0,0/44,21,0,0,,1,0,7200000,0,0,0,-2111939376,0,0,0,0,0/$'
      1297. SET @invi2 = '45/42/43/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/-1/-1/1/-1/0/2/-1/-1/-1/-1/44/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/$'
      1298. SET @invi3 = '0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/$'
      1299. SET @invi4 = '46/44/47/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/1/2/52/0/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/$'
      1300. END
      1301. INSERT INVENTORY_TBL
      1302. (
      1303. m_idPlayer,
      1304. serverindex,
      1305. m_Inventory,
      1306. m_apIndex,
      1307. m_adwEquipment,
      1308. m_dwObjIndex
      1309. )
      1310. VALUES
      1311. (
      1312. @om_idPlayer,
      1313. @iserverindex,
      1314. @invi1,
      1315. @invi2,
      1316. @invi3,
      1317. @invi4
      1318. )
      1319. IF @@SERVERNAME = 'WEB' OR @@SERVERNAME = 'SERVER4'
      1320. 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/$'
      1321. INSERT TASKBAR_TBL
      1322. (
      1323. m_idPlayer,
      1324. serverindex,
      1325. m_aSlotApplet,
      1326. m_aSlotQueue,
      1327. m_SkillBar
      1328. )
      1329. VALUES
      1330. (
      1331. @om_idPlayer,
      1332. @iserverindex,
      1333. '$',
      1334. '$',
      1335. '100'
      1336. )
      1337. INSERT TASKBAR_ITEM_TBL
      1338. (
      1339. m_idPlayer,
      1340. serverindex,
      1341. m_aSlotItem
      1342. )
      1343. VALUES
      1344. (
      1345. @om_idPlayer,
      1346. @iserverindex,
      1347. '$'
      1348. )
      1349. INSERT BANK_TBL
      1350. (
      1351. m_idPlayer,
      1352. serverindex,
      1353. m_Bank,
      1354. m_BankPw,
      1355. m_apIndex_Bank,
      1356. m_dwObjIndex_Bank ,
      1357. m_dwGoldBank
      1358. )
      1359. VALUES
      1360. (
      1361. @om_idPlayer,
      1362. @iserverindex,
      1363. '$',
      1364. '0000', -- m_BankPw
      1365. '$',
      1366. '$',
      1367. '0'
      1368. )
      1369. INSERT SKILLINFLUENCE_TBL
      1370. (
      1371. m_idPlayer,
      1372. serverindex,
      1373. SkillInfluence
      1374. )
      1375. VALUES
      1376. (
      1377. @om_idPlayer,
      1378. @iserverindex,
      1379. '$'
      1380. )
      1381. INSERT INVENTORY_EXT_TBL
      1382. (
      1383. m_idPlayer,
      1384. serverindex,
      1385. m_extInventory,
      1386. m_InventoryPiercing,
      1387. szInventoryPet
      1388. )
      1389. VALUES
      1390. (
      1391. @om_idPlayer,
      1392. @iserverindex,
      1393. '$','$','$'
      1394. )
      1395. INSERT BANK_EXT_TBL
      1396. (
      1397. m_idPlayer,
      1398. serverindex,
      1399. m_extBank,
      1400. m_BankPiercing,
      1401. szBankPet
      1402. )
      1403. VALUES
      1404. (
      1405. @om_idPlayer,
      1406. @iserverindex,
      1407. '$','$','$'
      1408. )
      1409. INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition)
      1410. VALUES (@iserverindex, @om_idPlayer, 1, 0, 0)
      1411. INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition)
      1412. VALUES (@iserverindex, @om_idPlayer, 2, 0, 1)
      1413. INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition)
      1414. VALUES (@iserverindex, @om_idPlayer, 3, 0, 2)
      1415. ------------ Ver11 Pocket
      1416. INSERT tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate )
      1417. VALUES ( @iserverindex, @om_idPlayer, 0, '$', '$', '$', 0, 0 )
      1418. INSERT tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet )
      1419. VALUES ( @iserverindex, @om_idPlayer, 0, '$', '$', '$' )
      1420. INSERT tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate )
      1421. VALUES ( @iserverindex, @om_idPlayer, 1, '$', '$', '$', 1, 0 )
      1422. INSERT tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet )
      1423. VALUES ( @iserverindex, @om_idPlayer, 1, '$', '$', '$' )
      1424. INSERT tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate )
      1425. VALUES ( @iserverindex, @om_idPlayer, 2, '$', '$', '$', 1, 0 )
      1426. INSERT tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet )
      1427. VALUES ( @iserverindex, @om_idPlayer, 2, '$', '$', '$' )
      1428. -------------- Ver13 Honor
      1429. INSERT HONOR_MASTER_TBL ( serverindex, m_idPlayer, sec,c01,c02,c03,c04,c05,c06,c07,c08,c09,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,c50)
      1430. VALUES ( @iserverindex, @om_idPlayer, 1, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
      1431. /*
      1432. 2007-06-21 ~ 2007-07-18 New character item urgent event
      1433. */
      1434. declare @ntime datetime
      1435. select @ntime = getdate()
      1436. if(@ntime >= '2007-06-21 00:00:00.000' and @ntime <= '2007-07-18 23:59:59.999')
      1437. begin
      1438. declare @etime bigint
      1439. select @etime = cast(replace(replace(replace(convert(char(16), dateadd(d, 7, getdate()), 21), '-', ''), ' ', ''), ':', '') as bigint)
      1440. if(@im_dwSex = 0)
      1441. begin
      1442. insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, idSender)
      1443. select @om_idPlayer, @iserverindex, '26314', 1, '0000000'
      1444. insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_dwKeepTime, idSender)
      1445. select @om_idPlayer, @iserverindex, '15200', 1, @etime, '0000000'
      1446. end
      1447. if(@im_dwSex = 1)
      1448. begin
      1449. insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, idSender)
      1450. select @om_idPlayer, @iserverindex, '26314', 1, '0000000'
      1451. insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_dwKeepTime, idSender)
      1452. select @om_idPlayer, @iserverindex, '15202', 1, @etime, '0000000'
      1453. end
      1454. end
      1455. SELECT fError = '1', fText = 'OK',m_idPlayer=@om_idPlayer
      1456. RETURN
      1457. END
      1458. END
      1459. set nocount off
      1460. RETURN
      1461. GO
      Alles anzeigen
    • eigentlich ist das die richtig richtige XD
      bei dir würde dann permanent : Charname already in use usw.. stehen !
      hier ist die wo das richtiger als richtig ist XD

      Quellcode

      1. USE [CHARACTER_01_DBF]
      2. GO
      3. /****** Objekt: StoredProcedure [dbo].[CHARACTER_STR] Skriptdatum: 01/29/2010 13:14:18 ******/
      4. SET ANSI_NULLS ON
      5. GO
      6. SET QUOTED_IDENTIFIER ON
      7. GO
      8. /****** Object: Stored Procedure dbo.CHARACTER_STR Script Date: 7/29/2008 3:34:04 AM ******/
      9. ALTER proc [dbo].[CHARACTER_STR]
      10. @iGu CHAR(2) = 'S1',
      11. @im_idPlayer CHAR(7) = '0000001',
      12. @iserverindex CHAR(2) = '01',
      13. /**********************************************
      14. INSERT 용
      15. **********************************************/
      16. -- CHARACTER_TBL
      17. @iaccount VARCHAR(32) = '',
      18. @im_szName VARCHAR(32) = '',
      19. @iplayerslot INT = 0,
      20. @idwWorldID INT = 0,
      21. @im_dwIndex INT = 0,
      22. @im_vPos_x REAL = 0,
      23. @im_vPos_y REAL = 0,
      24. @im_vPos_z REAL = 0,
      25. @im_szCharacterKey VARCHAR(32) = '',
      26. @im_dwSkinSet INT = 0,
      27. @im_dwHairMesh INT = 0,
      28. @im_dwHairColor INT = 0,
      29. @im_dwHeadMesh INT = 0,
      30. @im_dwSex INT = 0,
      31. /**********************************************
      32. UPDATE 용
      33. **********************************************/
      34. -- CHARACTER_TBL
      35. @im_vScale_x REAL = 0,
      36. @im_dwMotion INT = 0,
      37. @im_fAngle REAL = 0,
      38. @im_nHitPoint INT = 0,
      39. @im_nManaPoint INT = 0,
      40. @im_nFatiguePoint INT = 0,
      41. @im_dwRideItemIdx INT = 0,
      42. @im_dwGold INT = 0,
      43. @im_nJob INT = 0,
      44. @im_pActMover VARCHAR(50) = '',
      45. @im_nStr INT = 0,
      46. @im_nSta INT = 0,
      47. @im_nDex INT = 0,
      48. @im_nInt INT = 0,
      49. @im_nLevel INT = 0,
      50. @im_nExp1 BIGINT = 0,
      51. @im_nExp2 BIGINT = 0,
      52. @im_aJobSkill VARCHAR(500) ='',
      53. @im_aLicenseSkill VARCHAR(500) ='',
      54. @im_aJobLv VARCHAR(500) ='',
      55. @im_dwExpertLv INT = 0,
      56. @im_idMarkingWorld INT = 0,
      57. @im_vMarkingPos_x REAL = 0,
      58. @im_vMarkingPos_y REAL = 0,
      59. @im_vMarkingPos_z REAL = 0,
      60. @im_nRemainGP INT = 0,
      61. @im_nRemainLP INT = 0,
      62. @im_nFlightLv INT = 0,
      63. @im_nFxp INT = 0,
      64. @im_nTxp INT = 0,
      65. @im_lpQuestCntArray VARCHAR(3072)= '',
      66. @im_chAuthority CHAR(1) = '',
      67. @im_dwMode INT = 0,
      68. @im_idparty INT = 0,
      69. --@im_nNumKill INT = 0,
      70. @im_idMuerderer INT = 0,
      71. --@im_nSlaughter INT = 0,
      72. @im_nFame INT = 0,
      73. @im_nDeathExp BIGINT = 0,
      74. @im_nDeathLevel INT = 0,
      75. @im_dwFlyTime INT = 0,
      76. @im_nMessengerState INT = 0,
      77. @iTotalPlayTime INT = 0,
      78. ---------- Additional end ----------
      79. -- PK Variable
      80. @im_nPKValue int=0,
      81. @im_dwPKPropensity int=0,
      82. @im_dwPKExp int=0,
      83. ---------- Additional end ----------
      84. -- CARD_CUBE_TBL
      85. @im_Card VARCHAR(1980)= '',
      86. @im_Index_Card VARCHAR(215) = '',
      87. @im_ObjIndex_Card VARCHAR(215) = '',
      88. @im_Cube VARCHAR(1980)= '',
      89. @im_Index_Cube VARCHAR(215) = '',
      90. @im_ObjIndex_Cube VARCHAR(215) = '',
      91. -- INVENTORY_TBL
      92. @im_Inventory VARCHAR(6940)= '',
      93. @im_apIndex VARCHAR(345) = '',
      94. @im_adwEquipment VARCHAR(135) = '',
      95. @im_dwObjIndex VARCHAR(345) = '',
      96. -- TASKBAR_TBL
      97. @im_aSlotApplet VARCHAR(3100)= '',
      98. -- TASKBAR_ITEM_TBL
      99. @im_aSlotItem VARCHAR(6885)= '',
      100. -- TASKBAR_TBL
      101. @im_aSlotQueue VARCHAR(225)= '',
      102. @im_SkillBar SMALLINT = 0,
      103. -- BANK_TBL
      104. @im_Bank VARCHAR(4290)= '',
      105. @im_apIndex_Bank VARCHAR(215)= '',
      106. @im_dwObjIndex_Bank VARCHAR(215)= '',
      107. @im_dwGoldBank INT = 0,
      108. @im_nFuel INT = -1,
      109. @im_tmAccFuel INT = 0,
      110. @im_dwSMTime VARCHAR(2560)='',
      111. @iSkillInfluence varchar(2048) ='',
      112. @im_dwSkillPoint INT = 0,
      113. @im_aCompleteQuest varchar(1024) = '',
      114. @im_extInventory varchar(2000) = '',
      115. @im_extBank varchar(2000) = '',
      116. @im_InventoryPiercing varchar(2000) = '',
      117. @im_BankPiercing varchar(2000) = '',
      118. @im_dwReturnWorldID INT = 1,
      119. @im_vReturnPos_x REAL = 0,
      120. @im_vReturnPos_y REAL = 0,
      121. @im_vReturnPos_z REAL= 0
      122. -------------- ( Version 7 : Skill Update)
      123. , @im_SkillPoint int=0
      124. , @im_SkillLv int=0
      125. , @im_SkillExp bigint=0
      126. -------------- (Additional end)
      127. , @idwEventFlag bigint=0,
      128. @idwEventTime int=0,
      129. @idwEventElapsed int=0
      130. -------------- (Additional end)
      131. ----------Additional end----------
      132. -- PVP (Additional end)
      133. ,@im_nAngelExp bigint=0
      134. ,@im_nAngelLevel int=0
      135. ----------Additional end ----------
      136. --------------- Version 9 Relation of additional partial Pet
      137. ,@iszInventoryPet varchar(2688) = '$'
      138. ,@iszBankPet varchar(2688) = '$'
      139. ,@im_dwPetId int = -1
      140. ,@im_nExpLog int = 0
      141. ,@im_nAngelExpLog int = 0
      142. --------- Ver 11 Coupon
      143. ,@im_nCoupon int = 0
      144. --------- Ver 14 Shit
      145. ,@im_nHonor int = -1
      146. ,@im_nLayer int = 0
      147. /*******************************************************
      148. Gu Dividing
      149. S : SELECT
      150. I : INSERT
      151. U : UPDATE
      152. D : DELETE
      153. 2005.04.11 updated
      154. ALTER TABLE CHARACTER_TBL ADD m_aCompleteQuest varchar(1024) NULL
      155. ALTER TABLE CHARACTER_TBL ALTER COLUMN m_lpQuestCntArray VARCHAR(3072) NULL
      156. *******************************************************/
      157. AS
      158. set nocount on
      159. declare @last_connect tinyint
      160. set @last_connect = 1
      161. IF @iGu = 'S2' -- Is a player list which follows in the slot cuts coil information bringing,
      162. BEGIN
      163. IF @iaccount = '' OR @im_szName = ''
      164. BEGIN
      165. SELECT m_chAuthority = '',fError = '1', fText = 'Wrong password'
      166. RETURN
      167. END
      168. SELECT A.dwWorldID,
      169. A.m_szName,
      170. A.playerslot,
      171. A.End_Time,
      172. A.BlockTime,
      173. A.m_dwIndex,
      174. A.m_idPlayer,
      175. A.m_idparty,
      176. A.m_dwSkinSet,
      177. A.m_dwHairMesh,
      178. A.m_dwHeadMesh,
      179. A.m_dwHairColor,
      180. A.m_dwSex,
      181. A.m_nJob,
      182. A.m_nLevel,
      183. A.m_vPos_x,
      184. A.m_vPos_y,
      185. A.m_vPos_z,
      186. A.m_nStr,
      187. A.m_nSta,
      188. A.m_nDex,
      189. A.m_nInt,
      190. --A.m_nSlaughter, -- raidersAddition 2005.5.11
      191. A.m_aJobLv,
      192. A.m_chAuthority,
      193. A.m_idCompany,
      194. A.m_nMessengerState,
      195. B.m_Inventory,
      196. B.m_apIndex,
      197. B.m_adwEquipment,
      198. B.m_dwObjIndex,
      199. m_idGuild = CASE WHEN C.m_idGuild IS NULL THEN '0' ELSE C.m_idGuild END ,
      200. m_idWar = CASE WHEN C.m_idWar IS NULL THEN '0' ELSE C.m_idWar END,
      201. D.m_extInventory,
      202. D.m_InventoryPiercing,
      203. A.m_idCompany,
      204. last_connect = @last_connect
      205. FROM CHARACTER_TBL A, INVENTORY_TBL B,GUILD_MEMBER_TBL C, INVENTORY_EXT_TBL D
      206. WHERE A.m_idPlayer = B.m_idPlayer
      207. AND A.serverindex= B.serverindex
      208. AND B.m_idPlayer = D.m_idPlayer
      209. AND B.serverindex = D.serverindex
      210. AND D.m_idPlayer *= C.m_idPlayer
      211. AND D.serverindex *= C.serverindex
      212. AND A.isblock = 'F'
      213. AND A.account = @iaccount
      214. AND A.serverindex= @iserverindex
      215. ORDER BY A.playerslot
      216. RETURN
      217. END
      218. /*
      219. Is a player list which follows in the slot cuts coil information bringing,
      220. ex )
      221. CHARACTER_STR 'S2',@im_idPlayer (iMode),@iserverindex,@iaccount,@im_szName (iPassword)
      222. CHARACTER_STR 'S2','0','02','seghope','1234'
      223. */
      224. ELSE
      225. IF @iGu = 'S3' -- The server initially idPlayer of characters which will execute all the branch, coming,
      226. BEGIN
      227. SELECT m_szName, m_idPlayer,m_idCompany
      228. FROM CHARACTER_TBL
      229. WHERE serverindex = @iserverindex
      230. -- AND isblock = 'F'
      231. ORDER BY m_idPlayer
      232. RETURN
      233. END
      234. /*
      235. The server initially idPlayer of characters which will execute all the branch, coming,
      236. ex )
      237. CHARACTER_STR 'S3','',@iserverindex
      238. CHARACTER_STR 'S3','','02'
      239. */
      240. ELSE
      241. IF @iGu = 'S4' -- The item confirmation which will add
      242. BEGIN
      243. /* if (getdate() >= '2007-10-29 00:00:00' and getdate() <= '2007-10-31 23:59:59')
      244. begin
      245. if not exists (select * from EOCRM.MANAGE_DBF.dbo.tblEvent_Halloween_2007 where serverindex = @iserverindex and m_idPlayer = @im_idPlayer)
      246. begin
      247. declare @q1 nvarchar(4000)
      248. declare @ktime bigint
      249. select @ktime = cast(replace(replace(replace(convert(char(16), dateadd(hh, 72, getdate()), 21), '-', ''), ' ', ''), ':', '') as bigint)
      250. set @q1 = '
      251. insert into ITEM_SEND_TBL (m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, m_bItemResist, m_nResistAbilityOption, m_bCharged, m_dwKeepTime)
      252. select @im_idPlayer, @iserverindex, ''26425'', 1, 0, 0, 0, 0, @ktime'
      253. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2), @ktime bigint', @im_idPlayer, @iserverindex, @ktime
      254. set @q1 = '
      255. insert into EOCRM.MANAGE_DBF.dbo.tblEvent_Halloween_2007 (serverindex, m_idPlayer)
      256. select @iserverindex, @im_idPlayer'
      257. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      258. set @q1 = '
      259. SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption, m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime, nRandomOptItemId
      260. FROM ITEM_SEND_TBL
      261. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
      262. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      263. end
      264. else
      265. begin
      266. SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption, m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime, nRandomOptItemId
      267. FROM ITEM_SEND_TBL
      268. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0
      269. end
      270. end
      271. else
      272. begin
      273. SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption, m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime, nRandomOptItemId
      274. FROM ITEM_SEND_TBL
      275. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0
      276. end*/
      277. declare @q1 nvarchar(4000)
      278. /* if ((getdate() >= '2007-12-23 00:00:00') and (getdate() <= '2007-12-25 23:59:59'))
      279. begin
      280. if not exists (select * from tblevent_2007_xmas where m_idPlayer = @im_idPlayer)
      281. begin
      282. declare @m_dwSex int
      283. declare @xmas_Item varchar(32)
      284. select @m_dwSex = m_dwSex from CHARACTER_TBL where m_idPlayer = @im_idPlayer
      285. if @m_dwSex = 0
      286. begin
      287. set @xmas_Item = '26339'
      288. end
      289. else
      290. begin
      291. set @xmas_Item = '26340'
      292. end
      293. set @q1 = 'insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender)
      294. select @im_idPlayer, ''01'', @xmas_Item, 1, 0, ''0000000'''
      295. exec sp_executesql @q1, N'@im_idPlayer char(7), @xmas_Item varchar(32)', @im_idPlayer, @xmas_Item
      296. insert into tblevent_2007_xmas (m_idPlayer)
      297. select @im_idPlayer
      298. set @q1 = 'SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
      299. m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime
      300. FROM ITEM_SEND_TBL
      301. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
      302. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      303. end
      304. else
      305. begin
      306. set @q1 = 'SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
      307. m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime
      308. FROM ITEM_SEND_TBL
      309. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
      310. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      311. end
      312. end*/
      313. if ((getdate() >= '2007-12-31 00:00:00') and (getdate() <= '2007-12-31 23:59:59'))
      314. begin
      315. if not exists (select * from tblevent_2007_newyear where m_idPlayer = @im_idPlayer)
      316. begin
      317. declare @newyear_Item varchar(32)
      318. set @newyear_Item = '2904'
      319. set @q1 = 'insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender)
      320. select @im_idPlayer, ''01'', @newyear_Item, 5, 0, ''0000000'''
      321. exec sp_executesql @q1, N'@im_idPlayer char(7), @newyear_Item varchar(32)', @im_idPlayer, @newyear_Item
      322. insert into tblevent_2007_newyear (m_idPlayer)
      323. select @im_idPlayer
      324. set @q1 = 'SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
      325. m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, adwItemId4, m_dwKeepTime, nRandomOptItemId
      326. FROM ITEM_SEND_TBL
      327. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
      328. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      329. end
      330. else
      331. begin
      332. set @q1 = 'SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
      333. m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, adwItemId4, m_dwKeepTime, nRandomOptItemId
      334. FROM ITEM_SEND_TBL
      335. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
      336. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      337. end
      338. end
      339. else
      340. begin
      341. set @q1 = 'SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
      342. m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, adwItemId4, m_dwKeepTime, nRandomOptItemId
      343. FROM ITEM_SEND_TBL
      344. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
      345. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
      346. end
      347. RETURN
      348. END
      349. /*
      350. Item confirmation
      351. ex )
      352. CHARACTER_STR 'S4',@im_idPlayer,@iserverindex
      353. CHARACTER_STR 'S4','000001','01'
      354. */
      355. ELSE
      356. IF @iGu = 'S5' -- From table after item utmost urgency item elimination
      357. BEGIN
      358. -- DELETE ITEM_SEND_TBL
      359. UPDATE ITEM_SEND_TBL SET ProvideDt=getdate(), ItemFlag=1
      360. WHERE m_nNo = @iplayerslot
      361. IF @@ROWCOUNT = 0
      362. SELECT fError = '0'
      363. ELSE
      364. SELECT fError = '1'
      365. RETURN
      366. END
      367. /*
      368. From table after item utmost urgency item elimination
      369. ex )
      370. CHARACTER_STR 'S5',@im_idPlayer,@iserverindex,@iaccount
      371. CHARACTER_STR 'S5','000001','01','Broom',1,1
      372. */
      373. ELSE
      374. IF @iGu = 'S6' -- The item confirmation which will eliminate
      375. BEGIN
      376. SELECT Item_Name,
      377. Item_count,
      378. m_nAbilityOption,
      379. m_nNo,
      380. State,
      381. m_bItemResist,
      382. m_nResistAbilityOption
      383. FROM ITEM_REMOVE_TBL
      384. WHERE m_idPlayer = @im_idPlayer
      385. AND serverindex = @iserverindex
      386. AND ItemFlag = 0
      387. RETURN
      388. END
      389. /*
      390. Item confirmation
      391. ex )
      392. CHARACTER_STR 'S6',@im_idPlayer,@iserverindex
      393. CHARACTER_STR 'S6','000001','01'
      394. */
      395. ELSE
      396. IF @iGu = 'S7' -- After item eliminating from table item elimination
      397. BEGIN
      398. -- DELETE ITEM_REMOVE_TBL
      399. UPDATE ITEM_REMOVE_TBL SET DeleteDt=getdate(), ItemFlag=1
      400. WHERE m_nNo = @iplayerslot
      401. IF @@ROWCOUNT = 0
      402. SELECT fError = '0'
      403. ELSE
      404. SELECT fError = '1'
      405. RETURN
      406. END
      407. /*
      408. From table after item utmost urgency item elimination
      409. ex )
      410. CHARACTER_STR 'S7',@im_idPlayer,@iserverindex,@iaccount
      411. CHARACTER_STR 'S7','000001','01','Broom',1,1
      412. */
      413. IF @iGu = 'S8' -- The data whole bringing,
      414. BEGIN
      415. PRINT @iaccount
      416. DECLARE @om_chLoginAuthority CHAR(1)
      417. -- Bank information character stars bringing
      418. SET @om_chLoginAuthority = 'F'
      419. --SELECT @om_chLoginAuthority = m_chLoginAuthority
      420. -- FROM ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL
      421. --WHERE lower(account) = lower(@iaccount)
      422. --INSERT INTO [ONLINE_TBL] ([account] ,[name]) VALUES(@iaccount,@im_idPlayer)
      423. SELECT m_chLoginAuthority = @om_chLoginAuthority,
      424. A.account,
      425. A.m_idPlayer,
      426. A.playerslot,
      427. A.serverindex,
      428. A.dwWorldID,
      429. A.m_szName,
      430. A.m_dwIndex,
      431. A.m_vScale_x,
      432. A.m_dwMotion,
      433. A.m_vPos_x,
      434. A.m_vPos_y,
      435. A.m_vPos_z,
      436. A.m_fAngle,
      437. A.m_szCharacterKey,
      438. A.m_idPlayer,
      439. A.m_nHitPoint,
      440. A.m_nManaPoint,
      441. A.m_nFatiguePoint,
      442. A.m_nFuel,
      443. A.m_dwSkinSet,
      444. A.m_dwHairMesh,
      445. A.m_dwHairColor,
      446. A.m_dwHeadMesh,
      447. A.m_dwSex,
      448. A.m_dwRideItemIdx,
      449. A.m_dwGold,
      450. A.m_nJob,
      451. A.m_pActMover,
      452. A.m_nStr,
      453. A.m_nSta,
      454. A.m_nDex,
      455. A.m_nInt,
      456. A.m_nLevel,
      457. A.m_nMaximumLevel,
      458. A.m_nExp1,
      459. A.m_nExp2,
      460. A.m_aJobSkill,
      461. A.m_aLicenseSkill,
      462. A.m_aJobLv,
      463. A.m_dwExpertLv,
      464. A.m_idMarkingWorld,
      465. A.m_vMarkingPos_x,
      466. A.m_vMarkingPos_y,
      467. A.m_vMarkingPos_z,
      468. A.m_nRemainGP,
      469. A.m_nRemainLP,
      470. A.m_nFlightLv,
      471. A.m_nFxp,
      472. A.m_nTxp,
      473. A.m_lpQuestCntArray,
      474. m_aCompleteQuest = ISNULL(A.m_aCompleteQuest,'$'),
      475. A.m_chAuthority,
      476. A.m_dwMode,
      477. A.m_idparty,
      478. A.m_idCompany,
      479. --A.m_nNumKill,
      480. A.m_idMuerderer,
      481. --A.m_nSlaughter,
      482. A.m_nFame,
      483. A.m_nDeathExp,
      484. A.m_nDeathLevel,
      485. A.m_dwFlyTime,
      486. A.m_nMessengerState,
      487. A.End_Time,
      488. A.BlockTime,
      489. A.blockby,
      490. A.isblock,
      491. A.TotalPlayTime,
      492. A.CreateTime,
      493. A.m_dwSkillPoint,
      494. B.m_aSlotApplet,
      495. B.m_aSlotQueue,
      496. B.m_SkillBar,
      497. C.m_aSlotItem,
      498. D.m_Inventory,
      499. D.m_apIndex,
      500. D.m_adwEquipment,
      501. D.m_dwObjIndex,
      502. m_idGuild = ISNULL(G.m_idGuild,'0'),
      503. m_idWar = ISNULL(G.m_idWar,'0'),
      504. A.m_tmAccFuel,
      505. A.m_tGuildMember,
      506. m_dwSMTime = ISNULL(H.m_dwSMTime,'NULL') ,
      507. SkillInfluence = ISNULL(E.SkillInfluence,'$'),
      508. F.m_extInventory,
      509. F.m_InventoryPiercing,
      510. A.m_dwReturnWorldID,
      511. A.m_idCompany,
      512. A.m_vReturnPos_x,
      513. A.m_vReturnPos_y,
      514. A.m_vReturnPos_z
      515. ------------------ ( ADD : Version7-Skill System)
      516. , m_SkillPoint = SkillPoint
      517. , m_SkillLv = SkillLv
      518. , m_SkillExp = SkillExp
      519. -------------- (Additional start)
      520. , A.dwEventFlag,
      521. A.dwEventTime,
      522. A.dwEventElapsed
      523. -------------- (Additional start)
      524. ----------Additional start ----------
      525. , A.PKValue as m_nPKValue,
      526. A.PKPropensity as m_dwPKPropensity,
      527. A.PKExp as m_dwPKExp
      528. ----------Additional end ----------
      529. ----------Additional end ----------
      530. ,AngelExp as m_nAngelExp
      531. ,AngelLevel as m_nAngelLevel
      532. ----------Additional end ----------
      533. ------------------- Version9 Pet
      534. , F.szInventoryPet as szInventoryPet
      535. , A.m_dwPetId
      536. , A.m_nExpLog, A.m_nAngelExpLog
      537. ------------- Ver 11 Coupon
      538. , m_nCoupon
      539. ------------- Ver 14 shit
      540. , m_nHonor
      541. , m_nLayer
      542. , last_connect = @last_connect
      543. FROM CHARACTER_TBL A,
      544. TASKBAR_TBL B,
      545. TASKBAR_ITEM_TBL C,
      546. INVENTORY_TBL D,
      547. SKILLINFLUENCE_TBL E,
      548. INVENTORY_EXT_TBL F,
      549. GUILD_MEMBER_TBL G,
      550. BILING_ITEM_TBL H
      551. WHERE A.m_idPlayer = @im_idPlayer
      552. AND A.serverindex = @iserverindex
      553. AND A.m_idPlayer = B.m_idPlayer
      554. AND A.serverindex = B.serverindex
      555. AND B.m_idPlayer = C.m_idPlayer
      556. AND B.serverindex = C.serverindex
      557. AND C.m_idPlayer = D.m_idPlayer
      558. AND C.serverindex = D.serverindex
      559. AND D.m_idPlayer = E.m_idPlayer
      560. AND D.serverindex = E.serverindex
      561. AND E.m_idPlayer = F.m_idPlayer
      562. AND E.serverindex = F.serverindex
      563. AND F.serverindex *= G.serverindex
      564. AND F.m_idPlayer *= G.m_idPlayer
      565. AND F.serverindex *= H.serverindex
      566. AND F.m_idPlayer *= H.m_idPlayer
      567. AND A.account = lower(@iaccount)
      568. -- Bank information account stars bringing
      569. -- DECLARE @bank TABLE (m_idPlayer CHAR(6),serverindex CHAR(2),playerslot INT)
      570. --
      571. -- INSERT @bank
      572. -- (m_idPlayer,serverindex,playerslot)
      573. -- SELECT m_idPlayer,serverindex,playerslot
      574. -- FROM CHARACTER_TBL
      575. -- WHERE account = @iaccount
      576. -- AND isblock = 'F'
      577. -- ORDER BY playerslot
      578. SELECT a.m_idPlayer,
      579. c.playerslot,
      580. a.m_Bank,
      581. a.m_apIndex_Bank,
      582. a.m_dwObjIndex_Bank,
      583. a.m_dwGoldBank,
      584. a.m_BankPw,
      585. b.m_extBank,
      586. b.m_BankPiercing, b.szBankPet
      587. FROM dbo.BANK_TBL a,
      588. dbo.BANK_EXT_TBL b,
      589. dbo.CHARACTER_TBL c
      590. WHERE a.m_idPlayer = b.m_idPlayer
      591. AND a.serverindex = b.serverindex
      592. AND b.m_idPlayer = c.m_idPlayer
      593. AND b.serverindex = c.serverindex
      594. AND c.account = lower(@iaccount)
      595. AND c.isblock = 'F'
      596. ORDER BY c.playerslot
      597. ------------- Ver11 Pocket
      598. SELECT a.nPocket,
      599. a.szItem,
      600. a.szIndex,
      601. a.szObjIndex,
      602. a.bExpired,
      603. a.tExpirationDate,
      604. b.szExt,
      605. b.szPiercing,
      606. b.szPet
      607. FROM tblPocket as a inner join tblPocketExt as b
      608. on a.serverindex = b.serverindex AND a.idPlayer = b.idPlayer AND a.nPocket = b.nPocket
      609. WHERE a.serverindex = @iserverindex AND a.idPlayer = @im_idPlayer
      610. ORDER BY a.nPocket
      611. RETURN
      612. END
      613. /*
      614. The data whole bringing, New
      615. ex )
      616. CHARACTER_STR 'S8',@im_idPlayer,@iserverindex,@iaccount
      617. CHARACTER_STR 'S8','425120','01','ata3k'
      618. */
      619. ELSE
      620. IF @iGu = 'U1' -- Character store
      621. BEGIN
      622. --DELETE FROM ONLINE_TBL WHERE name = @im_idPlayer
      623. UPDATE CHARACTER_TBL
      624. SET dwWorldID = @idwWorldID,
      625. m_dwIndex = @im_dwIndex,
      626. m_dwSex = @im_dwSex,
      627. m_vScale_x = @im_vScale_x,
      628. m_dwMotion = @im_dwMotion,
      629. m_vPos_x = @im_vPos_x,
      630. m_vPos_y = @im_vPos_y,
      631. m_vPos_z = @im_vPos_z,
      632. m_dwHairMesh = @im_dwHairMesh,
      633. m_dwHairColor = @im_dwHairColor,
      634. m_dwHeadMesh = @im_dwHeadMesh, -- 2004/11/08 Addition
      635. m_fAngle = 0, --@im_fAngle,
      636. m_szCharacterKey = @im_szCharacterKey,
      637. m_nHitPoint = @im_nHitPoint,
      638. m_nManaPoint = @im_nManaPoint,
      639. m_nFatiguePoint = @im_nFatiguePoint,
      640. m_nFuel = @im_nFuel,
      641. m_dwRideItemIdx = @im_dwRideItemIdx,
      642. m_dwGold = @im_dwGold,
      643. m_nJob = @im_nJob,
      644. m_pActMover = @im_pActMover,
      645. m_nStr = @im_nStr,
      646. m_nSta = @im_nSta,
      647. m_nDex = @im_nDex,
      648. m_nInt = @im_nInt,
      649. m_nLevel = @im_nLevel,
      650. m_nMaximumLevel = CASE WHEN m_nMaximumLevel < @im_nLevel THEN @im_nLevel ELSE m_nMaximumLevel END,
      651. m_nExp1 = @im_nExp1,
      652. m_nExp2 = @im_nExp2,
      653. m_aJobSkill = @im_aJobSkill,
      654. m_aLicenseSkill = @im_aLicenseSkill,
      655. m_aJobLv = @im_aJobLv,
      656. m_dwExpertLv = @im_dwExpertLv,
      657. m_idMarkingWorld = @im_idMarkingWorld,
      658. m_vMarkingPos_x = @im_vMarkingPos_x,
      659. m_vMarkingPos_y = @im_vMarkingPos_y,
      660. m_vMarkingPos_z = @im_vMarkingPos_z,
      661. m_nRemainGP = @im_nRemainGP,
      662. m_nRemainLP = @im_nRemainLP,
      663. m_nFlightLv = @im_nFlightLv,
      664. m_nFxp = @im_nFxp,
      665. m_nTxp = @im_nTxp,
      666. m_lpQuestCntArray = @im_lpQuestCntArray,
      667. m_aCompleteQuest = @im_aCompleteQuest,
      668. m_dwMode = @im_dwMode,
      669. m_idparty = @im_idparty,
      670. --m_nNumKill = @im_nNumKill,
      671. m_idMuerderer = @im_idMuerderer,
      672. --m_nSlaughter = @im_nSlaughter ,
      673. m_nFame = @im_nFame,
      674. m_nDeathExp = @im_nDeathExp,
      675. m_nDeathLevel = @im_nDeathLevel,
      676. -- m_dwFlyTime = m_dwFlyTime + @im_dwFlyTime,
      677. m_dwFlyTime = @im_dwFlyTime,
      678. m_nMessengerState = @im_nMessengerState,
      679. TotalPlayTime = TotalPlayTime + @iTotalPlayTime,
      680. m_tmAccFuel = @im_tmAccFuel,
      681. m_dwSkillPoint = @im_dwSkillPoint,
      682. m_dwReturnWorldID= @im_dwReturnWorldID,
      683. m_idCompany = 0,
      684. m_vReturnPos_x = @im_vReturnPos_x,
      685. m_vReturnPos_y = @im_vReturnPos_y,
      686. m_vReturnPos_z = @im_vReturnPos_z
      687. -------------- (ADD: Version7-SkillSystem)
      688. , SkillPoint = @im_SkillPoint
      689. , SkillLv = @im_SkillLv
      690. , SkillExp = @im_SkillExp
      691. -------------- (Additional part)
      692. , dwEventFlag =@idwEventFlag,
      693. dwEventTime =@idwEventTime,
      694. dwEventElapsed =@idwEventElapsed
      695. -------------- (Additional part)
      696. ----------Additional start ----------
      697. , PKValue = @im_nPKValue,
      698. PKPropensity = @im_dwPKPropensity,
      699. PKExp = @im_dwPKExp
      700. ----------Additional end ----------
      701. ----------Additional start ----------
      702. , AngelExp= @im_nAngelExp
      703. , AngelLevel= @im_nAngelLevel
      704. ----------Additional end ----------
      705. --------------------- Version9 Pet
      706. , m_dwPetId = @im_dwPetId
      707. , m_nExpLog = @im_nExpLog
      708. , m_nAngelExpLog = @im_nAngelExpLog
      709. ------------ Ver 11
      710. , m_nCoupon = @im_nCoupon
      711. , m_nLayer = @im_nLayer
      712. WHERE m_idPlayer = @im_idPlayer
      713. AND serverindex = @iserverindex
      714. -- if object_id('QUEST_TBL') is not null
      715. -- EXEC QUEST_STR 'A1',@im_idPlayer,@iserverindex,@im_lpQuestCntArray
      716. --Relation of [song] present three request fact Bill rings
      717. IF @im_dwSMTime > ''
      718. BEGIN
      719. IF EXISTS(SELECT * FROM BILING_ITEM_TBL WHERE m_idPlayer= @im_idPlayer AND serverindex = @iserverindex)
      720. UPDATE BILING_ITEM_TBL
      721. SET m_dwSMTime = @im_dwSMTime
      722. WHERE m_idPlayer = @im_idPlayer
      723. AND serverindex = @iserverindex
      724. ELSE
      725. INSERT BILING_ITEM_TBL
      726. (m_idPlayer,serverindex,m_dwSMTime)
      727. VALUES
      728. (@im_idPlayer,@iserverindex,@im_dwSMTime)
      729. END
      730. ELSE
      731. DELETE BILING_ITEM_TBL
      732. WHERE m_idPlayer = @im_idPlayer
      733. AND serverindex = @iserverindex
      734. -- UPDATE CARD_CUBE_TBL
      735. -- SET m_Card = @im_Card,
      736. -- m_apIndex_Card = @im_Index_Card,
      737. -- m_dwObjIndex_Card= @im_ObjIndex_Card,
      738. -- m_Cube = @im_Cube,
      739. -- m_apIndex_Cube = @im_Index_Cube,
      740. -- m_dwObjIndex_Cube=@im_ObjIndex_Cube
      741. -- WHERE m_idPlayer = @im_idPlayer
      742. -- AND serverindex = @iserverindex
      743. UPDATE INVENTORY_TBL
      744. SET m_Inventory = @im_Inventory,
      745. m_apIndex = @im_apIndex,
      746. m_adwEquipment = @im_adwEquipment,
      747. m_dwObjIndex = @im_dwObjIndex
      748. WHERE m_idPlayer = @im_idPlayer
      749. AND serverindex = @iserverindex
      750. UPDATE TASKBAR_TBL
      751. SET m_aSlotApplet = @im_aSlotApplet,
      752. m_aSlotQueue = @im_aSlotQueue,
      753. m_SkillBar = @im_SkillBar
      754. WHERE m_idPlayer = @im_idPlayer
      755. AND serverindex = @iserverindex
      756. UPDATE TASKBAR_ITEM_TBL
      757. SET m_aSlotItem = @im_aSlotItem
      758. WHERE m_idPlayer = @im_idPlayer
      759. AND serverindex = @iserverindex
      760. UPDATE BANK_TBL
      761. SET m_Bank = @im_Bank,
      762. m_apIndex_Bank = @im_apIndex_Bank,
      763. m_dwObjIndex_Bank = @im_dwObjIndex_Bank,
      764. m_dwGoldBank = @im_dwGoldBank
      765. WHERE m_idPlayer = @im_idPlayer
      766. AND serverindex = @iserverindex
      767. UPDATE SKILLINFLUENCE_TBL
      768. SET SkillInfluence = @iSkillInfluence
      769. WHERE m_idPlayer = @im_idPlayer
      770. AND serverindex = @iserverindex
      771. UPDATE INVENTORY_EXT_TBL
      772. SET m_extInventory = @im_extInventory,
      773. m_InventoryPiercing = @im_InventoryPiercing
      774. , szInventoryPet = @iszInventoryPet
      775. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex
      776. UPDATE BANK_EXT_TBL
      777. SET m_extBank = @im_extBank,
      778. m_BankPiercing = @im_BankPiercing
      779. , szBankPet = @iszBankPet
      780. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex
      781. SELECT fError = '1', fText = 'OK'
      782. RETURN
      783. END
      784. /*
      785. Information update
      786. ex )
      787. CHARACTER_STR 'U1', ALL ...
      788. CHARACTER_STR 'U1','000001','01' ...
      789. */
      790. ELSE
      791. IF @iGu = 'U2' -- Total use time correction
      792. BEGIN
      793. UPDATE CHARACTER_TBL
      794. SET TotalPlayTime = TotalPlayTime + @iplayerslot
      795. WHERE m_szName = @im_szName
      796. AND serverindex = @iserverindex
      797. RETURN
      798. END
      799. /*
      800. Total use time correction
      801. ex )
      802. CHARACTER_STR 'U2','',@iserverindex,'',@im_szName,@iplayerslot (@iTotalPlayTime)
      803. CHARACTER_STR 'U2','','01','','beat',10234
      804. */
      805. ELSE
      806. IF @iGu = 'U3' --Total use time correction new
      807. BEGIN
      808. UPDATE CHARACTER_TBL
      809. SET TotalPlayTime = TotalPlayTime + @iplayerslot
      810. WHERE m_idPlayer = @im_idPlayer
      811. AND serverindex = @iserverindex
      812. RETURN
      813. END
      814. /*
      815. Total use time correction (new)
      816. ex )
      817. CHARACTER_STR 'U3',@im_idPlayer,@iserverindex,'','',@iplayerslot (@iTotalPlayTime)
      818. CHARACTER_STR 'U3','000001','01','','',10234
      819. */
      820. ELSE
      821. IF @iGu = 'U4' --Character life fringe land
      822. BEGIN
      823. IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE lower(m_szName) = lower(@im_szName) AND serverindex = @iserverindex)
      824. BEGIN
      825. SELECT fError = '0'
      826. END
      827. ELSE
      828. BEGIN
      829. UPDATE CHARACTER_TBL
      830. SET m_szName = @im_szName
      831. WHERE m_idPlayer = @im_idPlayer
      832. AND serverindex = @iserverindex
      833. SELECT fError = '1'
      834. END
      835. RETURN
      836. END
      837. /*
      838. Character life fringe land
      839. ex)
      840. CHARACTER_STR ' U4' @im_idPlayer, @iserverindex, @iaccount and @im_szName
      841. CHARACTER_STR ' U4' ' 000001' ' 01' ' ' ' The morning star princess'
      842. */
      843. ELSE
      844. IF @iGu = 'D1' -- Character elimination
      845. BEGIN
      846. -- The part which the box tries to close once in the class arctic regions #1 2007-03-21
      847. IF @im_szName = ''
      848. BEGIN
      849. SELECT fError = '1', fText = 'Resident number error'
      850. RETURN
      851. END
      852. if not exists (select * from CHARACTER_TBL where m_idPlayer = @im_idPlayer and account = @iaccount and serverindex = @iserverindex)
      853. begin
      854. select fError = '1'
      855. return
      856. end
      857. DECLARE @Exists int
      858. -- IF EXISTS(SELECT name from syscolumns where name='m_idPlayer' AND collation= 'Japanese_BIN')
      859. -- BEGIN
      860. -- IF EXISTS(SELECT * FROM ACCOUNT_DBF.dbo.ACCOUNT_TBL WHERE account = @iaccount AND (password = @im_szName OR member = 'B' ))
      861. SET @Exists = 1
      862. -- ELSE
      863. -- SET @Exists = 0
      864. -- END
      865. -- ELSE
      866. -- BEGIN
      867. -- IF EXISTS(SELECT * FROM ACCOUNT_DBF.dbo.ACCOUNT_TBL WHERE account = @iaccount AND (id_no2 = @im_szName OR member = 'B' ))
      868. -- SET @Exists = 1
      869. -- ELSE
      870. -- SET @Exists = 0
      871. -- END
      872. IF @Exists > 0
      873. BEGIN
      874. DECLARE @currDate char(12)
      875. SET @currDate = CONVERT(CHAR(8),GETDATE(),112)
      876. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(hh,GETDATE())),2)
      877. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(mi,GETDATE())),2)
      878. IF EXISTS(SELECT m_idPlayer FROM GUILD_MEMBER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND m_idWar > 0)
      879. BEGIN
      880. SELECT fError = '3', fText = 'In before guild'
      881. RETURN
      882. END
      883. ELSE
      884. BEGIN
      885. UPDATE CHARACTER_TBL
      886. SET isblock = 'D',
      887. End_Time = @currDate ,
      888. BlockTime = LEFT(@currDate,8)
      889. WHERE m_idPlayer = @im_idPlayer
      890. AND serverindex = @iserverindex
      891. UPDATE MESSENGER_TBL
      892. SET State = 'D'
      893. WHERE m_idPlayer = @im_idPlayer
      894. AND serverindex = @iserverindex
      895. UPDATE MESSENGER_TBL
      896. SET State = 'D'
      897. WHERE f_idPlayer = @im_idPlayer
      898. AND serverindex = @iserverindex
      899. /****************************************************************************************/
      900. /** 200506 event **/
      901. /****************************************************************************************/
      902. -- if (not exists(select account from RANKING_DBF.dbo.last_1_month_tbl where account = @iaccount)
      903. -- and convert(char(10),getdate(),120) between '2005-07-05' and '2005-07-12')
      904. --
      905. -- begin --: Of 1 or more month the account objective type writing which is not connection experience
      906. -- declare @cash int,@get_cach int
      907. -- select @cash = case when m_nLevel between 10 and 19 then 500
      908. -- when m_nLevel between 20 and 39 then 1000
      909. -- when m_nLevel between 40 and 49 then 1500
      910. -- when m_nLevel between 50 and 59 then 2000
      911. -- when m_nLevel between 60 and 69 then 2500
      912. -- when m_nLevel >= 70 then 3000
      913. -- else 0 end
      914. -- from CHARACTER_TBL
      915. -- where m_idPlayer = @im_idPlayer and serverindex = @iserverindex
      916. --
      917. -- select @get_cach = isnull(sum(amount),0)
      918. -- from RANKING_DBF.dbo.event_member_tbl
      919. -- where account = @iaccount
      920. -- group by account
      921. --
      922. -- if @cash + @get_cach > 5000
      923. -- set @cash = 5000 - @get_cach
      924. --
      925. -- if @cash > 0
      926. --
      927. -- begin
      928. -- declare @retcode int
      929. --
      930. -- if not exists(select * from BILLING.QLORD_MASTER.dbo.BX_TG_USERINFO where USER_ID = @iaccount)
      931. -- exec BILLING.QLORD_MASTER.dbo.BX_SP_PROCESS_USERINFO @iaccount,@iaccount,'FLYF',' ','1111111111118',' ',' ',''
      932. --
      933. -- exec @retcode = BILLING.QLORD_MASTER.dbo.BX_SP_INSERT_BONUS_IN @iaccount,@iaccount,'FLYF','IN00000004',@cash,'Character compensation event',0,''
      934. --
      935. -- if @retcode <> 1
      936. -- set @cash = 0
      937. --
      938. -- insert RANKING_DBF.dbo.event_member_tbl
      939. -- (account,amount,m_idPlayer,serverindex,retcode,date)
      940. -- values
      941. -- (@iaccount,@cash,@im_idPlayer,@iserverindex,@retcode,getdate())
      942. --
      943. -- end
      944. -- end
      945. /****************************************************************************************/
      946. /****************************************************************************************/
      947. /****************************************************************************************/
      948. -- The part which the box tries to close once in the class arctic regions #2 2007-03-21
      949. IF EXISTS(SELECT m_idPlayer FROM GUILD_MEMBER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex)
      950. BEGIN
      951. SELECT fError = '4', fText = m_idGuild FROM GUILD_MEMBER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex
      952. RETURN
      953. END
      954. ELSE
      955. BEGIN
      956. SELECT fError = '0', fText = 'DELETE OK'
      957. RETURN
      958. END
      959. END
      960. END
      961. ELSE
      962. BEGIN
      963. SELECT fError = '1', fText = 'Resident number error'
      964. RETURN
      965. END
      966. -- At the price which is not eliminated unconditionally return
      967. select fError = '1', fText = 'Resident number error'
      968. END
      969. /*
      970. Character elimination
      971. ex )
      972. CHARACTER_STR 'D1',@im_idPlayer,@iserverindex,@iaccount (isblock)
      973. CHARACTER_STR 'D1','001068','01','ata3k','1019311'
      974. */
      975. ELSE
      976. IF @iGu = 'I1' -- Initially information input
      977. BEGIN
      978. IF EXISTS(SELECT m_szName FROM CHARACTER_TBL
      979. WHERE m_szName = @im_szName AND serverindex = @iserverindex)
      980. BEGIN
      981. SELECT fError = '0', fText = 'Character duplication!'
      982. RETURN
      983. END
      984. ELSE
      985. BEGIN
      986. DECLARE
      987. @om_idPlayer CHAR (7) ,
      988. @om_vScale_x REAL ,
      989. @om_dwMotion INT ,
      990. @om_fAngle REAL ,
      991. @om_nHitPoint INT ,
      992. @om_nManaPoint INT ,
      993. @om_nFatiguePoint INT ,
      994. @om_dwRideItemIdx INT ,
      995. @om_dwGold INT ,
      996. @om_nJob INT ,
      997. @om_pActMover VARCHAR(50) ,
      998. @om_nStr INT ,
      999. @om_nSta INT ,
      1000. @om_nDex INT ,
      1001. @om_nInt INT ,
      1002. @om_nLevel INT ,
      1003. @om_nExp1 BIGINT ,
      1004. @om_nExp2 BIGINT ,
      1005. @om_aJobSkill VARCHAR (500),
      1006. @om_aLicenseSkill VARCHAR (500),
      1007. @om_aJobLv VARCHAR (500),
      1008. @om_dwExpertLv INT ,
      1009. @om_idMarkingWorld INT ,
      1010. @om_vMarkingPos_x REAL ,
      1011. @om_vMarkingPos_y REAL ,
      1012. @om_vMarkingPos_z REAL ,
      1013. @om_nRemainGP INT ,
      1014. @om_nRemainLP INT ,
      1015. @om_nFlightLv INT ,
      1016. @om_nFxp INT ,
      1017. @om_nTxp INT ,
      1018. @om_lpQuestCntArray VARCHAR(1024),
      1019. @om_chAuthority CHAR(1) ,
      1020. @om_dwMode INT ,
      1021. @oblockby VARCHAR(32) ,
      1022. @oTotalPlayTime INT ,
      1023. @oisblock CHAR(1) ,
      1024. @oEnd_Time CHAR(12) ,
      1025. @om_Inventory VARCHAR(6940),
      1026. @om_apIndex VARCHAR(345) ,
      1027. @om_adwEquipment VARCHAR(135) ,
      1028. @om_aSlotApplet VARCHAR(3100),
      1029. @om_aSlotItem VARCHAR(6885),
      1030. @om_aSlotQueue VARCHAR(225),
      1031. @om_SkillBar SMALLINT,
      1032. @om_dwObjIndex VARCHAR(345) ,
      1033. @om_Card VARCHAR(1980),
      1034. @om_Cube VARCHAR(1980),
      1035. @om_apIndex_Card VARCHAR(215) ,
      1036. @om_dwObjIndex_Card VARCHAR(215) ,
      1037. @om_apIndex_Cube VARCHAR(215) ,
      1038. @om_dwObjIndex_Cube VARCHAR(215) ,
      1039. @om_idparty INT ,
      1040. --@om_nNumKill INT ,
      1041. @om_idMuerderer INT ,
      1042. --@om_nSlaughter INT ,
      1043. @om_nFame INT ,
      1044. @om_nDeathExp BIGINT ,
      1045. @om_nDeathLevel INT ,
      1046. @om_dwFlyTime INT ,
      1047. @om_nMessengerState INT ,
      1048. @om_Bank VARCHAR(4290),
      1049. @om_apIndex_Bank VARCHAR(215) ,
      1050. @om_dwObjIndex_Bank VARCHAR(215) ,
      1051. @om_dwGoldBank INT
      1052. IF EXISTS (SELECT * FROM CHARACTER_TBL WHERE serverindex = @iserverindex)
      1053. SELECT @om_idPlayer = RIGHT('0000000' + CONVERT(VARCHAR(7),MAX(m_idPlayer)+1),7)
      1054. FROM CHARACTER_TBL
      1055. WHERE serverindex = @iserverindex
      1056. ELSE
      1057. SELECT @om_idPlayer = '0000001'
      1058. SELECT @om_vScale_x = m_vScale_x,
      1059. @om_dwMotion = m_dwMotion,
      1060. @om_fAngle = m_fAngle,
      1061. @om_nHitPoint = m_nHitPoint,
      1062. @om_nManaPoint = m_nManaPoint,
      1063. @om_nFatiguePoint = m_nFatiguePoint,
      1064. @om_dwRideItemIdx = m_dwRideItemIdx,
      1065. @om_dwGold = m_dwGold,
      1066. @om_nJob = m_nJob,
      1067. @om_pActMover = m_pActMover,
      1068. @om_nStr = m_nStr,
      1069. @om_nSta = m_nSta,
      1070. @om_nDex = m_nDex,
      1071. @om_nInt = m_nInt,
      1072. @om_nLevel = m_nLevel,
      1073. @om_nExp1 = m_nExp1,
      1074. @om_nExp2 = m_nExp2,
      1075. @om_aJobSkill = m_aJobSkill,
      1076. @om_aLicenseSkill = m_aLicenseSkill,
      1077. @om_aJobLv = m_aJobLv,
      1078. @om_dwExpertLv = m_dwExpertLv,
      1079. @om_idMarkingWorld = m_idMarkingWorld,
      1080. @om_vMarkingPos_x = m_vMarkingPos_x,
      1081. @om_vMarkingPos_y = m_vMarkingPos_y,
      1082. @om_vMarkingPos_z = m_vMarkingPos_z,
      1083. @om_nRemainGP = m_nRemainGP,
      1084. @om_nRemainLP = m_nRemainLP,
      1085. @om_nFlightLv = m_nFlightLv,
      1086. @om_nFxp = m_nFxp,
      1087. @om_nTxp = m_nTxp,
      1088. @om_lpQuestCntArray = m_lpQuestCntArray,
      1089. @om_chAuthority = m_chAuthority,
      1090. @om_dwMode = m_dwMode,
      1091. @oblockby = blockby,
      1092. @oTotalPlayTime = TotalPlayTime,
      1093. @oisblock = isblock,
      1094. @oEnd_Time = CONVERT(CHAR(8),DATEADD(yy,3,GETDATE()),112) + '0000',
      1095. @om_Inventory = m_Inventory,
      1096. @om_apIndex = m_apIndex,
      1097. @om_adwEquipment = m_adwEquipment,
      1098. @om_aSlotApplet = m_aSlotApplet,
      1099. @om_aSlotItem = m_aSlotItem,
      1100. @om_aSlotQueue = m_aSlotQueue,
      1101. @om_SkillBar = m_SkillBar,
      1102. @om_dwObjIndex = m_dwObjIndex,
      1103. @om_Card = m_Card,
      1104. @om_Cube = m_Cube,
      1105. @om_apIndex_Card = m_apIndex_Card,
      1106. @om_dwObjIndex_Card = m_dwObjIndex_Card,
      1107. @om_apIndex_Cube = m_apIndex_Cube,
      1108. @om_dwObjIndex_Cube = m_dwObjIndex_Cube,
      1109. @om_idparty = m_idparty,
      1110. --@om_nNumKill = m_nNumKill,
      1111. @om_idMuerderer = m_idMuerderer,
      1112. --@om_nSlaughter = m_nSlaughter ,
      1113. @om_nFame = m_nFame,
      1114. @om_nDeathExp = m_nDeathExp,
      1115. @om_nDeathLevel = m_nDeathLevel,
      1116. @om_dwFlyTime = m_dwFlyTime,
      1117. @om_nMessengerState = m_nMessengerState,
      1118. @om_Bank = m_Bank,
      1119. @om_apIndex_Bank = m_apIndex_Bank,
      1120. @om_dwObjIndex_Bank = m_dwObjIndex_Bank,
      1121. @om_dwGoldBank = m_dwGoldBank
      1122. FROM BASE_VALUE_TBL
      1123. WHERE g_nSex = @im_dwSex
      1124. INSERT CHARACTER_TBL
      1125. (
      1126. m_idPlayer,
      1127. serverindex,
      1128. account,
      1129. m_szName,
      1130. playerslot,
      1131. dwWorldID,
      1132. m_dwIndex,
      1133. m_vScale_x,
      1134. m_dwMotion,
      1135. m_vPos_x,
      1136. m_vPos_y,
      1137. m_vPos_z,
      1138. m_fAngle,
      1139. m_szCharacterKey,
      1140. m_nHitPoint,
      1141. m_nManaPoint,
      1142. m_nFatiguePoint,
      1143. m_nFuel,
      1144. m_dwSkinSet,
      1145. m_dwHairMesh,
      1146. m_dwHairColor,
      1147. m_dwHeadMesh,
      1148. m_dwSex,
      1149. m_dwRideItemIdx,
      1150. m_dwGold,
      1151. m_nJob,
      1152. m_pActMover,
      1153. m_nStr,
      1154. m_nSta,
      1155. m_nDex,
      1156. m_nInt,
      1157. m_nLevel,
      1158. m_nMaximumLevel,
      1159. m_nExp1,
      1160. m_nExp2,
      1161. m_aJobSkill,
      1162. m_aLicenseSkill,
      1163. m_aJobLv,
      1164. m_dwExpertLv,
      1165. m_idMarkingWorld,
      1166. m_vMarkingPos_x,
      1167. m_vMarkingPos_y,
      1168. m_vMarkingPos_z,
      1169. m_nRemainGP,
      1170. m_nRemainLP,
      1171. m_nFlightLv,
      1172. m_nFxp,
      1173. m_nTxp,
      1174. m_lpQuestCntArray,
      1175. m_aCompleteQuest,
      1176. m_chAuthority,
      1177. m_dwMode,
      1178. m_idparty,
      1179. m_idCompany,
      1180. --m_nNumKill,
      1181. m_idMuerderer,
      1182. --m_nSlaughter,
      1183. m_nFame,
      1184. m_nDeathExp,
      1185. m_nDeathLevel,
      1186. m_dwFlyTime,
      1187. m_nMessengerState,
      1188. blockby,
      1189. TotalPlayTime,
      1190. isblock,
      1191. End_Time,
      1192. BlockTime,
      1193. CreateTime,
      1194. m_tmAccFuel,
      1195. m_tGuildMember,
      1196. m_dwSkillPoint,
      1197. m_dwReturnWorldID,
      1198. m_vReturnPos_x,
      1199. m_vReturnPos_y,
      1200. m_vReturnPos_z
      1201. )
      1202. VALUES
      1203. (
      1204. @om_idPlayer,
      1205. @iserverindex,
      1206. @iaccount,
      1207. @im_szName,
      1208. @iplayerslot,
      1209. @idwWorldID,
      1210. @im_dwIndex,
      1211. '1',
      1212. '0',
      1213. @im_vPos_x,
      1214. @im_vPos_y,
      1215. @im_vPos_z,
      1216. '0',
      1217. @im_szCharacterKey,
      1218. '230',
      1219. '63',
      1220. '32',
      1221. -1, --m_nFuel
      1222. @im_dwSkinSet,
      1223. @im_dwHairMesh,
      1224. @im_dwHairColor,
      1225. @im_dwHeadMesh,
      1226. @im_dwSex,
      1227. '0',
      1228. '0',
      1229. '0',
      1230. '1,0',
      1231. '15',
      1232. '15',
      1233. '15',
      1234. '15',
      1235. '1',
      1236. '1', --m_nMaximumLevel
      1237. '0',
      1238. '0',
      1239. '',
      1240. '',
      1241. '0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/$',
      1242. '0',
      1243. '0',
      1244. '0',
      1245. '0',
      1246. '0',
      1247. '0',
      1248. '0',
      1249. '0',
      1250. '0',
      1251. '0',
      1252. '$',
      1253. '$', -- m_aCompleteQuest
      1254. 'F',
      1255. '131072',
      1256. '0',
      1257. '0', -- m_idCompany
      1258. --@om_nNumKill,
      1259. '0',
      1260. --@om_nSlaughter,
      1261. '0',
      1262. '0',
      1263. '0',
      1264. '0' ,
      1265. '0',
      1266. @oblockby,
      1267. '0',
      1268. 'F',
      1269. '200811030000',
      1270. CONVERT(CHAR(8),DATEADD(d,-1,GETDATE()),112),
      1271. GETDATE(),
      1272. 0,
      1273. CONVERT(CHAR(8),DATEADD(d,-1,GETDATE()),112)
      1274. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(hh,DATEADD(d,-1,GETDATE()))),2)
      1275. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(mi,DATEADD(d,-1,GETDATE()))),2)
      1276. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(ss,DATEADD(d,-1,GETDATE()))),2),
      1277. 0, --m_dwSkillPoint
      1278. 1,
      1279. 0,
      1280. 0,
      1281. 0
      1282. )
      1283. declare @invi1 VARCHAR(8000)
      1284. declare @invi2 VARCHAR(8000)
      1285. declare @invi3 VARCHAR(8000)
      1286. declare @invi4 VARCHAR(8000)
      1287. IF @im_dwSex = '1'
      1288. BEGIN
      1289. SET @invi1 = '0,512,0,0,,1,0,4500000,0,0,0,-1118993182,0,0,0,0,0/1,504,0,0,,1,0,9000000,0,0,0,946307614,0,0,0,0,0/42,508,0,0,,1,0,5850000,0,0,0,750110947,0,0,0,0,0/44,21,0,0,,1,0,7200000,0,0,0,-2111939376,0,0,0,0,0/$'
      1290. SET @invi2 = '45/43/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/-1/-1/1/-1/42/0/-1/-1/-1/-1/44/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/$'
      1291. SET @invi3 = '0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/$'
      1292. SET @invi4 = '47/44/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/46/1/52/0/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/$'
      1293. END
      1294. ELSE
      1295. BEGIN
      1296. SET @invi1 = '0,506,0,0,,1,0,5850000,0,0,0,-2005860201,0,0,0,0,0/1,502,0,0,,1,0,9000000,0,0,0,688242964,0,0,0,0,0/2,510,0,0,,1,0,4500000,0,0,0,583094601,0,0,0,0,0/44,21,0,0,,1,0,7200000,0,0,0,-2111939376,0,0,0,0,0/$'
      1297. SET @invi2 = '45/42/43/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/-1/-1/1/-1/0/2/-1/-1/-1/-1/44/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/$'
      1298. SET @invi3 = '0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/$'
      1299. SET @invi4 = '46/44/47/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/1/2/52/0/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/-1/$'
      1300. END
      1301. INSERT INVENTORY_TBL
      1302. (
      1303. m_idPlayer,
      1304. serverindex,
      1305. m_Inventory,
      1306. m_apIndex,
      1307. m_adwEquipment,
      1308. m_dwObjIndex
      1309. )
      1310. VALUES
      1311. (
      1312. @om_idPlayer,
      1313. @iserverindex,
      1314. @invi1,
      1315. @invi2,
      1316. @invi3,
      1317. @invi4
      1318. )
      1319. IF @@SERVERNAME = 'WEB' OR @@SERVERNAME = 'SERVER4'
      1320. 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/$'
      1321. INSERT TASKBAR_TBL
      1322. (
      1323. m_idPlayer,
      1324. serverindex,
      1325. m_aSlotApplet,
      1326. m_aSlotQueue,
      1327. m_SkillBar
      1328. )
      1329. VALUES
      1330. (
      1331. @om_idPlayer,
      1332. @iserverindex,
      1333. '$',
      1334. '$',
      1335. '100'
      1336. )
      1337. INSERT TASKBAR_ITEM_TBL
      1338. (
      1339. m_idPlayer,
      1340. serverindex,
      1341. m_aSlotItem
      1342. )
      1343. VALUES
      1344. (
      1345. @om_idPlayer,
      1346. @iserverindex,
      1347. '$'
      1348. )
      1349. INSERT BANK_TBL
      1350. (
      1351. m_idPlayer,
      1352. serverindex,
      1353. m_Bank,
      1354. m_BankPw,
      1355. m_apIndex_Bank,
      1356. m_dwObjIndex_Bank ,
      1357. m_dwGoldBank
      1358. )
      1359. VALUES
      1360. (
      1361. @om_idPlayer,
      1362. @iserverindex,
      1363. '$',
      1364. '0000', -- m_BankPw
      1365. '$',
      1366. '$',
      1367. '0'
      1368. )
      1369. INSERT SKILLINFLUENCE_TBL
      1370. (
      1371. m_idPlayer,
      1372. serverindex,
      1373. SkillInfluence
      1374. )
      1375. VALUES
      1376. (
      1377. @om_idPlayer,
      1378. @iserverindex,
      1379. '$'
      1380. )
      1381. INSERT INVENTORY_EXT_TBL
      1382. (
      1383. m_idPlayer,
      1384. serverindex,
      1385. m_extInventory,
      1386. m_InventoryPiercing,
      1387. szInventoryPet
      1388. )
      1389. VALUES
      1390. (
      1391. @om_idPlayer,
      1392. @iserverindex,
      1393. '$','$','$'
      1394. )
      1395. INSERT BANK_EXT_TBL
      1396. (
      1397. m_idPlayer,
      1398. serverindex,
      1399. m_extBank,
      1400. m_BankPiercing,
      1401. szBankPet
      1402. )
      1403. VALUES
      1404. (
      1405. @om_idPlayer,
      1406. @iserverindex,
      1407. '$','$','$'
      1408. )
      1409. INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition)
      1410. VALUES (@iserverindex, @om_idPlayer, 1, 0, 0)
      1411. INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition)
      1412. VALUES (@iserverindex, @om_idPlayer, 2, 0, 1)
      1413. INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition)
      1414. VALUES (@iserverindex, @om_idPlayer, 3, 0, 2)
      1415. ------------ Ver11 Pocket
      1416. INSERT tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate )
      1417. VALUES ( @iserverindex, @om_idPlayer, 0, '$', '$', '$', 0, 0 )
      1418. INSERT tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet )
      1419. VALUES ( @iserverindex, @om_idPlayer, 0, '$', '$', '$' )
      1420. INSERT tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate )
      1421. VALUES ( @iserverindex, @om_idPlayer, 1, '$', '$', '$', 1, 0 )
      1422. INSERT tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet )
      1423. VALUES ( @iserverindex, @om_idPlayer, 1, '$', '$', '$' )
      1424. INSERT tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate )
      1425. VALUES ( @iserverindex, @om_idPlayer, 2, '$', '$', '$', 1, 0 )
      1426. INSERT tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet )
      1427. VALUES ( @iserverindex, @om_idPlayer, 2, '$', '$', '$' )
      1428. -------------- Ver13 Honor
      1429. INSERT HONOR_MASTER_TBL ( serverindex, m_idPlayer, sec,c01,c02,c03,c04,c05,c06,c07,c08,c09,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,c50)
      1430. VALUES ( @iserverindex, @om_idPlayer, 1, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
      1431. /*
      1432. 2007-06-21 ~ 2007-07-18 New character item urgent event
      1433. */
      1434. declare @ntime Varchar
      1435. select @ntime = getdate()
      1436. if(@ntime >= '2007-06-21 00:00:00.000' and @ntime <= '2007-07-18 23:59:59.999')
      1437. begin
      1438. declare @etime bigint
      1439. select @etime = cast(replace(replace(replace(convert(char(16), dateadd(d, 7, getdate()), 21), '-', ''), ' ', ''), ':', '') as bigint)
      1440. if(@im_dwSex = 0)
      1441. begin
      1442. insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, idSender)
      1443. select @om_idPlayer, @iserverindex, '26314', 1, '0000000'
      1444. insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_dwKeepTime, idSender)
      1445. select @om_idPlayer, @iserverindex, '15200', 1, @etime, '0000000'
      1446. end
      1447. if(@im_dwSex = 1)
      1448. begin
      1449. insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, idSender)
      1450. select @om_idPlayer, @iserverindex, '26314', 1, '0000000'
      1451. insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_dwKeepTime, idSender)
      1452. select @om_idPlayer, @iserverindex, '15202', 1, @etime, '0000000'
      1453. end
      1454. end
      1455. SELECT fError = '1', fText = 'OK',m_idPlayer=@om_idPlayer
      1456. RETURN
      1457. END
      1458. END
      1459. set nocount off
      1460. RETURN
      1461. GO
      Alles anzeigen
    • TwiLight;81035 schrieb:

      Er denkt nach...

      Ich hatte das mit datetime schonmal ausführlich erklärt.
      Wenn du dich mit internationalen Zeit/Datum-Formaten auskennst, sollte die Frage von selbst beantwortet sein...


      Kann man das so verstehen, es geht nicht weil die der befehl datetime eine falsche Uhrzeit/datum in die db schreibt und deswegen es zu diesem fehler bekommt. d.h. man muss die Schreibweise der Uhrzeit/Datum ändern damit es nicht zu problemen kommt
      -> wenn man odbc auf english stellen muss damit die meldung nicht kommt müsste die schreibweise auf english sein -> also auf deutsche Schreibweise ändern und man hats....

      Oder wie darf ich das verstehen?

      Mfg Pixelz
    • pixelz;81071 schrieb:

      Kann man das so verstehen, es geht nicht weil die der befehl datetime eine falsche Uhrzeit/datum in die db schreibt und deswegen es zu diesem fehler bekommt. d.h. man muss die Schreibweise der Uhrzeit/Datum ändern damit es nicht zu problemen kommt
      -> wenn man odbc auf english stellen muss damit die meldung nicht kommt müsste die schreibweise auf english sein -> also auf deutsche Schreibweise ändern und man hats....

      Oder wie darf ich das verstehen?

      Mfg Pixelz


      Beispiel an der MAIL_STR_REALTIME...

      Quellcode

      1. set @sdate = '2007-07-18 00:00:00'
      2. set @edate = '2007-08-31 23:59:00'


      Das ist das englische Datum/Zeit Format - YYYY-MM-DD (Year-Month-Day).
      Wenn wir das ganze ins "deutsche" (ist ja nicht nur im Deutschen so) umformen, sieht das ganze so aus :

      Quellcode

      1. set @sdate = '18-07-2007 00:00:00'
      2. set @edate = '31-08-2007 23:59:00'


      Hier ist das Datumsformat nun DD-MM-YYYY (Day-Month-Year)...
      Das wars eigentlich auch schon...