[Ajuda] COMANDO DE BAN
#1

pawn Код:
CMD:ban(playerid, params[])
{
new string[128], Dia, Mes, Ano, Hora, Minuto, Segundo, MesBan, AnoBan,
giveplayerid, giveplayername[MAX_PLAYER_NAME];
if(!sscanf(params, "uds[128]", giveplayerid, DiaBan, Motivo))
{
SendClientMessage(playerid, COLOR_ERRO, "[ERRO]: /ban [id] [dias] [motivo]");
}
else
{
getdate(Ano, Mes, Dia);
gettime(Hora, Minuto, Segundo);
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
GetPlayerIp(giveplayerid, Ip, sizeof(Ip));
if(IsPlayerConnected(playerid))
{
if(Jogador[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(DiaBan > 999)
{
SendClientMessage(playerid, COR_AZULCLARO, "[TesteBan]: Vocк sу pode banir este player no mбximo 999 dias!");
return 1;
}
format(string, sizeof(string), "[TesteBan]: O Administrador %s baniu %s por %i dias. | Motivo: %s", playername, giveplayername, DiaBan, Motivo);
SendClientMessageToAll(COR_VERMELHO, string);
new file[100];
format(string, sizeof(string), "%d/%d/%d", Dia, Mes, Ano);
format(file, sizeof(file), "Teste/ContasBAN/%s.ini", giveplayername);
if(INI_Open(file))
{
INI_WriteString("Admin", playername);
INI_WriteInt("Dia", Dia);
INI_WriteInt("Mes", Mes);
INI_WriteInt("Ano", Ano);
INI_WriteInt("Hora", Hora);
INI_WriteInt("Minuto", Minuto);
INI_WriteInt("Segundo", Segundo);
INI_WriteInt("DiaBan", Dia);
INI_WriteInt("MesBan", Mes);
INI_WriteInt("AnoBan", Ano);
INI_WriteInt("HoraBan", Hora);
INI_WriteInt("MinutoBan", Minuto);
INI_WriteInt("SegundoBan", Segundo);
INI_WriteString("MotivoBan", Motivo);
INI_WriteString("IP", Ip);
Dia += DiaBan;
INI_WriteInt("DiaBan", Dia);
while(Dia > 31)
{
Dia -= 31;
Mes++;
INI_WriteInt("DiaBan", Dia);
INI_WriteInt("MesBan", Mes);
}
while(Mes > 12)
{
Mes -= 12;
Ano++;
INI_WriteInt("MesBan", Mes);
INI_WriteInt("AnoBan", Ano);
}
DiaBan = INI_ReadInt("DiaBan");
MesBan = INI_ReadInt("MesBan");
AnoBan = INI_ReadInt("AnoBan");
INI_Save();
INI_Close();
}
format(file, sizeof(file), "Teste/IPSBAN/%s.ini", Ip);
if(INI_Open(file))
{
INI_WriteString("Admin", playername);
INI_WriteInt("Dia", Dia);
INI_WriteInt("Mes", Mes);
INI_WriteInt("Ano", Ano);
INI_WriteInt("Hora", Hora);
INI_WriteInt("Minuto", Minuto);
INI_WriteInt("Segundo", Segundo);
INI_WriteInt("DiaBan", DiaBan);
INI_WriteInt("MesBan", MesBan);
INI_WriteInt("AnoBan", AnoBan);
INI_WriteInt("HoraBan", Hora);
INI_WriteInt("MinutoBan", Minuto);
INI_WriteInt("SegundoBan", Segundo);
INI_WriteString("MotivoBan", Motivo);
INI_WriteString("IP", Ip);
INI_Save();
INI_Close();
}
Kick(giveplayerid);
}
else
{
format(string, sizeof(string), "[TesteBan]: O ID %d nгo estб online.", giveplayerid);
SendClientMessage(playerid, COR_AZULCLARO, string);
}
}
else
{
SendClientMessage(playerid, COR_AZULCLARO, "[TesteBan]: Vocк nгo tem permissгo para usar este comando!");
}
}
else
{
SendClientMessage(playerid, COR_AZULCLARO, "[TesteBan]: Vocк tem que estб logado para usar este comando!");
}
}
return 1;
}
o comando quando eu digito exemplo "/BAN ID DIAS MOTIVO ele funfa corretamente, mais se eu digitar sу /ban ele bane o id 0 nгo aparece ele corrigindo para digitar corretamente.
Reply
#2

Nгo hб necessidade de criar dois tуpicos, e por favor, leia as regras, й proibido escrever tнtulos com letra maiъscula. A comunidade agradece.
Reply
#3

Vish nгo entendi nada do que voзк escreveu Nгo explica nada ....

E.jpg
Reply
#4

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Nгo hб necessidade de criar dois tуpicos, e por favor, leia as regras, й proibido escrever tнtulos com letra maiъscula. A comunidade agradece.
desculpa pela letra maiъscula mais os tуpicos nгo sгo iguais valeu.
Reply
#5

Quote:
Originally Posted by PedroFelp
Посмотреть сообщение
Vish nгo entendi nada do que voзк escreveu Nгo explica nada ....

Вложение 8301
editei rs
Reply
#6

Troca isso:
pawn Код:
if(!sscanf(params, "uds[128]", giveplayerid, DiaBan, Motivo))
{
SendClientMessage(playerid, COLOR_ERRO, "[ERRO]: /ban [id] [dias] [motivo]");
}
Por isso
pawn Код:
if(sscanf(params, "uds[128]", giveplayerid, DiaBan, Motivo)) return SendClientMessage(playerid, COLOR_ERRO, "[ERRO]: /ban [id] [dias] [motivo]");
Reply
#7

