[FilterScript] DS - Record Players
#1

Olб!
Hoje trago um sistema que criei.
Record de players .
Eu so tinha visto isso na board inglesa se nгo me engano .
De vista parece um bicho de 7 cabeзas mas e facin Menos de 10 minutos eu fiz.
E muito util para marcar recordes de seu servidor.

Vamos lб:

Код:
/setrecord [quantia]   - com esse cmd seta o record para quanto tu quizer :)
/resetrecord   - Reseta o record
Para os troxa que irгo dizer que nгo testei Ibagen abaixo



Code
pawn Код:
#include                  a_samp
#include                  DOF2
#include                  zcmd
#include                  sscanf2

#define                   SAVERECORD                                "Record.ini"

new   Record,
      PlayersOn,
      Don[100];
public OnFilterScriptInit()
{
    if(!DOF2_FileExists(SAVERECORD))
    DOF2_CreateFile(SAVERECORD);
    DOF2_SetInt(SAVERECORD, "Players", 0);
    Record = DOF2_GetInt(SAVERECORD, "Players");
    return 1;
}
public OnFilterScriptExit()
{
    if(!DOF2_FileExists(SAVERECORD))
    DOF2_SetInt(SAVERECORD, "Players", Record);
    DOF2_SaveFile();
    DOF2_Exit();
    return 1;
}
public OnPlayerConnect(playerid)
{
    PlayersOn++;
    if(PlayersOn > Record)
    {
         Record = PlayersOn;

         format(Don,sizeof(Don),"[Aviso]Novo record de players : %d Players ON", Record);
         SendClientMessageToAll(-1, Don);

         if(!DOF2_FileExists(SAVERECORD))
         DOF2_SetInt(SAVERECORD, "Players", Record);
         DOF2_SaveFile();

         return true;
    }
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    PlayersOn--;
    return 1;
}
command(setrecord, playerid, params[])
{
    new NR;
    if(!IsPlayerAdmin(playerid))return true;
    if(sscanf(params,"d", NR))return SendClientMessage(playerid, -1, "[Uso] /setrecord [quantia]");
   
    format(Don,sizeof(Don),"[Aviso]Novo record de players : %d Players [Setado pelo Admin]", params);
    SendClientMessageToAll(-1, Don);

    Record = NR;
   
    if(!DOF2_FileExists(SAVERECORD))
    DOF2_SetInt(SAVERECORD, "Players", Record);
    DOF2_SaveFile();
    return true;
}
command(resetrecord, playerid, params[])
{
    if(!IsPlayerAdmin(playerid))return true;
    SendClientMessageToAll(-1, "[Aviso]Admin resetou o record de players do servidor.");
    if(!DOF2_FileExists(SAVERECORD))
    DOF2_SetInt(SAVERECORD, "Players", 0);
    DOF2_SaveFile();
    return true;
}
Creditos a DonSpeed

Nгo remova os creditos


Gostou Comente .
Nгo gostou Faзa criatica contrutiva!

Reply
#2

Poderia ter usado file.inc por ser um sistema simples, fбcil e rбpido.
Obs: Tem algumas verificaзхes desnecessбrias...

Bom o filterscript
Reply
#3

й muito bom, jб tinha visto isso em um servidor, й bem legal
Reply
#4

Para fazer a checagem nгo era necessбrio um Timer, bastava colocar na callback OnPlayerConnect a verificaзгo.
Reply
#5

Nгo precisa de um Timer, veja, quando vocк estб setando os valores no PlayersOn++; e so verificar se й maior que o Recorde.ini e imprimir uma SendToAll assim eliminando o timer de 1 segundo

Nunca vi nessa board aqui tambйm, Legal *-*
Reply
#6

Legal no entanto, nгo й necessбrio o uso de um Temporizador..;

+Rep
Reply
#7

setrecord nгo faz o menor sentido pra mim
Reply
#8

Quote:
Originally Posted by Viniborn
Посмотреть сообщение
setrecord nгo faz o menor sentido pra mim
/setrecorde nгo seria afinal um recorde, tiraria todo o sentido do FilterScript rзrзrзrзrз
Reply
#9

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
Poderia ter usado file.inc por ser um sistema simples, fбcil e rбpido.
Obs: Tem algumas verificaзхes desnecessбrias...

Bom o filterscript
Hum , Vlw !

Quote:
Originally Posted by [NVC]iTrevaS
Посмотреть сообщение
й muito bom, jб tinha visto isso em um servidor, й bem legal
*-*

Quote:
Originally Posted by paulor
Посмотреть сообщение
Para fazer a checagem nгo era necessбrio um Timer, bastava colocar na callback OnPlayerConnect a verificaзгo.
Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
Nгo precisa de um Timer, veja, quando vocк estб setando os valores no PlayersOn++; e so verificar se й maior que o Recorde.ini e imprimir uma SendToAll assim eliminando o timer de 1 segundo

Nunca vi nessa board aqui tambйm, Legal *-*
Quote:
Originally Posted by Schocc
Посмотреть сообщение
Legal no entanto, nгo й necessбrio o uso de um Temporizador..;

+Rep
Uhum mesmo com o SetTimer ele funcionaria , entгo sгo detalhes.

Quote:
Originally Posted by Viniborn
Посмотреть сообщение
setrecord nгo faz o menor sentido pra mim
Trollagem


Reply
#10

if(!IsPlayerAdmin(playerid))return true;

Don nгo seu fs nгo seria sуmente para os ADMIN RCON??

Acho que falta Remover o !
pawn Код:
if(IsPlayerAdmin(playerid))return true;

@edit Acho que vc estava testando e esqueceu de remover...

vlw...
Reply


Forum Jump:


Users browsing this thread: 5 Guest(s)