dcmd_banirconta(playerid,params[]) {
if(PlayerInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,"| ERRO | Comando Invalido! /Comandos");
if(strlen(params) < 3) return SendClientMessage(playerid,red,"| ERRO | Digite: /banirconta [Nick do Jogador(a)]");
if(IsIllegalName(params)) return SendClientMessage(playerid,red,"| ERRO | Nick ilegal!");
if(!udb_Exists(params)) return SendClientMessage(playerid,red,"| ERRO | A conta nгo Existe!");
if(PlayerInfo[playerid][Level] < 5){if(dUserINT(params).("level") >= 1) return SendClientMessage(playerid,red,"| ERRO | A conta pertence a um membro da Administraзгo!");}
if(dUserINT(params).("banned") == 1) return SendClientMessage(playerid,red,"| ERRO | A Conta jб permanece Banida!");
dUserSetINT(params).("banned",1);
new SampDotBan[128],file[255];
format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(params));
new tmp2[256]; tmp2 = dini_Get(file,"ip");
format(SampDotBan,sizeof(SampDotBan),"banip %s", tmp2);
SendRconCommand(SampDotBan);
SendRconCommand("reloadbans");
if(dUserINT(params).("banned") == 1){
CMDMessageToAdmins(playerid,"banirconta");
//--------------- LOGAR
new ADMNAME[MAX_PLAYER_NAME];GetPlayerName(playerid, ADMNAME, MAX_PLAYER_NAME);
new logstring[128];format(logstring, sizeof(logstring), "| BAN-LOG | O(A) %s %s baniu a conta do(a) jogador(a) %s",CargoAdmin(playerid), ADMNAME,params);
SaveToFile("BannedAccs",logstring);
//---------------
SendClientMessage(playerid,azulao,"| INFO | Vocк baniu a conta e o IP do jogador(a)!");
new frm[260];
new motivo[250];
new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
format(frm,sizeof(frm),"| ADMINISTRAЗГO | O(A) %s %s baniu a conta do jogador(a) %s",CargoAdmin(playerid),ADMNAME,params,motivo[2],day,month,year,hour,minuite);
MessageToAdmins(vermelho,frm);
}else{
SendClientMessage(playerid,red,"| ERRO | Nгo й possivel banir a conta!");}
return 1;}
Sу adicionar mais um parвmetro string e armazenar o banimento na conta .ini
|
if(sscanf(params, "us[56]", nome, motivo))
Utilize sscanf e siga o modelo:
pawn Код:
|
if(strlen(params) < 3) return SendClientMessage(playerid,red,"| ERRO | Digite: /banirconta [Nick do Jogador(a)]");
Troque o strlen pelo sscanf.
Й mais rбpido e mais fбcil. Utilize o mйtodo com o sscanf, й mais prбtico para vocк. |
#include sscanf
dcmd_banirconta(playerid,params[]) {
new motivo[250]; //mudei isso
if(PlayerInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,"| ERRO | Comando Inexistente.");
if(sscanf(params, "ss",params, motivo)) return SendClientMessage(playerid, 0xFF0000FF, "Erro digite /banirconta [Nick do Jogador(a) [ Motivo ]"); //mudei isso
if(IsIllegalName(params)) return SendClientMessage(playerid,red,"| ERRO | Nick ilegal!");
if(!udb_Exists(params)) return SendClientMessage(playerid,red,"| ERRO | A conta nгo Existe!");
if(PlayerInfo[playerid][Level] < 5){if(dUserINT(params).("level") >= 1) return SendClientMessage(playerid,red,"| ERRO | A conta pertence a um membro da Administraзгo!");}
if(dUserINT(params).("banned") == 1) return SendClientMessage(playerid,red,"| ERRO | A Conta jб permanece Banida!");
dUserSetINT(params).("banned",1);
new SampDotBan[128],file[255];
format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(params));
new tmp2[256]; tmp2 = dini_Get(file,"ip");
format(SampDotBan,sizeof(SampDotBan),"banip %s", tmp2);
SendRconCommand(SampDotBan);
SendRconCommand("reloadbans");
if(dUserINT(params).("banned") == 1){
CMDMessageToAdmins(playerid,"banirconta");
//--------------- LOGAR
new ADMNAME[MAX_PLAYER_NAME];GetPlayerName(playerid, ADMNAME, MAX_PLAYER_NAME);
new logstring[128];format(logstring, sizeof(logstring), "| BAN-LOG | O(A) Admin(a) %s baniu a conta do(a) Jogador(a): (%s)", ADMNAME,params);
SaveToFile("BannedAccs",logstring);
//---------------
SendClientMessage(playerid,azulao,"A conta e o IP foi banidas com Sucesso!");
new frm[260];
new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
format(frm,sizeof(frm),"| BVD-Admin | O(A) Administrador(a) %s baniu a conta do(a) jogador(a) %s Motivo %s",ADMNAME,params,motivo,day,month,year,hour,minuite); //mudei isso
SendClientMessageToAll(red,frm);
}else{
SendClientMessage(playerid,red,"| ERRO | Nгo й possivel banir a conta!");}
return 1;}