Guest User

Untitled

a guest
Apr 23rd, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.37 KB | None | 0 0
  1. USE [SRO_VT_SHARD]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 12/08/2011 18:34:14 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8.  
  9.  
  10.  
  11.  
  12. ALTER PROCEDURE [dbo].[_AddNewChar]
  13. @UserJID INT,
  14. --@CharSlot INT,
  15. @RefCharID INT,
  16. @CharName varchar (64),
  17. @CharScale tinyINT,
  18. @StartRegionID INT,
  19. @StartPos_X real,
  20. @StartPos_Y real,
  21. @StartPos_Z real,
  22. @DefaultTeleport INT,
  23. @RefMailID INT,
  24. @RefPantsID INT,
  25. @RefBootsID INT,
  26. @RefWeaponID INT,
  27. @RefShield INT,
  28. @DurMail tinyINT,
  29. @DurPants tinyINT,
  30. @DurBoots tinyINT,
  31. @DurWeapon tinyINT,
  32. @DurShield tinyINT,
  33. @DefaultArrow INT
  34. AS
  35.  
  36. SET NOCOUNT ON
  37.  
  38. DECLARE @Slot INT
  39. DECLARE @temp INT
  40.  
  41. DECLARE @NewCharID INT
  42. SET @NewCharID = 0
  43.  
  44.  
  45. -----------------------------------------------------------------------------
  46. -- 1. ij¸¯ÅÍ ½½·Ô ³Ñ¹ö°¡ validÇÑ °ÍÀÎÁö, ±×¸®°í ºó½½·ÔÀÌ ¸Â´ÂÁö ¸ÕÀú üũÇÑ´Ù.
  47. -----------------------------------------------------------------------------
  48.  
  49. -- start by novice.
  50. SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID
  51.  
  52. IF (@temp >= 4)
  53. BEGIN
  54. -- ³Ê¹« ¸¹ÀÚ³ª
  55. RETURN -2
  56. END
  57. -- finish by novice.
  58.  
  59. -----------------------------------------------------------------------------
  60. -- 2. ij¸¯ÅÍ Ãß°¡Çϱâ
  61. -----------------------------------------------------------------------------
  62. IF (@CharScale > 68) -- 0100 0100 --> 68 ÀÌ´Ù!
  63. BEGIN
  64. -- ij¸¯ÅÍ »ý¼º ½ÇÆÐ! ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!
  65. RETURN -3
  66. END
  67.  
  68. EXEC @temp = _IsExistingCharName @CharName
  69. IF (@temp <> 0)
  70. BEGIN
  71. -- ÀÌ¹Ì »ç¿ëÁßÀÎ À̸§À̶ó´Âµ¥?
  72. RETURN -4
  73. END
  74.  
  75. BEGIN TRANSACTION
  76.  
  77. -- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼­ ¸¶Áö¸·¿¡ WorldID¿Í 1°ªÀ» ´õ ³Ö¾î ÁÖ¾ú´Ù!
  78. INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
  79. LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
  80. VALUES (@RefCharID, @CharName, @CharScale, 20, 20, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, @DefaultTeleport, 45,
  81. GetDate(), 1, 1, 0, 0, 0, 200,200, 1, 1, 1, 1)
  82.  
  83. SET @NewCharID = @@IDENTITY
  84. IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
  85. BEGIN
  86. -- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!
  87. ROLLBACK TRANSACTION
  88. RETURN -5
  89. END
  90.  
  91.  
  92. -- start by novice.
  93. -- ÀÌÁ¦ Slot ¾È¾´´Ù.. ±×³É Insert ¸¸..
  94. INSERT INTO _User VALUES (@UserJID, @NewCharID)
  95. -- finish by novice.
  96.  
  97.  
  98. -----------------------------------------------------------------------------
  99. -- 3-1. Àåºñ ½½·Ô ä¿ì±â
  100. -- [Àκ¥Å丮 ½½·Ô 96°³] + [Àåºñ½½·Ô 13°³] <- Àκ¥Å丮 È®Àå ¼­ºñ½º ÈÄ 48°³¿¡¼­ 96°³·Î Áõ°¡!!!(woos0)
  101. -----------------------------------------------------------------------------
  102. --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
  103. INSERT INTO _Inventory(CharID, Slot, ItemID)
  104. SELECT @NewCharID, cnt, 0
  105. FROM _RefDummySlot with( nolock )
  106. WHERE cnt < 109
  107.  
  108.  
  109. IF (@@ERROR <> 0)
  110. BEGIN
  111. -- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
  112. ROLLBACK TRANSACTION
  113. RETURN -7
  114. END
  115.  
  116. --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
  117.  
  118. -- µðÆúÆ®·Î ¼±ÅÃÇÑ ¾ÆÀÌÅÛÀ» ´Ù½Ã ³Ö¾îÁÖÀÚ...
  119. /* ¿ä·± ¼ø¼­·Î Á¤ÀǵǾî ÀÖ´Ù.
  120. 0: EQUIP_SLOT_HELM
  121. 1: EQUIP_SLOT_MAIL,
  122. 2: EQUIP_SLOT_SHOULDERGUARD,
  123. 3: EQUIP_SLOT_GAUNTLET,
  124. 4: EQUIP_SLOT_PANTS,
  125. 5: EQUIP_SLOT_BOOTS,
  126. 6: EQUIP_SLOT_WEAPON,
  127. 7: EQUIP_SLOT_SHIELD or ARROW,
  128. 8: EQUIP_SLOT_EARRING,
  129. 9: EQUIP_SLOT_NECKLACE,
  130. 10: EQUIP_SLOT_L_RING,
  131. 11: EQUIP_SLOT_R_RING,
  132. */
  133.  
  134. DECLARE @ItemID BIGINT
  135. SET @ItemID = 0
  136. -- »ó°©
  137. IF (@RefMailID <> 0)
  138. BEGIN
  139. EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail
  140. IF (@ItemID <= 0)
  141. BEGIN
  142. ROLLBACK TRANSACTION
  143. RETURN -8
  144. END
  145. END
  146. -- ¹ÙÁö
  147. IF (@RefPantsID <> 0)
  148. BEGIN
  149. EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants
  150. IF (@ItemID <= 0)
  151. BEGIN
  152. ROLLBACK TRANSACTION
  153. RETURN -9
  154. END
  155. END
  156. -- Boots
  157. IF (@RefBootsID <> 0)
  158. BEGIN
  159. EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots
  160. IF (@ItemID <= 0)
  161. BEGIN
  162. ROLLBACK TRANSACTION
  163. RETURN -10
  164. END
  165. END
  166. -- Weapon
  167. IF (@RefWeaponID <> 0)
  168. BEGIN
  169. EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon
  170. IF (@ItemID <= 0)
  171. BEGIN
  172. ROLLBACK TRANSACTION
  173. RETURN -11
  174. END
  175. END
  176. -- ¹æÆÐ
  177. IF (@RefShield <> 0)
  178. BEGIN
  179. EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield
  180. IF (@ItemID <= 0)
  181. BEGIN
  182. ROLLBACK TRANSACTION
  183. RETURN -12
  184. END
  185. END
  186. -- Ȥ½Ã default·Î ¼±ÅÃÇÑ ¹«±â°¡ È°À̶ó¸é È­»ì 250°³µéÀÌ È°Åëµµ ÇÔ²² ÁØ´Ù. ÁÒÄ¡?
  187. IF (@DefaultArrow <> 0)
  188. BEGIN
  189. EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250
  190. IF (@ItemID <= 0)
  191. BEGIN
  192. ROLLBACK TRANSACTION
  193. RETURN -13
  194. END
  195. END
  196.  
  197.  
  198. -----------------------------------------------------------------------------
  199. -- 3-2. ¾Æ¹ÙŸ Inventory ½½·Ô ä¿ì±â
  200. -- [¾Æ¹ÙŸ Àκ¥Å丮 ½½·Ô 5°³]
  201. -- APPLY_AVATAR_SYSTEMÀÌ Àû¿ëµÇ¸é¼­ Ãß°¡µÇ´Â ºÎºÐ
  202. -----------------------------------------------------------------------------
  203. --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
  204. INSERT INTO _InventoryForAvatar(CharID, Slot, ItemID)
  205. SELECT @NewCharID, cnt, 0
  206. FROM _RefDummySlot with( nolock )
  207. WHERE cnt < 5
  208.  
  209.  
  210. IF (@@ERROR <> 0)
  211. BEGIN
  212. -- ¾Æ¹ÙŸ Àκ¥Å丮 »ý¼º ½ÇÆÐ!
  213. ROLLBACK TRANSACTION
  214. RETURN -14
  215. END
  216. --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
  217.  
  218. -----------------------------------------------------------------------------
  219. -- default skill³Ö¾îÁÖ±â
  220. -----------------------------------------------------------------------------
  221. DECLARE @country tinyINT
  222. EXEC @country = _GetObjCountry @RefCharID
  223.  
  224. INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)
  225. SELECT @NewCharID, MasteryID, 0
  226. FROM _RefCharDefault_SkillMastery with(nolock)
  227. WHERE Race = @country or Race = 3
  228. IF (@@error <> 0)
  229. BEGIN
  230. ROLLBACK TRANSACTION
  231. RETURN -15
  232. END
  233. INSERT INTO _CharSkill (CharID,SkillID,Enable)
  234. SELECT @NewCharID, SkillID, 1
  235. FROM _RefCharDefault_Skill with(nolock)
  236. WHERE Race = @country or Race = 3
  237. IF (@@error <> 0)
  238. BEGIN
  239. ROLLBACK TRANSACTION
  240. RETURN -16
  241. END
  242. -----------------------------------------------------------------------------
  243. -- ±âº» Äù½ºÆ® ³Ö¾îÁÖ±â
  244. -----------------------------------------------------------------------------
  245. INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
  246. SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
  247. FROM _RefQuest
  248. WHERE CodeName in (SELECT CodeName FROM _RefCharDefault_Quest with(nolock) WHERE (Race = @country or Race = 3) and RequiredLevel = 1 and Service = 1)
  249. IF (@@error <> 0)
  250. BEGIN
  251. ROLLBACK TRANSACTION
  252. RETURN -17
  253. END
  254. -----------------------------------------------------------------------------
  255. -- Static Avatar Initial Record ³Ö±â
  256. -----------------------------------------------------------------------------
  257. INSERT INTO _StaticAvatar(CharID) values(@NewCharID)
  258. IF (@@ERROR <> 0)
  259. BEGIN
  260. ROLLBACK TRANSACTION
  261. RETURN -18
  262. END
  263.  
  264. -----------------------------------------------------------------------------
  265. -- Trijob ä¿ö³Ö±â!!!!!
  266. -----------------------------------------------------------------------------
  267. INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
  268. IF (@@ERROR <> 0)
  269. BEGIN
  270. -- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
  271. ROLLBACK TRANSACTION
  272. RETURN -19
  273. END
  274.  
  275. -----------------------------------------------------------------------------
  276. -- CharList¿¡ ID ³Ö¾îÁÖ±â
  277. -----------------------------------------------------------------------------
  278. INSERT _CharNameList VALUES(@CharName, @NewCharID)
  279.  
  280. exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_RETURN_SCROLL_HIGH_SPEED',20,1
  281. exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_PREMIUM_VIETNAM_GOLDTIME_PLUS',1,1
  282. exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_SKILL_GOLD_TIME_SERVICE_TICKET_4W',1,1
  283. exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_DAMAGE_ABS_20P_SCROLL',11,1
  284. exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_DAMAGE_INC_20P_SCROLL',11,1
  285. exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_REVERSE_RETURN_SCROLL',11,1
  286. exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_HP_SUPERSET_5_BAG',1000,1
  287. exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_MP_SUPERSET_5_BAG',1000,1
  288. exec _ADD_ITEM_EXTERN @CharName,'ITEM_COS_P_FLUTE_WHITE',1,1
  289. exec _ADD_ITEM_EXTERN @CharName,'ITEM_COS_P_RABBIT_SCROLL_SILK',1,1
  290.  
  291.  
  292.  
  293. -- Quick Slot Á¤º¸ ÀúÀå¿ë!!!
  294. exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
  295.  
  296. COMMIT TRANSACTION
  297.  
  298. RETURN @NewCharID
Add Comment
Please, Sign In to add comment