Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > 4Story
You last visited: Today at 19:28

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[HELP]You cannot use this name

Discussion on [HELP]You cannot use this name within the 4Story forum part of the MMORPGs category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2011
Posts: 40
Received Thanks: 20
[HELP]You cannot use this name

Hi!
I'm trying to start a server for my guild on hamachi (it's only for testing), it worked fine, but today, a strange bug appeared. Nobody can't create new characters. It says "You cannot use this name. You can only use English characters and numbers in a character name.". Even if I type "asdf", I get this error.
Kalman11 is offline  
Old 08/05/2013, 19:58   #2
 
elite*gold: 0
Join Date: Mar 2011
Posts: 306
Received Thanks: 156
you changed the sql value type for szName in TChartable?
jibi1996 is offline  
Old 08/06/2013, 08:38   #3
 
elite*gold: 0
Join Date: Aug 2011
Posts: 40
Received Thanks: 20
No, it's still Varchar
Kalman11 is offline  
Old 08/06/2013, 15:48   #4
 
elite*gold: 0
Join Date: Mar 2011
Posts: 306
Received Thanks: 156
Quote:
Originally Posted by Kalman11 View Post
No, it's still Varchar
Which client are you using?
jibi1996 is offline  
Old 06/21/2014, 02:19   #5
 
elite*gold: 0
Join Date: Oct 2010
Posts: 546
Received Thanks: 152
One year later, I have same bug on my server after a edit but I don't find it (sorry for the up)
( I have verify the client )
Code:
int CTClientWnd::OnCS_CREATECHAR_ACK( CTachyonSession *pSession, CPacket *pPacket)
{
	DWORD dwID;

	CString strNAME;
	BYTE bSlotID;

	BYTE bResult;
	BYTE bClass;

	BYTE bContry;
	BYTE bRace;
	BYTE bSex;

	BYTE bHair;
	BYTE bFace;
	BYTE bBody;
	BYTE bPants;
	BYTE bHand;
	BYTE bFoot;

	(*pPacket)
		>> bResult
		>> dwID
		>> strNAME
		>> bSlotID
		>> bClass
		>> bRace
		>> bContry
		>> bSex
		>> bHair
		>> bFace
		>> bBody
		>> bPants
		>> bHand
		>> bFoot
		>> m_bCreateCardCnt;

	m_TNet.EnableComponent(TRUE);
	ReFresh();

	switch(bResult)
	{
	case CR_INVALIDSLOT	: return TERR_INVALID_SLOT;
	case CR_PROTECTED	: return TERR_INVALID_NAME;
	case CR_OVERCHAR	: return TERR_NAME_TOO_LONG;
	case CR_NOGROUP		: return TERR_NOGROUP;
	case CR_DUPNAME		: return TERR_DUPNAME;
	case CR_SUCCESS		:
		{
			LPTCHARINFO pINFO = new TCHARINFO();

			pINFO->m_strNAME = strNAME;
			pINFO->m_bStartAct = 1;
			pINFO->m_bSlotID = bSlotID;
			pINFO->m_dwID = dwID;

			pINFO->m_bContry = bContry;
			pINFO->m_bClass = bClass;
			pINFO->m_bRace = bRace;
			pINFO->m_bSex = bSex;

			pINFO->m_bFace = bFace;
			pINFO->m_bHair = bHair;
			pINFO->m_bBody = bBody;
			pINFO->m_bPants = bPants;
			pINFO->m_bHand = bHand;
			pINFO->m_bFoot = bFoot;

			if( pINFO->m_bContry == TCONTRY_D || pINFO->m_bContry == TCONTRY_C )
				pINFO->m_bLevel = CHOICE_COUNTRY_LEVEL;
			else
				pINFO->m_bLevel = 1;

			m_TNet.ResetSlot();
			m_bSlotID = BYTE(m_vTCHARINFO.size());
			m_TNet.m_fROT = m_TNet.GetSlotROT( m_bSlotID );
			EquipStartChar(pINFO);
			m_vTCHARINFO.push_back(pINFO);
			OnGM_BACKTO_CHAR();
		}

		break;

	default				: return TERR_INTERNAL;
	}

	return TERR_NONE;
}
The tlogin

