Sistema de proibiзгo de Nick/Parte de Nick/TAG/Caractere/Palavra [SQLite] -
F1N4L - 01.10.2016
Esta include facilita proibiзгo de nomes, partes de nomes, tags, palavras e atй caracteres...
*Nenhuma funзгo necessita do ID do jogador, apenas uma string/caractere.
*A maioria das funзхes nгo fazem consulta no banco de dados, pois as mesmas getam os valores das variбveis.
*Algumas funзхes possuem mesmo cуdigo, porйm nomenclaturas diferentes para facilitar as verificaзхes.
ATUALIZADO
*Toda a estrutura de inclusгo e exclusгo de item foi modificada;
*Todas as variбveis passaram a ser estбticas.
*Funзхes de remoзгo das proibiзхes adicionado;
*Bug de verificaзгo de algumas funзхes corrigido.
Definindo o mбximo de itens por tabela:
Code:
#define MAX_ITENS 100
Definindo o nome do banco de dados:
Code:
#define DATABASE "Block.db"
*Anti Nick:
Verificando se o nick й proibido
stock bool:IsForbiddenNick(const Nick[]);
Verificando se o nick existe no BD
stock ForbiddenNickExists(const Nick[])
Adicionando um novo nick proibido no BD
stock AddForbiddenNick(const Nick[])
Removendo um nick proibido do BD
stock RemoveForbiddenNick(const Nick[])
*Anti TAG:
Verificando se a TAG й proibida
stock bool:IsForbiddenTag(const Tag[]);
Verificando se a TAG existe no BD
stock ForbiddenTagExists(const Tag[])
Adicionando uma nova TAG proibida no BD
stock AddForbiddenTag(const Tag[])
Removendo uma TAG proibida do BD
stock RemoveForbiddenTag(const Tag[])
*Anti Parte Nick:
Verificando se a parte do nick й proibida
stock bool:IsForbiddenPartNick(const PartNick[]);
Verificando se a parte do nick existe no BD
stock ForbiddenPartNickExists(const PartNick[])
Adicionando uma nova parte de nick proibida no BD
stock AddForbiddenPartNick(const PartNick[])
Removendo uma parte do nick proibida do BD
stock RemoveForbiddenPartNick(const PartNick[])
*Anti Palavra:
Verificando se a palavra digitada й proibida
stock bool:IsForbiddenWord(const Word[]);
Verificando se a palavra digitada existe no BD
stock ForbiddenWordExists(const Word[])
Adicionando uma nova palavra proibida no BD
stock AddForbiddenWord(const Word[])
Removendo uma palavra proibida do BD
stock RemoveForbiddenWord(const Word[])
*Anti Caractere:
Verificando se o caractere й proibido
stock bool:IsForbiddenChar(const Char[]);
Verificando se o caractere existe no BD
stock ForbiddenCharExists(const Char[])
Adicionando um novo caractere proibida no BD
stock AddForbiddenChar(const Char[])
Removendo um caractere proibido do BD
stock RemoveForbiddenChar(const Char[])
Download
http://pastebin.com/UHMGuyqa
Crйditos
a_samp by SA:MP Team
Script by F1N4L
Re: Sistema de proibiзгo de Nick/Parte de Nick/TAG/Caractere/Palavra [SQLite] -
RiqueP - 01.10.2016
Um pouco simples mas estб bom pra um novato

