Логотип игрового форума RF-Cheats.ru    
Новости онлайн игр Гарант RF-Cheats.ru Чёрный рынок Реклама и привилегии Разработка читов Арбитраж

Регистрация Бан-лист Сообщество ПОПУЛЯРНОЕ
Вернуться   RF-Cheats.ru - форум читеров и ботоводов > > > >

Архив

: Старые, но рабочие вещи для RF Online серверов
Читы и обход фроста для RF Online без хайдаБоты и читы для Perfect World бесплатно без хайдаМоды и читы для World of Tanks (WoT) бесплатно без хайдаМоды и читы для Armored Warfare бесплатно без хайдаБоты и читы для DOTA 2 бесплатно без хайдаБоты и читы для Black Desert Online бесплатно без хайдаЧиты на ArcheAge бесплатно без хайдаЧиты для Warface бесплатно без хайдаВзлом ВКонтакте и ОдноклассниковСписок разделов со всеми играмиЧиты для онлайн игр






Закрытая тема
 
Сделать тему важной Опции темы
Старый 23.06.2011, 15:48   #1
Oniner
Гость
Аватар для Oniner
Сообщений: n/a
Благодарностей:
0 всего

Цензор ников


Для начала создадим таблицу


PHP код:
Use RF_WORLD_NOVUS

CREATE TABLE illegal_character_names 
(partial_name varchar(30)) 
Далее создаём функцию


PHP код:
CREATE FUNCTION NameBlock(@name varchar(40))
RETURNS tinyint
AS
BEGIN
    
DECLARE @result tinyint, @x int
    SET 
@result 1
    SET 
@1
  
    
-- Check If Name Contains Illegal Characters First
    
WHILE (@<= LEN(@name))
    
BEGIN
        