Code:
void CTUser::SendCS_CREATECHAR_ACK( BYTE bResult,
								    DWORD dwID,
									CString strNAME,
									BYTE bSlotID,
									BYTE bClass,
									BYTE bRace,
									BYTE bCountry,
									BYTE bSex,
									BYTE bHair,
									BYTE bFace,
									BYTE bBody,
									BYTE bPants,
									BYTE bHand,
									BYTE bFoot,
									BYTE bCreateCnt)
{
	CPacket *pMSG = new CPacket();

	pMSG->SetID(CS_CREATECHAR_ACK)
		<< bResult
		<< dwID
		<< strNAME
		<< bSlotID
		<< bClass
		<< bRace
		<< bCountry
		<< bSex
		<< bHair
		<< bFace
		<< bBody
		<< bPants
		<< bHand
		<< bFoot
		<< bCreateCnt;

	Say(pMSG);
}
Code:
DWORD CTLoginSvrModule::OnCS_CREATECHAR_REQ( CSqlDatabase *pDB, LPMAPTGROUP pGROUP, CTUser *pUser, CPacket& packet)
{
	if(!pUser->m_bAgreement)
		return EC_SESSION_INVALIDCHAR;

	CString strNAME;

	BYTE bGroupID;
	BYTE bSlotID;
	BYTE bClass;
	BYTE bRace;
	BYTE bCountry;
	BYTE bSex;
	BYTE bHair;
	BYTE bFace;
	BYTE bBody;
	BYTE bPants;
	BYTE bHand;
	BYTE bFoot;

	packet
		>> bGroupID
		>> strNAME
		>> bSlotID
		>> bClass
		>> bRace
		>> bCountry
		>> bSex
		>> bHair
		>> bFace
		>> bBody
		>> bPants
		>> bHand
		>> bFoot;

	if(bGroupID != pUser->m_bGroupID)
		return EC_SESSION_INVALIDCHAR;

	LPTGROUP pGroup = FindGroup(pGROUP, bGroupID);

	//strNAME.TrimRight();
	//strNAME.TrimLeft();

	if(pGroup)
	{
		// À̸§ ±æÀÌ Á¦ÇÑ ÇѱÛ8ÀÚ
		if(strNAME.GetLength() > 16 || strNAME.GetLength() < 1)
		{
			pUser->SendCS_CREATECHAR_ACK(
				CR_OVERCHAR, 
				0, strNAME,
				bSlotID,
				bClass,
				bRace,
				bCountry,
				bSex,
				bHair,
				bFace,
				bBody,
				bPants,
				bHand,
				bFoot,
				pUser->m_bCreateCnt);

			return EC_NOERROR;
		}

		// a-z A-Z 0-9 ¹®ÀÚ¸¸ Çã¿ë (Çѹ®, ½ºÆäÀ̽º ±ÝÁö)
		if(!CheckCharName(strNAME))
		{
			pUser->SendCS_CREATECHAR_ACK(
				CR_PROTECTED,
				0, strNAME,
				bSlotID,
				bClass,
				bRace,
				bCountry,
				bSex,
				bHair,
				bFace,
				bBody,
				bPants,
				bHand,
				bFoot,
				pUser->m_bCreateCnt);

			return EC_NOERROR;
		}

		DEFINE_QUERY( &pGroup->m_db, CSPCreateChar)

		lstrcpy( query->m_szNAME, LPCSTR(strNAME));
		query->m_bGroup = pGroup->m_bID;
		query->m_dwUserID	= pUser->m_dwID;
		query->m_dwCharID	= 0;

		query->m_bSlot		= bSlotID;

		query->m_bClass		= bClass;
		query->m_bRace		= bRace;
		query->m_bCountry	= bCountry;

		query->m_bSex		= bSex;
		query->m_bHair		= bHair;
		query->m_bFace		= bFace;
		query->m_bBody		= bBody;
		query->m_bPants		= bPants;
		query->m_bHand		= bHand;
		query->m_bFoot		= bFoot;

		if(!query->Call())
			query->m_nRET = CR_INTERNAL;

#ifdef DEF_UDPLOG
		
		if(!query->m_nRET)
		{
			LPTCHARACTER pChar = new TCHARACTER();

			pChar->m_bSlot		= query->m_bSlot;
			pChar->m_bRace		= query->m_bRace;
			pChar->m_bCountry	= query->m_bCountry;
			pChar->m_bSex		= bSex;				
			pChar->m_strName	= query->m_szNAME;
			pChar->m_dwCharID	= query->m_dwCharID;
			pChar->m_bLevel		= query->m_bCountry == TCONTRY_PEACE ? 1 : CHOICE_COUNTRY_LEVEL;
			pChar->m_bBody		= query->m_bBody;
			pChar->m_bClass		= query->m_bClass;
			pChar->m_bFace		= query->m_bFace;
			pChar->m_bFoot		= query->m_bFoot;
			pChar->m_bHair		= query->m_bHair;
			pChar->m_bHand		= query->m_bHand;
			pChar->m_bPants		= query->m_bPants;
			pChar->m_dwRegion	= 0;

			pUser->InsertCharacter(pChar);

			m_pUdpSocket->LogCharCreate(pUser, query->m_nRET, bGroupID, pChar);
		}

#endif

		if(!query->m_nRET)
		{
			pUser->m_bCreateCnt = query->m_bCreateCnt;
			if(query->m_bCreateCnt == 1)
			{
				MAPDWORD::iterator itCU = m_mapCurrentUser.find(bGroupID);
				if(itCU != m_mapCurrentUser.end())
					(*itCU).second++;
			}
		}

		pUser->SendCS_CREATECHAR_ACK(
			query->m_nRET,
			query->m_dwCharID,
			query->m_szNAME,
			query->m_bSlot,
			query->m_bClass,
			query->m_bRace,
			query->m_bCountry,
			query->m_bSex,
			query->m_bHair,
			query->m_bFace,
			query->m_bBody,
			query->m_bPants,
			query->m_bHand,
			query->m_bFoot,
			query->m_bCreateCnt);

		UNDEFINE_QUERY()
	}
	else
	{
		pUser->SendCS_CREATECHAR_ACK(
			CR_NOGROUP,
			0, strNAME,
			bSlotID,
			bClass,
			bRace,
			bCountry,
			bSex,
			bHair,
			bFace,
			bBody,
			bPants,
			bHand,
			bFoot,
			pUser->m_bCreateCnt);
	}

	return EC_NOERROR;
}
The global create char fonction
Code:
ALTER PROCEDURE [dbo].[TCreateChar]
	@dwCharSeq		INT	  OUTPUT,
	@bCreateCnt		TINYINT OUTPUT,
	@bRealSex		TINYINT OUTPUT,
	@dwUserID		INT,
	@bWorld		TINYINT,
	@dwCharID		INT,
	@bSlot			TINYINT,
	@szNAME		VARCHAR(50),
	@bClass		TINYINT,
	@bRace		TINYINT,
	@bCountry		TINYINT,
	@bSex			TINYINT,
	@bHair			TINYINT,
	@bFace		TINYINT,
	@bBody		TINYINT,
	@bPants		TINYINT,
	@bHand		TINYINT,
	@bFoot			TINYINT,
	@bLevel		TINYINT,
	@dwEXP		INT
