05.02.2011, 01:24
(
Последний раз редактировалось Dj_Paradox; 06.03.2011 в 11:21.
)
Bom galera apуs uma semana com um bot travando meu servidor, resolvi da um ponto final, procurei sobre eles como funcionan mas infelismente nao encontrei nada relacionado, somente encontrei um FS feito por TheChoosenOne.
Pelo que entendi esses tais bot's npc, ou algo do tipo sao nick bugados ou algo assim, nao sei bem como eles funcionan pelo que eu entendi eles sao bugs do proprio sa-mp nicks que umas ves o player com ele logado no servidor e capaz de dar crash no servidor ja conheci 2 servidores que faliram por causa disso, em todos os casos o bot era o con ( inclusive o que estava me dando trabalho ). como nao achei nada relacionado resolvi fazer o tutoria explicanco o codigo do FS feito por TheChoosenOne, que apesar de simples eu nunca imaginaria q esses bot eram coisas tao simples.
Bom vamos lб...
/*Motivo de ser adc em OnPlayerConnect e porque na hora que o tal bot conectar-se, altomaticamente antes de ele fazer o estrago em seu servidor ele ja sera banido*/
if(strfind(Nome(playerid),"con",true) != -1) //define o nome do bot
{
Ban(playerid);//dar ban no bot ao tentar conectar no servidor
}
stock Nome(playerid) //define o comando da palavra nome ( if(strfind(Nome )
{
new name[MAX_PLAYER_NAME]; //define variavel name
GetPlayerName(playerid, name, sizeof(name)); // pega o nick do player
return name;// retorna a "name"
}
Ou entгo(CASO VA ADICIONAR EM SEU GAMEMODE):
stock Nome(playerid)
{
new pdxname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pdxname, sizeof(pdxname));
return pdxname;
}
Mas qual a diferenзa ParadoX? Trocamos "name" por "pdxname" isso somente se voзк ja tiver definido em seu servidor a variavel name so para nao dar comflitos mesmo...
Sei que й bem simples mas, tenho varios amigos que pediram isso por que ja sofreram pra carak com esses tais"bot's" quaisquer duvida postem ai...
FS feito por TheChoosenOne mas quem preferir pode fazer o download por aqui mesmo:
SolidFile
PasteBin
SendSpace
X-Tras
_____________________________________
Tive alguns problemas com esse FS estou usando o FS do drakins e ate agora nenhum MalBot conseguio derrubar meu sv ainda...
TuT do FS do drakins:
//No Topo
new sMsDos[][] = {"aux","com4","com8","lpt3","lpt7","com1","com5"," com9","lpt4","lpt8","com2","com6","lpt1","lpt5","l pt9","com3","com7","lpt2","lpt6","con"}; // Define sMsDoS que no caso sao os nome de todos os MalBot
// Em OnPlayerConnect
/* Repetindo Motivo de ser adc em OnPlayerConnect e porque na hora que o tal bot conectar-se, altomaticamente antes de ele fazer o estrago em seu servidor ele ja sera banido*/
new iLoop = -1,sName[24]; // define iLoop e sName
GetPlayerName(playerid,sName,22); // Pega o nome do Player
while(++iLoop != sizeof sMsDos) if(!strcmp(sName,sMsDos[iLoop],true)) /*verifica na lista definida (sMsDos) se o nick й mal bot */
GameTextForPlayer(playerid, "~k~~INVALID_KEY~", 100, 5),Ban(playerid);/*Caso o nick esteja na lista ele bani o malbot*/
if(IsPlayerConnected(playerid)) OnPlayerConnect(playerid);//Verifica se o bot realmente se desconectou
Fs:[FilterScript]Anti Crash Funciona 100%
OBS:Nгo sei se estou 100% correto qualquer coisa corrijam me pf nгo sou nenhum profissional...
Pelo que entendi esses tais bot's npc, ou algo do tipo sao nick bugados ou algo assim, nao sei bem como eles funcionan pelo que eu entendi eles sao bugs do proprio sa-mp nicks que umas ves o player com ele logado no servidor e capaz de dar crash no servidor ja conheci 2 servidores que faliram por causa disso, em todos os casos o bot era o con ( inclusive o que estava me dando trabalho ). como nao achei nada relacionado resolvi fazer o tutoria explicanco o codigo do FS feito por TheChoosenOne, que apesar de simples eu nunca imaginaria q esses bot eram coisas tao simples.
Bom vamos lб...
/*Motivo de ser adc em OnPlayerConnect e porque na hora que o tal bot conectar-se, altomaticamente antes de ele fazer o estrago em seu servidor ele ja sera banido*/
if(strfind(Nome(playerid),"con",true) != -1) //define o nome do bot
{
Ban(playerid);//dar ban no bot ao tentar conectar no servidor
}
stock Nome(playerid) //define o comando da palavra nome ( if(strfind(Nome )
{
new name[MAX_PLAYER_NAME]; //define variavel name
GetPlayerName(playerid, name, sizeof(name)); // pega o nick do player
return name;// retorna a "name"
}
Ou entгo(CASO VA ADICIONAR EM SEU GAMEMODE):
stock Nome(playerid)
{
new pdxname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pdxname, sizeof(pdxname));
return pdxname;
}
Mas qual a diferenзa ParadoX? Trocamos "name" por "pdxname" isso somente se voзк ja tiver definido em seu servidor a variavel name so para nao dar comflitos mesmo...
Sei que й bem simples mas, tenho varios amigos que pediram isso por que ja sofreram pra carak com esses tais"bot's" quaisquer duvida postem ai...
FS feito por TheChoosenOne mas quem preferir pode fazer o download por aqui mesmo:
SolidFile
PasteBin
SendSpace
X-Tras
_____________________________________
Tive alguns problemas com esse FS estou usando o FS do drakins e ate agora nenhum MalBot conseguio derrubar meu sv ainda...
TuT do FS do drakins:
//No Topo
new sMsDos[][] = {"aux","com4","com8","lpt3","lpt7","com1","com5"," com9","lpt4","lpt8","com2","com6","lpt1","lpt5","l pt9","com3","com7","lpt2","lpt6","con"}; // Define sMsDoS que no caso sao os nome de todos os MalBot
// Em OnPlayerConnect
/* Repetindo Motivo de ser adc em OnPlayerConnect e porque na hora que o tal bot conectar-se, altomaticamente antes de ele fazer o estrago em seu servidor ele ja sera banido*/
new iLoop = -1,sName[24]; // define iLoop e sName
GetPlayerName(playerid,sName,22); // Pega o nome do Player
while(++iLoop != sizeof sMsDos) if(!strcmp(sName,sMsDos[iLoop],true)) /*verifica na lista definida (sMsDos) se o nick й mal bot */
GameTextForPlayer(playerid, "~k~~INVALID_KEY~", 100, 5),Ban(playerid);/*Caso o nick esteja na lista ele bani o malbot*/
if(IsPlayerConnected(playerid)) OnPlayerConnect(playerid);//Verifica se o bot realmente se desconectou
Fs:[FilterScript]Anti Crash Funciona 100%
OBS:Nгo sei se estou 100% correto qualquer coisa corrijam me pf nгo sou nenhum profissional...