Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

How Do i Restrict Atl-Codes From Charater Names and Makeing.

Junior Spellweaver
Joined
Jul 2, 2008
Messages
152
Reaction score
1
How can i stop alt codes in the normal charaters names
because regular players are able to make colored names
 
Sultan of Yolo
Loyal Member
Joined
May 21, 2008
Messages
1,225
Reaction score
110
Use CHARINDEX('Altcodehere',@UserName)
..Can you say how to do this please?...
I got this, where have i to add that ?

Tra3200 - How Do i Restrict Atl-Codes From Charater Names and Makeing. - RaGEZONE Forums


I mean, cuz the abuse.txt is the easiest to bypass!!, eurodll do this in 1 sec!.. i will be very thank full to this fix..
ty..............
 
Upvote 0
Elite Diviner
Joined
Apr 23, 2006
Messages
415
Reaction score
45
Useless post.. i'm not that stupid that i dont know that.. i'm just asking in which stored procedure..

SpInserChar?

Sorry, you said "Where in that table" but i readed "where is that table" ^^. Is at spInsertChar, take a little look at my command:

Tra3200 - How Do i Restrict Atl-Codes From Charater Names and Makeing. - RaGEZONE Forums


Where @Name is my name variable
altcodehere is the alt code you wanna block

It gives no error when creating the char, but the char is not created.
 
Upvote 0
WowIwasSuperCringeB4
Loyal Member
Joined
Jun 21, 2008
Messages
1,297
Reaction score
226
"Applauses for cerealnp" ... Finally someone also get's it. Aha, You can also block other things in char names that offend other users etc.
 
Upvote 0
Joined
Mar 2, 2008
Messages
764
Reaction score
9
Sorry, you said "Where in that table" but i readed "where is that table" ^^. Is at spInsertChar, take a little look at my command:



Where @Name is my name variable
altcodehere is the alt code you wanna block

It gives no error when creating the char, but the char is not created.

Sorry for flaming you without reason.. well a lil one.. I was a bit pissed off that day
 
Upvote 0
Newbie Spellweaver
Joined
Nov 16, 2008
Messages
8
Reaction score
0
Easiest way is to create a script in the stored procs which returns a fault when any character besides A-Z a-z or 0-9 is put in. It's a lot less work than coming up with every single alt code imaginable.
 
Upvote 0
Sultan of Yolo
Loyal Member
Joined
May 21, 2008
Messages
1,225
Reaction score
110
Thx =D, But ive already noticed that it has a bug. It creates a character on the database with a null name.
...anyway, thx,,, can not it be so that it creates the charac ter in the deleted character name with his altcodes?
Easiest way is to create a script in the stored procs which returns a fault when any character besides A-Z a-z or 0-9 is put in. It's a lot less work than coming up with every single alt code imaginable.
..how is this ?
 
Upvote 0
Elite Diviner
Joined
Apr 23, 2006
Messages
415
Reaction score
45
Sorry for flaming you without reason.. well a lil one.. I was a bit pissed off that day

No problem =D

...anyway, thx,,, can not it be so that it creates the charac ter in the deleted character name with his altcodes?
No, it create an character entry at the databse with a blank name, but the character doesnt appear at the acc ingame. I really dunno why this bug is happening

..how is this ?

I think it will be something like

Code:
if @name not like '[a,z]' ... ...

but i really dont know, its a little bit out of my amazing programming knowledge
 
Upvote 0
The beer?? Its here !!!
Loyal Member
Joined
Jan 9, 2007
Messages
1,621
Reaction score
104
This is also usefull i think:
it will create an function, that checks if the entered string contains only letters and numbers
Code:
USE [GunzDB]
GO
/****** Object:  UserDefinedFunction [dbo].[fnCheckString]    Script Date: 11/21/2008 05:23:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[fnCheckString](@P_String VARCHAR(500))

RETURNS BIT

AS

BEGIN


DECLARE @V_RetValue BIT

DECLARE @V_Position INT

 

SET @V_Position = 1

SET @V_RetValue = 0   


WHILE @V_Position <= DATALENGTH(@P_String)

           AND @V_RetValue = 0

BEGIN


     IF ASCII(SUBSTRING(@P_String, @V_Position, 1))

            BETWEEN 48 AND 122

        SELECT @V_RetValue = 0

    ELSE

       SELECT @V_RetValue = 1      
   SET @V_Position = @V_Position + 1

END

RETURN @V_RetValue

 

END

After that execute this to edit the SpInsertchar stored procedure.
Code:
USE [GunzDB]
GO
/****** Object:  StoredProcedure [dbo].[spInsertChar]    Script Date: 11/21/2008 05:26:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

/****** Object:  Stored Procedure dbo.spInsertChar    Script Date: 5/10/2007 3:42:11 PM ******/


