19.05.2013, 15:36
Pessoal.
Qual o Mais Recomendado. - Leg Para o Servidor:
SetTimer - Atualizado Globalmente.
ou
SetTimerEx - Atualizado por Player.
Em Meu Servidor eu Uso:
CallBack OnGamemodeInit:
SetTimer("AtualizarTodos", 990, 1);//Timer de Atualizacao Global para Todos Do Servidor. Atualiza Score,Level etcc..
Em Textdraw..
Seria Mais Recomendado Criar um Timer Repetitivo para Cada Player?
vlw
#2 Duvida. Tem Como Melhorar Isto:
- Isto Aumenta Leg Correto? й atualizado por Timer. a Cada Segundo ele Faz Loop. +Leg?
Qual o Mais Recomendado. - Leg Para o Servidor:
SetTimer - Atualizado Globalmente.
ou
SetTimerEx - Atualizado por Player.
Em Meu Servidor eu Uso:
CallBack OnGamemodeInit:
SetTimer("AtualizarTodos", 990, 1);//Timer de Atualizacao Global para Todos Do Servidor. Atualiza Score,Level etcc..
Em Textdraw..
Seria Mais Recomendado Criar um Timer Repetitivo para Cada Player?

#2 Duvida. Tem Como Melhorar Isto:
PHP код:
public VisibilityUpdate()////Creditos a Devastator - UGW
{
new dist;
new Float:x, Float:x1, Float:y, Float:y1, Float:tmp;
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
GetPlayerPos(i, x, y, tmp);
for(new j = 0; j <= MAX_PLAYERS; j++)
{
if(IsPlayerConnected(j) && j != i && Player[i][PlayerGPS] != j)
{
GetPlayerPos(j, x1, y1, tmp);
dist = floatround(floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)));
if(Player[i][PlayingWar] == true)
{
SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000011));
}
else if(GetPlayerVirtualWorld(j) == GetPlayerVirtualWorld(i) && GetPlayerVirtualWorld(i) == 24)
{
SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x000000FF));
}
else if(dist <= 300)
{
if( (PlayerGang[i] != INVALID_GANG && PlayerGang[j] != INVALID_GANG && PlayerGang[i] == PlayerGang[j]) ||
(PlayerGang[i] == T_LEI && Player[i][GangLevel] > 3 && IsPlayerInRadarVehicle(i)) ||
(VillageData[VILL_PALOMINO][Owner] == PlayerGang[i] && PlayerGang[i] != INVALID_GANG && IsPlayerInAnyVehicle(i)) )
{
// if(GetVehicleModel(GetPlayerVehicleID(i)) != 520) // nгo aplicavel a hydra
SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x000000EE));
}
else if(Player[i][AdvancedRadar] == true && GetPlayerVehicleID(j) != 0)
{
SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x000000EE));
}
else
{
SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000001));
}
}
else if(dist <= 400) SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x000000AA));
else if(dist <= 500) SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000099));
else if(dist <= 600) SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000088));
else if(dist <= 700) SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000077));
else if(dist <= 800) SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000066));
else if(dist <= 900) SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000055));
else if(dist <= 1000) SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000044));
else if(dist <= 1200) SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000033));
else if(dist <= 1400) SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000022));
else if(dist <= 1600) SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000011));
else if(dist <= 2000) SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000011));
else SetPlayerMarkerForPlayer(i, j, ((GetPlayerColor(j) & 0xFFFFFF00) | 0x00000011));
if(GetPlayerInterior(i) != GetPlayerInterior(j)) SetPlayerMarkerForPlayer(i, j, (GetPlayerColor(j) & 0xFFFFFF00));
}
}
}
}
}