[Ajuda] Comando /ban
#1

Bom criei 1 sistema:
Topo:
pawn Код:
new BloqBan[MAX_PLAYERS];
OnPlayerConnect (callback)
pawn Код:
new aname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
    if(strcmp(aname, "Mister", true) == 0)
    {
        BloqBan[playerid] = 1;
    }
No comando:

pawn Код:
if(strcmp(cmd, "/ban", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(pAdmin[playerid] > 0){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Uso: /ban [id] [motivo]");
return 1;
}
plid = strval(tmp);
if(BloqBan[plid] >= 1 && strcmp(aname, "Mister", true) == 0)
{
    SendClientMessage(playerid, 0xFF0000AA, "[BVV]:{FF8000} Vocк nгo pode banir este Admin!");
    return 1;
}
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
if(IsPlayerConnected(plid)){
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, Vermelho, "Uso: /banir [id] [motivo]");
}else{
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "(INFO) %s baniu o Jogador: %s. || Razгo: %s || %d-%d-%d", aname, pname,result,month,day,year);
BanLog(string);
SendClientMessage(plid, 0x80FF00AA, "» Vocк foi banido deve ter feito alguma merda");
SendClientMessage(plid, 0xFFFFFFAA, "» Se foi banido injustamente Tire uma ''SS'' e tente o contato com um de nossos Admins!");
GameTextForPlayer(plid,"~r~banido", 2500, 3);
format(string, sizeof(string), "{90EE90}(INFO) O administrador {33AAFF}%s{90EE90} baniu o jogador: %s. || Razгo: %s.", aname,pname,result);
SendClientMessageToAll(tcadm, string);
dini_IntSet("banidos.ini",pname,1);
Ban(plid);
}
}else{
format(string, sizeof(string), "(ERRO) ID : %d nгo й valido!", plid);
SendClientMessage(playerid, Vermelho, string);
}
}
return 1;
}


Mais agora, quando eu vou banir alguem retorna que eu nгo posso banir um admin dono

em vez de quando alguem me banir retornar isso..

Porque?
Reply
#2

tenta:

pawn Код:
if(strcmp(cmd, "/ban", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(pAdmin[playerid] > 0){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Uso: /ban [id] [motivo]");
return 1;
}
plid = strval(tmp);
if(BloqBan[plid] >= 1 || strcmp(aname, "Mister", true) == 0)
{
    SendClientMessage(playerid, 0xFF0000AA, "[BVV]:{FF8000} Vocк nгo pode banir este Admin!");
    return 1;
}
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
if(IsPlayerConnected(plid)){
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, Vermelho, "Uso: /banir [id] [motivo]");
}else{
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "(INFO) %s baniu o Jogador: %s. || Razгo: %s || %d-%d-%d", aname, pname,result,month,day,year);
BanLog(string);
SendClientMessage(plid, 0x80FF00AA, "» Vocк foi banido deve ter feito alguma merda");
SendClientMessage(plid, 0xFFFFFFAA, "» Se foi banido injustamente Tire uma ''SS'' e tente o contato com um de nossos Admins!");
GameTextForPlayer(plid,"~r~banido", 2500, 3);
format(string, sizeof(string), "{90EE90}(INFO) O administrador {33AAFF}%s{90EE90} baniu o jogador: %s. || Razгo: %s.", aname,pname,result);
SendClientMessageToAll(tcadm, string);
dini_IntSet("banidos.ini",pname,1);
Ban(plid);
}
}else{
format(string, sizeof(string), "(ERRO) ID : %d nгo й valido!", plid);
SendClientMessage(playerid, Vermelho, string);
}
}
return 1;
}
Reply
#3

Quote:
Originally Posted by delete
Посмотреть сообщение
tenta:

pawn Код:
if(strcmp(cmd, "/ban", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(pAdmin[playerid] > 0){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Uso: /ban [id] [motivo]");
return 1;
}
plid = strval(tmp);
if(BloqBan[plid] >= 1 || strcmp(aname, "Mister", true) == 0)
{
    SendClientMessage(playerid, 0xFF0000AA, "[BVV]:{FF8000} Vocк nгo pode banir este Admin!");
    return 1;
}
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
if(IsPlayerConnected(plid)){
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, Vermelho, "Uso: /banir [id] [motivo]");
}else{
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "(INFO) %s baniu o Jogador: %s. || Razгo: %s || %d-%d-%d", aname, pname,result,month,day,year);
BanLog(string);
SendClientMessage(plid, 0x80FF00AA, "» Vocк foi banido deve ter feito alguma merda");
SendClientMessage(plid, 0xFFFFFFAA, "» Se foi banido injustamente Tire uma ''SS'' e tente o contato com um de nossos Admins!");
GameTextForPlayer(plid,"~r~banido", 2500, 3);
format(string, sizeof(string), "{90EE90}(INFO) O administrador {33AAFF}%s{90EE90} baniu o jogador: %s. || Razгo: %s.", aname,pname,result);
SendClientMessageToAll(tcadm, string);
dini_IntSet("banidos.ini",pname,1);
Ban(plid);
}
}else{
format(string, sizeof(string), "(ERRO) ID : %d nгo й valido!", plid);
SendClientMessage(playerid, Vermelho, string);
}
}
return 1;
}
Diga-me Oque vocк mudou ?
Reply
#4

Total Fail:

Agora ao tentar banir qualquer player estб a retornar

Vocк nгo pode banir este Admin.
Reply
#5

Код:
// Troque isto:

if(BloqBan[plid] >= 1 && strcmp(aname, "Mister", true) == 0)
{
    SendClientMessage(playerid, 0xFF0000AA, "[BVV]:{FF8000} Vocк nгo pode banir este Admin!");
    return 1;
}

// Por isto:

if(BloqBan[plid] >= 1 && strcmp(aname, "Mister", true) == 0)
{
    SendClientMessage(playerid, 0xFF0000AA, "[BVV]:{FF8000} Vocк nгo pode banir este Admin!");
    return true;
}
vк se funciona.
Reply
#6

Quote:
Originally Posted by MatheusFuria
Посмотреть сообщение
Код:
// Troque isto:

if(BloqBan[plid] >= 1 && strcmp(aname, "Mister", true) == 0)
{
    SendClientMessage(playerid, 0xFF0000AA, "[BVV]:{FF8000} Vocк nгo pode banir este Admin!");
    return 1;
}

// Por isto:

if(BloqBan[plid] >= 1 && strcmp(aname, "Mister", true) == 0)
{
    SendClientMessage(playerid, 0xFF0000AA, "[BVV]:{FF8000} Vocк nгo pode banir este Admin!");
    return true;
}
vк se funciona.

qual a diferenзa de true para 1?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)