AS
	DECLARE @dwReservedID INT

	SET @dwReservedID = 0
	SET @bCreateCnt = 6
	SET @dwCharSeq  = 0
	SET @bRealSex = 0

	IF EXISTS( SELECT TOP 1 dwCharID FROM TALLCHARTABLE WHERE szNAME = @szNAME)
		RETURN 2

	IF EXISTS(SELECT TOP 1 * FROM TKEEPINGNAME WHERE @szName like(szName))
		RETURN 2

--	SELECT TOP 1 @bCreateCnt = bCanCreateCharCount FROM TUSERINFOTABLE WHERE dwUserID = @dwUserID
--	IF( @bCreateCnt < 1 AND EXISTS(SELECT TOP 1  dwUserID FROM TALLCHARTABLE WHERE dwUserID = @dwUserID AND bWorldID = @bWorld AND bDelete = 0))
--		RETURN 6

	SELECT @dwReservedID = dwUserID FROM TRESERVEDNAME WHERE szNAME = @szNAME
	IF(@@ROWCOUNT <> 0 AND @dwReservedID <> @dwUserID)
		RETURN 2

	BEGIN TRAN ALLCHARTABLE

	INSERT INTO TALLCHARTABLE(
		dwUserID,
		bWorldID,
		dwCharID,
		bSlot,
		szNAME,
		bClass,
		bRace,
		bCountry,
		bSex,
		bHair,
		bFace,
		bBody,
		bPants,
		bHand,
		bFoot,
		bLevel,
		dwEXP) VALUES(
		@dwUserID,
		@bWorld,
		@dwCharID,
		@bSlot,
		@szNAME,
		@bClass,
		@bRace,
		@bCountry,
		@bSex,
		@bHair,
		@bFace,
		@bBody,
		@bPants,
		@bHand,
		@bFoot,
		@bLevel,
		@dwEXP)

	SET @dwCharSeq  = @@IDENTITY

	SELECT @bCreateCnt = COUNT(*) FROM TALLCHARTABLE WHERE dwUserID=@dwUserID AND bDelete=0
