البقاء مسجل دائمآ
الإعلانات
02-05-2014 03:07 AM
Hamza FiGo
طب جرب دة كدة وشوف

كود:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewChar]    Script Date: 02/05/2014 02:05:19 ص ******/
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)      
	VALUES (@RefCharID, @CharName, @CharScale, 20, 20, 24252, 589, -14.655776, 468, 2094, 109,
				GetDate(), 1, 1, 0, 0,0, 200,200, 1, 1, 1, 1)   
    
	SET @NewCharID = @@IDENTITY        
	IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)        
	BEGIN        
		-- أ„³¸¯أ…أچ »أ½¼آ؛ ½أ‡أ†أگ!        
		ROLLBACK TRANSACTION        
		RETURN -5        
	END        
	    
	       
	    
	       
	-- start by novice.        
	-- A??¦ Slot ¾E¾´´U.. ±×³E 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)        

BEGIN

exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_COS_C_PEGASUS_SCROLL',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_HP_SUPERSET_5_BAG',1000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_MP_SUPERSET_5_BAG',1000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_ARCHEMY_POTION_SPEED_11',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_HWAN_POTION',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_REVERSE_RETURN_SCROLL',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_RESURRECTION_100P_SCROLL',10,1
END 

	-- Quick Slot أپ¤آ؛¸ أ€أ؛أ€أ¥آ؟ë!!!        
	exec _AddNewClientConfig @NewCharID  -- by novice...... for saving client configurations...        
INSERT INTO SRO_VT_ACCOUNT.dbo.SK_Silk (JID, silk_own) VALUES (@UserJID, 0);
COMMIT TRANSACTION        
	      
RETURN @NewCharID
02-05-2014 01:32 AM
merazz012 up
01-05-2014 09:35 PM
merazz012 up
01-05-2014 07:51 PM
merazz012
addnewchar

ياجماعه عندي بتيجي المسج بتاعت shardmanager

failed to create new char

لما باجي اعمل char جديد

واحد هيقولي من addnewchar

جيبت بتاع الold db

اللي هيا شغاله نفس المشكله عندي

بس اكتشفت لما فتحت addnewchar_thin

اني كلمه QUESTID

تحتها خط احمر معني كده ممكن يكون منها ؟

طيب لو منها اعمل ايه علشان اظبطها ؟

ضوابط المشاركة
تستطيع إضافة مواضيع جديدة
تستطيع الرد على المواضيع
تستطيع إرفاق ملفات
تستطيع تعديل مشاركاتك

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة


الساعة الآن 02:17 PM.