[Ajuda] Ant-Divulgue -
Ichigo_Kurosaki - 08.05.2012
Olб pessoal, eu estou ultilizando este FS ant-divulguer, mais ele tem uma falha que o player pode digitar o ip sem o espaзo e nгo й kickado.
ex:
12 34 567 890 1254
Alguйm pde me ajudar a colocar para mesmo com espaзo ele ser kickado??
pawn Код:
/*
==================================================
|FS By Christian_David |
|Email: davidchristia@gmail.com |
| |
|Defina o IP do Teamspeak e do Servidor Abaixo |
|Para nao haver conflitos ;) |
| |
|caso deseje editar e postar em algum blog |
|por favor nгo retirar os creditos originais! |
==================================================
*/#define TS "127.0.0.1:7878"#define SV "127.0.0.1:7777"#include <a_samp>forward AntiDivulguer
(texto
[]);
forward IPDivulguerLog
(playerid,string
[]);
public OnPlayerText
(playerid,text
[]){ new str
[256];
if(AntiDivulguer
(text
)) { SendClientMessageToAll
(0xcc2d2dFF,
"===============================");
format(str,
sizeof(str
),
"%s Tentou Divulgar 1 IP e foi Kickado!",pNome
(playerid
));
SendClientMessageToAll
(0x2d78ccFF,str
);
SendClientMessageToAll
(0x2d78ccFF,
"Temos ums Sistema Ant-Divulgaзгo");
SendClientMessageToAll
(0x2d78ccFF,
"Vocк acaba de ser kickado, nгo fassa mais isso!");
SendClientMessageToAll
(0x2d78ccFF,
"Volte para o serv!");
SendClientMessageToAll
(0xcc2d2dFF,
"===============================");
IPDivulguerLog
(playerid,text
);
Kick
(playerid
);
return 1;
} return 1;
}public AntiDivulguer
(texto
[]){ new IPTent
[4][128],IPTentPort
[1][128],ipcompleto
[256];
split
(texto,IPTent,
'.');
split
(texto,IPTentPort,
':');
format(ipcompleto,
sizeof(ipcompleto
),
"%d.%d.%d.%d:%d",
strval(IPTent
[0]),
strval(IPTent
[1]),
strval(IPTent
[2]),
strval(IPTent
[3]),
strval(IPTentPort
[0]));
if(strval(IPTent
[1])>0&&strval
(IPTent
[2])>0&&strval
(IPTent
[3])>0&&strcmp
(SV,texto,true
)==-1&&strcmp
(TS,texto,true
)==-1) { return 1;
} return 0;
}stock split
(const strsrc
[], strdest
[][], delimiter
){ new i, li;
new aNum;
new len;
while(i
<= strlen(strsrc
)){ if(strsrc
[i
]==delimiter || i
==strlen(strsrc
)){ len
= strmid(strdest
[aNum
], strsrc, li, i,
128);
strdest
[aNum
][len
] = 0;
li
= i
+1;
aNum
++;
} i
++;
} return 1;
}stock pNome
(playerid
){ new nome
[MAX_PLAYER_NAME
];
GetPlayerName
(playerid,nome,
sizeof(nome
));
return nome;
}public IPDivulguerLog
(playerid,string
[]){ new entry
[128],dia,mes,ano,hora,minuto,segundo;
gettime(hora,minuto,segundo
);
getdate(ano,mes,dia
);
format(entry,
sizeof(entry
),
"[%s][%d/%d/%d|%d:%d:%d]: %s\n",pNome
(playerid
),dia,mes,ano,hora,minuto,segundo,string
);
new File:hFile;
hFile
= fopen("ServidoresNbs.log", io_append
);
fwrite(hFile, entry
);
fclose(hFile
);
}
Re: [Ajuda] Ant-Divulgue -
steki. - 08.05.2012
Existem muitas coisas a se considerar.
Se os players do seu servidor vгo para outro sу porque um retard digitou o IP no chat, o seu servidor nem merece tal player.
Re: [Ajuda] Ant-Divulgue -
ViictorDaay- - 08.05.2012
pawn Код:
/*
==================================================
|FS By Christian_David |
|Email: davidchristia@gmail.com |
| |
|Defina o IP do Teamspeak e do Servidor Abaixo |
|Para nao haver conflitos ;) |
| |
|caso deseje editar e postar em algum blog |
|por favor nгo retirar os creditos originais! |
==================================================
*/#define TS "127.0.0.1:7878"#define SV "127.0.0.1:7777"#include <a_samp>forward AntiDivulguer
(texto
[]);
forward IPDivulguerLog
(playerid,string
[]);
public OnPlayerText
(playerid,text
[]){ new str
[256];
if(AntiDivulguer
(text
)) { SendClientMessageToAll
(0xcc2d2dFF,
"===============================");
format(str,
sizeof(str
),
"%s Tentou Divulgar 1 IP e foi Kickado!",pNome
(playerid
));
SendClientMessageToAll
(0x2d78ccFF,str
);
SendClientMessageToAll
(0x2d78ccFF,
"Temos ums Sistema Ant-Divulgaзгo");
SendClientMessageToAll
(0x2d78ccFF,
"Vocк acaba de ser kickado, nгo fassa mais isso!");
SendClientMessageToAll
(0x2d78ccFF,
"Volte para o serv!");
SendClientMessageToAll
(0xcc2d2dFF,
"===============================");
IPDivulguerLog
(playerid,text
);
Kick
(playerid
);
return 1;
} return 1;
}public AntiDivulguer
(texto
[]){ new IPTent
[4][128],IPTentPort
[1][128],ipcompleto
[256];
split
(texto,IPTent,
'.');
split
(texto,IPTent1,
' ');
split
(texto,IPTentPort,
':');
format(ipcompleto,
sizeof(ipcompleto
),
"%d.%d.%d.%d:%d",
strval(IPTent
[0]),
strval(IPTent
[1]),
strval(IPTent
[2]),
strval(IPTent
[3]),
strval(IPTentPort
[0]),
strval(IPTent1
[0]));
if(strval(IPTent
[1])>0&&strval
(IPTent
[2])>0&&strval
(IPTent
[3])>0&&strcmp
(SV,texto,true
)==-1&&strcmp
(TS,texto,true
)==-1) { return 1;
} return 0;
}stock split
(const strsrc
[], strdest
[][], delimiter
){ new i, li;
new aNum;
new len;
while(i
<= strlen(strsrc
)){ if(strsrc
[i
]==delimiter || i
==strlen(strsrc
)){ len
= strmid(strdest
[aNum
], strsrc, li, i,
128);
strdest
[aNum
][len
] = 0;
li
= i
+1;
aNum
++;
} i
++;
} return 1;
}stock pNome
(playerid
){ new nome
[MAX_PLAYER_NAME
];
GetPlayerName
(playerid,nome,
sizeof(nome
));
return nome;
}public IPDivulguerLog
(playerid,string
[]){ new entry
[128],dia,mes,ano,hora,minuto,segundo;
gettime(hora,minuto,segundo
);
getdate(ano,mes,dia
);
format(entry,
sizeof(entry
),
"[%s][%d/%d/%d|%d:%d:%d]: %s\n",pNome
(playerid
),dia,mes,ano,hora,minuto,segundo,string
);
new File:hFile;
hFile
= fopen("ServidoresNbs.log", io_append
);
fwrite(hFile, entry
);
fclose(hFile
);
}
Respuesta: [Ajuda] Ant-Divulgue -
Ichigo_Kurosaki - 08.05.2012
Victor, se eu quizesse adaptar ele para colocar tambйm ao player executar um comando?
Ex o player digita /anuncio2 e coloca o ip do servidor dele.
pawn Код:
if(strcmp(cmd, "/anuncio2", true) == 0 || strcmp(cmd, "/an2", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Vocк Nгo Estб Logado !");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USO: (/an)uncio [TeXtO]");
return 1;
}
if(PlayerInfo[playerid][pLevel] < 3)
{
SendClientMessage(playerid, COLOR_GRAD1, "Vocк precisa ser nнvel 3 ou mais para anunciar");
return 1;
}
if((!adds) && (PlayerInfo[playerid][pAdmin] < 1))
{
format(string, sizeof(string), " Por Favor, Tente Apуs %d Segundo Para o Proximo Anъncio !", (addtimer/1000));
SendClientMessage(playerid, COLOR_GRAD2, string);
return 1;
}
new payout = idx * 2;
if(GetPlayerGP(playerid) < payout)
{
format(string, sizeof(string), "Vocк Usou %d characteres e custou $%d, Vocк nгo tem Esse Dinheiro.", offset, payout);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
GivePlayerGP(playerid, - payout);
SBizzInfo[7][sbTill] += payout;
ExtortionSBiz(7, payout);
format(string, sizeof(string), "Anъncio: %s, Contato: %s Tel: %d", result, sendername,PlayerInfo[playerid][pPnumber]);
OOCNews(TEAM_GROVE_COLOR,string);
format(string, sizeof(string), "~r~Pagou $%d~n~~w~Mensagem Contem: %d Characteres", payout, idx);
GameTextForPlayer(playerid, string, 5000, 5);
SetTimer("AddsOn", addtimer, 0);adds = 0;
}
return 1;
}
@edit
deu um erro porque faltou colocar no new
IPTent1
eu deixei assim ta correto?:
pawn Код:
public AntiDivulguer(texto[])
{
new IPTent[4][128],IPTent1[5][128],IPTentPort[1][128],ipcompleto[256];
split(texto,IPTent,'.');
split(texto,IPTent1,' ');
split(texto,IPTentPort,':');
format(ipcompleto,sizeof(ipcompleto),"%d.%d.%d.%d:%d",strval(IPTent[0]),strval(IPTent[1]),strval(IPTent[2]),strval(IPTent[3]),strval(IPTentPort[0]),strval(IPTent1[0]));
if(strval(IPTent[1])>0&&strval(IPTent[2])>0&&strval(IPTent[3])>0&&strcmp(SV,texto,true)==-1&&strcmp(TS,texto,true)==-1)
{
return 1;
}
return 0;
}
Re: [Ajuda] Ant-Divulgue -
ViictorDaay- - 08.05.2012
Teste ai amigo ja estou
resolvendo o anuncio
Respuesta: [Ajuda] Ant-Divulgue -
Ichigo_Kurosaki - 08.05.2012
Alguйm sabe como colocar esse sistema no comando?
Re: [Ajuda] Ant-Divulgue -
Caio_Freeze - 09.05.2012
ichigo use esse fs assim ninguem vai mandar mais /an indevido :P
http://forum.sa-mp.com/showthread.ph...istema+anuncio
Ajudei REp +
Respuesta: [Ajuda] Ant-Divulgue -
Ichigo_Kurosaki - 09.05.2012
o meu ja й em dialog, esse /anuncio sу foi um exemplo, na verdade й para outros comandos como /gov /ang /cv /b e assim vai