/*
	IF(@bCreateCnt > 0)
	BEGIN
		UPDATE TUSERINFOTABLE SET bCanCreateCharCount = bCanCreateCharCount -1 WHERE dwUserID = @dwUserID
		SET @bCreateCnt = @bCreateCnt - 1
	END
*/
	COMMIT TRAN ALLCHARTABLE


	RETURN @@ERROR
the game create char fonction
Code:






/* CREATE CHARACTER PROCESS

========================================================
PARAMETER
========================================================
@szNAME		VARCHAR(50)
@dwCharID		INT		OUTPUT
@dwUserID		INT
@bSlot			TINYINT
@bClass		TINYINT
@bRace		TINYINT
@bCountry		TINYINT
@bSex			TINYINT
@bHair			TINYINT
@bFace		TINYINT
@bBody		TINYINT
@bPants		TINYINT
@bHand		TINYINT
@bFoot			TINYINT

========================================================
RETURN VALUE
========================================================
0	: SUCCESS
1	: NO GROUP
2	: DUPLICATE NAME
3	: INVALID SLOT
4	: Non Class ID 

========================================================
PROCESS
========================================================
1. Check duplicate name
2. Check slot
3. Insert character data

*/


ALTER PROCEDURE [dbo].[TCreateChar]
	@bCreateCnt		TINYINT	OUTPUT,
	@szNAME		VARCHAR(50),
	@dwCharID		INT		OUTPUT,
	@dwUserID		INT,
	@bGroup		TINYINT,
	@bSlot			TINYINT,
	@bClass		TINYINT,
	@bRace		TINYINT,
	@bCountry		TINYINT,
	@bSex			TINYINT,
	@bHair			TINYINT,
	@bFace		TINYINT,
	@bBody		TINYINT,
	@bPants		TINYINT,
	@bHand		TINYINT,
	@bFoot			TINYINT
