quinta-feira, 20 de novembro de 2014

[FilterScript] Contador de acessos diários - Salvamento ~ Re



Olá, bom fiz esse simples sistema em alguns minutos á pedidos de um colega e vim aqui postar o mesmo. Ele conta a quantidade de visitantes assim informando ao jogador o número do visitante quando ele se conectar.

Imagem

O salvamento acontece de 10 em 10 minutos e ás 00:00 horas, ele salva nessa hora para que o arquivo seja fechado e criado um novo pois o nome do arquivo e referente a data atual.

Imagem[SIZE="5"]~>[/SIZE]Imagem

O filterscript possui dois comandos básicos;
CÓDIGO: SELECIONAR TODOS
[B][SIZE="3"]/visitas ~[/SIZE][/B] Informa ao jogador a quantidade de visitantes no dia até o momento


Imagem
CÓDIGO: SELECIONAR TODOS
[B][SIZE="3"]/salvarvisitas ~ [/SIZE][/B]Salvar manualmente o contador de visitas
[I]"[18:59:10] Salvo com sucesso"[/I]


E uma textdraw informando a quantidade de acessos até o momento, atualizada automaticamente assim que um outro player logar.

Imagem

OBS: É obrigatório criar a pasta "Visitas", em suas scriptfiles ou o filterscript não ira funcionar.

CÓDIGO: SELECIONAR TODOS
/*
||||||||       ||  ||  ||||||       ||||||  |||||||||||  ||||||         ||  ||||||||||||  ||||||||
||     ||              ||   ||     ||   ||  ||           ||   ||        ||  ||        ||  ||     ||
||       ||    ||  ||  ||    ||   ||    ||  ||           ||    ||       ||  ||        ||  ||      ||
||        ||   ||  ||  ||     || ||     ||  ||           ||     ||      ||  ||        ||  ||       ||
||        ||   ||  ||  ||      ||||     ||  ||           ||      ||     ||  ||        ||  |||||||||||
||        ||   ||  ||  ||               ||  |||||||||    ||       ||    ||  ||        ||  ||    ||
||        ||   ||  ||  ||               ||  ||           ||        ||   ||  ||        ||  ||     ||
||       ||    ||  ||  ||               ||  ||           ||         ||  ||  ||        ||  ||      ||
||     ||      ||  ||  ||               ||  ||       ||  ||          || ||  ||        ||  ||      ||
||||||||       ||  ||  ||               ||  |||||||||||  ||           ||||  ||||||||||||  ||       ||*/

#include a_samp
#include zcmd
#include DOF2

new Acessos;
new PlayerText:AcessosDii[MAX_PLAYERS];
new arquivo[30], texto[50], ano, mes, dia;
new horas,minutos,segundos;

public OnPlayerConnect(playerid)
{
    AcessosDii[playerid] = CreatePlayerTextDraw(playerid, 40.000000, 329.000000, "  ");
    PlayerTextDrawColor(playerid, AcessosDii[playerid], 12582911);
    PlayerTextDrawFont(playerid, AcessosDii[playerid], 3);
    PlayerTextDrawBackgroundColor(playerid, AcessosDii[playerid], 255);
    PlayerTextDrawSetShadow(playerid, AcessosDii[playerid], 1);
    PlayerTextDrawSetOutline(playerid, AcessosDii[playerid], 1);
    Acessos ++;
    return 1;
}
public OnFilterScriptInit()
{
    SetTimer("Reset", 1000, false);
    SetTimer("SalvarVisitas", 10*60000, true);
    print("[DIIMENOR] ~ Contador de visitas iniciado com sucesso.");
    getdate(ano, mes, dia);
    format(arquivo, sizeof(arquivo), "Visitas/%i_%i_%i.ini", dia, mes, ano);
    if(DOF2_FileExists(arquivo))
    {
        Acessos = DOF2_GetInt(arquivo, "Visitas");
        DOF2_SaveFile();
    }
    else
    {
        DOF2_CreateFile(arquivo);
        DOF2_SetInt(arquivo, "Visitas", Acessos);
        DOF2_SaveFile();
    }
    return true;
}
public OnFilterScriptExit()
{
    DOF2_Exit();
    return 1;
}
forward SalvarVisitas();
public SalvarVisitas()
{
    getdate(ano, mes, dia);
    format(arquivo, sizeof(arquivo), "Visitas/%i_%i_%i.ini", dia, mes, ano);
    if(DOF2_FileExists(arquivo))
    {
        DOF2_SetInt(arquivo, "Visitas", Acessos);
        DOF2_SaveFile();
        print("Salvo com sucesso");
    }
    else
    {
        DOF2_CreateFile(arquivo);
        DOF2_SetInt(arquivo, "Visitas", Acessos);
        DOF2_SaveFile();
        print("Salvo com sucesso");
    }
    return 1;
}
public OnPlayerSpawn(playerid)
{
    format(texto, sizeof(texto), "{FFFFFF}Você é visitante de numero: {00FFFF}%i", Acessos);
    SendClientMessage(playerid, -1, texto);
    PlayerTextDrawShow(playerid, AcessosDii[playerid]);
    return 1;
}
public OnPlayerUpdate(playerid)
{
    new string[20];
    format(string, sizeof(string), "Visitas: ~w~%i", Acessos);
    PlayerTextDrawSetString(playerid, AcessosDii[playerid], string);
}
forward Reset();
public Reset()
{
    gettime(horas, minutos, segundos);
    if(horas == 00 && minutos == 01 && segundos == 0)
    {
        Acessos = 0;
        print("00:01 Horas - Contador de visitas resetados");
    }
    return true;
}
CMD:visitas(playerid)
{
    new str[30];
    format(str, sizeof(str), "Temos no total de %i visitas", Acessos);
    SendClientMessage(playerid, -1, str);
    return 1;
}
CMD:salvarvisitas(playerid)
{
    SalvarVisitas();
    SendClientMessage(playerid, -1, "/INFO/Quantidade de visitas salvas com sucesso.");
    return 1;
}




0 comentários:

Postar um comentário