[Error] creating char error

01/26/2015 07:31 MissinGDeaTh#1
as the title said, when i try to create a char with already used name
it says Valid ID, when u press confirm. it gives this error.


[Only registered and activated users can see links. Click Here To Register...]

tho it said it's a Valid ID.

and i wanted to create a scroll to upgrade Egy A weapon[certain plus] to EGY B +0 weapon is that possible ?
01/26/2015 07:47 ​Exo#2
Well would you mind showing me the result for this?
PHP Code:
 SELECT FROM _Char 
I think the ID might be registered more than a time.
Option 2: You did something with the AddChar SP
01/26/2015 07:54 MissinGDeaTh#3
Quote:
Originally Posted by xExorcist View Post
Well would you mind showing me the result for this?
PHP Code:
 SELECT FROM _Char 
I think the ID might be registered more than a time.
Option 2: You did something with the AddChar SP
here's the result of the query u gave me, as u see it's normal :/

PHP Code:
0    0    0    d        1    100    10    100    0    29999    10    1000000000    136    0    0    0    999999    20000    25000    982    -0.421872    140    27754    1    0    0    0    0    0    0    0    1    0    1    0    1    0    NULL    2004-09-30 17:00:00    0    0    0    0    0    0    0    0    1    1    1    0    NULL    NULL    NULL
16364    0    14889    SSSS        51    110    110    4588823338    234    20    20    9997779674679    33355808    0    0    0    1731    1731    25000    982.7346    
-32.60888    1383.416    2094    1    109    0    0    0    0    0    0    1    0    1    0    1    0    1048    2015-01-26 04:05:00    25000    966.2394    -32.60888    1350.247    0    0    0    0    1    1    1    0    NULL    NULL    NULL
16366    0    14875    CHAR    34    1    1    0    0    20    20    5000000    1000000    0    0    0    200    200    27091    1305    376.9541    760    2094    1    109    0    0    0    0    0    0    1    0    1    0    1    0    0    2015
-01-19 01:13:00    0    0    0    0    0    0    0    0    1    1    1    0    NULL    NULL    NULL
16367    0    14891    CHAR1        34    110    110    4588823338    302    130    130    1467799    7775577    330    0    0    20585    20585    24745    53    
-0.935181    1218    2094    0    109    0    0    0    0    0    0    1    0    1    0    1    0    0    2015-01-19 03:47:00    0    0    0    0    27091    1475.027    376.9541    638.1801    1    1    1    52    NULL    NULL    NULL
16368    0    14875    CHAR2        34    110    110    4588823338    169    129    129    5000000    49267851    327    0    0    18132    18132    27091    1369    378.732    620    2094    0    109    0    0    0    0    0    0    1    0    1    0    1    0    0    2015
-01-19 21:49:00    0    0    0    0    27091    1201    376.9542    454    1    1    1    44    NULL    NULL    NULL
16369    0    1908    CHAR3        67    110    110    4588823338    148    129    134    5117450    156226895    322    5    0    13334    13767    24745    501    12.40365    1264    2094    0    109    1    1    429    0    0    0    1    0    1    0    1    0    0    2015
-01-19 03:45:00    0    0    0    0    0    0    0    0    1    1    1    48    NULL    NULL    NULL
16370    0    1928    MissinGDeaTh        51    110    110    4588823338    281    129    129    999999999977999999    1415688    327    5    0    11168    11168    25000    955    
-32.60888    1342    2094    0    109    0    0    0    0    0    0    1    0    1    0    1    0    0    2015-01-26 07:28:00    25000    993.736    -32.60888    1329.864    0    0    0    0    1    1    1    53    NULL    NULL    NULL 
L
01/26/2015 08:11 ​Exo#4
Use a clean database or another _AddNewChar SP
01/26/2015 08:14 MissinGDeaTh#5
Quote:
Originally Posted by xExorcist View Post
Use a clean database or another _AddNewChar SP
okay, i will try that.
what about a scroll to upgrade a EGY A weapon[certain plus] to EGY B weapon +0 is that possible to do ?
01/26/2015 08:29 ​Exo#6
PHP Code:
--Upgrade By #Khaled# --
DECLARE  @WepRefID INT,
         @