AS
	DECLARE @dwCharSeq INT
	DECLARE @dwMP	INT
	DECLARE @dwHP	INT
	DECLARE @fPosX	FLOAT
	DECLARE @fPosY	FLOAT
	DECLARE @fPosZ	FLOAT
	DECLARE @wDIR	SMALLINT
	DECLARE @wSpawnID SMALLINT
	DECLARE @nCheckGlobal INT
	DECLARE @bRealSex	TINYINT

	SET @bCreateCnt = 0
	SET @dwCharID = 0
	SET @dwMP = 2
	SET @dwHP = 2

	SELECT TOP 1 @dwHP = @dwHP + wCON, @dwMP = @dwMP + wMEN FROM TCLASSCHART WHERE bClassID = @bClass
	SELECT TOP 1 @dwHP = @dwHP + wCON, @dwMP = @dwMP + wMEN FROM TRACECHART WHERE bRaceID = @bRace

	SET @dwHP = 7 * @dwHP + 1
	SET @dwMP = 9 * @dwMP + 1

	IF EXISTS( SELECT TOP 1 dwCharID FROM TCHARTABLE WHERE szNAME = @szNAME)
		RETURN 2
	/*
   	 * Duplicate npc name 
	 */
	IF EXISTS(SELECT TOP 1 * FROM TNPCCHART WHERE szNAME = @szNAME)
		RETURN 2
	/*
	 * Duplicate monster name
	 */
	IF EXISTS(SELECT TOP 1 * FROM TMONSTERCHART WHERE szNAME = @szNAME)
		RETURN 2
	/*
	 * Invalid slot
	 */
	IF EXISTS(SELECT TOP 1 dwCharID FROM TCHARTABLE WHERE dwUserID = @dwUserID AND bSlot = @bSlot AND bDelete = 0)
		RETURN 3
	/*
 	 * Check the country
	 */

	DECLARE @bOriCountry TINYINT
	DECLARE @bLevel	TINYINT
	DECLARE @dwExp	INT
	DECLARE @wSkillPoint	SMALLINT
	SET @bOriCountry = 3
	SET @bLevel = 99
	SET @dwExp = 0
	SET @wSpawnID = 15003
	SET @wSkillPoint = 999

	SELECT TOP 1 @bOriCountry = bOriCountry FROM TCHARTABLE WHERE dwUserID=@dwUserID AND bDelete=0 AND bOriCountry < 2
	IF(@bOriCountry < 2)
	BEGIN
		SET @bCountry = @bOriCountry
		SET @bLevel = 99
		SET @wSkillPoint = 999
		SELECT @dwExp = dwExp FROM TLEVELCHART WHERE bLevel = 8

		IF(@bOriCountry = 0)
			SET @wSpawnID = 15001
		ELSE
			SET @wSpawnID = 15002
	END
	ELSE IF(@bCountry <> 4)
		RETURN 4

	SET @fPosX 	= 587.04
	SET @fPosY 	= 31.33
	SET @fPosZ 	= 603.82
	SET @wDIR = 1640

	EXEC @nCheckGlobal = TGLOBAL_GSP.DBO.TCreateChar
		@dwCharSeq  OUTPUT,
		@bCreateCnt OUTPUT,
		@bRealSex OUTPUT,
		@dwUserID,
		@bGroup,
		@dwCharID,
		@bSlot,
		@szNAME,
		@bClass,
		@bRace,
		@bCountry,
		@bSex,
		@bHair,		-- bHair
		@bFace,	-- bFace
		@bBody,	-- bBody
		@bPants,	-- bPants
		@bHand,	-- bHand
		@bFoot,	-- bFoot		
		@bLevel,
		@dwExp	-- dwExp

	IF(@nCheckGlobal <> 0)
		RETURN @nCheckGlobal

	BEGIN TRAN TCREATECHAR

	INSERT INTO TCHARTABLE
	(
		dwUserID,
		bSlot,
		szNAME,
		bRace,
		bCountry,
		bOriCountry,
		bSex,
		bRealSex,
		bClass,
		bLevel,
		bHair,
		bFace,
		bBody,
		bPants,
		bHand,
		bFoot,
		dwEXP,
		dwHP,
		dwMP,
		wSkillPoint,
		dwGold,
		dwSilver,
		dwCooper,
		wMapID,
		wSpawnID,
		wTemptedMon,
		bAftermath,
		fPosX,
		fPosY,
		fPosZ,
		wDIR
	) 
	VALUES
	(
		@dwUserID,	-- dwUserID
		@bSlot,		-- bSlot
		@szNAME,	-- szNAME
		@bRace,	-- bRace
		@bCountry,	-- bCountry
		@bOriCountry,
		@bSex,		-- bSex
		@bRealSex,	-- bRealSex
		@bClass,	-- bClass
		@bLevel,	-- bLevel
		@bHair,		-- bHair
		@bFace,
		@bBody,
		@bPants,
		@bHand,
		@bFoot,
		@dwExp,
		@dwHP,
		@dwMP,
		99,
		0,
		0,
		0,
		2010,
		@wSpawnID,
		0,
		0,
		@fPosX,
		@fPosY,
		@fPosZ,
		@wDIR
	)

	SET @dwCharID = @@IDENTITY