/* 캐릭터 추가 */
ALTER PROC [dbo].[spInsertChar]
	@AID		int,
	@CharNum	smallint,
	@Name		varchar(24),
	@Sex		tinyint,
	@Hair		int,  
	@Face		int,
	@Costume	int
AS
SET NOCOUNT ON
BEGIN TRAN
IF EXISTS (SELECT CID FROM Character where (AID=@AID AND CharNum=@CharNum) OR (Name=@Name))
BEGIN	
	ROLLBACK TRAN
	return(-1)
END
IF  (SELECT dbo.fnCheckString(@Name) as Test)= 1
BEGIN 
ROLLBACK TRAN
return (-1)
END
DECLARE @CharIdent 	int
DECLARE @ChestCIID	int
DECLARE @LegsCIID	int
DECLARE @MeleeCIID	int
DECLARE @PrimaryCIID	int
DECLARE @SecondaryCIID  int
DECLARE @Custom1CIID	int
DECLARE @Custom2CIID	int

DECLARE @ChestItemID	int
DECLARE @LegsItemID	int
DECLARE @MeleeItemID	int
DECLARE @PrimaryItemID	int
DECLARE @SecondaryItemID  int
DECLARE @Custom1ItemID	int
DECLARE @Custom2ItemID	int

SET @SecondaryCIID = NULL
SET @SecondaryItemID = NULL

SET @Custom1CIID = NULL
SET @Custom1ItemID = NULL

SET @Custom2CIID = NULL
SET @Custom2ItemID = NULL

INSERT INTO Character (AID, Name, CharNum, Level, Sex, Hair, Face, XP, BP, FR, CR, ER, WR, 
         		           GameCount, KillCount, DeathCount, RegDate, PlayTime, DeleteFlag)
Values (@AID, @Name, @CharNum, 1, @Sex, @Hair, @Face, 0, 0, 0, 0, 0, 0, 0, 0, 0, GETDATE(), 0, 0)
IF 0 <> @@ERROR BEGIN
	ROLLBACK TRAN
	RETURN (-1)
END


SET @CharIdent = @@IDENTITY

  /* Melee */
  SET @MeleeItemID = 
    CASE @Costume
    WHEN 0 THEN 1
    WHEN 1 THEN 2
    WHEN 2 THEN 1
    WHEN 3 THEN 2
    WHEN 4 THEN 2
    WHEN 5 THEN 1
    END

  INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @MeleeItemID)
  IF 0 <> @@ERROR BEGIN
	ROLLBACK TRAN
	RETURN (-1)
  END

  SET @MeleeCIID = @@IDENTITY

  /* Primary */
  SET @PrimaryItemID = 
    CASE @Costume
    WHEN 0 THEN 5001
    WHEN 1 THEN 5002
    WHEN 2 THEN 4005
    WHEN 3 THEN 4001
    WHEN 4 THEN 4002
    WHEN 5 THEN 4006
    END

  INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @PrimaryItemID)
  IF 0 <> @@ERROR BEGIN
	ROLLBACK TRAN
	RETURN (-1)
  END

  SET @PrimaryCIID = @@IDENTITY

  /* Secondary */
IF @Costume = 0 OR @Costume = 2 BEGIN
  SET @SecondaryItemID =
    CASE @Costume
    WHEN 0 THEN 4001
    WHEN 1 THEN 0
    WHEN 2 THEN 5001
    WHEN 3 THEN 4006
    WHEN 4 THEN 0
    WHEN 5 THEN 4006
    END

  IF @SecondaryItemID <> 0 BEGIN
    INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @SecondaryItemID)
    IF 0 <> @@ERROR BEGIN
	ROLLBACK TRAN
	RETURN (-1)
    END

    SET @SecondaryCIID = @@IDENTITY
  END