Quote:
Originally Posted by ArthurxD
Посмотреть сообщение
Troca isso:
pawn Код:
if(!sscanf(params, "uds[128]", giveplayerid, DiaBan, Motivo))
{
SendClientMessage(playerid, COLOR_ERRO, "[ERRO]: /ban [id] [dias] [motivo]");
}
Por isso
pawn Код:
if(sscanf(params, "uds[128]", giveplayerid, DiaBan, Motivo)) return SendClientMessage(playerid, COLOR_ERRO, "[ERRO]: /ban [id] [dias] [motivo]");
agora eu escrevo normalmente para dar o ban e aparece que eu escrevi errado.
ficou assim
pawn Код:
CMD:tempban(playerid, params[])
{
new string[128], Dia, Mes, Ano, Hora, Minuto, Segundo, MesBan, AnoBan,
giveplayerid, giveplayername[MAX_PLAYER_NAME];
if(sscanf(params, "uds[128]", giveplayerid, DiaBan, Motivo)) return SendClientMessage(playerid, COLOR_ERRO, "[ERRO]: /tempban [id] [dias] [motivo]");
else
{
getdate(Ano, Mes, Dia);
gettime(Hora, Minuto, Segundo);
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
GetPlayerIp(giveplayerid, Ip, sizeof(Ip));
if(IsPlayerConnected(playerid))
{
if(Jogador[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(DiaBan > 999)
{
SendClientMessage(playerid, COR_AZULCLARO, "[testeBan]: Vocк sу pode banir este player no mбximo 999 dias!");
return 1;
}
format(string, sizeof(string), "[testeBan]: O Administrador %s baniu %s por %i dias. | Motivo: %s", playername, giveplayername, DiaBan, Motivo);
SendClientMessageToAll(COR_VERMELHO, string);
new file[100];
format(string, sizeof(string), "%d/%d/%d", Dia, Mes, Ano);
format(file, sizeof(file), "teste/ContasBAN/%s.ini", giveplayername);
if(INI_Open(file))
{
INI_WriteString("Admin", playername);
INI_WriteInt("Dia", Dia);
INI_WriteInt("Mes", Mes);
INI_WriteInt("Ano", Ano);
INI_WriteInt("Hora", Hora);
INI_WriteInt("Minuto", Minuto);
INI_WriteInt("Segundo", Segundo);
INI_WriteInt("DiaBan", Dia);
INI_WriteInt("MesBan", Mes);
INI_WriteInt("AnoBan", Ano);
INI_WriteInt("HoraBan", Hora);
INI_WriteInt("MinutoBan", Minuto);
INI_WriteInt("SegundoBan", Segundo);
INI_WriteString("MotivoBan", Motivo);
INI_WriteString("IP", Ip);
Dia += DiaBan;
INI_WriteInt("DiaBan", Dia);
while(Dia > 31)
{
Dia -= 31;
Mes++;
INI_WriteInt("DiaBan", Dia);
INI_WriteInt("MesBan", Mes);
}
while(Mes > 12)
{
Mes -= 12;
Ano++;
INI_WriteInt("MesBan", Mes);
INI_WriteInt("AnoBan", Ano);
}
DiaBan = INI_ReadInt("DiaBan");
MesBan = INI_ReadInt("MesBan");
AnoBan = INI_ReadInt("AnoBan");
INI_Save();
INI_Close();
}
format(file, sizeof(file), "teste/IPSBAN/%s.ini", Ip);
if(INI_Open(file))
{
INI_WriteString("Admin", playername);
INI_WriteInt("Dia", Dia);
INI_WriteInt("Mes", Mes);
INI_WriteInt("Ano", Ano);
INI_WriteInt("Hora", Hora);
INI_WriteInt("Minuto", Minuto);
INI_WriteInt("Segundo", Segundo);
INI_WriteInt("DiaBan", DiaBan);
INI_WriteInt("MesBan", MesBan);
INI_WriteInt("AnoBan", AnoBan);
INI_WriteInt("HoraBan", Hora);
INI_WriteInt("MinutoBan", Minuto);
INI_WriteInt("SegundoBan", Segundo);
INI_WriteString("MotivoBan", Motivo);
INI_WriteString("IP", Ip);
INI_Save();
INI_Close();
}
Kick(giveplayerid);
}
else
{
format(string, sizeof(string), "[testeBan]: O ID %d nгo estб online.", giveplayerid);
SendClientMessage(playerid, COR_AZULCLARO, string);
}
}
else
{
SendClientMessage(playerid, COR_AZULCLARO, "[testeBan]: Vocк nгo tem permissгo para usar este comando!");
}
}
else
{
SendClientMessage(playerid, COR_AZULCLARO, "[testeBan]: Vocк tem que estб logado para usar este comando!");
}
}
return 1;
}
Reply
#8

Bom no meu eu nao usso isso no sscanf "uds[128]", tenta assim "uds"
Reply
#9

Quote:
Originally Posted by ArthurxD
Посмотреть сообщение
Bom no meu eu nao usso isso no sscanf "uds[128]", tenta assim "uds"
muito obrigado Arthur, isso era um erro que sempre pegava e nгo sabia resolver agora aprendi rs. +rep
Reply
#10

Por nada
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)