ArenaRefID INT,
         @
OptLevel INT,
         @
Data INT,
         @
UP INT,
         @
WepRefID2 INT
         
         
         
         
         SELECT 
@WepRefID I.RefItemID
         FROM   SRO_VT_SHARD
.._Inventory Inv
         INNER  JOIN SRO_VT_SHARD
.._Items I
         ON       INV
.ItemID =I.ID64
         WHERE CharID 
=@CharID AND Inv.Slot=13
         
         SELECT 
@WepRefID2 I.ID64
         FROM   SRO_VT_SHARD
.._Inventory Inv
         INNER  JOIN SRO_VT_SHARD
.._Items I
         ON       INV
.ItemID =I.ID64
         WHERE CharID 
=@CharID AND Inv.Slot=13
         
         
         SELECT 
@ArenaRefID I.RefItemID
         FROM   SRO_VT_SHARD
.._Inventory Inv
         INNER  JOIN SRO_VT_SHARD
.._Items I
         ON       INV
.ItemID =I.ID64
         WHERE CharID 
=@CharID AND Inv.Slot=15
         

         SELECT 
@OptLevel I.OptLevel
         FROM SRO_VT_SHARD
.._Inventory Inv
         INNER JOIN SRO_VT_SHARD
.._Items I
         ON INV
.ItemID =I.ID64
         WHERE CharID 
=@CharID AND Inv.Slot=13
         
         SELECT 
@Data I.Data
         FROM   SRO_VT_SHARD
.._Inventory Inv
         INNER  JOIN SRO_VT_SHARD
.._Items I
         ON       Inv
.ItemID I.ID64
         WHERE CharID 
= @CharID AND Inv.Slot=15
         
         SET 
@UP = (SELECT UP FROM Upgrade Where Req =@WepRefID)

IF 
EXISTS (SELECT FROM SRO_VT_SHARD..Upgrade WHERE Req =@WepRefID)
BEGIN
If ( @OptLevel =And @Gold >=50000000000 AND @ArenaRefID='25834' AND @Data>=100)--Staff
BEGIN
UPDATE _Items SET RefItemID 
= @Up ,OptLevel=0 WHERE ID64=@WepRefID2
UPDATE _Char SET RemainGold 
=RemainGold-50000000000 WHERE CharID=@CharID
UPDATE _Items SET Data 
-= 200 WHERE ID64 = (SELECT ItemID FROM _Inventory WHERE CharID = @CharID and Slot 15)
END
END 
This might help you it needs a custom table and few modifications to this query. I am selling it so if you can't get this working I can't help you.
01/26/2015 08:35 MissinGDeaTh#7
Quote:
Originally Posted by xExorcist View Post
PHP Code:
--Upgrade By #Khaled# --
DECLARE  @WepRefID INT,
         @
ArenaRefID INT,
         @
OptLevel INT,
         @
Data INT,
         @
UP INT,
         @
WepRefID2 INT
         
         
         
         
         SELECT 
@WepRefID I.RefItemID
         FROM   SRO_VT_SHARD
.._Inventory Inv
         INNER  JOIN SRO_VT_SHARD
.._Items I
         ON       INV
.ItemID =I.ID64
         WHERE CharID 
=@CharID AND Inv.Slot=13
         
         SELECT 
@WepRefID2 I.ID64
         FROM   SRO_VT_SHARD
.._Inventory Inv
         INNER  JOIN SRO_VT_SHARD
.._Items I
         ON       INV
.ItemID =I.ID64
         WHERE CharID 
=@CharID AND Inv.Slot=13
         
         
         SELECT 
@ArenaRefID I.RefItemID
         FROM   SRO_VT_SHARD
.._Inventory Inv
         INNER  JOIN SRO_VT_SHARD
.._Items I
         ON       INV
.ItemID =I.ID64
         WHERE CharID 