/* NameChange Complementar Fix */
  INSERT INTO TCHARTABLE_BACKUP(dwCharID, dwUserID, bSlot, szNAME, bCountry) VALUES (@dwCharID, @dwUserID, @bSlot, @szNAME, @bCountry)
/* ENDNAMECHANGECOMPLEMENTARFIX */ 
	INSERT INTO TINVENTABLE
	(
		dwCharID,
		bInvenID,
		wItemID,
		dEndTime
	) 
	VALUES
	(
		@dwCharID,
		255, 
		3,
		0
	)

	INSERT INTO TINVENTABLE
	(
		dwCharID,
		bInvenID,
		wItemID,
		dEndTime
	) 
	VALUES
	(
		@dwCharID,
		254, 
		2,
		0
	)

	INSERT INTO TCABINETTABLE VALUES(@dwCharID, 0, 1)
	INSERT TSKILLTABLE (dwCharID, wSkillID, bLevel, dwRemainTick) SELECT @dwCharid, wID, bmaxlevel, 0 FROM TSKILLCHART WHERE (dwClassid & power(2,@bClass) <> 0) and bCanLearn =1
	COMMIT TRAN TCREATECHAR

	DECLARE @bStartInven TINYINT
	DECLARE @bStartSlot TINYINT
	DECLARE @bStartChartType TINYINT
	DECLARE @wStartItemID SMALLINT
	DECLARE @bStartCount TINYINT
	DECLARE CUR_STARTITEM CURSOR FOR
	SELECT bInven, bSlot, bChartType, wItemID, bCount FROM TSTARTITEMCHART WHERE bCountry=@bCountry AND bClass = @bClass
	OPEN CUR_STARTITEM
	FETCH NEXT FROM CUR_STARTITEM INTO @bStartInven, @bStartSlot, @bStartChartType, @wStartItemID, @bStartCount
	WHILE @@FETCH_STATUS = 0
	BEGIN
		EXEC TPutItemInInven @dwCharID, @bStartInven, @bStartSlot, @bStartChartType, @wStartItemID, @bStartCount
		FETCH NEXT FROM CUR_STARTITEM INTO  @bStartInven, @bStartSlot, @bStartChartType, @wStartItemID, @bStartCount
	END
	CLOSE CUR_STARTITEM
	DEALLOCATE CUR_STARTITEM

--	?????	------------------------------------------------------------------------------------
	DECLARE @dwPostID INT
	DECLARE @dwRecvID INT
	DECLARE @szTitle VARCHAR(256)
	DECLARE @szMessage VARCHAR(2048)
	DECLARE @bLenTitle	BINARY(4)
	DECLARE @bLenMessage BINARY(4)
	DECLARE @szT VARCHAR(8)
	DECLARE @szM VARCHAR(8)
	DECLARE @dateCreated SMALLDATETIME
	SET @dateCreated = GetDate()
	SET @szTitle = 'Welcome to 4StoryFree!'
	SET @szMessage = 'Welcome to 4StoryFree!
We are very happy that you are playing here :)'
	SET @bLenTitle = DATALENGTH(@szTitle)
	SET @bLenMessage = DATALENGTH(@szMessage)
	SET @szT = RIGHT(master.dbo.fn_sqlvarbasetostr(@bLenTitle), 8)
	SET @szTitle  = @szT + @szTitle
	SET @szM = RIGHT(master.dbo.fn_sqlvarbasetostr(@bLenMessage), 8)
	SET @szMessage = @szM + @szMessage
	EXEC TSavePost @dwPostID OUTPUT, @dwRecvID OUTPUT, 0, @dwCharID, @szName, '4StoryFree-Team',@szTitle,@szMessage,0,0,0,0,0,@dateCreated
