How can i stop alt codes in the normal charaters names
because regular players are able to make colored names
Printable View
How can i stop alt codes in the normal charaters names
because regular players are able to make colored names
abuse.txt just remember to encrypt your system.mrs so they cant take the color codes out, though this way will also disable color codes in-game
Where can i find the abuse.txt becuz i am looking every where
system.mrs
can be restricted thru the runnable
how :O I usually just put it in the abuse.txt xD
Can someone give a short tut i dont understand and i dont see the abuse tx in the system
Make a new file called abuse.txt if it is not there.
Yea i got it now ....just made a new runnable
Much people use euro.dll for making charnames with weird alt-codes :S
Just do it serversided, in the char create sql
Mambo
Add me on msn ....tra3200@live.com
Mambo ...what will i get for helping you? lol just kidding I'm not like you..
You have to put that in abuse.txt in system.mrs and if you have filelist you have to update it.
I think you can add something in spCreateChar but im not that much of a coder so you should ask someone else.:thumbdown:
Well Blah Blah all i did was code the runnable ...LMAO
Maybe thievingsix can write a tut about it?
Use CHARINDEX('Altcodehere',@UserName)
GunzDB>Programmability>Stored Procedures
..Can you say how to do this please?...
I got this, where have i to add that ?
http://i72.servimg.com/u/f72/11/82/86/31/gunz12.jpg
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..............
Sorry, you said "Where in that table" but i readed "where is that table" ^^. Is at spInsertChar, take a little look at my command:
http://img519.imageshack.us/img519/3...durefb8.th.jpg
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.
YAY Someone actually took the time to learn how to do it without complaining.
"Applauses for cerealnp" ... Finally someone also get's it. Aha, You can also block other things in char names that offend other users etc.
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.
No problem =D
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
I think it will be something like
but i really dont know, its a little bit out of my amazing programming knowledgeCode:if @name not like '[a,z]' ... ...
You still flamed if you like it or not...
This is also usefull i think:
it will create an function, that checks if the entered string contains only letters and numbers
After that execute this to edit the SpInsertchar stored procedure.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
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.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
Finally you got the an spInsertChar that only allow a~z,A~Z and 0 to 9
Thank me if you found this helpfull
You should allow underscores as well.
This characters are allowed
Code::;<=>?@[/]^_`