[Ajuda] Relogio
#1

Boa Tarde Galerinha, to com um problema aki no GM, estou usando o relogio COOL do Kruger(https://sampforum.blast.hk/showthread.php?tid=235058), mais tem um problema, eu editei pra conforme o relogio chega a uma hora exata (1:00, 2:00 e talz) ele chamar a public do payday nesse formato:

pawn Код:
if(i_ServerHours == 00 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 01 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 02 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 03 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 04 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 05 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 06 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 07 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 08 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 09 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 10 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 11 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 12 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 13 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 14 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 15 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 16 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 17 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 18 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 19 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 20 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 21 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 22 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
    if(i_ServerHours == 23 && i_ServerMinutes == 00 && i_ServerSeconds == 00)
    {
        SetWorldTime(i_ServerHours);
        PayDay();
    }
Funciona de Boa Ate Certo Ponto, Quando chega em 13:00, 14:00 e talz ele nao chama a public, sendo que no jogo mostra a hora como 13:00:00 OU 14:00:00

oq eu deduzi, o relogio so ta indo de 00:00:00 ate 12:00:00

ai eu queria saber como fazer pra ele continuar chamando a public apartir de 13:00 ate 23:00
Reply
#2

Isto deve resolver o seu problema :


Apenas troque esta parte do seu cуdigo :


pawn Код:
forward ProcessGameTime();
public ProcessGameTime()
{
    new string[128];
    gettime(i_ServerHours, i_ServerMinutes, i_ServerSeconds);
    getdate(i_ServerYears, i_ServerMonths, i_ServerDays);
    format(string, sizeof string, "%02d:%02d:%02d", i_ServerHours, i_ServerMinutes, i_ServerSeconds);
    TextDrawSetString(txtTimeDisp, string);
    format(string, sizeof string, "%02d/%02d/%04d", i_ServerDays, i_ServerMonths, i_ServerYears);
    TextDrawSetString(txtDateDisp, string);
    SetWorldTime(i_ServerHours);
    for(new i = 0; i < MAX_PLAYERS; i++)SetPlayerTime(i, i_ServerHours, i_ServerMinutes);
}


Por isto :


pawn Код:
forward ProcessGameTime();
public ProcessGameTime()
{
    new string[128];
    gettime(i_ServerHours, i_ServerMinutes, i_ServerSeconds);
    getdate(i_ServerYears, i_ServerMonths, i_ServerDays);
    if(i_ServerMinutes == 0 && i_ServerSeconds == 0)
    {
        PayDay();
    }
    format(string, sizeof string, "%02d:%02d:%02d", i_ServerHours, i_ServerMinutes, i_ServerSeconds);
    TextDrawSetString(txtTimeDisp, string);
    format(string, sizeof string, "%02d/%02d/%04d", i_ServerDays, i_ServerMonths, i_ServerYears);
    TextDrawSetString(txtDateDisp, string);
    SetWorldTime(i_ServerHours);
    for(new i = 0; i < MAX_PLAYERS; i++) SetPlayerTime(i, i_ServerHours, i_ServerMinutes);
    return true;
}


Espero ter ajudado .
Reply
#3

Quote:
Originally Posted by rjjj
Посмотреть сообщение
Isto deve resolver o seu problema :


Apenas troque esta parte do seu cуdigo :


pawn Код:
forward ProcessGameTime();
public ProcessGameTime()
{
    new string[128];
    gettime(i_ServerHours, i_ServerMinutes, i_ServerSeconds);
    getdate(i_ServerYears, i_ServerMonths, i_ServerDays);
    format(string, sizeof string, "%02d:%02d:%02d", i_ServerHours, i_ServerMinutes, i_ServerSeconds);
    TextDrawSetString(txtTimeDisp, string);
    format(string, sizeof string, "%02d/%02d/%04d", i_ServerDays, i_ServerMonths, i_ServerYears);
    TextDrawSetString(txtDateDisp, string);
    SetWorldTime(i_ServerHours);
    for(new i = 0; i < MAX_PLAYERS; i++)SetPlayerTime(i, i_ServerHours, i_ServerMinutes);
}


Por isto :


pawn Код:
forward ProcessGameTime();
public ProcessGameTime()
{
    new string[128];
    gettime(i_ServerHours, i_ServerMinutes, i_ServerSeconds);
    getdate(i_ServerYears, i_ServerMonths, i_ServerDays);
    if(i_ServerMinutes == 0 && i_ServerSeconds == 0)
    {
        PayDay();
    }
    format(string, sizeof string, "%02d:%02d:%02d", i_ServerHours, i_ServerMinutes, i_ServerSeconds);
    TextDrawSetString(txtTimeDisp, string);
    format(string, sizeof string, "%02d/%02d/%04d", i_ServerDays, i_ServerMonths, i_ServerYears);
    TextDrawSetString(txtDateDisp, string);
    SetWorldTime(i_ServerHours);
    for(new i = 0; i < MAX_PLAYERS; i++) SetPlayerTime(i, i_ServerHours, i_ServerMinutes);
    return true;
}


Espero ter ajudado .
Vou Testar AKi бs 15:00 pq o cmd de payday ta dando inexistente nao sei pq kkk daki a pouco do um edit

@edit
deu certo nao, qdo chego no 14:59:59 ele pulo pra 15:00:03
Reply
#4

pawn Код:
// Topo do GM
static Segundos;
static Minutos;
static Horas;
static Dias;
static Meses;
static Anos;
forward ProcessGameTime();

// textdraw
new Text:Textdraw0; //Horas
new Text:Textdraw1; //Minutos
new Text:Textdraw2; //Segundos
new Text:Textdraw3; //Dia
new Text:Textdraw4; //Mкs
new Text:Textdraw5; //Ano

public OnGameModeInit()
{
    Textdraw0 = TextDrawCreate(498.000000, 1.000000, " ");
    TextDrawBackgroundColor(Textdraw0, 255);
    TextDrawFont(Textdraw0, 1);
    TextDrawLetterSize(Textdraw0, 0.300000, 1.199998);
    TextDrawColor(Textdraw0, -1);
    TextDrawSetOutline(Textdraw0, 0);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawSetShadow(Textdraw0, 0);

    Textdraw1 = TextDrawCreate(509.000000, 1.000000, " ");
    TextDrawBackgroundColor(Textdraw1, 255);
    TextDrawFont(Textdraw1, 1);
    TextDrawLetterSize(Textdraw1, 0.300000, 1.200000);
    TextDrawColor(Textdraw1, -1);
    TextDrawSetOutline(Textdraw1, 0);
    TextDrawSetProportional(Textdraw1, 1);
    TextDrawSetShadow(Textdraw1, 0);

    Textdraw2 = TextDrawCreate(525.000000, 1.000000, " ");
    TextDrawBackgroundColor(Textdraw2, 255);
    TextDrawFont(Textdraw2, 1);
    TextDrawLetterSize(Textdraw2, 0.300000, 1.200000);
    TextDrawColor(Textdraw2, -1);
    TextDrawSetOutline(Textdraw2, 0);
    TextDrawSetProportional(Textdraw2, 1);
    TextDrawSetShadow(Textdraw2, 0);

    Textdraw3 = TextDrawCreate(552.000000, 1.000000, " ");
    TextDrawBackgroundColor(Textdraw3, 255);
    TextDrawFont(Textdraw3, 1);
    TextDrawLetterSize(Textdraw3, 0.300000, 1.200000);
    TextDrawColor(Textdraw3, -1);
    TextDrawSetOutline(Textdraw3, 0);
    TextDrawSetProportional(Textdraw3, 1);
    TextDrawSetShadow(Textdraw3, 0);

    Textdraw4 = TextDrawCreate(565.000000, 1.000000, " ");
    TextDrawBackgroundColor(Textdraw4, 255);
    TextDrawFont(Textdraw4, 1);
    TextDrawLetterSize(Textdraw4, 0.300000, 1.200000);
    TextDrawColor(Textdraw4, -1);
    TextDrawSetOutline(Textdraw4, 0);
    TextDrawSetProportional(Textdraw4, 1);
    TextDrawSetShadow(Textdraw4, 0);

    Textdraw5 = TextDrawCreate(580.000000, 1.000000, " ");
    TextDrawBackgroundColor(Textdraw5, 255);
    TextDrawFont(Textdraw5, 1);
    TextDrawLetterSize(Textdraw5, 0.300000, 1.200000);
    TextDrawColor(Textdraw5, -1);
    TextDrawSetOutline(Textdraw5, 0);
    TextDrawSetProportional(Textdraw5, 1);
    TextDrawSetShadow(Textdraw5, 0);

    ProcessGameTime();
    SetTimer("ProcessGameTime", 1000, 1);
    return 1;
}

public OnPlayerConnect(playerid)
{
    TextDrawShowForPlayer(playerid, Textdraw0); //Horas
    TextDrawShowForPlayer(playerid, Textdraw1); //Minutos
    TextDrawShowForPlayer(playerid, Textdraw2); //Segundos
    TextDrawShowForPlayer(playerid, Textdraw3); //Dia
    TextDrawShowForPlayer(playerid, Textdraw4); //Mes
    TextDrawShowForPlayer(playerid, Textdraw5); //Ano
}

public ProcessGameTime()
{
    new string[128];
    gettime(Horas, Minutos, Segundos);
    getdate(Anos, Meses, Dias);
    format(string, sizeof string, "%02d", Horas);    // Horas
    TextDrawSetString(Textdraw0, string);
    format(string, sizeof string, ":%02d", Minutos); // Minutos
    TextDrawSetString(Textdraw1, string);
    format(string, sizeof string, ":%02d", Segundos); // Segundos
    TextDrawSetString(Textdraw2, string);
    format(string, sizeof string, "%02d", Dias);     // Dias
    TextDrawSetString(Textdraw3, string);
    format(string, sizeof string, "/%02d", Meses);  // Meses
    TextDrawSetString(Textdraw4, string);
    format(string, sizeof string, "/%02d", Anos);   // Ano
    TextDrawSetString(Textdraw5, string);
    for(new i = 0; i < MAX_PLAYERS; i++) SetPlayerTime(i, Horas, Minutos);
    if(Minutos == 59 && Segundos == 59) PayDay();
}
Testa esse, eu nгo testei. Textdraw novo, mas caso vocк queira continuar com o seu й sу mudar!
Reply
#5

Quote:
Originally Posted by Adrian Fahrenheit Tepes
Посмотреть сообщение
pawn Код:
// Topo do GM
static Segundos;
static Minutos;
static Horas;
static Dias;
static Meses;
static Anos;
forward ProcessGameTime();

// textdraw
new Text:Textdraw0; //Horas
new Text:Textdraw1; //Minutos
new Text:Textdraw2; //Segundos
new Text:Textdraw3; //Dia
new Text:Textdraw4; //Mкs
new Text:Textdraw5; //Ano

public OnGameModeInit()
{
    Textdraw0 = TextDrawCreate(498.000000, 1.000000, " ");
    TextDrawBackgroundColor(Textdraw0, 255);
    TextDrawFont(Textdraw0, 1);
    TextDrawLetterSize(Textdraw0, 0.300000, 1.199998);
    TextDrawColor(Textdraw0, -1);
    TextDrawSetOutline(Textdraw0, 0);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawSetShadow(Textdraw0, 0);

    Textdraw1 = TextDrawCreate(509.000000, 1.000000, " ");
    TextDrawBackgroundColor(Textdraw1, 255);
    TextDrawFont(Textdraw1, 1);
    TextDrawLetterSize(Textdraw1, 0.300000, 1.200000);
    TextDrawColor(Textdraw1, -1);
    TextDrawSetOutline(Textdraw1, 0);
    TextDrawSetProportional(Textdraw1, 1);
    TextDrawSetShadow(Textdraw1, 0);

    Textdraw2 = TextDrawCreate(525.000000, 1.000000, " ");
    TextDrawBackgroundColor(Textdraw2, 255);
    TextDrawFont(Textdraw2, 1);
    TextDrawLetterSize(Textdraw2, 0.300000, 1.200000);
    TextDrawColor(Textdraw2, -1);
    TextDrawSetOutline(Textdraw2, 0);
    TextDrawSetProportional(Textdraw2, 1);
    TextDrawSetShadow(Textdraw2, 0);

    Textdraw3 = TextDrawCreate(552.000000, 1.000000, " ");
    TextDrawBackgroundColor(Textdraw3, 255);
    TextDrawFont(Textdraw3, 1);
    TextDrawLetterSize(Textdraw3, 0.300000, 1.200000);
    TextDrawColor(Textdraw3, -1);
    TextDrawSetOutline(Textdraw3, 0);
    TextDrawSetProportional(Textdraw3, 1);
    TextDrawSetShadow(Textdraw3, 0);

    Textdraw4 = TextDrawCreate(565.000000, 1.000000, " ");
    TextDrawBackgroundColor(Textdraw4, 255);
    TextDrawFont(Textdraw4, 1);
    TextDrawLetterSize(Textdraw4, 0.300000, 1.200000);
    TextDrawColor(Textdraw4, -1);
    TextDrawSetOutline(Textdraw4, 0);
    TextDrawSetProportional(Textdraw4, 1);
    TextDrawSetShadow(Textdraw4, 0);

    Textdraw5 = TextDrawCreate(580.000000, 1.000000, " ");
    TextDrawBackgroundColor(Textdraw5, 255);
    TextDrawFont(Textdraw5, 1);
    TextDrawLetterSize(Textdraw5, 0.300000, 1.200000);
    TextDrawColor(Textdraw5, -1);
    TextDrawSetOutline(Textdraw5, 0);
    TextDrawSetProportional(Textdraw5, 1);
    TextDrawSetShadow(Textdraw5, 0);

    ProcessGameTime();
    SetTimer("ProcessGameTime", 1000, 1);
    return 1;
}

public OnPlayerConnect(playerid)
{
    TextDrawShowForPlayer(playerid, Textdraw0); //Horas
    TextDrawShowForPlayer(playerid, Textdraw1); //Minutos
    TextDrawShowForPlayer(playerid, Textdraw2); //Segundos
    TextDrawShowForPlayer(playerid, Textdraw3); //Dia
    TextDrawShowForPlayer(playerid, Textdraw4); //Mes
    TextDrawShowForPlayer(playerid, Textdraw5); //Ano
}

public ProcessGameTime()
{
    new string[128];
    gettime(Horas, Minutos, Segundos);
    getdate(Anos, Meses, Dias);
    format(string, sizeof string, "%02d", Horas);    // Horas
    TextDrawSetString(Textdraw0, string);
    format(string, sizeof string, ":%02d", Minutos); // Minutos
    TextDrawSetString(Textdraw1, string);
    format(string, sizeof string, ":%02d", Segundos); // Segundos
    TextDrawSetString(Textdraw2, string);
    format(string, sizeof string, "%02d", Dias);     // Dias
    TextDrawSetString(Textdraw3, string);
    format(string, sizeof string, "/%02d", Meses);  // Meses
    TextDrawSetString(Textdraw4, string);
    format(string, sizeof string, "/%02d", Anos);   // Ano
    TextDrawSetString(Textdraw5, string);
    for(new i = 0; i < MAX_PLAYERS; i++) SetPlayerTime(i, Horas, Minutos);
    if(Minutos == 59 && Segundos == 59) PayDay();
}
Testa esse, eu nгo testei. Textdraw novo, mas caso vocк queira continuar com o seu й sу mudar!
vc nao entendeu, no textdraw aparece 13:00 14:00 mais nao chama o payday
Reply
#6

pawn Код:
forward ProcessGameTime();
public ProcessGameTime()
{
    new string[128];
    gettime(i_ServerHours, i_ServerMinutes, i_ServerSeconds);
    getdate(i_ServerYears, i_ServerMonths, i_ServerDays);
    if(i_ServerMinutes == 0 && i_ServerSeconds == 0)
    {
        PayDay();
    }
    format(string, sizeof string, "%02d:%02d:%02d", i_ServerHours, i_ServerMinutes, i_ServerSeconds);
    TextDrawSetString(txtTimeDisp, string);
    format(string, sizeof string, "%02d/%02d/%04d", i_ServerDays, i_ServerMonths, i_ServerYears);
    TextDrawSetString(txtDateDisp, string);
    SetWorldTime(i_ServerHours);
    for(new i = 0; i < MAX_PLAYERS; i++) SetPlayerTime(i, i_ServerHours, i_ServerMinutes);
    return true;
}
Troque isto: /\

Por isto: \/

pawn Код:
forward ProcessGameTime();
public ProcessGameTime()
{
    new string[128];
    gettime(i_ServerHours, i_ServerMinutes, i_ServerSeconds);
    getdate(i_ServerYears, i_ServerMonths, i_ServerDays);
    if(i_ServerMinutes == 59 && i_ServerSeconds == 59) return PayDay();
    format(string, sizeof string, "%02d:%02d:%02d", i_ServerHours, i_ServerMinutes, i_ServerSeconds);
    TextDrawSetString(txtTimeDisp, string);
    format(string, sizeof string, "%02d/%02d/%04d", i_ServerDays, i_ServerMonths, i_ServerYears);
    TextDrawSetString(txtDateDisp, string);
    SetWorldTime(i_ServerHours);
    for(new i = 0; i < MAX_PLAYERS; i++) SetPlayerTime(i, i_ServerHours, i_ServerMinutes);
    return true;
}
@EDIT:
Passa o teu
pawn Код:
public PayDay();
Reply
#7

Ja Consegui Arrumar Aqui OBG a Todos +REP.
Reply
#8

Por favor, eu acho importante nуs te ajudarmos a resolver. Mas se vocк consegue resolver sem ninguйm saber o problema, por favor, compartilhe com a gente, pelo menos comigo, sou iniciante! Quanto mais conhecimento melhor.
Reply
#9

Quote:
Originally Posted by Adrian Fahrenheit Tepes
Посмотреть сообщение
Por favor, eu acho importante nуs te ajudarmos a resolver. Mas se vocк consegue resolver sem ninguйm saber o problema, por favor, compartilhe com a gente, pelo menos comigo, sou iniciante! Quanto mais conhecimento melhor.
Nгo eram exatamente erros na hora e sim na Public do Payday, uns valores lб que eu tive que trocar ai a public voltou a funcionar.
Reply
#10

Quote:
Originally Posted by GabrielDias_Invision
Посмотреть сообщение
Nгo eram exatamente erros na hora e sim na Public do Payday, uns valores lб que eu tive que trocar ai a public voltou a funcionar.
Por isso eu te pedi para passar ela, sabia que na public ProcessGameTime() estava tudo ok.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)