-----------------------------------------------------------------------------------------------------------------------------
		EXEC TScammingPost @dwCharID = dwCharID

	UPDATE TGLOBAL_GSP.DBO.TALLCHARTABLE SET dwCharID = @dwCharID WHERE dwSeq = @dwCharSeq

	INSERT INTO THOTKEYTABLE 
		SELECT @dwCharID, bInvenID, bType1, wID1, bType2, wID2, bType3, wID3, bType4, wID4, bType5, wID5,
			  bType6, wID6, bType7, wID7, bType8, wID8, bType9, wID9, bType10, wID10, bType11, wID11, bType12, wID12 
		FROM TSTARTHOTKEY WHERE bClassID=@bClass

	UPDATE THOTKEYTABLE SET wID12 = 1+@bRace WHERE dwCharID = @dwCharID and bInvenID = 1

	IF EXISTS( SELECT bClassID FROM TSTARTRECALL WHERE bClassID = @bClass AND bCountryID = @bCountry)
	BEGIN
		DECLARE @dwMonID INT
		DECLARE @wMonTemp SMALLINT
		DECLARE @dwATTR INT
		DECLARE @dwMaxHP INT
		DECLARE @dwMaxMP INT
		SET @wMonTemp = 0
		SELECT @wMonTemp = wMonID FROM TSTARTRECALL WHERE bClassID = @bClass AND bCountryID = @bCountry
		IF(@wMonTemp > 0)
		BEGIN
			SELECT @dwATTR = wSummonAttr FROM TMONSTERCHART WHERE wID= @wMonTemp
			SELECT @dwMaxHP=dwMaxHP, @dwMaxMP = dwMaxMP FROM TMONATTRCHART WHERE wID=@dwATTR AND bLevel=1
			UPDATE TCHARTABLE SET wTemptedMon = @wMonTemp WHERE dwCharID = @dwCharID
			SET @dwATTR = @dwATTR + POWER(2,16)
			EXEC TCreateRecallMon 
				@dwMonID OUTPUT, 
				@dwCharID, 
				@wMonTemp, 
				0, 
				@dwATTR, 
				1, 
				@dwMaxHP, 
				@dwMaxMP, 
				1,
				@fPosX, 
				@fPosY,

				@fPosZ,
				0
		END
	END



	Exec TRegisterBonus @dwCharID
	IF NOT EXISTS(SELECT dwUserID FROM TPETTABLE WHERE dwUserID = @dwUserID)
	BEGIN
		DECLARE @szMountName VARCHAR(50)
		SET @szMountName = 'Amis de ' + @szNAME
		SET @szMountName = REPLACE(@szMountName, 's''s', 's''')
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 17, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 3, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 6, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 9, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 12, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 13, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 14, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 15, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 16, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 81, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 82, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 83, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 84, @szMountName, 0)
		INSERT TPETTABLE (dwUserID, wPetID, szName, timeUse) VALUES(@dwUserID, 86, @szMountName, 0)
	END

	RETURN @@ERROR
julianjl is offline  
Old 06/21/2014, 10:55   #6
 
gydekk's Avatar
 
elite*gold: 0
Join Date: Apr 2011
Posts: 196
Received Thanks: 27
**** all! -.-

delete player from TALLCHARTABLE
gydekk is offline  
Thanks
1 User
Old 06/21/2014, 20:06   #7
 
elite*gold: 0
Join Date: Nov 2010
Posts: 214
Received Thanks: 171
ahaahahahaaahahaah
Sicarium is offline  
Old 06/21/2014, 21:13   #8
 
elite*gold: 0
Join Date: Oct 2010
Posts: 546
Received Thanks: 152
And a good reply ?? Ah you don't know how resolve it, I understand, it's because you don't have any server ^^
julianjl is offline  
Old 06/22/2014, 00:53   #9
 
elite*gold: 0
Join Date: Nov 2010
Posts: 214
Received Thanks: 171
me?
Sicarium is offline  
Old 06/22/2014, 09:13   #10
 
elite*gold: 0
Join Date: Jan 2014
Posts: 258
Received Thanks: 152
Nope, Gydekk
TinLevin is offline  
Reply




All times are GMT +1. The time now is 19:29.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.