END
  SET @Custom1ItemID = 
    CASE @Costume
    WHEN 0 THEN 30301
    WHEN 1 THEN 30301
    WHEN 2 THEN 30401
    WHEN 3 THEN 30401
    WHEN 4 THEN 30401
    WHEN 5 THEN 30101
    END

  /* Custom1 */
  INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @Custom1ItemID)
  IF 0 <> @@ERROR BEGIN
	ROLLBACK TRAN
	RETURN (-1)
  END

  SET @Custom1CIID = @@IDENTITY

  /* Custom2 */
IF @Costume = 4 OR @Costume = 5
BEGIN
  SET @Custom2ItemID =
    CASE @Costume
    WHEN 0 THEN 0
    WHEN 1 THEN 0
    WHEN 2 THEN 0
    WHEN 3 THEN 0
    WHEN 4 THEN 30001
    WHEN 5 THEN 30001
    END

  IF @Custom2ItemID <> 0
  BEGIN
    INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @Custom2ItemID)
    IF 0 <> @@ERROR BEGIN
	ROLLBACK TRAN
	RETURN (-1)
    END

    SET @Custom2CIID = @@IDENTITY
  END
END


IF @Sex = 0		/* 남자일 경우 */
BEGIN

  /* Chest */
  SET @ChestItemID =
    CASE @Costume
    WHEN 0 THEN 21001
    WHEN 1 THEN 21001
    WHEN 2 THEN 21001
    WHEN 3 THEN 21001
    WHEN 4 THEN 21001
    WHEN 5 THEN 21001
    END


  INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @ChestItemID)
  IF 0 <> @@ERROR BEGIN
	ROLLBACK TRAN
	RETURN (-1)
  END

  SET @ChestCIID = @@IDENTITY

  /* Legs */
  SET @LegsItemID =
    CASE @Costume
    WHEN 0 THEN 23001
    WHEN 1 THEN 23001
    WHEN 2 THEN 23001
    WHEN 3 THEN 23001
    WHEN 4 THEN 23001
    WHEN 5 THEN 23001
    END


  INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @LegsItemID)
  IF 0 <> @@ERROR BEGIN 
	ROLLBACK TRAN
	RETURN (-1)
  END

  SET @LegsCIID = @@IDENTITY

END
ELSE
BEGIN			/* 여자일 경우 */

  /* Chest */
  SET @ChestItemID =
    CASE @Costume
    WHEN 0 THEN 21501
    WHEN 1 THEN 21501
    WHEN 2 THEN 21501
    WHEN 3 THEN 21501
    WHEN 4 THEN 21501
    WHEN 5 THEN 21501
    END


  INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @ChestItemID)
  IF 0 <> @@ERROR BEGIN
	ROLLBACK TRAN
	RETURN (-1)
  END
  SET @ChestCIID = @@IDENTITY

  /* Legs */
  SET @LegsItemID =
    CASE @Costume
    WHEN 0 THEN 23501
    WHEN 1 THEN 23501
    WHEN 2 THEN 23501
    WHEN 3 THEN 23501
    WHEN 4 THEN 23501
    WHEN 5 THEN 23501
    END


  INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @LegsItemID)
  IF 0 <> @@ERROR BEGIN
	ROLLBACK TRAN
	RETURN (-1)
  END
  SET @LegsCIID = @@IDENTITY

END  

UPDATE Character
SET chest_slot = @ChestCIID, legs_slot = @LegsCIID, melee_slot = @MeleeCIID,
    primary_slot = @PrimaryCIID, secondary_slot = @SecondaryCIID, custom1_slot = @Custom1CIID,
    custom2_slot = @Custom2CIID,
    chest_itemid = @ChestItemID, legs_itemid = @LegsItemID, melee_itemid = @MeleeItemID,
    primary_itemid = @PrimaryItemID, secondary_itemid = @SecondaryItemID, custom1_itemid = @Custom1ItemID,
    custom2_itemid = @Custom2ItemID
WHERE CID=@CharIdent
IF 0 = @@ROWCOUNT BEGIN
	ROLLBACK TRAN
	RETURN (-1)
END
COMMIT TRAN

Not that this is just an edited spInsertChar, if you have you own items/exp/bounty or what ever you need to change it youself.

Finally you got the an spInsertChar that only allow a~z,A~Z and 0 to 9

Thank me if you found this helpfull
 
Upvote 0
Back
Top