[Ajuda] Motivo no banimento
#1

Olб! tenho um cmd que bane a conta de um jogador(a) estando o msm off. Porem... eu gostaria que aparecesse o motivo na hora do ban,alguйm poderia ajudar?

Meu sistema й: Dcmd Ladmin.

Comando:

PHP код:
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(playeridADMNAMEMAX_PLAYER_NAME);
new 
logstring[128];format(logstringsizeof(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,secondgetdate(yearmonthday); 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;} 
Grato a quem me ajudar!!! <3
Reply
#2

Sу adicionar mais um parвmetro string e armazenar o banimento na conta .ini
Reply
#3

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Sу adicionar mais um parвmetro string e armazenar o banimento na conta .ini
Poderia me ajudar? obg!
Reply
#4

Utilize sscanf e siga o modelo:


pawn Код:
if(sscanf(params, "us[56]", nome, motivo))
Depois basta formatar a variбvel e fazer o procedimento de salvar os dados.
Reply
#5

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Utilize sscanf e siga o modelo:


pawn Код:
if(sscanf(params, "us[56]", nome, motivo))
Depois basta formatar a variбvel e fazer o procedimento de salvar os dados.
ele da erro quando coloco sscanf.minha plataforma й essa:

PHP код:
if(strlen(params) < 3) return SendClientMessage(playerid,red,"| ERRO | Digite: /banirconta [Nick do Jogador(a)]"); 
Reply
#6

Troque o strlen pelo sscanf.
Й mais rбpido e mais fбcil.

Utilize o mйtodo com o sscanf, й mais prбtico para vocк.
Reply
#7

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Troque o strlen pelo sscanf.
Й mais rбpido e mais fбcil.

Utilize o mйtodo com o sscanf, й mais prбtico para vocк.
eu troquei,atй copilou dboa,so que deve um problema,na hora de ligar o gm,o ladmin nao carregou
Reply
#8

E o que aparece no sampserver?
Reply
#9

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
E o que aparece no sampserver?
Mostra isso: https://imgur.com/a/hVKLdnD

Como criei o cmd:

Em cima da gm.
PHP код:
#include sscanf 
Comando:

PHP код:
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",paramsmotivo)) return SendClientMessage(playerid0xFF0000FF"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(playeridADMNAMEMAX_PLAYER_NAME);
new 
logstring[128];format(logstringsizeof(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,secondgetdate(yearmonthday); 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;} 
Dai copilou numa boa,porem... na hora do teste,o fs nem funciona
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)