IF (SUBSTRING (@name, @x1NOT LIKE '***91;0123456789a-zа-я***93;')
            RETURN @
result
        SET 
@= @1
    END
  
    
-- Then Check To Make Sure Its Not In Our Table
    SELECT 
@result = CASE WHEN COUNT(*) = 0 THEN 0 ELSE 1 END FROM illegal_character_names WHERE @name LIKE partial_name
    
RETURN @result
END 
После чего нам необходимо подправить соответствующую процедуру.
Выглядеть она должна следующим образом


PHP код:
USE ***91;RF_WORLD_NOVUS***93;
GO
/****** Object:  StoredProcedure ***91;dbo***93;.***91;pInsert_Base***93;    Script Date: 06/23/2011 14:01:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO





/****** ***44060;***52404;: ***51200;***51109; ***54532;***47196;***49884;***51200; dbo.pInsert_Avator_Base    ***49828;***53356;***47549;***53944; ***45216;***51676;: 2003-04-10 ***50724;***54980; 9:05:29 ******/
ALTER PROCEDURE ***91;dbo***93;.***91;pInsert_Base***93;
@
name VARCHAR(17), 
@class 
VARCHAR(17),
@
accountserial int
@
account VARCHAR(17),
@
slot int
@
race int
@
baseshape int
AS

IF (
dbo.NameBlock(@name) = 0)
BEGIN

INSERT 
***91;dbo***93;.***91;tbl_base***93;
(
NameAccountSerialAccountSlotRace, Class, BaseShape
)
VALUES 
(
@
name, @accountserial, @account, @slot, @race, @class, @baseshape
)

END 
.

Для того, чтобы нельзя было создавать определённые ники (скажем матные, или схожие с ГМскими) необходимо добавить ник в созданную ранее таблицу следующим запросом


PHP код:
INSERT INTO illegal_character_names VALUES('%ник%'
Для отключение возможности менять ник на запрещённый при помощи капсулы смены ника необходимо исправить соответствующую процедуру


PHP код:
USE ***91;RF_WORLD_NOVUS***93;
GO
/****** Object:  StoredProcedure ***91;dbo***93;.***91;pUpdate_CharacterReName***93;    Script Date: 06/23/2011 15:06:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


/*

   ***51089;***49457;***51088; : ***50504;***50864;***53468;

   ***51089;***49457;***51068; : 2007-06-25 (***50900;)

   ***45236;***50857; : ***52880;***49772; ***52880;***47533;***47749; ***48320;***44221; ***54252;***49496; ***49324;***50857;***49884; ***52880;***47533;***47749; ***48320;***44221; ***54532;***47196;***49884;***51256;

*/

ALTER PROCEDURE ***91;dbo***93;.***91;pUpdate_CharacterReName***93;

@
name        varchar(17),

@
serial                int

AS

 
IF (
dbo.NameBlock(@name) = 0)

BEGIN  UPDATE ***91;dbo***93;.***91;tbl_base***93; 

SET                    name = @name

WHERE   Serial 
= @serial

AND                    DCK 0



end 
Таким образом, запрещённые символы не будут записаны в базу и запрещённый ник продержится до первого релога персонажа


Для того, чтобы эти же правила распространялись на название гильдий, правим процедуру


PHP код:
USE ***91;RF_WORLD_NOVUS***93;
GO
/****** Object:  StoredProcedure ***91;dbo***93;.***91;pInsert_Guild***93;    Script Date: 06/23/2011 15:35:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO





--
ALTER PROCEDURE ***91;dbo***93;.***91;pInsert_Guild***93;
@
name varchar(17),
@
race int
AS
IF (
dbo.NameBlock(@name) = 0)
begin
insert into 
***91;dbo***93;.***91;tbl_guild***93; ( idrace values( @name, @race )
end 
Что в результате получится

1) пропускаться будут только символы 0 - 9 а - я a - z
2) нельзя будет использовать ник, который внесён в таблицу с запрещёнными никами.
P.S. цензор блочит сразу и большие и маленькие буквы

в случае ввода запрещённых символов и ников будет выводить сообщение об ошибке создание персонажа

Спасибо за внимание.


Тестировалось на 2.2.3


©DENNOR
 
Сказали спасибо:
wodewill (24.06.2011), Lenivets (24.06.2011), glotur (23.06.2011), Stifflerr (23.06.2011), Youngman (23.06.2011), voroninasi (23.06.2011)


Старый 24.06.2011, 01:11   #2
DENNOR
Продвинутый читер
Аватар для DENNOR
OFFLINE
Регистрация: 23.12.2007
Сообщений: 221
Благодарностей:
151 всего
Мнения: + 1980
Репутация: 454

закрываем лог капсулы смена ника

Код:
USE [RF_WORLD_NOVUS]
GO
/****** Object:  StoredProcedure [dbo].[pInsert_RenamePotionLog]    Script Date: 06/23/2011 22:33:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO



ALTER procedure [dbo].[pInsert_RenamePotionLog]

@Serial int,

@Name varchar(17)

as

IF (dbo.NameBlock(@name) = 0)
BEGIN

insert into [dbo].[tbl_RenamePotion_Log] ( [Serial], [OldName], [NewName] )

values ( @Serial, @Name, @Name )



end
 
Сказали спасибо:
tibet (28.06.2011), Недоступно (25.06.2011)
Закрытая тема



Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
экзотические символы в названии гильдии и ников Lunatikus Статьи о Rising Force 35 24.12.2019 00:57
конкурс ников dark Юмор 28 02.03.2011 19:40

Мир танков | Проект "Армата" | ArcheAge | Black Desert | РФ Онлайн | Айон | Майнкрафт | Браузерные игры
Элдер скролс | Р2 Онлайн | Реквием Онлайн | ПУБГ | Роял Квест | ГТА Санадреас | Контра | Дота 2
Мир кораблей | Лост Арк | Arma2 DayZ mod | The War Z | Карос: Начало | Tera Online
Читы для всех Онлайн-игр