03.01.2016, 16:47
Estou com uma dъvida, geralmente os cуdigos que faзo, funcionam, sу que sempre faзo eles do pior jeito possнvel(menos otimizado).
Primeiramente, eu criei uma Callback chamada "Update", ela й chamada a cada segundo, e toda vez que ela й chamada, passa um loop em todos os players, e faz coisas como diminuir tempo preso, atualizar velocimetro e etc.
Estб certo este jeito? Ou devo criar um timer para cada jogador quando ele se conecta? Assim evitando um Loop a cada 1 segundo.
Essa foi uma dъvida pequena, agr tem a dъvida que foi o motivo de eu criar o tуpico, eu gostaria que sempre que alguйm fosse em frente alguma porta, Aparecesse uma mensagem(GameText), escrito /entrar.
Eu fiz o seguinte:
O problema й que, a cada segundo, a Callback Update й chamada, e dб um loop em todos os player online, e a cada volta desse loop, acontece mais um loop para ver se o player estб perto de uma das entradas.
Obs: MAX_EMPRESAS й igual 200.
Tem algum jeito de fazer isso, sem causar lag?
Primeiramente, eu criei uma Callback chamada "Update", ela й chamada a cada segundo, e toda vez que ela й chamada, passa um loop em todos os players, e faz coisas como diminuir tempo preso, atualizar velocimetro e etc.
Estб certo este jeito? Ou devo criar um timer para cada jogador quando ele se conecta? Assim evitando um Loop a cada 1 segundo.
Essa foi uma dъvida pequena, agr tem a dъvida que foi o motivo de eu criar o tуpico, eu gostaria que sempre que alguйm fosse em frente alguma porta, Aparecesse uma mensagem(GameText), escrito /entrar.
Eu fiz o seguinte:
PHP Code:
//...
for(new Proc = 0; Proc < MAX_EMRESAS; Proc++)
{
if(IsPlayerInRangeOfPoint(playerid, 2, EntradaEmpresas[Proc][EmpX], EntradaEmpresas[Proc][EmpY], EntradaEmpresas[Proc][EmpZ]))
{
GameTextForPlayer(playerid, "/Entrar", 1000, 5);
return 1;
}
}
//...
Obs: MAX_EMPRESAS й igual 200.
Tem algum jeito de fazer isso, sem causar lag?