=@CharID AND Inv.Slot=15
         

         SELECT 
@OptLevel I.OptLevel
         FROM SRO_VT_SHARD
.._Inventory Inv
         INNER JOIN SRO_VT_SHARD
.._Items I
         ON INV
.ItemID =I.ID64
         WHERE CharID 
=@CharID AND Inv.Slot=13
         
         SELECT 
@Data I.Data
         FROM   SRO_VT_SHARD
.._Inventory Inv
         INNER  JOIN SRO_VT_SHARD
.._Items I
         ON       Inv
.ItemID I.ID64
         WHERE CharID 
= @CharID AND Inv.Slot=15
         
         SET 
@UP = (SELECT UP FROM Upgrade Where Req =@WepRefID)

IF 
EXISTS (SELECT FROM SRO_VT_SHARD..Upgrade WHERE Req =@WepRefID)
BEGIN
If ( @OptLevel =And @Gold >=50000000000 AND @ArenaRefID='25834' AND @Data>=100)--Staff
BEGIN
UPDATE _Items SET RefItemID 
= @Up ,OptLevel=0 WHERE ID64=@WepRefID2
UPDATE _Char SET RemainGold 
=RemainGold-50000000000 WHERE CharID=@CharID
UPDATE _Items SET Data 
-= 200 WHERE ID64 = (SELECT ItemID FROM _Inventory WHERE CharID = @CharID and Slot 15)
END
END 
This might help you it needs a custom table and few modifications to this query. I am selling it so if you can't get this working I can't help you.

can u send me ur skype then ? if u sell the upgrade scrolls
01/26/2015 08:46 ​Exo#8
Quote:
Originally Posted by MissinGDeaTh View Post
can u send me ur skype then ? if u sell the upgrade scrolls
You could just find it under my name however here is it (attackmee).
01/26/2015 19:37 Dunarsund#9
is the region where this char spawns when created active?
01/26/2015 19:52 MissinGDeaTh#10
Quote:
Originally Posted by Dunarsund View Post
is the region where this char spawns when created active?
ye, this error only when i try to create char with such a name exists.
01/26/2015 20:04 Dunarsund#11
tried cleaning the databases?
01/26/2015 21:02 MissinGDeaTh#12
Quote:
Originally Posted by Dunarsund View Post
tried cleaning the databases?
ye, same problem too ! i guess it's something bout AddNewChar SP but can't find what it is..
01/26/2015 22:36 Snow*#13
Use a clean _AddNewChar SP

Code:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewChar]    Script Date: 1/26/2015 11:35:53 PM ******/
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. ij¸¯ÅÍ ½½·Ô ³Ñ¹ö°¡ 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. ij¸¯ÅÍ Ãß°¡Ç챉        
	-----------------------------------------------------------------------------        
	IF (@CharScale > 68) -- 0100 0100 --> 68 ÀÌ´Ù!        
	BEGIN        
		-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ! ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!         
		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, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, @DefaultTeleport, 45,      
				GetDate(), 1, 1, 0, 0, 0, 200,200, 1, 1, 1, 1)      
    
	SET @NewCharID = @@IDENTITY        
	IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)        
	BEGIN        
		-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!        
		ROLLBACK TRANSACTION        
		RETURN -5        
	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_ETC_E060118_60EXP_HELP',1,1      
	exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_100EXP_HELP',1,1      
	exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SCROLL_RETURN_NEWBIE_01',20,1      
	      
	-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!        
	exec _AddNewClientConfig @NewCharID  -- by novice...... for saving client configurations...        

COMMIT TRANSACTION        
	      
RETURN @NewCharID
Waiting for your feedback
01/27/2015 05:39 ​Exo#14
Maybe your current SP is giving an item that doesn't exist hmm could you try this ^? And tell us if it works?
01/28/2015 10:30 MissinGDeaTh#15
creating char works just fine when i create char with a unique name, BUT the problem start when i try to create a char with such existing name. it says Valid ID and get this ERROR :/