SA-MP Forums Archive
[FilterScript] Relogio - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [FilterScript] Relogio (/showthread.php?tid=241052)



Relogio - Dr_Pawno - 17.03.2011

Fiz este filterscript para algumas pessoas que usam o Relogio do GTAOFF no samp.

DIFERENCA:
Код:
Para cada jogador, o Relogio do GTA OFF no samp aparece uma hora diferente. Este nгo!
Imagem:


Aqui esta o codigo:
pawn Код:
/*--------------------------------------------------------------------
  -----------------------[ Relogio by Dr_Pawn ]-----------------------
  ------------------------------------------------------------------*/


/*------------------------------------------------------------ INCLIDE/DEFINES*/

#include <a_samp>

/*-------------------------------------------------------------------- FORWARD*/

forward LigarRelogio();
forward DesligarRelogio();
forward HorasRelogio();

/*------------------------------------------------------------------------ NEW*/

new Text:Relogio;
new RelogioFunc[3];
new RelogioLigado;

/*--------------------------------------------------------------- FILTERSCRIPT*/

public LigarRelogio()
{
    Relogio = TextDrawCreate(562.500000, 5.000000, "23:59");
    TextDrawBackgroundColor(Relogio, 255);
    TextDrawFont(Relogio, 2);
    TextDrawLetterSize(Relogio, 0.250000, 1.700000);
    TextDrawColor(Relogio, -1);
    TextDrawSetOutline(Relogio, 1);
    TextDrawSetProportional(Relogio, 1);
    RelogioFunc[0] = 12;
    RelogioFunc[1] = -1;
    HorasRelogio();
    RelogioFunc[2] = SetTimer("HorasRelogio", 1000, true);
    return 1;
}

public DesligarRelogio()
{
    TextDrawHideForAll(Relogio);
    TextDrawDestroy(Relogio);
    RelogioFunc[0] = 23;
    RelogioFunc[1] = 59;
    KillTimer(RelogioFunc[2]);
    return 1;
}

public HorasRelogio()
{
    new string[256];
    RelogioFunc[1] ++;
    if(RelogioFunc[1] == 60)
    {
        RelogioFunc[0] ++;
        RelogioFunc[1] =0;
    }
    if(RelogioFunc[0] == 24)
    {
        RelogioFunc[0] =0;
    }
    SetWorldTime(RelogioFunc[0]);
    if(RelogioFunc[1] < 10 && RelogioFunc[0] >= 10)
    {
        format(string, sizeof(string), "%d:0%d", RelogioFunc[0], RelogioFunc[1]);
    }
    else if(RelogioFunc[0] < 10 && RelogioFunc[1] >= 10)
    {
        format(string, sizeof(string), "0%d:%d", RelogioFunc[0], RelogioFunc[1]);
    }
    else if(RelogioFunc[1] < 10 && RelogioFunc[0] < 10)
    {
        format(string, sizeof(string), "0%d:0%d", RelogioFunc[0], RelogioFunc[1]);
    }
    else
    {
        format(string, sizeof(string), "%d:%d", RelogioFunc[0], RelogioFunc[1]);
    }
    TextDrawSetString(Relogio, string);
    return 1;
}

public OnFilterScriptInit()
{
    print("---------- ------- --------- ----------");
    print("---------- Relogio Carregado ----------");
    print("---------- ------- --------- ----------");
    return 1;
}

public OnFilterScriptExit()
{
    DesligarRelogio();
    return 1;
}

