[Include] DSBan [Sistema de Banimento]
#1

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
[I]
Olб novamente.
Este mкs estou de feria do trabalho entгo vou trazer algumas coisas a vocкs que sei fazer , eu so sei o basico da maioria.
Sim DOF , estou trazendo o que sei fazer nгo o que e o melhor.
Todos sistemas foram feitos para um GameMode que estou ah fazer , para ser uma base.

PHP код:
AddBan(playeridjogadoridmotivo[]) - Ban permanentemente
AddBanEx
(playeridjogadoridmotivo[], tempo) - Ban por tempo (tempo dias)
RemovedBan(playeridname[]) - Remove ban
LoadBanEx
(playeridname[]) - Carrega infoban para admin
LoadBan
(playerid) - Verifica se o jogador esta banido 
Codigos
PHP код:
/*
        ____                  _____                     __
       / __ \____  ____      / ___/____  ___  ___  ____/ /
      / / / / __ \/ __ \     \__ \/ __ \/ _ \/ _ \/ __  /
     / /_/ / /_/ / / / /    ___/ / /_/ /  __/  __/ /_/ /
     _____/\____/_/ /_/____/____/ .___/\___/\___/\__,_/
                               /_/
*/
/*
AddBan(playerid, jogadorid, motivo[]) - Ban permanentemente
AddBanEx(playerid, jogadorid, motivo[], tempo) - Ban por tempo (tempo = dias)
RemovedBan(playerid, name[]) - Remove ban
LoadBanEx(playerid, name[]) - Carrega infoban para admin
LoadBan(playerid) - Verifica se o jogador esta banido
*/
#include     a_samp
#include     DOF2
#define      LOCALSALVABAN      "BrasilRolePlay/BanEx/%s.ini"
new trocarnome[50], Frases[250];
stock AddBan(playeridjogadoridmotivo[])
{
   
format(trocarnomesizeof(trocarnome), LOCALSALVABANDonPegaNome(jogadorid));
   if(
DOF2_FileExists(trocarnome))return true;
   
DOF2_CreateFile(trocarnome);
   
DOF2_SetString(trocarnome,"Nome",DonPegaNome(jogadorid));
   
DOF2_SetString(trocarnome,"Admin",DonPegaNome(playerid));
   
DOF2_SetString(trocarnome,"Motivo"motivo);
   
   
format(Frasessizeof Frases,"DSBan: %s baniu %s permanentemente.[Motivo: %s]",DonPegaNome(playerid), DonPegaNome(jogadorid), motivo);
   
SendClientMessageToAll(-1,Frases);
   
   
   new 
Year,Month,Day;
   
getdate(Year,Month,Day);
   
   
DOF2_SetInt(trocarnome,"BanDia"Day);//DOF2_GetInt(trocarnome,"BanDia")
   
DOF2_SetInt(trocarnome,"BanMes"Month);
   
DOF2_SetInt(trocarnome,"BanAno"Year);
   
DOF2_SetInt(trocarnome,"Tempo""144");
   
DOF2_SaveFile();
   
format(Frasessizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
   Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
   BAN ETERNO VLW TROUXA."
,DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"));
   
ShowPlayerDialog(jogadorid1000DIALOG_STYLE_MSGBOX"Sistema de Banimento"Frases"Sair"#);
   
SetTimerEx("Carregando"5000false"i"jogadorid);
   return 
true;
}
stock AddBanEx(playeridjogadoridmotivo[], tempo)//tempo = dias
{
   
format(trocarnomesizeof(trocarnome), LOCALSALVABANDonPegaNome(jogadorid));
   if(
DOF2_FileExists(trocarnome))return true;
   
DOF2_CreateFile(trocarnome);
   
DOF2_SetString(trocarnome,"Nome",DonPegaNome(jogadorid));
   
DOF2_SetString(trocarnome,"Admin",DonPegaNome(playerid));
   
DOF2_SetString(trocarnome,"Motivo"motivo);
   
format(Frasessizeof Frases,"DSBan: %s baniu %s por %d dias.[Motivo: %s]",DonPegaNome(playerid), DonPegaNome(jogadorid), tempomotivo);
   
SendClientMessageToAll(-1,Frases);
   new 
Year,Month,Day;
   
getdate(Year,Month,Day);
   
DOF2_SetInt(trocarnome,"BanDia"Day);
   
DOF2_SetInt(trocarnome,"BanMes"Month);
   
DOF2_SetInt(trocarnome,"BanAno"Year);
   
DOF2_SetInt(trocarnome,"Tempo", (gettime() + (tempo 24 60 60)));
   
DOF2_SaveFile();
   
format(Frasessizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
   Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
   Tempo para expirar banimento %d dias."
,DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"), tempo);
   
ShowPlayerDialog(jogadorid1000DIALOG_STYLE_MSGBOX"Sistema de Banimento"Frases"Sair"#);
   
SetTimerEx("Carregando"5000false"i"jogadorid);
   return 
true;
}
stock LoadBanEx(playeridname[])
{
   new 
DTemp;
   
DTemp = ((((DOF2_GetInt(trocarnome,"Tempo")- gettime()) / 60) / 60) / 24);
   
format(trocarnomesizeof(trocarnome), LOCALSALVABANname);
   if(
DOF2_FileExists(trocarnome))return SendClientMessage(playerid, -1"Erro jogador nгo esta banido.");
   if(
Dtemp == 0)
   {
      
format(Frasessizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
      Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
      Tempo para expirar banimento e menos de 24 Horas."
,DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"));
      
ShowPlayerDialog(playerid1000DIALOG_STYLE_MSGBOX"Sistema de Banimento"Frases"Sair"#);
   
}
   else
   {
      
format(Frasessizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
      Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
      Tempo para expirar banimento %d dias."
,DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"), DTemp);
      
ShowPlayerDialog(playerid1000DIALOG_STYLE_MSGBOX"Sistema de Banimento"Frases"Sair"#);
   
}
   return 
true;
}
stock LoadBan(playerid)
{
   
format(trocarnomesizeof(trocarnome), LOCALSALVABANDonPegaNome(playerid));
   if(!
DOF2_FileExists(trocarnome))return true;
   if(
DOF2_GetInt(trocarnome,"Tempo") == 144)
   {
       
format(Frasessizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
       Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
       BAN ETERNO VLW TROUXA."
,DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"));
       
ShowPlayerDialog(playerid1000DIALOG_STYLE_MSGBOX"Sistema de Banimento"Frases"Sair"#);
       
SetTimerEx("Carregando"5000false"i"playerid);
   }
   else
   {
       new 
DTemp;
       
DTemp = ((((DOF2_GetInt(trocarnome,"Tempo")- gettime()) / 60) / 60) / 24);
       if(
gettime() >= DOF2_GetInt(trocarnome,"Tempo"))
       {
           
SendClientMessage(playerid, -1,"Seu ban acabou");
           
DOF2_RemoveFile(trocarnome);
       }
       else if(
gettime() <= DOF2_GetInt(trocarnome,"Tempo"))
       {
          if(
Dtemp == 0)
          {
             
format(Frasessizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
             Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
             Tempo para expirar banimento menos de 24 Horas."
,DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"));
          }
          else
          {
             
format(Frasessizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
             Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
             Tempo para expirar banimento %d dias."
,DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"),DTemp);
          }
          
ShowPlayerDialog(playerid1000DIALOG_STYLE_MSGBOX"Sistema de Banimento"Frases"Sair"#);
          
SetTimerEx("Carregando"5000false"i"playerid);
       }
   }
   return 
true;
}
stock RemovedBan(playeridname[])
{
   
format(trocarnomesizeof(trocarnome), LOCALSALVABANname);
   if(!
DOF2_FileExists(trocarnome))return SendClientMessage(playerid, -1"Jogador nгo esta banido.");
   
DOF2_RemoveFile(trocarnome);
   
SendClientMessage(playerid, -1"Jogador desbanido.");
   return 
true;
}
forward Carregando(playerid);
public 
Carregando(playerid) return Kick(playerid); 
Reply
#2

O sistema й bom!
Apenas alguns pontos:

Nomenclatura: RemovedBan
Esse "d" dб a entender (baseando-se pela traduзгo) que este ban jб foi removido.

Cбlculo que retorna quantos dias de ban ainda restam:
Supondo que restam menos de 24h, o retorno seria 0, nгo? (nem Float resolveria isso)
O correto seria retornar uma string com o tempo jб convertido e nгo o valor inteiro de um cбlculo.

Br й br:
Quote:

BAN ETERNO VLW TROUXA

Reply
#3

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
O sistema й bom!
Apenas alguns pontos:

Nomenclatura: RemovedBan
Esse "d" dб a entender (baseando-se pela traduзгo) que este ban jб foi removido.

Cбlculo que retorna quantos dias de ban ainda restam:
Supondo que restam menos de 24h, o retorno seria 0, nгo? (nem Float resolveria isso)
O correto seria retornar uma string com o tempo jб convertido e nгo o valor inteiro de um cбlculo.

Br й br:
PHP код:
new DTemp;
   
DTemp = ((((DOF2_GetInt(trocarnome,"Tempo")- gettime()) / 60) / 60) / 24);
if(
Dtemp == 0)
   {
      
format(Frasessizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
      Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
      Tempo para expirar banimento e menos de 24 Horas."
,DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"));
      
ShowPlayerDialog(playerid1000DIALOG_STYLE_MSGBOX"Sistema de Banimento"Frases"Sair"#);
   

Reply
#4

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
PHP код:
new DTemp;
   
DTemp = ((((DOF2_GetInt(trocarnome,"Tempo")- gettime()) / 60) / 60) / 24);
if(
Dtemp == 0)
   {
      
format(Frasessizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
      Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
      Tempo para expirar banimento e menos de 24 Horas."
,DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"));
      
ShowPlayerDialog(playerid1000DIALOG_STYLE_MSGBOX"Sistema de Banimento"Frases"Sair"#);
   

lol
Desculpa, nгo havia visto.

Caso queira optar por precisгo:
Код:
Stock:ConvertSeconds(seconds)
{
	new
		_Seconds = (seconds % 60),
		_Minutes = (seconds / 60),
		_Hours = (_Minutes / 60),
		_Days = (_Hours / 24),
		_CalcTime[90]
	;

	_Minutes -= (_Hours * 60);
	_Hours -= (_Days * 24);

	if(_Seconds > 0 && _Minutes < 1 && _Hours < 1 && _Days < 1) format(_CalcTime, sizeof _CalcTime, "%02d segundo(s)", _Seconds);
	else if(_Seconds > 0 && _Minutes > 0 && _Hours < 1 && _Days < 1) format(_CalcTime, sizeof _CalcTime, "%02d minuto(s) e %02d segundo(s)", _Minutes, _Seconds);
	else if(_Seconds > 0 && _Minutes > 0 && _Hours > 0 && _Days < 1) format(_CalcTime, sizeof _CalcTime, "%02d hora(s), %02d minuto(s) e %02d segundo(s)", _Hours, _Minutes, _Seconds);
	else if(_Seconds > 0 && _Minutes > 0 && _Hours > 0 && _Days > 0) format(_CalcTime, sizeof _CalcTime, "%d dia(s), %02d hora(s), %02d minuto(s) e %02d segundo(s)", _Days, _Hours, _Minutes, _Seconds);

	else if(_Seconds < 1 && _Minutes > 0 && _Hours < 1 && _Days < 1) format(_CalcTime, sizeof _CalcTime, "%02d minuto(s)", _Minutes);
	else if(_Seconds < 1 && _Minutes > 0 && _Hours > 0 && _Days < 1) format(_CalcTime, sizeof _CalcTime, "%02d hora(s) e %02d minuto(s)", _Hours, _Minutes);
	else if(_Seconds < 1 && _Minutes > 0 && _Hours > 0 && _Days > 0) format(_CalcTime, sizeof _CalcTime, "%d dia(s), %02d hora(s) e %02d minuto(s)", _Days, _Hours, _Minutes);

	else if(_Seconds < 1 && _Minutes < 1 && _Hours > 0 && _Days < 1) format(_CalcTime, sizeof _CalcTime, "%02d hora(s)", _Hours);
	else if(_Seconds < 1 && _Minutes < 1 && _Hours > 0 && _Days > 0) format(_CalcTime, sizeof _CalcTime, "%d dia(s) e %02d hora(s)", _Days, _Hours);
	
	else if(_Seconds < 1 && _Minutes < 1 && _Hours < 1 && _Days > 0) format(_CalcTime, sizeof _CalcTime, "%02d dia(s)", _Days);

	return _CalcTime;
}
Reply
#5

Utнl.
Reply
#6

Muito bom, parabйns.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)