[Ajuda] 1 Ajuda e 2 Dъvidas...
#1

Ajuda:

Eu queria que a cada 5 segundos fossem equivalentes б 1 minuto..

Logo entгo criei um timer em OnGameModeInit chamado:
pawn Код:
SetTimer("PassarHora",5000,true);
E logo em seguida (no final do GM) criei a funзгo:
pawn Код:
CallBack::PassarHora() {
    for(new playerid = 0; playerid < MAX_PLAYERS; playerid++) {
        Minuto ++;
        if(Minuto == 60) {
            Minuto = 0;
            Hora ++;
        }
        if(Hora == 24) {
            Hora = 0;
            Minuto = 0;
            MSGALL(Branco,"[{FFFF00} RELOGIO {FFFFFF}]: Jб se passaram mais um dia no servidor..");
        }
        format(str, sizeof str, "%d:%d",Hora,Minuto);
        TextDrawSetString(Relogio,str);
    }
    return false;
}
Porem a cada 5 segundos se passam 2 minutos e da uma especie de travada no servidor ...


Dъvidas:

Primeira: Na matemбtica o ... significa uma sequencia infinita, exemplo:
Код:
0,22...
0,33...
0,44...
e por ai vai..
Qual a funзгo dele no pawn?

Segunda: Na funзгo IsPlayerInRangeOfPoint o valor 50.0 (radi) equivale a 50 metros? Como calcular estб distancia apartir da soma/subtraзгo de 2 coordenadas somente utilizando o valor X?


@EDIT
Nгo preciso mais da ajuda, preciso somente retirar dъvidas.. Agora que vi que era o loop
Reply
#2

Porque o loop? '-'
Reply
#3

Certamente hб um loop desnecessбrio na callback, obviamente ele vai bugar a funзгo a qual vocк estб tentando fazer

pawn Код:
SetTimer("PassarHora", 5000, true);

CallBack::PassarHora() {
    Minuto++;
    if(Minuto == 60) {
        Minuto = 0;
        Hora++;
    }
    if(Hora == 24) {
        Hora = 0;
        Minuto = 0;
        MSGALL(Branco, "[{FFFF00} RELOGIO {FFFFFF}]: Jб se passaram mais um dia no servidor..");
    }
    format(str, sizeof(str), "%d:%d", Hora, Minuto);
    TextDrawSetString(Relogio, str);
    return 1;
}
Sobre a primeira dъvida:

Supomos que vocк crie a variavel assim:

pawn Код:
new variavel[MAX_PLAYERS] = 2;
Apenas variavel[0] vai assumir o valor 2, o restante o valor padrгo (0)

O modo correto seria:

pawn Код:
new variavel[MAX_PLAYERS] = {2, ...};


Sobre a segunda dъvida:

Vocк farб uma subtraзгo entre duas variбveis (x e y), no caso a maior com a menor

Dependendo do que vocк vai utilizar use GetPlayerDistanceFromPoint
Reply
#4

1 - Mais vc esta usando um looop for nesse caso nгo seria preciso;
O loop da 500 Voltas; entгo ja esta errada a funзгo;
Vc tem que criar um timestamp, й muito melhor

2 - Nao й possivel; para isso use um timestamp;
Reply
#5

com esse loop estranho ai ele vai dar mais 500 minutos porque 500 й o max_players

pawn Код:
CallBack::PassarHora() {
        Minuto ++;
        if(Minuto == 60) {
            Minuto = 0;
            Hora ++;
        }
        if(Hora == 24) {
            Hora = 0;
            Minuto = 0;
            MSGALL(Branco,"[{FFFF00} RELOGIO {FFFFFF}]: Jб se passaram mais um dia no servidor..");
        }
        format(str, sizeof str, "%d:%d",Hora,Minuto);
        TextDrawSetString(Relogio,str);
        return true;
}
Reply
#6

Antes de vcs postarem eu ja tinha escrito edit no post

Vocкs podem retirar as dъvidas sobre calculo que postei?
Reply
#7

eu acho que o reticкncias (...) nem tem funзгo em pawn e a segunda nгo entendi.
Reply
#8

Quote:
Originally Posted by [JD]BlackFire
Посмотреть сообщение
eu acho que o reticкncias (...) nem tem funзгo em pawn e a segunda nгo entendi.
Tem sim, olhe meu post
Reply
#9

Quote:
Originally Posted by Dwayne-Pheonix
Посмотреть сообщение
Tem sim, olhe meu post
nгo й ъtil.
Reply
#10

Й apenas um modo onde pode ser aplicado as reticencias, em alguns sistemas pode ser ъtil
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)