public OnPlayerConnect(playerid)
{
    TextDrawShowForPlayer(playerid, Relogio);
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    TextDrawHideForPlayer(playerid, Relogio);
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[256], idx, tmp[256], sendername[MAX_PLAYER_NAME], string[256];
    cmd = strtok(cmdtext, idx);
    GetPlayerName(playerid, sendername, sizeof(sendername));

    if(strcmp(cmd, "/ligarrelogio", true) == 0)
    {
        if(IsPlayerAdmin(playerid))// Seu sistema de admin aqui.
        {
            if(RelogioLigado == 0)
            {
                LigarRelogio();
                TextDrawShowForAll(Relogio);
                format(string, sizeof(string), "[ADMIN] %s ligou o relogio.", sendername);
                SendClientMessageToAll(0xDDDD00AA, string);
                RelogioLigado = 1;
                return 1;
            }
            else
            {
                SendClientMessage(playerid, 0xAAAAAAAA, "O Relogio ja esta ligado.");
                return 1;
            }
        }
        else
        {
            SendClientMessage(playerid, 0xAAAAAAAA, "Vocк nгo й admin.");
            return 1;
        }
    }

    if(strcmp(cmd, "/desligarrelogio", true) == 0)
    {
        if(IsPlayerAdmin(playerid))// Seu sistema de admin aqui.
        {
            if(RelogioLigado == 1)
            {
                DesligarRelogio();
                format(string, sizeof(string), "[ADMIN] %s desligou o relogio.", sendername);
                SendClientMessageToAll(0xDDDD00AA, string);
                RelogioLigado = 0;
                return 1;
            }
            else
            {
                SendClientMessage(playerid, 0xAAAAAAAA, "O Relogio ja esta desligado.");
                return 1;
            }
        }
        else
        {
            SendClientMessage(playerid, 0xAAAAAAAA, "Vocк nгo й admin.");
            return 1;
        }
    }
   
    if(strcmp(cmd, "/setarhora", true) == 0)
    {
        if(IsPlayerAdmin(playerid))// Seu sistema de admin aqui.
        {
            if(RelogioLigado == 1)
            {
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, 0xAAAAAAAA, "USE: /SetarHora [HORA] [MINUTOS]");
                    return 1;
                }
                new H = strval(tmp);
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, 0xAAAAAAAA, "USE: /SetarHora [HORA] [MINUTOS]");
                    return 1;
                }
                new M = strval(tmp);
                if(H < 0 || H > 23 || M < 0 || M > 59)
                {
                    SendClientMessage(playerid, 0xAAAAAAAA, "USE: /SetarHora [0-23] [0-59]");
                    return 1;
                }
                RelogioFunc[0] = H;
                RelogioFunc[1] = M-1;
                HorasRelogio();
                KillTimer(RelogioFunc[2]);
                RelogioFunc[2] = SetTimer("HorasRelogio", 1000, true);
                format(string, sizeof(string), "[ADMIN] %s setou a hora para %d:%d.", sendername, H, M);
                SendClientMessageToAll(0xDDDD00AA, string);
                return 1;
            }
            else
            {
                SendClientMessage(playerid, 0xAAAAAAAA, "O Relogio nгo esta ligado.");
                return 1;
            }
        }
        else
        {
            SendClientMessage(playerid, 0xAAAAAAAA, "Vocк nгo й admin.");
            return 1;
        }
    }
    return 0;
}

strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}
Ele pode nгo ser muito util, mas eu acho que valeu o esforco.


Re: Relogio - Macintosh - 17.03.2011

Me parece ser bom
Talvez usarei ele em meu servidor ^^
9/10


Re: Relogio - Josma_cmd - 17.03.2011

Parabйns pelo post.
E se voce que fez, parabйns pelo cуdigo.
dava pra deixar ele mais simples e eficaz mas tб bom pelo que vi =) Gostei.


Re: Relogio - [AF]Junior - 17.03.2011

Eu uso o do sa-mp mesmo que jб vem quando baixa... Ele arruma o tempo certinho se tб 8 horas da noite fica de noite e tal. Mas nгo deixa de ser bom 9/10.


Re: Relogio - [$]GhosTRydeR[$] - 17.03.2011

Muito bom , mas para quem mora em local de fudo horбrio diferente vai perceber!


Re: Relogio - Dr_Pawno - 17.03.2011

Vlw gente!!

Quote:
Originally Posted by Josma_cmd
Посмотреть сообщение
Parabйns pelo post.
E se voce que fez, parabйns pelo cуdigo.
dava pra deixar ele mais simples e eficaz mas tб bom pelo que vi =) Gostei.
O codigo й meu, so esqueci de coloca os creditos =X


Re: Relogio - [GRB]Stakline - 17.03.2011

Gostei legal... Poderia por umas ss =D..


Re: Relogio - Dr_Pawno - 17.03.2011

Quote:
Originally Posted by [GRB]Stakline
Посмотреть сообщение
Gostei legal... Poderia por umas ss =D..
Vlw! Coloquei a SS agora!!


Re: Relogio - [GRB]Stakline - 17.03.2011

Quote:
Originally Posted by Dr_Pawno
Посмотреть сообщение
Vlw! Coloquei a SS agora!!
Que rapido... Agora sim =D


Re: Relogio - LuxurioN™ - 17.03.2011

Como eu sempre digo. Elogios & Criticas fazem parte de uma opiniгo, respeite ambos.
Iniciante ou nгo, й sempre bom aprendermos da maneira correta desde o comeзo. Apenas uma opiniгo.