.
static global?
Re: Sistema de proibiзгo de Nick/Parte de Nick/TAG/Caractere/Palavra [SQLite] -
RedMF - 01.10.2016
Essas static e pra ser resetada toda vez que for usada?
Code:
static
bool:CaseSensitive = true;
static
DB:Database,
DBResult:Resultado;
new
AntiTAG[MAX_ITENS][10],
AntiNick[MAX_ITENS][MAX_PLAYER_NAME],
AntiParteNick[MAX_ITENS][MAX_PLAYER_NAME],
AntiPalavra[MAX_ITENS][20],
AntiChar[MAX_ITENS][2];
static
RowsAntiTAG,
RowsAntiParteNick,
RowsAntiNick,
RowsAntiPalavra,
RowsAntiChar;
static
String[128];
Re: Sistema de proibiзгo de Nick/Parte de Nick/TAG/Caractere/Palavra [SQLite] - Whoo - 01.10.2016
Quote:
Originally Posted by RedMF
Essas static e pra ser resetada toda vez que for usada?
Code:
static
bool:CaseSensitive = true;
static
DB:Database,
DBResult:Resultado;
new
AntiTAG[MAX_ITENS][10],
AntiNick[MAX_ITENS][MAX_PLAYER_NAME],
AntiParteNick[MAX_ITENS][MAX_PLAYER_NAME],
AntiPalavra[MAX_ITENS][20],
AntiChar[MAX_ITENS][2];
static
RowsAntiTAG,
RowsAntiParteNick,
RowsAntiNick,
RowsAntiPalavra,
RowsAntiChar;
static
String[128];
|
https://sampwiki.blast.hk/wiki/Scriptin...#global_static
PHP Code:
global static
Global static variables are like normal globals but can only be used in the file in which they are declared:
File1:
static
gsMyVar = 4;
MyFunc()
{
printf("%d", gsMyVar);
}
#include "File2"
File2:
MyFunc2()
{
// This is wrong as gsMyVar doesn't exist here
printf("%d", gsMyVar);
}
em programaзгo modular static nгo funcionaria.
Boa include,
Re: Sistema de proibiзгo de Nick/Parte de Nick/TAG/Caractere/Palavra [SQLite] -
F1N4L - 01.10.2016
Quote:
Originally Posted by RiqueP
Um pouco simples mas estб bom pra um novato  .
static global?
|
Estou comeзando a usб-las e sim, static global й a mesma coisa que new. Vou fazer mais um update juntamente com outras funзхes.
Quote:
Originally Posted by RedMF
Essas static e pra ser resetada toda vez que for usada?
Code:
static
bool:CaseSensitive = true;
static
DB:Database,
DBResult:Resultado;
new
AntiTAG[MAX_ITENS][10],
AntiNick[MAX_ITENS][MAX_PLAYER_NAME],
AntiParteNick[MAX_ITENS][MAX_PLAYER_NAME],
AntiPalavra[MAX_ITENS][20],
AntiChar[MAX_ITENS][2];
static
RowsAntiTAG,
RowsAntiParteNick,
RowsAntiNick,
RowsAntiPalavra,
RowsAntiChar;
static
String[128];
|
static й uma variбvel acumulativa. Quando criada localmente, ela nгo й destruнda contendo seu ultimo valor armazenado, diferente de new.
Quote:
Originally Posted by Whoo
|
Thx!
Re: Sistema de proibiзгo de Nick/Parte de Nick/TAG/Caractere/Palavra [SQLite] -
Bruno13 - 01.10.2016
Bacana, bem ъtil.
Recomendaria declarar todos tuas variбveis da inc como static, vai evitar que sejam acessadas no arquivo que carregar a include, tb evitarб warns caso alguma outra var seja declarada com a mesma nomenclatura no arquivo que esteve a carregar a inc.
Re: Sistema de proibiзгo de Nick/Parte de Nick/TAG/Caractere/Palavra [SQLite] -
Dayvison_ - 01.10.2016
Hm, pra mim isto nгo proнbe nada uma vez que apenas salva/carrega do DB, se fosse realmente de proibiзгo o include mesmo checaria se no nick tem partes proibidas etc..
Fora isto aconselharia novas funзхes com intuito de remover.
Re: Sistema de proibiзгo de Nick/Parte de Nick/TAG/Caractere/Palavra [SQLite] -
RiqueP - 02.10.2016
Quote:
Originally Posted by F1N4L
Estou comeзando a usб-las e sim, static global й a mesma coisa que new. Vou fazer mais um update juntamente com outras funзхes.
|
To ligado, й que uma static й mais aproveitada de forma local. Mas claro que nгo deixa de estar certo.
Re: Sistema de proibiзгo de Nick/Parte de Nick/TAG/Caractere/Palavra [SQLite] -
F1N4L - 02.10.2016
Quote:
Originally Posted by Bruno13
Bacana, bem ъtil.
Recomendaria declarar todos tuas variбveis da inc como static, vai evitar que sejam acessadas no arquivo que carregar a include, tb evitarб warns caso alguma outra var seja declarada com a mesma nomenclatura no arquivo que esteve a carregar a inc.
|
Obrigado. Nгo sabia dessa sobre static, obrigado novamente!
Quote:
Originally Posted by Day_
Hm, pra mim isto nгo proнbe nada uma vez que apenas salva/carrega do DB, se fosse realmente de proibiзгo o include mesmo checaria se no nick tem partes proibidas etc..
Fora isto aconselharia novas funзхes com intuito de remover.
|
Vocк estб certo, realmente nгo hб proibiзгo alguma!!!
Jб hб filterscripts com essas proibiзхes e meu intuito й deixar o usuбrio personalizar a puniзгo. Por exemplo, toda vez que um jogador conectar, OnPlayerConnect й chamado e nesta callback pode ser posto as funзхes de verificaзгo de Nick/Part Nick e Tag.
Code:
static Nome[24];
GetPlayerName(playerid, Nome, 24);
if(IsForbiddenNick(Nome))
{
Kick(playerid);
}
Й claro que a
maioria vai realizar um kick no jogador ao invйs de punir de outra maneira, mas ainda hб pessoas criativas que podem realizar outros tipos de puniзхes que nгo o kick.
Vou sim fazer as funзхes de remoзгo das proibiзхes, estou trabalhando nisso.
Quote:
Originally Posted by RiqueP
To ligado, й que uma static й mais aproveitada de forma local. Mas claro que nгo deixa de estar certo.
|
Pois й, eu estou comeзando usa-las agora, como comentei.
A cada comentбrio (como o seu) se referindo a ela comeзo a compreende-la melhor!
Thx!
Re: Sistema de proibiзгo de Nick/Parte de Nick/TAG/Caractere/Palavra [SQLite] - Carlos001 - 08.10.2016
Ficou bom bom F1N4L, Parabйns.