FragenThread [Offi V15][OLD]

  • [FONT="Tahoma"][COLOR="LemonChiffon"][SIZE="2"]Hallo zusammen,
    die files laufen bei mir mittlerweile auch, doch finde ich den fehler zu 2 sachen nicht (evtl überseh ichs ja)
    a) Character löschen nicht möglich
    ->Hab schon in die v14 CHARACTER_DELETE_STR geguckt, aber finde keine fehler :o
    b) Wenn man sich einloggt wird in der Account_TBL_DETAIL ja normal das "isuse" nach "J" gesetzt. Genau dies ist nicht der fall.
    Die prozedur (usp_CreateNewAccount) trägt das "isuse" mit 'O' ein. ->Ergo keine UserOnline anzeige möglich.

    falls jetzt hier jemand meint "errors pls!" -> Fail da es keine errors giebt!

    @Vorposter: bzgl 2. Zitat: geh in den client such nach den dateien und leg sie in den Model ordner der files.

    mfg
    cross[/SIZE][/COLOR][/FONT]
  • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

  • Special;114457 schrieb:

    SQL Registerscript :

    Quellcode

    1. USE [ACCOUNT_DBF]
    2. GO
    3. DECLARE @return_value int
    4. EXEC @return_value = [dbo].[usp_CreateNewAccount]
    5. @account = N'DEINE ID',
    6. @pw = N'PASSWORT IN MD5',
    7. @cash = 0,
    8. @email = N'0'
    9. SELECT 'Return Value' = @return_value
    10. GO
    Alles anzeigen


    Jo, die hatte ich auch schon, aber:

    Meldung 2812, Ebene 16, Status 62, Prozedur usp_CreateNewAccount, Zeile 15
    Die gespeicherte Prozedur 'master.dbo.xp_crypt' wurde nicht gefunden.
  • Dark~Evolution;114464 schrieb:

    Ich bräuchte die CHRACKTER_STR könnte jemand die fertige hier posten damit ich nur ausfürhen muss


    Quellcode

    1. USE [CHARACTER_01_DBF]
    2. GO
    3. /****** Object: StoredProcedure [dbo].[CHARACTER_STR] Script Date: 04/03/2010 12:42:39 ******/
    4. SET ANSI_NULLS ON
    5. GO
    6. SET QUOTED_IDENTIFIER ON
    7. GO
    8. CREATE proc [dbo].[CHARACTER_STR]
    9. @iGu CHAR(2) = 'S1',
    10. @im_idPlayer CHAR(7) = '0000001',
    11. @iserverindex CHAR(2) = '01',
    12. /**********************************************
    13. INSERT 용
    14. **********************************************/
    15. -- CHARACTER_TBL
    16. @iaccount VARCHAR(32) = '',
    17. @im_szName VARCHAR(32) = '',
    18. @iplayerslot INT = 0,
    19. @idwWorldID INT = 0,
    20. @im_dwIndex INT = 0,
    21. @im_vPos_x REAL = 0,
    22. @im_vPos_y REAL = 0,
    23. @im_vPos_z REAL = 0,
    24. @im_szCharacterKey VARCHAR(32) = '',
    25. @im_dwSkinSet INT = 0,
    26. @im_dwHairMesh INT = 0,
    27. @im_dwHairColor INT = 0,
    28. @im_dwHeadMesh INT = 0,
    29. @im_dwSex INT = 0,
    30. /**********************************************
    31. UPDATE 용
    32. **********************************************/
    33. -- CHARACTER_TBL
    34. @im_vScale_x REAL = 0,
    35. @im_dwMotion INT = 0,
    36. @im_fAngle REAL = 0,
    37. @im_nHitPoint INT = 0,
    38. @im_nManaPoint INT = 0,
    39. @im_nFatiguePoint INT = 0,
    40. @im_dwRideItemIdx INT = 0,
    41. @im_dwGold INT = 0,
    42. @im_nJob INT = 0,
    43. @im_pActMover VARCHAR(50) = '',
    44. @im_nStr INT = 0,
    45. @im_nSta INT = 0,
    46. @im_nDex INT = 0,
    47. @im_nInt INT = 0,
    48. @im_nLevel INT = 0,
    49. @im_nExp1 BIGINT = 0,
    50. @im_nExp2 BIGINT = 0,
    51. @im_aJobSkill VARCHAR(500) ='',
    52. @im_aLicenseSkill VARCHAR(500) ='',
    53. @im_aJobLv VARCHAR(500) ='',
    54. @im_dwExpertLv INT = 0,
    55. @im_idMarkingWorld INT = 0,
    56. @im_vMarkingPos_x REAL = 0,
    57. @im_vMarkingPos_y REAL = 0,
    58. @im_vMarkingPos_z REAL = 0,
    59. @im_nRemainGP INT = 0,
    60. @im_nRemainLP INT = 0,
    61. @im_nFlightLv INT = 0,
    62. @im_nFxp INT = 0,
    63. @im_nTxp INT = 0,
    64. @im_lpQuestCntArray VARCHAR(3072)= '',
    65. @im_chAuthority CHAR(1) = '',
    66. @im_dwMode INT = 0,
    67. @im_idparty INT = 0,
    68. @im_idMuerderer INT = 0,
    69. @im_nFame INT = 0,
    70. @im_nDeathExp BIGINT = 0,
    71. @im_nDeathLevel INT = 0,
    72. @im_dwFlyTime INT = 0,
    73. @im_nMessengerState INT = 0,
    74. @iTotalPlayTime INT = 0
    75. -------------- (ADD : Version8-PK System)
    76. ,@im_nPKValue int=0
    77. ,@im_dwPKPropensity int=0
    78. ,@im_dwPKExp int=0
    79. -- CARD_CUBE_TBL
    80. ,@im_Card VARCHAR(1980)= '',
    81. @im_Index_Card VARCHAR(215) = '',
    82. @im_ObjIndex_Card VARCHAR(215) = '',
    83. @im_Cube VARCHAR(1980)= '',
    84. @im_Index_Cube VARCHAR(215) = '',
    85. @im_ObjIndex_Cube VARCHAR(215) = '',
    86. -- INVENTORY_TBL
    87. @im_Inventory VARCHAR(6940)= '',
    88. @im_apIndex VARCHAR(345) = '',
    89. @im_adwEquipment VARCHAR(135) = '',
    90. @im_dwObjIndex VARCHAR(345) = '',
    91. -- TASKBAR_TBL
    92. @im_aSlotApplet VARCHAR(3100)= '',
    93. -- TASKBAR_ITEM_TBL
    94. @im_aSlotItem VARCHAR(6885)= '',
    95. -- TASKBAR_TBL
    96. @im_aSlotQueue VARCHAR(225)= '',
    97. @im_SkillBar SMALLINT = 0,
    98. -- BANK_TBL
    99. @im_Bank VARCHAR(4290)= '',
    100. @im_apIndex_Bank VARCHAR(215)= '',
    101. @im_dwObjIndex_Bank VARCHAR(215)= '',
    102. @im_dwGoldBank INT = 0,
    103. @im_nFuel INT = -1,
    104. @im_tmAccFuel INT = 0,
    105. @im_dwSMTime VARCHAR(2560)='',
    106. @iSkillInfluence varchar(2048) ='',
    107. @im_dwSkillPoint INT = 0,
    108. @im_aCompleteQuest varchar(1024) = '',
    109. @im_extInventory varchar(2000) = '',
    110. @im_extBank varchar(2000) = '',
    111. @im_InventoryPiercing varchar(8000) = '',
    112. @im_BankPiercing varchar(8000) = '',
    113. @im_dwReturnWorldID INT = 1,
    114. @im_vReturnPos_x REAL = 0,
    115. @im_vReturnPos_y REAL = 0,
    116. @im_vReturnPos_z REAL = 0,
    117. -------------- ( Version 7 : Skill Update)
    118. @im_SkillPoint int=0,
    119. @im_SkillLv int=0,
    120. @im_SkillExp bigint=0,
    121. -------------- (추가 부분 : 2006 11 13 Attendant Class)
    122. @idwEventFlag bigint=0,
    123. @idwEventTime int=0,
    124. @idwEventElapsed int=0
    125. -------------- (ADD : Version8-Angel System)
    126. ,@im_nAngelExp bigint=0
    127. ,@im_nAngelLevel int=0
    128. --------------- Version 9 추가 부분 Pet관련
    129. ,@iszInventoryPet varchar(4200) = '$'
    130. ,@iszBankPet varchar(4200) = '$'
    131. ,@im_dwPetId int = -1
    132. ,@im_nExpLog int = 0
    133. ,@im_nAngelExpLog int = 0
    134. , @im_nCoupon int = 0
    135. ---------- Ver.13
    136. , @im_nHonor int = -1
    137. , @im_nLayer int = 0
    138. ---------- Ver 15
    139. --, @im_BankPW char(4) = '0000'
    140. , @im_aCheckedQuest varchar(100) =''
    141. , @im_nCampusPoint int = 0
    142. , @im_idCampus int = 0
    143. /*******************************************************
    144. Gu 구분
    145. S : SELECT
    146. I : INSERT
    147. U : UPDATE
    148. D : DELETE
    149. 2005.04.11 updated
    150. ALTER TABLE CHARACTER_TBL ADD m_aCompleteQuest varchar(1024) NULL
    151. ALTER TABLE CHARACTER_TBL ALTER COLUMN m_lpQuestCntArray VARCHAR(3072) NULL
    152. *******************************************************/
    153. AS
    154. set nocount on
    155. declare @last_connect tinyint
    156. set @last_connect = 1
    157. DECLARE @om_chLoginAuthority CHAR(1),@oaccount VARCHAR(32),@oplayerslot INT
    158. IF @iGu = 'S2' -- 슬롯에 따른 플레이어리스트 인벤토리정보 가져오기
    159. BEGIN
    160. IF @iaccount = '' OR @im_szName = ''
    161. BEGIN
    162. SELECT m_chAuthority = '',fError = '1', fText = '암호틀림'
    163. RETURN
    164. END
    165. SELECT A.dwWorldID,
    166. A.m_szName,
    167. A.playerslot,
    168. A.End_Time,
    169. A.BlockTime,
    170. A.m_dwIndex,
    171. A.m_idPlayer,
    172. A.m_idparty,
    173. A.m_dwSkinSet,
    174. A.m_dwHairMesh,
    175. A.m_dwHeadMesh,
    176. A.m_dwHairColor,
    177. A.m_dwSex,
    178. A.m_nJob,
    179. A.m_nLevel,
    180. A.m_vPos_x,
    181. A.m_vPos_y,
    182. A.m_vPos_z,
    183. A.m_nStr,
    184. A.m_nSta,
    185. A.m_nDex,
    186. A.m_nInt,
    187. A.m_aJobLv,
    188. A.m_chAuthority,
    189. A.m_idCompany,
    190. A.m_nMessengerState,
    191. B.m_Inventory,
    192. B.m_apIndex,
    193. B.m_adwEquipment,
    194. B.m_dwObjIndex,
    195. m_idGuild = CASE WHEN C.m_idGuild IS NULL THEN '0' ELSE C.m_idGuild END ,
    196. m_idWar = CASE WHEN C.m_idWar IS NULL THEN '0' ELSE C.m_idWar END,
    197. D.m_extInventory,
    198. D.m_InventoryPiercing,
    199. ------------- ver. 13
    200. A.m_nHonor,
    201. last_connect = @last_connect
    202. FROM CHARACTER_TBL A, INVENTORY_TBL B,GUILD_MEMBER_TBL C, INVENTORY_EXT_TBL D
    203. WHERE A.m_idPlayer = B.m_idPlayer
    204. AND A.serverindex= B.serverindex
    205. AND B.m_idPlayer = D.m_idPlayer
    206. AND B.serverindex = D.serverindex
    207. AND D.m_idPlayer *= C.m_idPlayer
    208. AND D.serverindex *= C.serverindex
    209. AND A.isblock = 'F'
    210. AND A.account = @iaccount
    211. AND A.serverindex= @iserverindex
    212. ORDER BY A.playerslot
    213. insert into CHARACTER_TBL_penya_check (account, m_szName, m_dwGold, check_sec, serverindex)
    214. select @iaccount, m_szName, m_dwGold, 9, @iserverindex
    215. from CHARACTER_TBL (nolock)
    216. where account = @iaccount and serverindex = @iserverindex and TotalPlayTime < 1 and m_dwGold >= 1
    217. RETURN
    218. END
    219. /*
    220. 슬롯에 따른 플레이어리스트 인벤토리정보 가져오기
    221. ex )
    222. CHARACTER_STR 'S2',@im_idPlayer (iMode),@iserverindex,@iaccount,@im_szName (iPassword)
    223. CHARACTER_STR 'S2','0','02','seghope','1234'
    224. */
    225. ELSE
    226. IF @iGu = 'S3' -- 서버가 처음실행을 할대 캐릭터의 idPlayer를 다 가지고옴
    227. BEGIN
    228. SELECT m_szName, m_idPlayer,m_idCompany
    229. FROM CHARACTER_TBL
    230. WHERE serverindex = @iserverindex
    231. -- AND isblock = 'F'
    232. ORDER BY m_idPlayer
    233. RETURN
    234. END
    235. /*
    236. 서버가 처음실행을 할대 캐릭터의 idPlayer를 다 가지고옴
    237. ex )
    238. CHARACTER_STR 'S3','',@iserverindex
    239. CHARACTER_STR 'S3','','01'
    240. */
    241. ELSE
    242. IF @iGu = 'S4' -- 추가할 아이템 확인
    243. BEGIN
    244. declare @q1 nvarchar(4000)
    245. set @q1 = '
    246. SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
    247. m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime, nRandomOptItemId,
    248. isnull(adwItemId5, 0) as adwItemId5, isnull(adwItemId6, 0) as adwItemId6, isnull(adwItemId7, 0) as adwItemId7, isnull(adwItemId8, 0) as adwItemId8, isnull(adwItemId9, 0) as adwItemId9, isnull(nUMPiercedSize, 0) as nUMPiercedSize,
    249. isnull(adwUMItemId0, 0) as adwUMItemId0, isnull(adwUMItemId1, 0) as adwUMItemId1, isnull(adwUMItemId2, 0) as adwUMItemId2, isnull(adwUMItemId3, 0) as adwUMItemId3, isnull(adwUMItemId4, 0) as adwUMItemId4
    250. FROM ITEM_SEND_TBL
    251. WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
    252. exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
    253. /*
    254. SELECT Item_Name,
    255. Item_count,
    256. m_nAbilityOption,
    257. m_nNo,
    258. m_bItemResist,
    259. m_nResistAbilityOption,
    260. m_bCharged,
    261. nPiercedSize,
    262. adwItemId0,
    263. adwItemId1,
    264. adwItemId2,
    265. adwItemId3,
    266. m_dwKeepTime
    267. FROM ITEM_SEND_TBL
    268. WHERE m_idPlayer = @im_idPlayer
    269. AND serverindex = @iserverindex
    270. AND ItemFlag = 0
    271. */
    272. RETURN
    273. END
    274. /*
    275. 아이템 확인
    276. ex )
    277. CHARACTER_STR 'S4',@im_idPlayer,@iserverindex
    278. CHARACTER_STR 'S4','000001','01'
    279. */
    280. ELSE
    281. IF @iGu = 'S5' -- 아이템 지급후 테이블에서 아이템 삭제
    282. BEGIN
    283. -- DELETE ITEM_SEND_TBL
    284. UPDATE ITEM_SEND_TBL SET ProvideDt=getdate(), ItemFlag=1
    285. WHERE m_nNo = @iplayerslot
    286. IF @@ROWCOUNT = 0
    287. SELECT fError = '0'
    288. ELSE
    289. SELECT fError = '1'
    290. RETURN
    291. END
    292. /*
    293. 아이템 지급후 테이블에서 아이템 삭제
    294. ex )
    295. CHARACTER_STR 'S5',@im_idPlayer,@iserverindex,@iaccount
    296. CHARACTER_STR 'S5','000001','01','빗자루',1,1
    297. */
    298. ELSE
    299. IF @iGu = 'S6' -- 삭제할 아이템 확인
    300. BEGIN
    301. SELECT Item_Name,
    302. Item_count,
    303. m_nAbilityOption,
    304. m_nNo,
    305. State,
    306. m_bItemResist,
    307. m_nResistAbilityOption
    308. FROM ITEM_REMOVE_TBL
    309. WHERE m_idPlayer = @im_idPlayer
    310. AND serverindex = @iserverindex
    311. AND ItemFlag = 0
    312. RETURN
    313. END
    314. /*
    315. 아이템 확인
    316. ex )
    317. CHARACTER_STR 'S6',@im_idPlayer,@iserverindex
    318. CHARACTER_STR 'S6','000001','01'
    319. */
    320. ELSE
    321. IF @iGu = 'S7' -- 아이템 삭제후 테이블에서 아이템 삭제
    322. BEGIN
    323. -- DELETE ITEM_REMOVE_TBL
    324. UPDATE ITEM_REMOVE_TBL SET DeleteDt=getdate(), ItemFlag=1
    325. WHERE m_nNo = @iplayerslot
    326. IF @@ROWCOUNT = 0
    327. SELECT fError = '0'
    328. ELSE
    329. SELECT fError = '1'
    330. RETURN
    331. END
    332. /*
    333. 아이템 지급후 테이블에서 아이템 삭제
    334. ex )
    335. CHARACTER_STR 'S7',@im_idPlayer,@iserverindex,@iaccount
    336. CHARACTER_STR 'S7','000001','01','빗자루',1,1
    337. */
    338. IF @iGu = 'S8' -- 데이터 전체 가져오기
    339. BEGIN
    340. -- 뱅크 정보 가져오기 character 별
    341. SELECT @om_chLoginAuthority = m_chLoginAuthority
    342. FROM ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL
    343. WHERE account = @iaccount
    344. SELECT m_chLoginAuthority = @om_chLoginAuthority,
    345. A.account,
    346. A.m_idPlayer,
    347. A.playerslot,
    348. A.serverindex,
    349. A.dwWorldID,
    350. A.m_szName,
    351. A.m_dwIndex,
    352. A.m_vScale_x,
    353. A.m_dwMotion,
    354. A.m_vPos_x,
    355. A.m_vPos_y,
    356. A.m_vPos_z,
    357. A.m_fAngle,
    358. A.m_szCharacterKey,
    359. A.m_idPlayer,
    360. A.m_nHitPoint,
    361. A.m_nManaPoint,
    362. A.m_nFatiguePoint,
    363. A.m_nFuel,
    364. A.m_dwSkinSet,
    365. A.m_dwHairMesh,
    366. A.m_dwHairColor,
    367. A.m_dwHeadMesh,
    368. A.m_dwSex,
    369. A.m_dwRideItemIdx,
    370. A.m_dwGold,
    371. A.m_nJob,
    372. A.m_pActMover,
    373. A.m_nStr,
    374. A.m_nSta,
    375. A.m_nDex,
    376. A.m_nInt,
    377. A.m_nLevel,
    378. A.m_nMaximumLevel,
    379. A.m_nExp1,
    380. A.m_nExp2,
    381. A.m_aJobSkill,
    382. A.m_aLicenseSkill,
    383. A.m_aJobLv,
    384. A.m_dwExpertLv,
    385. A.m_idMarkingWorld,
    386. A.m_vMarkingPos_x,
    387. A.m_vMarkingPos_y,
    388. A.m_vMarkingPos_z,
    389. A.m_nRemainGP,
    390. A.m_nRemainLP,
    391. A.m_nFlightLv,
    392. A.m_nFxp,
    393. A.m_nTxp,
    394. A.m_lpQuestCntArray,
    395. m_aCompleteQuest = ISNULL(A.m_aCompleteQuest,'$'),
    396. A.m_chAuthority,
    397. A.m_dwMode,
    398. A.m_idparty,
    399. A.m_idCompany,
    400. A.m_idMuerderer,
    401. A.m_nFame,
    402. A.m_nDeathExp,
    403. A.m_nDeathLevel,
    404. A.m_dwFlyTime,
    405. A.m_nMessengerState,
    406. A.End_Time,
    407. A.BlockTime,
    408. A.blockby,
    409. A.isblock,
    410. A.TotalPlayTime,
    411. A.CreateTime,
    412. A.m_dwSkillPoint,
    413. B.m_aSlotApplet,
    414. B.m_aSlotQueue,
    415. B.m_SkillBar,
    416. C.m_aSlotItem,
    417. D.m_Inventory,
    418. D.m_apIndex,
    419. D.m_adwEquipment,
    420. D.m_dwObjIndex,
    421. m_idGuild = ISNULL(G.m_idGuild,'0'),
    422. m_idWar = ISNULL(G.m_idWar,'0'),
    423. A.m_tmAccFuel,
    424. A.m_tGuildMember,
    425. m_dwSMTime = ISNULL(H.m_dwSMTime,'NULL') ,
    426. SkillInfluence = ISNULL(E.SkillInfluence,'$'),
    427. F.m_extInventory,
    428. F.m_InventoryPiercing,
    429. A.m_dwReturnWorldID,
    430. A.m_vReturnPos_x,
    431. A.m_vReturnPos_y,
    432. A.m_vReturnPos_z,
    433. last_connect = @last_connect,
    434. A.m_SkillPoint,
    435. A.m_SkillLv,
    436. A.m_SkillExp,
    437. -------------- (2006 11 13 추가 부분 : Attedant Event)
    438. A.dwEventFlag,
    439. A.dwEventTime,
    440. A.dwEventElapsed
    441. -------------- (Version8 : PK System)
    442. ,A.PKValue as m_nPKValue
    443. ,A.PKPropensity as m_dwPKPropensity
    444. ,A.PKExp as m_dwPKExp
    445. -------------- (Version8 : Angel System)
    446. ,A.AngelExp as m_nAngelExp
    447. ,A.AngelLevel as m_nAngelLevel
    448. ------------------- Version9 Pet
    449. ,F.szInventoryPet as szInventoryPet
    450. ,A.m_dwPetId
    451. , A.m_nExpLog, A.m_nAngelExpLog
    452. , m_nCoupon
    453. ---------------- ver.13
    454. , A.m_nLayer
    455. ---------- Ver 15
    456. , A.m_aCheckedQuest
    457. , A.m_nCampusPoint
    458. , A.idCampus
    459. , isnull(R.m_nRestPoint, 0) m_nRestPoint
    460. , isnull(R.m_LogOutTime, 0) m_LogOutTime
    461. FROM CHARACTER_TBL A,
    462. TASKBAR_TBL B,
    463. TASKBAR_ITEM_TBL C,
    464. INVENTORY_TBL D,
    465. SKILLINFLUENCE_TBL E,
    466. INVENTORY_EXT_TBL F,
    467. GUILD_MEMBER_TBL G,
    468. BILING_ITEM_TBL H
    469. , tblRestPoint R
    470. WHERE A.m_idPlayer = @im_idPlayer
    471. AND A.serverindex = @iserverindex
    472. AND A.m_idPlayer = B.m_idPlayer
    473. AND A.serverindex = B.serverindex
    474. AND B.m_idPlayer = C.m_idPlayer
    475. AND B.serverindex = C.serverindex
    476. AND C.m_idPlayer = D.m_idPlayer
    477. AND C.serverindex = D.serverindex
    478. AND D.m_idPlayer = E.m_idPlayer
    479. AND D.serverindex = E.serverindex
    480. AND E.m_idPlayer = F.m_idPlayer
    481. AND E.serverindex = F.serverindex
    482. AND F.serverindex *= G.serverindex
    483. AND F.m_idPlayer *= G.m_idPlayer
    484. AND F.serverindex *= R.serverindex
    485. AND F.m_idPlayer *= R.m_idPlayer
    486. AND F.serverindex *= H.serverindex
    487. AND F.m_idPlayer *= H.m_idPlayer
    488. AND A.account = lower(@iaccount)
    489. insert into CHARACTER_TBL_validity_check (m_idPlayer, serverindex, account, m_szName, TotalPlayTime, m_dwGold, m_nLevel, m_nJob, sum_ability, CreateTime)
    490. select m_idPlayer, serverindex, account, m_szName, TotalPlayTime, m_dwGold, m_nLevel, m_nJob, (m_nStr + m_nSta + m_nDex + m_nInt), CreateTime
    491. from CHARACTER_TBL (nolock)
    492. where m_idPlayer = @im_idPlayer and TotalPlayTime <= 1
    493. and (m_dwGold >= 1 or m_nLevel >= 2 or m_nJob >= 1 or (m_nStr + m_nSta + m_nDex + m_nInt) > 60)
    494. declare @m_dwGold_old bigint, @m_dwGold_now bigint
    495. select @m_dwGold_old = m_dwGold from tblLogout_Penya (nolock) where m_idPlayer = @im_idPlayer
    496. select @m_dwGold_now = m_dwGold from CHARACTER_TBL (nolock) where serverindex = @iserverindex and m_idPlayer = @im_idPlayer
    497. if (@m_dwGold_old <> @m_dwGold_now)
    498. begin
    499. insert into tblLogout_Penya_Diff_Log (serverindex, m_idPlayer, m_dwGold_old, regdate_old, m_dwGold_now)
    500. select serverindex, m_idPlayer, @m_dwGold_old, regdate, @m_dwGold_now
    501. from tblLogout_Penya (nolock)
    502. where m_idPlayer = @im_idPlayer and serverindex = @iserverindex
    503. end
    504. -- 뱅크 정보 가져오기 account 별
    505. -- DECLARE @bank TABLE (m_idPlayer CHAR(6),serverindex CHAR(2),playerslot INT)
    506. --
    507. -- INSERT @bank
    508. -- (m_idPlayer,serverindex,playerslot)
    509. -- SELECT m_idPlayer,serverindex,playerslot
    510. -- FROM CHARACTER_TBL
    511. -- WHERE account = @iaccount
    512. -- AND isblock = 'F'
    513. -- ORDER BY playerslot
    514. SELECT a.m_idPlayer,
    515. c.playerslot,
    516. a.m_Bank,
    517. a.m_apIndex_Bank,
    518. a.m_dwObjIndex_Bank,
    519. a.m_dwGoldBank,
    520. a.m_BankPw,
    521. b.m_extBank,
    522. b.m_BankPiercing
    523. ,b.szBankPet
    524. FROM dbo.BANK_TBL a,
    525. dbo.BANK_EXT_TBL b,
    526. dbo.CHARACTER_TBL c
    527. WHERE a.m_idPlayer = b.m_idPlayer
    528. AND a.serverindex = b.serverindex
    529. AND b.m_idPlayer = c.m_idPlayer
    530. AND b.serverindex = c.serverindex
    531. AND c.account = @iaccount
    532. AND c.isblock = 'F'
    533. ORDER BY c.playerslot
    534. -- 휴대 가방 가져오기
    535. SELECT a.nPocket,
    536. a.szItem,
    537. a.szIndex,
    538. a.szObjIndex,
    539. a.bExpired,
    540. a.tExpirationDate,
    541. b.szExt,
    542. b.szPiercing,
    543. b.szPet
    544. FROM tblPocket as a inner join tblPocketExt as b
    545. on a.serverindex = b.serverindex AND a.idPlayer = b.idPlayer AND a.nPocket = b.nPocket
    546. WHERE a.serverindex = @iserverindex AND a.idPlayer = @im_idPlayer
    547. ORDER BY a.nPocket
    548. RETURN
    549. END
    550. /*
    551. 데이터 전체 가져오기 New
    552. ex )
    553. CHARACTER_STR 'S8',@im_idPlayer,@iserverindex,@iaccount
    554. CHARACTER_STR 'S8','425120','01','ata3k'
    555. */
    556. ELSE
    557. IF @iGu = 'U1' -- 캐릭터 저장
    558. BEGIN
    559. UPDATE CHARACTER_TBL
    560. SET dwWorldID = @idwWorldID,
    561. m_dwIndex = @im_dwIndex,
    562. m_dwSex = @im_dwSex,
    563. m_vScale_x = @im_vScale_x,
    564. m_dwMotion = @im_dwMotion,
    565. m_vPos_x = @im_vPos_x,
    566. m_vPos_y = @im_vPos_y,
    567. m_vPos_z = @im_vPos_z,
    568. m_dwHairMesh = @im_dwHairMesh,
    569. m_dwHairColor = @im_dwHairColor,
    570. m_dwHeadMesh = @im_dwHeadMesh, -- 2004/11/08 추가
    571. m_fAngle = 0, --@im_fAngle,
    572. m_szCharacterKey = @im_szCharacterKey,
    573. m_nHitPoint = @im_nHitPoint,
    574. m_nManaPoint = @im_nManaPoint,
    575. m_nFatiguePoint = @im_nFatiguePoint,
    576. m_nFuel = @im_nFuel,
    577. m_dwRideItemIdx = @im_dwRideItemIdx,
    578. m_dwGold = @im_dwGold,
    579. m_nJob = @im_nJob,
    580. m_pActMover = @im_pActMover,
    581. m_nStr = @im_nStr,
    582. m_nSta = @im_nSta,
    583. m_nDex = @im_nDex,
    584. m_nInt = @im_nInt,
    585. m_nLevel = @im_nLevel,
    586. m_nMaximumLevel = CASE WHEN m_nMaximumLevel < @im_nLevel THEN @im_nLevel ELSE m_nMaximumLevel END,
    587. m_nExp1 = @im_nExp1,
    588. m_nExp2 = @im_nExp2,
    589. m_aJobSkill = @im_aJobSkill,
    590. m_aLicenseSkill = @im_aLicenseSkill,
    591. m_aJobLv = @im_aJobLv,
    592. m_dwExpertLv = @im_dwExpertLv,
    593. m_idMarkingWorld = @im_idMarkingWorld,
    594. m_vMarkingPos_x = @im_vMarkingPos_x,
    595. m_vMarkingPos_y = @im_vMarkingPos_y,
    596. m_vMarkingPos_z = @im_vMarkingPos_z,
    597. m_nRemainGP = @im_nRemainGP,
    598. m_nRemainLP = @im_nRemainLP,
    599. m_nFlightLv = @im_nFlightLv,
    600. m_nFxp = @im_nFxp,
    601. m_nTxp = @im_nTxp,
    602. m_lpQuestCntArray = @im_lpQuestCntArray,
    603. m_aCompleteQuest = @im_aCompleteQuest,
    604. m_dwMode = @im_dwMode,
    605. m_idparty = @im_idparty,
    606. m_idMuerderer = @im_idMuerderer,
    607. m_nFame = @im_nFame,
    608. m_nDeathExp = @im_nDeathExp,
    609. m_nDeathLevel = @im_nDeathLevel,
    610. m_nMessengerState = @im_nMessengerState,
    611. --m_dwFlyTime = m_dwFlyTime + @im_dwFlyTime,
    612. m_dwFlyTime = @im_dwFlyTime,
    613. TotalPlayTime = TotalPlayTime + @iTotalPlayTime,
    614. m_tmAccFuel = @im_tmAccFuel,
    615. m_dwSkillPoint = @im_dwSkillPoint,
    616. m_dwReturnWorldID= @im_dwReturnWorldID,
    617. m_vReturnPos_x = @im_vReturnPos_x,
    618. m_vReturnPos_y = @im_vReturnPos_y,
    619. m_vReturnPos_z = @im_vReturnPos_z,
    620. m_SkillPoint =@im_SkillPoint,
    621. m_SkillLv =@im_SkillLv,
    622. m_SkillExp =@im_SkillExp
    623. -------------- (추가 부분 : 2006 11 13 Attendant Event)
    624. , dwEventFlag =@idwEventFlag
    625. , dwEventTime =@idwEventTime
    626. , dwEventElapsed =@idwEventElapsed
    627. -------------- (ADD: Version8-PK System)
    628. , PKValue = @im_nPKValue
    629. , PKPropensity = @im_dwPKPropensity
    630. , PKExp = @im_dwPKExp
    631. -------------- (ADD: Version8-Angel System)
    632. , AngelExp = @im_nAngelExp
    633. , AngelLevel = @im_nAngelLevel
    634. --------------------- Version9 Pet
    635. , m_dwPetId = @im_dwPetId
    636. , m_nExpLog = @im_nExpLog
    637. , m_nAngelExpLog = @im_nAngelExpLog
    638. , m_nCoupon = @im_nCoupon
    639. ------------- ver. 13
    640. , m_nHonor = @im_nHonor
    641. , m_nLayer = @im_nLayer
    642. ---------- Ver 15
    643. , m_aCheckedQuest = @im_aCheckedQuest
    644. , m_nCampusPoint = @im_nCampusPoint
    645. , idCampus = @im_idCampus
    646. WHERE m_idPlayer = @im_idPlayer
    647. AND serverindex = @iserverindex
    648. -- if object_id('QUEST_TBL') is not null
    649. -- EXEC QUEST_STR 'A1',@im_idPlayer,@iserverindex,@im_lpQuestCntArray
    650. update tblLogout_Penya
    651. set m_dwGold = @im_dwGold, regdate = getdate()
    652. where m_idPlayer = @im_idPlayer and serverindex = @iserverindex
    653. IF @im_nLevel>=120 BEGIN
    654. UPDATE CHARACTER_TBL
    655. SET FinalLevelDt=getdate()
    656. WHERE serverindex=@iserverindex
    657. AND m_idPlayer=@im_idPlayer
    658. AND FinalLevelDt='2000-01-01'
    659. END
    660. --송현석 요청사항 빌링 관련
    661. IF @im_dwSMTime > ''
    662. BEGIN
    663. IF EXISTS(SELECT * FROM BILING_ITEM_TBL WHERE m_idPlayer= @im_idPlayer AND serverindex = @iserverindex)
    664. UPDATE BILING_ITEM_TBL
    665. SET m_dwSMTime = @im_dwSMTime
    666. WHERE m_idPlayer = @im_idPlayer
    667. AND serverindex = @iserverindex
    668. ELSE
    669. INSERT BILING_ITEM_TBL
    670. (m_idPlayer,serverindex,m_dwSMTime)
    671. VALUES
    672. (@im_idPlayer,@iserverindex,@im_dwSMTime)
    673. END
    674. ELSE
    675. DELETE BILING_ITEM_TBL
    676. WHERE m_idPlayer = @im_idPlayer
    677. AND serverindex = @iserverindex
    678. -- UPDATE CARD_CUBE_TBL
    679. -- SET m_Card = @im_Card,
    680. -- m_apIndex_Card = @im_Index_Card,
    681. -- m_dwObjIndex_Card= @im_ObjIndex_Card,
    682. -- m_Cube = @im_Cube,
    683. -- m_apIndex_Cube = @im_Index_Cube,
    684. -- m_dwObjIndex_Cube=@im_ObjIndex_Cube
    685. -- WHERE m_idPlayer = @im_idPlayer
    686. -- AND serverindex = @iserverindex
    687. UPDATE INVENTORY_TBL
    688. SET m_Inventory = @im_Inventory,
    689. m_apIndex = @im_apIndex,
    690. m_adwEquipment = @im_adwEquipment,
    691. m_dwObjIndex = @im_dwObjIndex
    692. WHERE m_idPlayer = @im_idPlayer
    693. AND serverindex = @iserverindex
    694. UPDATE TASKBAR_TBL
    695. SET m_aSlotApplet = @im_aSlotApplet,
    696. m_aSlotQueue = @im_aSlotQueue,
    697. m_SkillBar = @im_SkillBar
    698. WHERE m_idPlayer = @im_idPlayer
    699. AND serverindex = @iserverindex
    700. UPDATE TASKBAR_ITEM_TBL
    701. SET m_aSlotItem = @im_aSlotItem
    702. WHERE m_idPlayer = @im_idPlayer
    703. AND serverindex = @iserverindex
    704. UPDATE BANK_TBL
    705. SET m_Bank = @im_Bank,
    706. m_apIndex_Bank = @im_apIndex_Bank,
    707. m_dwObjIndex_Bank = @im_dwObjIndex_Bank,
    708. m_dwGoldBank = @im_dwGoldBank
    709. WHERE m_idPlayer = @im_idPlayer
    710. AND serverindex = @iserverindex
    711. UPDATE SKILLINFLUENCE_TBL
    712. SET SkillInfluence = @iSkillInfluence
    713. WHERE m_idPlayer = @im_idPlayer
    714. AND serverindex = @iserverindex
    715. UPDATE INVENTORY_EXT_TBL
    716. SET m_extInventory = @im_extInventory,
    717. m_InventoryPiercing= @im_InventoryPiercing
    718. ,szInventoryPet = @iszInventoryPet
    719. WHERE m_idPlayer = @im_idPlayer
    720. AND serverindex = @iserverindex
    721. UPDATE BANK_EXT_TBL
    722. SET m_extBank = @im_extBank,
    723. m_BankPiercing = @im_BankPiercing
    724. , szBankPet = @iszBankPet
    725. WHERE m_idPlayer = @im_idPlayer
    726. AND serverindex = @iserverindex
    727. SELECT fError = '1', fText = 'OK'
    728. RETURN
    729. END
    730. /*
    731. 정보업데이트
    732. ex )
    733. CHARACTER_STR 'U1', ALL ...
    734. CHARACTER_STR 'U1','000001','01' ...
    735. */
    736. ELSE
    737. IF @iGu = 'U2' --총 이용시간 수정
    738. BEGIN
    739. UPDATE CHARACTER_TBL
    740. SET TotalPlayTime = TotalPlayTime + @iplayerslot
    741. WHERE m_szName = @im_szName
    742. AND serverindex = @iserverindex
    743. RETURN
    744. END
    745. /*
    746. 총 이용시간 수정
    747. ex )
    748. CHARACTER_STR 'U2','',@iserverindex,'',@im_szName,@iplayerslot (@iTotalPlayTime)
    749. CHARACTER_STR 'U2','','01','','beat',10234
    750. */
    751. ELSE
    752. IF @iGu = 'U3' --총 이용시간 수정 new
    753. BEGIN
    754. UPDATE CHARACTER_TBL
    755. SET TotalPlayTime = TotalPlayTime + @iplayerslot
    756. WHERE m_idPlayer = @im_idPlayer
    757. AND serverindex = @iserverindex
    758. RETURN
    759. END
    760. /*
    761. 총 이용시간 수정 (new)
    762. ex )
    763. CHARACTER_STR 'U3',@im_idPlayer,@iserverindex,'','',@iplayerslot (@iTotalPlayTime)
    764. CHARACTER_STR 'U3','000001','01','','',10234
    765. */
    766. ELSE
    767. IF @iGu = 'U4' --캐릭터 명 변경
    768. BEGIN
    769. IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE m_szName = @im_szName AND serverindex = @iserverindex)
    770. BEGIN
    771. SELECT fError = '0'
    772. END
    773. ELSE
    774. BEGIN
    775. UPDATE CHARACTER_TBL
    776. SET m_szName = @im_szName
    777. WHERE m_idPlayer = @im_idPlayer
    778. AND serverindex = @iserverindex
    779. SELECT fError = '1'
    780. END
    781. RETURN
    782. END
    783. -- Ver 15
    784. ELSE
    785. IF @iGu = 'U5' --사제 포인트 업데이트 추가
    786. BEGIN
    787. IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex)
    788. BEGIN
    789. UPDATE CHARACTER_TBL
    790. SET m_nCampusPoint = m_nCampusPoint + @iplayerslot
    791. WHERE m_idPlayer = @im_idPlayer
    792. AND serverindex = @iserverindex
    793. declare @u5m_nCampusPoint int
    794. select @u5m_nCampusPoint = m_nCampusPoint from CHARACTER_TBL (nolock) WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex
    795. SELECT fError = '1', @u5m_nCampusPoint m_nCampusPoint
    796. END
    797. ELSE
    798. RETURN
    799. END
    800. ELSE
    801. IF @iGu = 'U6' -- 사제 ID 업데이트 추가
    802. BEGIN
    803. IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex)
    804. BEGIN
    805. UPDATE CHARACTER_TBL
    806. SET idCampus = @iplayerslot
    807. WHERE m_idPlayer = @im_idPlayer
    808. AND serverindex = @iserverindex
    809. SELECT fError = '1'
    810. END
    811. ELSE
    812. BEGIN
    813. SELECT fError = '0'
    814. END
    815. RETURN
    816. END
    817. /*
    818. 캐릭터 명 변경
    819. ex )
    820. CHARACTER_STR 'U4',@im_idPlayer,@iserverindex,@iaccount,@im_szName
    821. CHARACTER_STR 'U4','000001','01','','샛별공주'
    822. */
    823. ELSE
    824. IF @iGu = 'D1' -- 캐릭터 삭제
    825. BEGIN
    826. IF @im_szName = ''
    827. BEGIN
    828. SELECT fError = '1', fText = '주민번호틀림'
    829. RETURN
    830. END
    831. if not exists (select * from CHARACTER_TBL where m_idPlayer = @im_idPlayer and account = @iaccount and serverindex = @iserverindex)
    832. begin
    833. select fError = '1'
    834. return
    835. end
    836. DECLARE @Exists int
    837. IF EXISTS(SELECT name from syscolumns where name='m_idPlayer' AND collation= 'Japanese_BIN')
    838. BEGIN
    839. IF EXISTS(SELECT * FROM ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL WHERE account = @iaccount AND (password = @im_szName OR member = 'B' ))
    840. SET @Exists = 1
    841. ELSE
    842. SET @Exists = 0
    843. END
    844. ELSE
    845. BEGIN
    846. IF EXISTS(SELECT * FROM ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL WHERE account = @iaccount AND (id_no2 = @im_szName OR member = 'B' ))
    847. SET @Exists = 1
    848. ELSE
    849. SET @Exists = 0
    850. END
    851. IF @Exists > 0
    852. BEGIN
    853. DECLARE @currDate char(12)
    854. SET @currDate = CONVERT(CHAR(8),GETDATE(),112)
    855. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(hh,GETDATE())),2)
    856. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(mi,GETDATE())),2)
    857. IF EXISTS(SELECT m_idPlayer FROM GUILD_MEMBER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND m_idWar > 0)
    858. BEGIN
    859. SELECT fError = '3', fText = '길드전중'
    860. RETURN
    861. END
    862. ELSE
    863. BEGIN
    864. UPDATE CHARACTER_TBL
    865. SET isblock = 'D',
    866. End_Time = @currDate ,
    867. BlockTime = LEFT(@currDate,8)
    868. WHERE m_idPlayer = @im_idPlayer
    869. AND serverindex = @iserverindex
    870. UPDATE MESSENGER_TBL
    871. SET State = 'D'
    872. WHERE m_idPlayer = @im_idPlayer
    873. AND serverindex = @iserverindex
    874. UPDATE MESSENGER_TBL
    875. SET State = 'D'
    876. WHERE f_idPlayer = @im_idPlayer
    877. AND serverindex = @iserverindex
    878. /****************************************************************************************/
    879. /** 200506 event **/
    880. /****************************************************************************************/
    881. -- if (not exists(select account from RANKING.RANKING_DBF.dbo.last_1_month_tbl where account = @iaccount)
    882. -- and convert(char(10),getdate(),120) between '2005-07-05' and '2005-07-12')
    883. --
    884. -- begin --: 1개월 이상 접속경험이 없는 계정대상 유저
    885. -- declare @cash int,@get_cach int
    886. -- select @cash = case when m_nLevel between 10 and 19 then 500
    887. -- when m_nLevel between 20 and 39 then 1000
    888. -- when m_nLevel between 40 and 49 then 1500
    889. -- when m_nLevel between 50 and 59 then 2000
    890. -- when m_nLevel between 60 and 69 then 2500
    891. -- when m_nLevel >= 70 then 3000
    892. -- else 0 end
    893. -- from CHARACTER_TBL
    894. -- where m_idPlayer = @im_idPlayer and serverindex = @iserverindex
    895. --
    896. -- select @get_cach = isnull(sum(amount),0)
    897. -- from RANKING.RANKING_DBF.dbo.event_member_tbl
    898. -- where account = @iaccount
    899. -- group by account
    900. --
    901. -- if @cash + @get_cach > 5000
    902. -- set @cash = 5000 - @get_cach
    903. --
    904. -- if @cash > 0
    905. --
    906. -- begin
    907. -- declare @retcode int
    908. --
    909. -- if not exists(select * from BILLING.QLORD_MASTER.dbo.BX_TG_USERINFO where USER_ID = @iaccount)
    910. -- exec BILLING.QLORD_MASTER.dbo.BX_SP_PROCESS_USERINFO @iaccount,@iaccount,'FLYF',' ','1111111111118',' ',' ',''
    911. --
    912. -- exec @retcode = BILLING.QLORD_MASTER.dbo.BX_SP_INSERT_BONUS_IN @iaccount,@iaccount,'FLYF','IN00000004',@cash,'캐릭터 보상 이벤트',0,''
    913. --
    914. -- if @retcode <> 1
    915. -- set @cash = 0
    916. --
    917. -- insert RANKING.RANKING_DBF.dbo.event_member_tbl
    918. -- (account,amount,m_idPlayer,serverindex,retcode,date)
    919. -- values
    920. -- (@iaccount,@cash,@im_idPlayer,@iserverindex,@retcode,getdate())
    921. --
    922. -- end
    923. -- end
    924. /****************************************************************************************/
    925. /****************************************************************************************/
    926. /****************************************************************************************/
    927. IF EXISTS(SELECT m_idPlayer FROM GUILD_MEMBER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex)
    928. BEGIN
    929. SELECT fError = '4', fText = m_idGuild FROM GUILD_MEMBER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex
    930. RETURN
    931. END
    932. ELSE
    933. BEGIN
    934. SELECT fError = '0', fText = 'DELETE OK'
    935. RETURN
    936. END
    937. END
    938. END
    939. ELSE
    940. BEGIN
    941. SELECT fError = '1', fText = '주민번호틀림'
    942. RETURN
    943. END
    944. END
    945. /*
    946. 캐릭터 삭제
    947. ex )
    948. CHARACTER_STR 'D1',@im_idPlayer,@iserverindex,@iaccount (isblock)
    949. CHARACTER_STR 'D1','001068','01','ata3k','1019311'
    950. */
    951. ELSE
    952. IF @iGu = 'I1' -- 초기 정보 입력
    953. BEGIN
    954. IF EXISTS(SELECT m_szName FROM CHARACTER_TBL
    955. WHERE m_szName = @im_szName AND serverindex = @iserverindex)
    956. BEGIN
    957. SELECT fError = '0', fText = '캐릭터 중복!'
    958. RETURN
    959. END
    960. ELSE
    961. BEGIN
    962. DECLARE
    963. @om_idPlayer CHAR (7) ,
    964. @om_vScale_x REAL ,
    965. @om_dwMotion INT ,
    966. @om_fAngle REAL ,
    967. @om_nHitPoint INT ,
    968. @om_nManaPoint INT ,
    969. @om_nFatiguePoint INT ,
    970. @om_dwRideItemIdx INT ,
    971. @om_dwGold INT ,
    972. @om_nJob INT ,
    973. @om_pActMover VARCHAR(50) ,
    974. @om_nStr INT ,
    975. @om_nSta INT ,
    976. @om_nDex INT ,
    977. @om_nInt INT ,
    978. @om_nLevel INT ,
    979. @om_nExp1 BIGINT ,
    980. @om_nExp2 BIGINT ,
    981. @om_aJobSkill VARCHAR (500),
    982. @om_aLicenseSkill VARCHAR (500),
    983. @om_aJobLv VARCHAR (500),
    984. @om_dwExpertLv INT ,
    985. @om_idMarkingWorld INT ,
    986. @om_vMarkingPos_x REAL ,
    987. @om_vMarkingPos_y REAL ,
    988. @om_vMarkingPos_z REAL ,
    989. @om_nRemainGP INT ,
    990. @om_nRemainLP INT ,
    991. @om_nFlightLv INT ,
    992. @om_nFxp INT ,
    993. @om_nTxp INT ,
    994. @om_lpQuestCntArray VARCHAR(1024),
    995. @om_chAuthority CHAR(1) ,
    996. @om_dwMode INT ,
    997. @oblockby VARCHAR(32) ,
    998. @oTotalPlayTime INT ,
    999. @oisblock CHAR(1) ,
    1000. @oEnd_Time CHAR(12) ,
    1001. @om_Inventory VARCHAR(6940),
    1002. @om_apIndex VARCHAR(345) ,
    1003. @om_adwEquipment VARCHAR(135) ,
    1004. @om_aSlotApplet VARCHAR(3100),
    1005. @om_aSlotItem VARCHAR(6885),
    1006. @om_aSlotQueue VARCHAR(225),
    1007. @om_SkillBar SMALLINT,
    1008. @om_dwObjIndex VARCHAR(345) ,
    1009. @om_Card VARCHAR(1980),
    1010. @om_Cube VARCHAR(1980),
    1011. @om_apIndex_Card VARCHAR(215) ,
    1012. @om_dwObjIndex_Card VARCHAR(215) ,
    1013. @om_apIndex_Cube VARCHAR(215) ,
    1014. @om_dwObjIndex_Cube VARCHAR(215) ,
    1015. @om_idparty INT ,
    1016. @om_idMuerderer INT ,
    1017. @om_nFame INT ,
    1018. @om_nDeathExp BIGINT ,
    1019. @om_nDeathLevel INT ,
    1020. @om_dwFlyTime INT ,
    1021. @om_nMessengerState INT ,
    1022. @om_Bank VARCHAR(4290),
    1023. @om_apIndex_Bank VARCHAR(215) ,
    1024. @om_dwObjIndex_Bank VARCHAR(215) ,
    1025. @om_dwGoldBank INT
    1026. ---------- Ver 15
    1027. , @om_aCheckedQuest varchar(100)
    1028. , @om_nCampusPoint int
    1029. , @om_idCampus int
    1030. IF EXISTS (SELECT * FROM CHARACTER_TBL WHERE serverindex = @iserverindex)
    1031. SELECT @om_idPlayer = RIGHT('0000000' + CONVERT(VARCHAR(7),MAX(m_idPlayer)+1),7)
    1032. FROM CHARACTER_TBL
    1033. WHERE serverindex = @iserverindex
    1034. ELSE
    1035. SELECT @om_idPlayer = '0000001'
    1036. SELECT @om_vScale_x = m_vScale_x,
    1037. @om_dwMotion = m_dwMotion,
    1038. @om_fAngle = m_fAngle,
    1039. @om_nHitPoint = m_nHitPoint,
    1040. @om_nManaPoint = m_nManaPoint,
    1041. @om_nFatiguePoint = m_nFatiguePoint,
    1042. @om_dwRideItemIdx = m_dwRideItemIdx,
    1043. @om_dwGold = m_dwGold,
    1044. @om_nJob = m_nJob,
    1045. @om_pActMover = m_pActMover,
    1046. @om_nStr = m_nStr,
    1047. @om_nSta = m_nSta,
    1048. @om_nDex = m_nDex,
    1049. @om_nInt = m_nInt,
    1050. @om_nLevel = m_nLevel,
    1051. @om_nExp1 = m_nExp1,
    1052. @om_nExp2 = m_nExp2,
    1053. @om_aJobSkill = m_aJobSkill,
    1054. @om_aLicenseSkill = m_aLicenseSkill,
    1055. @om_aJobLv = m_aJobLv,
    1056. @om_dwExpertLv = m_dwExpertLv,
    1057. @om_idMarkingWorld = m_idMarkingWorld,
    1058. @om_vMarkingPos_x = m_vMarkingPos_x,
    1059. @om_vMarkingPos_y = m_vMarkingPos_y,
    1060. @om_vMarkingPos_z = m_vMarkingPos_z,
    1061. @om_nRemainGP = m_nRemainGP,
    1062. @om_nRemainLP = m_nRemainLP,
    1063. @om_nFlightLv = m_nFlightLv,
    1064. @om_nFxp = m_nFxp,
    1065. @om_nTxp = m_nTxp,
    1066. @om_lpQuestCntArray = m_lpQuestCntArray,
    1067. @om_chAuthority = m_chAuthority,
    1068. @om_dwMode = m_dwMode,
    1069. @oblockby = blockby,
    1070. @oTotalPlayTime = TotalPlayTime,
    1071. @oisblock = isblock,
    1072. @oEnd_Time = CONVERT(CHAR(8),DATEADD(yy,3,GETDATE()),112) + '0000',
    1073. @om_Inventory = m_Inventory,
    1074. @om_apIndex = m_apIndex,
    1075. @om_adwEquipment = m_adwEquipment,
    1076. @om_aSlotApplet = m_aSlotApplet,
    1077. @om_aSlotItem = m_aSlotItem,
    1078. @om_aSlotQueue = m_aSlotQueue,
    1079. @om_SkillBar = m_SkillBar,
    1080. @om_dwObjIndex = m_dwObjIndex,
    1081. @om_Card = m_Card,
    1082. @om_Cube = m_Cube,
    1083. @om_apIndex_Card = m_apIndex_Card,
    1084. @om_dwObjIndex_Card = m_dwObjIndex_Card,
    1085. @om_apIndex_Cube = m_apIndex_Cube,
    1086. @om_dwObjIndex_Cube = m_dwObjIndex_Cube,
    1087. @om_idparty = m_idparty,
    1088. @om_idMuerderer = m_idMuerderer,
    1089. @om_nFame = m_nFame,
    1090. @om_nDeathExp = m_nDeathExp,
    1091. @om_nDeathLevel = m_nDeathLevel,
    1092. @om_dwFlyTime = m_dwFlyTime,
    1093. @om_nMessengerState = m_nMessengerState,
    1094. @om_Bank = m_Bank,
    1095. @om_apIndex_Bank = m_apIndex_Bank,
    1096. @om_dwObjIndex_Bank = m_dwObjIndex_Bank,
    1097. @om_dwGoldBank = m_dwGoldBank
    1098. FROM BASE_VALUE_TBL
    1099. WHERE g_nSex = @im_dwSex
    1100. INSERT CHARACTER_TBL
    1101. (
    1102. m_idPlayer,
    1103. serverindex,
    1104. account,
    1105. m_szName,
    1106. playerslot,
    1107. dwWorldID,
    1108. m_dwIndex,
    1109. m_vScale_x,
    1110. m_dwMotion,
    1111. m_vPos_x,
    1112. m_vPos_y,
    1113. m_vPos_z,
    1114. m_fAngle,
    1115. m_szCharacterKey,
    1116. m_nHitPoint,
    1117. m_nManaPoint,
    1118. m_nFatiguePoint,
    1119. m_nFuel,
    1120. m_dwSkinSet,
    1121. m_dwHairMesh,
    1122. m_dwHairColor,
    1123. m_dwHeadMesh,
    1124. m_dwSex,
    1125. m_dwRideItemIdx,
    1126. m_dwGold,
    1127. m_nJob,
    1128. m_pActMover,
    1129. m_nStr,
    1130. m_nSta,
    1131. m_nDex,
    1132. m_nInt,
    1133. m_nLevel,
    1134. m_nMaximumLevel,
    1135. m_nExp1,
    1136. m_nExp2,
    1137. m_aJobSkill,
    1138. m_aLicenseSkill,
    1139. m_aJobLv,
    1140. m_dwExpertLv,
    1141. m_idMarkingWorld,
    1142. m_vMarkingPos_x,
    1143. m_vMarkingPos_y,
    1144. m_vMarkingPos_z,
    1145. m_nRemainGP,
    1146. m_nRemainLP,
    1147. m_nFlightLv,
    1148. m_nFxp,
    1149. m_nTxp,
    1150. m_lpQuestCntArray,
    1151. m_aCompleteQuest,
    1152. m_chAuthority,
    1153. m_dwMode,
    1154. m_idparty,
    1155. m_idCompany,
    1156. m_idMuerderer,
    1157. m_nFame,
    1158. m_nDeathExp,
    1159. m_nDeathLevel,
    1160. m_dwFlyTime,
    1161. m_nMessengerState,
    1162. blockby,
    1163. TotalPlayTime,
    1164. isblock,
    1165. End_Time,
    1166. BlockTime,
    1167. CreateTime,
    1168. m_tmAccFuel,
    1169. m_tGuildMember,
    1170. m_dwSkillPoint,
    1171. m_dwReturnWorldID,
    1172. m_vReturnPos_x,
    1173. m_vReturnPos_y,
    1174. m_vReturnPos_z,
    1175. m_SkillPoint,
    1176. m_SkillLv,
    1177. m_SkillExp
    1178. ---------- Ver 15
    1179. , m_aCheckedQuest
    1180. , m_nCampusPoint
    1181. , idCampus
    1182. )
    1183. VALUES
    1184. (
    1185. @om_idPlayer,
    1186. @iserverindex,
    1187. @iaccount,
    1188. @im_szName,
    1189. @iplayerslot,
    1190. @idwWorldID,
    1191. @im_dwIndex,
    1192. @om_vScale_x,
    1193. @om_dwMotion,
    1194. @im_vPos_x,
    1195. @im_vPos_y,
    1196. @im_vPos_z,
    1197. @om_fAngle,
    1198. @im_szCharacterKey,
    1199. @om_nHitPoint,
    1200. @om_nManaPoint,
    1201. @om_nFatiguePoint,
    1202. -1, --m_nFuel
    1203. @im_dwSkinSet,
    1204. @im_dwHairMesh,
    1205. @im_dwHairColor,
    1206. @im_dwHeadMesh,
    1207. @im_dwSex,
    1208. @om_dwRideItemIdx,
    1209. @om_dwGold,
    1210. @om_nJob,
    1211. @om_pActMover,
    1212. @om_nStr,
    1213. @om_nSta,
    1214. @om_nDex,
    1215. @om_nInt,
    1216. @om_nLevel,
    1217. 1, --m_nMaximumLevel
    1218. @om_nExp1,
    1219. @om_nExp2,
    1220. @om_aJobSkill,
    1221. @om_aLicenseSkill,
    1222. @om_aJobLv,
    1223. @om_dwExpertLv,
    1224. @om_idMarkingWorld,
    1225. @om_vMarkingPos_x,
    1226. @om_vMarkingPos_y,
    1227. @om_vMarkingPos_z,
    1228. @om_nRemainGP,
    1229. @om_nRemainLP,
    1230. @om_nFlightLv,
    1231. @om_nFxp,
    1232. @om_nTxp,
    1233. @om_lpQuestCntArray,
    1234. '$', -- m_aCompleteQuest
    1235. @om_chAuthority,
    1236. @om_dwMode,
    1237. @om_idparty,
    1238. '000000', -- m_idCompany
    1239. @om_idMuerderer,
    1240. @om_nFame,
    1241. @om_nDeathExp,
    1242. @om_nDeathLevel,
    1243. @om_dwFlyTime ,
    1244. @om_nMessengerState,
    1245. @oblockby,
    1246. @oTotalPlayTime,
    1247. @oisblock,
    1248. @oEnd_Time,
    1249. CONVERT(CHAR(8),DATEADD(d,-1,GETDATE()),112),
    1250. GETDATE(),
    1251. 0,
    1252. CONVERT(CHAR(8),DATEADD(d,-1,GETDATE()),112)
    1253. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(hh,DATEADD(d,-1,GETDATE()))),2)
    1254. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(mi,DATEADD(d,-1,GETDATE()))),2)
    1255. + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(ss,DATEADD(d,-1,GETDATE()))),2),
    1256. 0, --m_dwSkillPoint
    1257. 1,
    1258. 0,
    1259. 0,
    1260. 0,
    1261. @im_SkillPoint,
    1262. @im_SkillLv,
    1263. @im_SkillExp
    1264. -- Ver 15
    1265. , '$'
    1266. , 0
    1267. , 0
    1268. )
    1269. INSERT INVENTORY_TBL
    1270. (
    1271. m_idPlayer,
    1272. serverindex,
    1273. m_Inventory,
    1274. m_apIndex,
    1275. m_adwEquipment,
    1276. m_dwObjIndex
    1277. )
    1278. VALUES
    1279. (
    1280. @om_idPlayer,
    1281. @iserverindex,
    1282. @om_Inventory,
    1283. @om_apIndex,
    1284. @om_adwEquipment,
    1285. @om_dwObjIndex
    1286. )
    1287. -- INSERT CARD_CUBE_TBL
    1288. -- (
    1289. -- m_idPlayer,
    1290. -- serverindex,
    1291. -- m_Card,
    1292. -- m_Cube,
    1293. -- m_apIndex_Card,
    1294. -- m_dwObjIndex_Card,
    1295. -- m_apIndex_Cube,
    1296. -- m_dwObjIndex_Cube
    1297. -- )
    1298. -- VALUES
    1299. -- (
    1300. -- @om_idPlayer,
    1301. -- @iserverindex,
    1302. -- @om_Card,
    1303. -- @om_Cube,
    1304. -- @om_apIndex_Card,
    1305. -- @om_dwObjIndex_Card,
    1306. -- @om_apIndex_Cube,
    1307. -- @om_dwObjIndex_Cube
    1308. -- )
    1309. IF @@SERVERNAME = 'WEB' OR @@SERVERNAME = 'SERVER4'
    1310. 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/$'
    1311. INSERT TASKBAR_TBL
    1312. (
    1313. m_idPlayer,
    1314. serverindex,
    1315. m_aSlotApplet,
    1316. m_aSlotQueue,
    1317. m_SkillBar
    1318. )
    1319. VALUES
    1320. (
    1321. @om_idPlayer,
    1322. @iserverindex,
    1323. @om_aSlotApplet,
    1324. @om_aSlotQueue,
    1325. @om_SkillBar
    1326. )
    1327. INSERT TASKBAR_ITEM_TBL
    1328. (
    1329. m_idPlayer,
    1330. serverindex,
    1331. m_aSlotItem
    1332. )
    1333. VALUES
    1334. (
    1335. @om_idPlayer,
    1336. @iserverindex,
    1337. @om_aSlotItem
    1338. )
    1339. INSERT BANK_TBL
    1340. (
    1341. m_idPlayer,
    1342. serverindex,
    1343. m_Bank,
    1344. m_BankPw,
    1345. m_apIndex_Bank,
    1346. m_dwObjIndex_Bank ,
    1347. m_dwGoldBank
    1348. )
    1349. VALUES
    1350. (
    1351. @om_idPlayer,
    1352. @iserverindex,
    1353. @om_Bank,
    1354. '0000', -- m_BankPw
    1355. -- @im_BankPW,
    1356. @om_apIndex_Bank,
    1357. @om_dwObjIndex_Bank,
    1358. @om_dwGoldBank
    1359. )
    1360. INSERT SKILLINFLUENCE_TBL
    1361. (
    1362. m_idPlayer,
    1363. serverindex,
    1364. SkillInfluence
    1365. )
    1366. VALUES
    1367. (
    1368. @om_idPlayer,
    1369. @iserverindex,
    1370. '$'
    1371. )
    1372. INSERT INVENTORY_EXT_TBL
    1373. (
    1374. m_idPlayer,
    1375. serverindex,
    1376. m_extInventory,
    1377. m_InventoryPiercing
    1378. )
    1379. VALUES
    1380. (
    1381. @om_idPlayer,
    1382. @iserverindex,
    1383. '$','$'
    1384. )
    1385. INSERT BANK_EXT_TBL
    1386. (
    1387. m_idPlayer,
    1388. serverindex,
    1389. m_extBank,
    1390. m_BankPiercing
    1391. )
    1392. VALUES
    1393. (
    1394. @om_idPlayer,
    1395. @iserverindex,
    1396. '$','$'
    1397. )
    1398. -- Skill Information
    1399. INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition)
    1400. VALUES (@iserverindex, @om_idPlayer, 1, 0, 0)
    1401. INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition)
    1402. VALUES (@iserverindex, @om_idPlayer, 2, 0, 1)
    1403. INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition)
    1404. VALUES (@iserverindex, @om_idPlayer, 3, 0, 2)
    1405. -- Pocket
    1406. INSERT tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate )
    1407. VALUES ( @iserverindex, @om_idPlayer, 0, '$', '$', '$', 0, 0 )
    1408. INSERT tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet )
    1409. VALUES ( @iserverindex, @om_idPlayer, 0, '$', '$', '$' )
    1410. INSERT tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate )
    1411. VALUES ( @iserverindex, @om_idPlayer, 1, '$', '$', '$', 1, 0 )
    1412. INSERT tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet )
    1413. VALUES ( @iserverindex, @om_idPlayer, 1, '$', '$', '$' )
    1414. INSERT tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate )
    1415. VALUES ( @iserverindex, @om_idPlayer, 2, '$', '$', '$', 1, 0 )
    1416. INSERT tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet )
    1417. VALUES ( @iserverindex, @om_idPlayer, 2, '$', '$', '$' )
    1418. ------------------- ver. 13
    1419. insert into tblMaster_all (serverindex, m_idPlayer, sec)
    1420. select @iserverindex, @om_idPlayer, 1
    1421. insert into tblMaster_all (serverindex, m_idPlayer, sec)
    1422. select @iserverindex, @om_idPlayer, 2
    1423. insert into tblMaster_all (serverindex, m_idPlayer, sec)
    1424. select @iserverindex, @om_idPlayer, 3
    1425. /*
    1426. 지급 아이템 : 일회용 호버보드
    1427. 지급 대상1 : 레벨 1~20 레벨을 가진 모든 캐릭터(인벤토리가 꽉차있으면 지급 하지 않음)
    1428. 지급 대상2 : 아래의 일자에 생성되는 캐릭터
    1429. 테스트 서버
    1430. 패치후 23~27일까지(28 0시에 종료)
    1431. 정식 서버
    1432. 패치후 24~27일까지(28 0시에 종료)
    1433. */
    1434. ------------------- ver. 15
    1435. insert into tblRestPoint (serverindex, m_idPlayer)
    1436. select @iserverindex, @om_idPlayer
    1437. ------------ Penay check default setting
    1438. insert into tblLogout_Penya (serverindex, m_idPlayer)
    1439. select @iserverindex, @om_idPlayer
    1440. /*"캐시받아가세요~!"*/
    1441. if (getdate() >= '2009-05-29 00:00:00' and getdate() < '2009-06-29 00:00:00')
    1442. begin
    1443. declare @i1_regdate datetime
    1444. select @i1_regdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
    1445. if (@i1_regdate >= '2009-05-29 00:00:00' and @i1_regdate < '2009-06-29 00:00:00')
    1446. begin
    1447. if not exists (select * from MANAGE_DBF.dbo.tblEvent_NewAcc_090529 where account = @iaccount)
    1448. begin
    1449. insert into ITEM_SEND_TBL (m_idPlayer, serverindex, Item_Name, Item_count, m_bCharged, idSender)
    1450. select @om_idPlayer, @iserverindex, '30191', 1, 1, '0000000'
    1451. insert into MANAGE_DBF.dbo.tblEvent_NewAcc_090529 (account, serverindex, m_idPlayer, m_szName)
    1452. select @iaccount, @iserverindex, @om_idPlayer, @im_szName
    1453. end
    1454. end
    1455. end
    1456. --[Event.4] 신규유저 발굴 프로젝트
    1457. if (getdate() >= '2009-12-29 10:00:00' and getdate() < '2010-03-02 10:00:00')
    1458. begin
    1459. declare @aregdate datetime
    1460. select @aregdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
    1461. declare @id_no1 char(6), @id_no2 char(7), @itcount int
    1462. if (@aregdate >= '2009-12-29 10:00:00' and @aregdate < '2010-03-02 10:00:00')
    1463. begin
    1464. select @id_no1 = id_no1, @id_no2 = id_no2 from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount
    1465. /* 이벤트 신규계정에 케릭 없이 2계정 생성시 아이템 미 배포 되는 내용 방지*/
    1466. select @itcount = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
    1467. inner join ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL BB on AA.account = BB.account
    1468. where id_no1 = @id_no1 and id_no2 = @id_no2 and left ((right(AA.account, 4)), 2) <> '__'
    1469. and regdate <= '2009-12-29 10:00:00'
    1470. --Event.1 신규 가입 회원 : 생성한 캐릭터에 (거래불가)
    1471. if (@itcount = 0)
    1472. begin
    1473. /*
    1474. DECLARE @nMaxMailID int
    1475. SELECT @nMaxMailID = MAX(nMail) + 1 from MAIL_TBL where serverindex = @iserverindex
    1476. SET @nMaxMailID = ISNULL( @nMaxMailID, 0 )
    1477. EXEC dbo.MAIL_STR 'A1', @nMaxMailID, @iserverindex, @om_idPlayer, '0000000', 0, 0, 0, '목표 달성 이벤트', '신규캐릭터 생성을 축하드립니다.', '26205', 3, 0, 0, 0, 0, 2
    1478. */
    1479. --ES 증폭의 두루마리(20) (인덱스: 26205)
    1480. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1481. select @iserverindex, @om_idPlayer, '26314', 3, 1, '0000000'
    1482. insert into MANAGE_DBF.dbo.tbl_Event_NewAccount_0912 (account, serverindex, m_idPlayer, m_Jumin)
    1483. select @iaccount, @iserverindex, @om_idPlayer, @id_no1+@id_no2
    1484. end
    1485. end
    1486. -- Event.2 완소뉴비! 무차별 지원이벤트 ( 신규 계정)
    1487. if (getdate() >= '2010-02-22 10:00:00' and getdate() < '2010-02-23 10:00:00')
    1488. begin
    1489. --무차별 지원이벤트 ( 신규 계정)
    1490. -- @aregdate, @id_no1, @id_no2 위 이벤트에서 사용하던 변수 인계
    1491. if (@aregdate >= '2010-02-02 10:00:00' and @aregdate < '2010-02-23 10:00:00')
    1492. begin
    1493. /* 이벤트 신규계정에 케릭 없이 2계정 생성시 아이템 미 배포 되는 내용 방지*/
    1494. select @itcount = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
    1495. inner join ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL BB on AA.account = BB.account
    1496. where id_no1 = @id_no1 and id_no2 = @id_no2 and left ((right(AA.account, 4)), 2) <> '__'
    1497. and regdate <= '2010-01-29 10:00:00'
    1498. if (@itcount = 0 )
    1499. begin
    1500. -- 쿠폰 3종 지급
    1501. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1502. select @iserverindex, @om_idPlayer, '26919', 1, 1, '0000000'
    1503. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1504. select @iserverindex, @om_idPlayer, '26920', 1, 1, '0000000'
    1505. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1506. select @iserverindex, @om_idPlayer, '26921', 1, 1, '0000000'
    1507. insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001 (account, serverindex, m_idPlayer, m_Type)
    1508. select @iaccount, @iserverindex, @om_idPlayer, 'N'
    1509. insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001_account (account)
    1510. select @iaccount
    1511. end
    1512. end
    1513. --무차별 지원이벤트 (휴면 계정)
    1514. if not exists (select top 1 * from MANAGE_DBF.dbo.tbl_Event_WSNB_1001_account (nolock) where account = @iaccount)
    1515. begin
    1516. -- 쿠폰 3종 지급
    1517. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1518. select @iserverindex, @om_idPlayer, '26919', 1, 1, '0000000'
    1519. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1520. select @iserverindex, @om_idPlayer, '26920', 1, 1, '0000000'
    1521. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1522. select @iserverindex, @om_idPlayer, '26921', 1, 1, '0000000'
    1523. insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001 (account, serverindex, m_idPlayer, m_Type)
    1524. select @iaccount, @iserverindex, @om_idPlayer, 'H'
    1525. end
    1526. end
    1527. end
    1528. /*[Event.1-2]신규 가입하면 아이템이 펑펑~!! 및 친구야~ 노올자~ Start
    1529. if (getdate() >= '2009-07-28 10:00:00' and getdate() < '2009-09-01')
    1530. begin
    1531. declare @aregdate datetime
    1532. select @aregdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
    1533. if (@aregdate >= '2009-07-28 10:00:00')
    1534. begin
    1535. declare @id_no1 char(6), @id_no2 char(7), @itcount int
    1536. select @id_no1 = id_no1, @id_no2 = id_no2 from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount
    1537. -- select @itcount = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL where id_no1 = @id_no1 and id_no2 = @id_no2 and left ((right(account, 4)), 2) <> '__'
    1538. -- 이벤트 신규계정에 케릭 없이 2계정 생성시 아이템 미 배포 되는 내용 방지
    1539. select @itcount = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
    1540. inner join ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL BB on AA.account = BB.account
    1541. where id_no1 = @id_no1 and id_no2 = @id_no2 and left ((right(AA.account, 4)), 2) <> '__'
    1542. and regdate <= @aregdate
    1543. --Event.1 신규 가입 회원 : 최초 생성한 캐릭터에 (거래불가)
    1544. if not exists (select * from WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_0907 where account = @iaccount)
    1545. begin
    1546. if (@itcount = 1)
    1547. begin
    1548. --이벤트 선물 상자(인덱스: 30191)
    1549. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1550. select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000'
    1551. --프리프 선물 상자(인덱스: 26770)
    1552. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1553. select @iserverindex, @om_idPlayer, '26770', 1, 1, '0000000'
    1554. insert into WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_0907 (account, serverindex, m_idPlayer)
    1555. select @iaccount, @iserverindex, @om_idPlayer
    1556. end
    1557. end
    1558. --Event.2 신규 가입 시 추천인을 입력한 계정 : 최초로 생성한 캐릭터에 (거래불가)
    1559. if exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount and regdate >= '2009-07-28')
    1560. begin
    1561. --추천 받은계정 조회 (이벤트용 오리칼쿰 지급 : 2082)
    1562. declare @remem_id as varchar (32), @re_serverindex char(2), @re_m_idPlayer char(7)
    1563. select @remem_id = remem_id from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount
    1564. exec MANAGE_DBF.dbo.usp_Highest_Char @remem_id, @re_serverindex output, @re_m_idPlayer output
    1565. -- select @remem_id, @re_serverindex, @re_m_idPlayer
    1566. if @re_serverindex is not NULL and @re_m_idPlayer is not NULL
    1567. begin
    1568. if not exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0907 where account = @iaccount)
    1569. begin
    1570. if (@itcount = 1)
    1571. begin
    1572. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1573. select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000'
    1574. insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0907 (account, serverindex, m_idPlayer, m_Item)
    1575. select @iaccount, @iserverindex, @om_idPlayer, '30191'
    1576. -- 이벤트용 오리칼쿰 (지급)
    1577. declare @q001 nvarchar(4000)
    1578. set @q001 = '
    1579. insert into CHARACTER_[&server&]_DBF.dbo.ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1580. select @re_serverindex, @re_m_idPlayer, ''2082'', 2, 1, ''0000000'''
    1581. set @q001 = replace(@q001, '[&server&]', @re_serverindex)
    1582. exec sp_executesql @q001, N'@re_serverindex char(2), @re_m_idPlayer char(7)', @re_serverindex, @re_m_idPlayer
    1583. -- insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0907 (account, serverindex, m_idPlayer, m_Item)
    1584. -- select @remem_id, @re_serverindex, @re_m_idPlayer, '2082'
    1585. end
    1586. end
    1587. end
    1588. end
    1589. end
    1590. end
    1591. -- [Event.1-2]친신규 가입하면 아이템이 펑펑~!! 및 친구야~ 노올자~ End */
    1592. /* [Event.2]친구야~ 프리프 같이하자! Start
    1593. if (getdate() >= '2009-02-24 10:00:00' and getdate() <= '2009-03-24 10:00:00')
    1594. begin
    1595. declare @aregdate datetime
    1596. select @aregdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
    1597. if (@aregdate >= '2009-02-24 10:00:00')
    1598. begin
    1599. declare @id_no1 char(6), @id_no2 char(7), @itcount int
    1600. select @id_no1 = id_no1, @id_no2 = id_no2 from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount
    1601. select @itcount = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL where id_no1 + id_no2 = @id_no1 + @id_no2 and left ((right(account, 4)), 2) <> '__'
    1602. --신규 가입 회원 : 최초 생성한 캐릭터에 (거래불가)
    1603. if not exists (select * from WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_0902 where account = @iaccount)
    1604. begin
    1605. if (@itcount = 1)
    1606. begin
    1607. --FLY/FOR/FUN카드 30개
    1608. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1609. select @iserverindex, @om_idPlayer, '26666', 30, 1, '0000000'
    1610. --FLY/FOR/FUN카드 30개
    1611. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1612. select @iserverindex, @om_idPlayer, '26667', 30, 1, '0000000'
    1613. --FLY/FOR/FUN카드 30개
    1614. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1615. select @iserverindex, @om_idPlayer, '26668', 30, 1, '0000000'
    1616. insert into WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_0902 (account, serverindex, m_idPlayer)
    1617. select @iaccount, @iserverindex, @om_idPlayer
    1618. end
    1619. end
    1620. --신규 가입 시 추천인을 입력한 계정 : 최초로 생성한 캐릭터에 (거래불가)
    1621. if exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount and regdate >= '2009-02-24')
    1622. begin
    1623. if not exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0902 where account = @iaccount)
    1624. begin
    1625. if (@itcount = 1)
    1626. begin
    1627. -- 아이템 귀속 속성문제로 아래 사항으로 변경 (2009-02-24 11:40) by 정순재
    1628. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1629. select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000'
    1630. insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0902 (account, serverindex, m_idPlayer)
    1631. select @iaccount, @iserverindex, @om_idPlayer
    1632. end
    1633. end
    1634. end
    1635. end
    1636. end*/
    1637. /* [Event.2]친구야~ 프리프 같이하자! End */
    1638. /* [Event.5] 여자라서 행복해요 ^^ Start
    1639. if (getdate() >= '2009-03-03 09:00:00' and getdate() <= '2009-03-31 09:00:00')
    1640. begin
    1641. declare @a2regdate datetime
    1642. declare @sex char(1)
    1643. select @a2regdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
    1644. select @sex = [성별] from WEB.ONLINE_DBF.dbo.USER_TBL where [계정] = @iaccount
    1645. if (@a2regdate >= '2009-03-03 09:00:00' and @sex = '2')
    1646. begin
    1647. --- 처음 생성한 캐릭터에 (거래불가)
    1648. if not exists (select * from WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_Women_0903 where account = @iaccount)
    1649. begin
    1650. --프리프 선물 상자
    1651. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1652. select @iserverindex, @om_idPlayer, '26770', 1, 1, '0000000'
    1653. insert into WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_Women_0903 (account, serverindex, m_idPlayer)
    1654. select @iaccount, @iserverindex, @om_idPlayer
    1655. end
    1656. end
    1657. end*/
    1658. /* [Event.5] 여자라서 행복해요 ^^ End */
    1659. /*
    1660. 지급 아이템 : 일회용 호버보드
    1661. 지급 대상1 : 레벨 1~20 레벨을 가진 모든 캐릭터(인벤토리가 꽉차있으면 지급 하지 않음)
    1662. 지급 대상2 : 아래의 일자에 생성되는 캐릭터
    1663. 테스트 서버
    1664. 패치후 23~27일까지(28 0시에 종료)
    1665. 정식 서버
    1666. 패치후 24~27일까지(28 0시에 종료)
    1667. */
    1668. /* if (getdate() <= '2008-02-12 09:00:00')
    1669. begin
    1670. declare @regdate datetime, @check int
    1671. select @check = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.tblEvent_Board_Provide where account = @iaccount
    1672. select @regdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
    1673. if ((@check = 0) and (@regdate >= '2008-01-08 11:00:00'))
    1674. begin
    1675. declare @channel_check char(4)
    1676. set @channel_check = right(@iaccount, 4)
    1677. if (@channel_check = '__an')
    1678. begin
    1679. insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender)
    1680. select @om_idPlayer, @iserverindex, '26533', 1, 0, '0000000'
    1681. insert into ACCOUNT.ACCOUNT_DBF.dbo.tblEvent_Board_Provide (account, serverindex, m_idPlayer, m_szName)
    1682. select @iaccount, @iserverindex, @om_idPlayer, @im_szName
    1683. end
    1684. else if (@channel_check = '__bu')
    1685. begin
    1686. if (getdate() <= '2008-02-08 23:59:59')
    1687. begin
    1688. insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender)
    1689. select @om_idPlayer, @iserverindex, '26534', 1, 0, '0000000'
    1690. insert into ACCOUNT.ACCOUNT_DBF.dbo.tblEvent_Board_Provide (account, serverindex, m_idPlayer, m_szName)
    1691. select @iaccount, @iserverindex, @om_idPlayer, @im_szName
    1692. end
    1693. end
    1694. else
    1695. begin
    1696. insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender)
    1697. select @om_idPlayer, @iserverindex, '26532', 1, 0, '0000000'
    1698. insert into ACCOUNT.ACCOUNT_DBF.dbo.tblEvent_Board_Provide (account, serverindex, m_idPlayer, m_szName)
    1699. select @iaccount, @iserverindex, @om_idPlayer, @im_szName
    1700. end
    1701. end
    1702. end
    1703. */
    1704. /* if (getdate() >= '2008-07-30 00:00:00' and getdate() <= '2008-09-15 23:59:59')
    1705. begin
    1706. declare @aregdate datetime
    1707. select @aregdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
    1708. if (@aregdate >= '2008-07-30 00:00:00')
    1709. begin
    1710. declare @reaccount varchar(32)
    1711. if exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount)
    1712. begin
    1713. if not exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL where account = @iaccount)
    1714. begin
    1715. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1716. select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000'
    1717. insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL (account, serverindex, m_idPlayer)
    1718. select @iaccount, @iserverindex, @om_idPlayer
    1719. end
    1720. end
    1721. end
    1722. end
    1723. */
    1724. /* if (getdate() >= '2008-12-17 10:00:00' and getdate() <= '2009-01-27 10:00:00')
    1725. begin
    1726. declare @aregdate datetime
    1727. select @aregdate = regdate from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
    1728. if (@aregdate >= '2008-12-17 10:00:00')
    1729. begin
    1730. declare @reaccount varchar(32)
    1731. if exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount and regdate >= '2008-12-16')
    1732. begin
    1733. if not exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0812 where account = @iaccount)
    1734. begin
    1735. insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
    1736. select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000'
    1737. insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0812 (account, serverindex, m_idPlayer)
    1738. select @iaccount, @iserverindex, @om_idPlayer
    1739. end
    1740. end
    1741. end
    1742. end
    1743. IF (GETDATE() BETWEEN '2004-06-23 18:00:00.000' AND '2004-06-27 23:59:59.999')
    1744. INSERT ITEM_SEND_TBL
    1745. (m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, End_Time, m_bItemResist, m_nResistAbilityOption, m_bCharged)
    1746. VALUES
    1747. ('261007','01','파워 다이스 12',2,0,NULL,0,0,1)
    1748. */
    1749. SELECT fError = '1', fText = 'OK',m_idPlayer=@om_idPlayer
    1750. RETURN
    1751. END
    1752. END
    1753. /*
    1754. 초기 정보 입력
    1755. ex )
    1756. CHARACTER_STR 'I1','',@iserverindex,@iaccount,@im_szName,@iplayerslot,@idwWorldID,
    1757. @im_dwIndex,@im_vPos_x,@im_vPos_y,@im_vPos_z,@im_szCharacterKey,
    1758. @im_dwSkinSet,@im_dwHairMesh,@im_dwHairColor,@im_dwHeadMesh,@im_dwSex
    1759. CHARACTER_STR 'I1','','01','beat','샛별공주3',0,0,
    1760. 0,0,0,0,'',
    1761. 0,0,0,0,0
    1762. */
    1763. set nocount off
    1764. RETURN
    1765. GO
    Alles anzeigen


    damit sollte es geht ^^

    Edit: @ Timmi du muss die Acc prozedur ändern und dieses xp Script dinges rauslöschen, dann gehts ;x
  • Special;114463 schrieb:

    mach mal die CHARACTER_DBF neu da lief was falsch


    Ja, wenn ich die ausführe kommt das:

    (1 Zeile(n) betroffen)

    (1 Zeile(n) betroffen)
    Meldung 139, Ebene 15, Status 1, Prozedur uspChangeMultiServer, Zeile 0
    Einer lokalen Variablen kann kein Standardwert zugewiesen werden.
    Meldung 137, Ebene 15, Status 1, Prozedur uspChangeMultiServer, Zeile 9
    Die "@account"-Skalarvariable muss deklariert werden.
    Meldung 139, Ebene 15, Status 1, Prozedur uspChangeMultiServer, Zeile 0
    Einer lokalen Variablen kann kein Standardwert zugewiesen werden.
    Meldung 139, Ebene 15, Status 1, Prozedur uspChangeMultiServer, Zeile 0
    Einer lokalen Variablen kann kein Standardwert zugewiesen werden.
    Meldung 137, Ebene 15, Status 1, Prozedur uspChangeMultiServer, Zeile 13
    Die "@aaa"-Skalarvariable muss deklariert werden.
    Meldung 137, Ebene 15, Status 2, Prozedur uspChangeMultiServer, Zeile 18
    Die "@aaa"-Skalarvariable muss deklariert werden.
    Meldung 137, Ebene 15, Status 2, Prozedur uspChangeMultiServer, Zeile 19
    Die "@aab"-Skalarvariable muss deklariert werden.
    Meldung 137, Ebene 15, Status 2, Prozedur uspChangeMultiServer, Zeile 21
    Die "@aaa"-Skalarvariable muss deklariert werden.
    Meldung 137, Ebene 15, Status 2, Prozedur uspChangeMultiServer, Zeile 23
    Die "@aaa"-Skalarvariable muss deklariert werden.
    Meldung 137, Ebene 15, Status 2, Prozedur uspChangeMultiServer, Zeile 24
    Die "@aaa"-Skalarvariable muss deklariert werden.
    Meldung 137, Ebene 15, Status 2, Prozedur uspChangeMultiServer, Zeile 29
    Die "@account"-Skalarvariable muss deklariert werden.
    Meldung 137, Ebene 15, Status 2, Prozedur uspChangeMultiServer, Zeile 30
    Die "@account"-Skalarvariable muss deklariert werden.
    Meldung 137, Ebene 15, Status 2, Prozedur uspChangeMultiServer, Zeile 34
    Die "@account"-Skalarvariable muss deklariert werden.
    Meldung 137, Ebene 15, Status 2, Prozedur uspChangeMultiServer, Zeile 35
    Die "@account"-Skalarvariable muss deklariert werden.
    Meldung 8127, Ebene 16, Status 1, Prozedur MAKE_RANKING_STR, Zeile 277
    Die "GUILD_TBL.m_nGuildGold"-Spalte ist in der ORDER BY-Klausel ungültig, da sie nicht in einer Aggregatfunktion und nicht in der GROUP BY-Klausel enthalten ist.
    Meldung 4147, Ebene 15, Status 1, Prozedur CHARACTER_STR, Zeile 211
    Die Abfrage verwendet Nicht-ANSI-Operatoren für äußere Verknüpfungen ('*=' oder '=*'). Um diese Abfrage unverändert auszuführen, legen Sie mit der gespeicherten Prozedur sp_dbcmptlevel den Kompatibilitätsgrad für die aktuelle Datenbank auf maximal 80 fest. Es wird dringend empfohlen, die Abfrage umzuschreiben und ANSI-Operatoren für äußere Verknüpfungen (LEFT OUTER JOIN, RIGHT OUTER JOIN) zu verwenden. In zukünftigen Versionen von SQL Server werden Nicht-ANSI-Verknüpfungsoperatoren nicht unterstützt, auch nicht in Abwärtskompatibilitätsmodi.
    Meldung 4147, Ebene 15, Status 1, Prozedur CHARACTER_STR, Zeile 507
    Die Abfrage verwendet Nicht-ANSI-Operatoren für äußere Verknüpfungen ('*=' oder '=*'). Um diese Abfrage unverändert auszuführen, legen Sie mit der gespeicherten Prozedur sp_dbcmptlevel den Kompatibilitätsgrad für die aktuelle Datenbank auf maximal 80 fest. Es wird dringend empfohlen, die Abfrage umzuschreiben und ANSI-Operatoren für äußere Verknüpfungen (LEFT OUTER JOIN, RIGHT OUTER JOIN) zu verwenden. In zukünftigen Versionen von SQL Server werden Nicht-ANSI-Verknüpfungsoperatoren nicht unterstützt, auch nicht in Abwärtskompatibilitätsmodi.


    Wusste aber nicht was ich da machen sollte :x
  • Gut das habe ich gemacht:

    USE [ACCOUNT_DBF]
    GO

    DECLARE @return_value int

    EXEC @return_value = [dbo].[usp_CreateNewAccount]
    @account = N'Test',
    @pw = N'c26f71067598e6ffb1a2a60b92ce731e',
    @cash = 0,
    @email = N''

    SELECT 'Return Value' = @return_value

    GO


    Error:

    Meldung 515, Ebene 16, Status 2, Prozedur usp_CreateNewAccount, Zeile 17
    Der Wert NULL kann in die 'password'-Spalte, 'ACCOUNT_DBF.dbo.ACCOUNT_TBL'-Tabelle nicht eingefügt werden. Die Spalte lässt NULL-Werte nicht zu. Fehler bei INSERT.
  • Dark~Evolution;114481 schrieb:

    Jetzt kommt das wenn ich ien Acc erstellen will :

    Quellcode

    1. Meldung 515, Ebene 16, Status 2, Prozedur usp_CreateNewAccount, Zeile 18
    2. Der Wert NULL kann in die 'password'-Spalte, 'ACCOUNT_DBF.dbo.ACCOUNT_TBL'-Tabelle nicht eingefügt werden. Die Spalte lässt NULL-Werte nicht zu. Fehler bei INSERT.


    Wurde zwar schon ma gepostet, aber änder eure Prozedur in diese hier, damit sollte es geht:

    Quellcode

    1. set ANSI_NULLS ON
    2. set QUOTED_IDENTIFIER ON
    3. GO
    4. ALTER proc [dbo].[usp_CreateNewAccount]
    5. @account varchar(32),
    6. @pw varchar(32),
    7. @cash int = 0,
    8. @email varchar(100) = ''
    9. as
    10. set nocount on
    11. set xact_abort on
    12. if not exists (select * from ACCOUNT_TBL where account = @account)
    13. begin
    14. begin tran
    15. INSERT ACCOUNT_TBL(account,password,isuse,member,id_no1,id_no2,realname, cash)
    16. VALUES(@account, @pw, 'T', 'A', '', '@pw', 'T', @cash)
    17. INSERT ACCOUNT_TBL_DETAIL(account,gamecode,tester,m_chLoginAuthority,regdate,BlockTime,EndTime,WebTime,isuse,secession, email)
    18. VALUES(@account,'A000','2','F',GETDATE(),CONVERT(CHAR(8),GETDATE()-1,112),CONVERT(CHAR(8),DATEADD(year,10,GETDATE()),112),CONVERT(CHAR(8),GETDATE()-1,112),'T',NULL, @email)
    19. insert AccountPlay (Account, PlayDate)
    20. select @account, convert(int, convert(char(8), getdate(), 112))
    21. if @@error <> 0
    22. begin
    23. rollback tran
    24. select -1
    25. end
    26. else
    27. begin
    28. commit tran
    29. select 1
    30. end
    31. end
    32. else
    33. begin
    34. select 0
    35. end
    Alles anzeigen
  • [FONT="Tahoma"][COLOR="LemonChiffon"][SIZE="2"]

    Cross;114443 schrieb:

    [FONT="Tahoma"][COLOR="LemonChiffon"][SIZE="2"]Hallo zusammen,
    die files laufen bei mir mittlerweile auch, doch finde ich den fehler zu 2 sachen nicht (evtl überseh ichs ja)
    a) Character löschen nicht möglich
    ->Hab schon in die v14 CHARACTER_DELETE_STR geguckt, aber finde keine fehler :o
    b) Wenn man sich einloggt wird in der Account_TBL_DETAIL ja normal das "isuse" nach "J" gesetzt. Genau dies ist nicht der fall.
    Die prozedur (usp_CreateNewAccount) trägt das "isuse" mit 'T' ein. ->Ergo keine UserOnline anzeige möglich.



    mfg
    cross[/SIZE][/COLOR][/FONT]


    ich finde den fehler partou nicht <.<[/SIZE][/COLOR][/FONT]
  • Tenshi;114494 schrieb:

    Wurde zwar schon ma gepostet, aber änder eure Prozedur in diese hier, damit sollte es geht:

    Quellcode

    1. set ANSI_NULLS ON
    2. set QUOTED_IDENTIFIER ON
    3. GO
    4. ALTER proc [dbo].[usp_CreateNewAccount]
    5. @account varchar(32),
    6. @pw varchar(32),
    7. @cash int = 0,
    8. @email varchar(100) = ''
    9. as
    10. set nocount on
    11. set xact_abort on
    12. if not exists (select * from ACCOUNT_TBL where account = @account)
    13. begin
    14. begin tran
    15. INSERT ACCOUNT_TBL(account,password,isuse,member,id_no1,id_no2,realname, cash)
    16. VALUES(@account, @pw, 'T', 'A', '', '@pw', 'T', @cash)
    17. INSERT ACCOUNT_TBL_DETAIL(account,gamecode,tester,m_chLoginAuthority,regdate,BlockTime,EndTime,WebTime,isuse,secession, email)
    18. VALUES(@account,'A000','2','F',GETDATE(),CONVERT(CHAR(8),GETDATE()-1,112),CONVERT(CHAR(8),DATEADD(year,10,GETDATE()),112),CONVERT(CHAR(8),GETDATE()-1,112),'T',NULL, @email)
    19. insert AccountPlay (Account, PlayDate)
    20. select @account, convert(int, convert(char(8), getdate(), 112))
    21. if @@error <> 0
    22. begin
    23. rollback tran
    24. select -1
    25. end
    26. else
    27. begin
    28. commit tran
    29. select 1
    30. end
    31. end
    32. else
    33. begin
    34. select 0
    35. end
    Alles anzeigen


    Und wo genau soll ich die Daten da eintragen?
  • Könnte mir mal jemand ne vernünftige CARACTER_STR geben ?
    Ich deute das doch richtig , dass der damit Probleme hat oder ?

    Error.log :
    2010/ 4/29 16:04:36
    E:\Neurospace_TestBuild\PROGRAM\_database\DbManager.cpp, 418 CHARACTER_STR 'S2',@im_idPlayer='0000000',@iserverindex='01',@iaccount='laymi',@im_szName='b4cd4bb67241bd65d94d0e7df36c040b',@iplayerslot=0,@idwWorldID=0,@im_dwIndex=0,@im_vPos_x=0.000000,@im_vPos_y=0.000000,@im_vPos_z=0.000000,@im_szCharacterKey='(null)',@im_dwSkinSet=0,@im_dwHairMesh=0,@im_dwHairColor=0,@im_dwHeadMesh=0,@im_dwSex=0,@im_vScale_x=0.000000,@im_dwMotion=0,@im_fAngle=0.000000,@im_nHitPoint=0,@im_nManaPoint=0,@im_nFatiguePoint=0,@im_dwRideItemIdx=0,@im_dwGold=0,@im_nJob=0,@im_pActMover='(null)',@im_nStr=0,@im_nSta=0,@im_nDex=0,@im_nInt=0,@im_nLevel=0,@im_nExp1=0,@im_nExp2=0,@im_aJobSkill='(null)',@im_aLicenseSkill='(null)',@im_aJobLv='(null)',@im_dwExpertLv=0,@im_idMarkingWorld=0,@im_vMarkingPos_x=0.000000,@im_vMarkingPos_y=0.000000,@im_vMarkingPos_z=0.000000,@im_nRemainGP=0,@im_nRemainLP=0,@im_nFlightLv=0,@im_nFxp=0,@im_nTxp=0,@im_lpQuestCntArray='(null)',@im_chAuthority='F',@im_dwMode=0,@im_idparty=0,@im_idMuerderer=0,@im_nFame=0,@im_nDeathExp=0,@im_nDeathLevel=0,@im_dwFlyTime=0,@im_nMessengerState=0,@iTotalPlayTime=0,@im_Card='(null)',@im_Index_Card='(null)',@im_ObjIndex_Card='(null)',@im_Cube='(null)',@im_Index_Cube='(null)',@im_ObjIndex_Cube='(null)',@im_Inventory='(null)',@im_apIndex='(null)',@im_adwEquipment='(null)',@im_dwObjIndex='(null)',@im_aSlotApplet='(null)',@im_aSlotItem='(null)',@im_aSlotQueue='(null)',@im_SkillBar=0,@im_Bank='(null)',@im_apIndex_Bank='(null)',@im_dwObjIndex_Bank='(null)',@im_dwGoldBank=0,@im_nFuel=0,@im_tmAccFuel=0,@im_dwSMTime='(null)',@iSkillInfluence='(null)',@im_aCompleteQuest='(null)',@im_extInventory='(null)',@im_InventoryPiercing='(null)',@im_extBank='(null)',@im_BankPiercing ='(null)',@im_dwReturnWorldID=0,@im_vReturnPos_x=0.000000,@im_vReturnPos_y=0.000000,@im_vReturnPos_z=0.000000,@im_nPKValue=0,@im_dwPKPropensity=0,@im_dwPKExp=0,@im_nAngelExp=0,@im_nAngelLevel=0,@iszInventoryPet='(null)',@iszBankPet='(null)', @im_dwPetId=0,@im_nExpLog=0, @im_nAngelExpLog=0,@im_nCoupon=0,@im_nHonor=-1,@im_nLayer=0,@im_nCampusPoint=0,@im_idCampus=0,@im_aCheckedQuest='(null)'

    laymi, b4cd4bb67241bd65d94d0e7df36c040b
  • Laymi;114516 schrieb:

    Könnte mir mal jemand ne vernünftige CARACTER_STR geben ?
    Ich deute das doch richtig , dass der damit Probleme hat oder ?

    Error.log :
    2010/ 4/29 16:04:36
    E:\Neurospace_TestBuild\PROGRAM\_database\DbManager.cpp, 418 CHARACTER_STR 'S2',@im_idPlayer='0000000',@iserverindex='01',@iaccount='laymi',@im_szName='b4cd4bb67241bd65d94d0e7df36c040b',@iplayerslot=0,@idwWorldID=0,@im_dwIndex=0,@im_vPos_x=0.000000,@im_vPos_y=0.000000,@im_vPos_z=0.000000,@im_szCharacterKey='(null)',@im_dwSkinSet=0,@im_dwHairMesh=0,@im_dwHairColor=0,@im_dwHeadMesh=0,@im_dwSex=0,@im_vScale_x=0.000000,@im_dwMotion=0,@im_fAngle=0.000000,@im_nHitPoint=0,@im_nManaPoint=0,@im_nFatiguePoint=0,@im_dwRideItemIdx=0,@im_dwGold=0,@im_nJob=0,@im_pActMover='(null)',@im_nStr=0,@im_nSta=0,@im_nDex=0,@im_nInt=0,@im_nLevel=0,@im_nExp1=0,@im_nExp2=0,@im_aJobSkill='(null)',@im_aLicenseSkill='(null)',@im_aJobLv='(null)',@im_dwExpertLv=0,@im_idMarkingWorld=0,@im_vMarkingPos_x=0.000000,@im_vMarkingPos_y=0.000000,@im_vMarkingPos_z=0.000000,@im_nRemainGP=0,@im_nRemainLP=0,@im_nFlightLv=0,@im_nFxp=0,@im_nTxp=0,@im_lpQuestCntArray='(null)',@im_chAuthority='F',@im_dwMode=0,@im_idparty=0,@im_idMuerderer=0,@im_nFame=0,@im_nDeathExp=0,@im_nDeathLevel=0,@im_dwFlyTime=0,@im_nMessengerState=0,@iTotalPlayTime=0,@im_Card='(null)',@im_Index_Card='(null)',@im_ObjIndex_Card='(null)',@im_Cube='(null)',@im_Index_Cube='(null)',@im_ObjIndex_Cube='(null)',@im_Inventory='(null)',@im_apIndex='(null)',@im_adwEquipment='(null)',@im_dwObjIndex='(null)',@im_aSlotApplet='(null)',@im_aSlotItem='(null)',@im_aSlotQueue='(null)',@im_SkillBar=0,@im_Bank='(null)',@im_apIndex_Bank='(null)',@im_dwObjIndex_Bank='(null)',@im_dwGoldBank=0,@im_nFuel=0,@im_tmAccFuel=0,@im_dwSMTime='(null)',@iSkillInfluence='(null)',@im_aCompleteQuest='(null)',@im_extInventory='(null)',@im_InventoryPiercing='(null)',@im_extBank='(null)',@im_BankPiercing ='(null)',@im_dwReturnWorldID=0,@im_vReturnPos_x=0.000000,@im_vReturnPos_y=0.000000,@im_vReturnPos_z=0.000000,@im_nPKValue=0,@im_dwPKPropensity=0,@im_dwPKExp=0,@im_nAngelExp=0,@im_nAngelLevel=0,@iszInventoryPet='(null)',@iszBankPet='(null)', @im_dwPetId=0,@im_nExpLog=0, @im_nAngelExpLog=0,@im_nCoupon=0,@im_nHonor=-1,@im_nLayer=0,@im_nCampusPoint=0,@im_idCampus=0,@im_aCheckedQuest='(null)'

    laymi, b4cd4bb67241bd65d94d0e7df36c040b


    wurde doch auf der vorherigen Seite gepostet o,o bissel schauen sollte man schon oO
  • Hey @ all

    Ich habn Problem^^
    Ich weiß net obs hier schon geklährt wurde..
    ich hab 12 Seiten gelesen aba da hats nirgends gestanden..
    Auf jeden Fall Crasht mein World Server....
    Also wenn ihc alle anderen Server an hab und dann World Server anmachen will...
    [Hab Vista] kommt dann zuerst Keine Rückmeldung und dann ca 5 Sekunden später stürzt er ab^^

    MdG Bloody