[Ajuda] 10 ~ 15 Segundos de RT ao dar /RC (Respawn De Carros)
#1

Estou com um problema no meu "/RC", toda vez que ele й usado, ele fica pelo menos uns 10 segundos com o relуgio travado, o comando nгo й (Jб testei de vбrias formas), pois o mesmo comando funciona sem problemas em outro gamemode, coloquei o 'LOOP' para dar em apenas 20 carros ele foi normal, mas quando aumentei para 200 carros ficou por volta de 4 segundos de RT.


Код:
static bool:VeiculoUtilizado[MAX_VEHICLES] = {false, ...};
for(new x = 0, y = GetPlayerPoolSize(); x <= y; x++)
{
    if(!IsPlayerInAnyVehicle(x)) continue;
    VeiculoUtilizado[GetPlayerVehicleID(x) - 1] = true;
}
for(new z = 1, w = GetVehiclePoolSize(); z <= w; z++)
{
    if(VeiculoUtilizado[z - 1])
    {
        VeiculoUtilizado[z - 1] = false;
        continue;
    }
    SetVehicleToRespawn(z - 1);
}
OBS: Peguei esse /rc na internet tambйm ficou de rt pelo mesmo tempo
Reply
#2

Tambйm jб tive esse problema :/. As vezes nem voltava, deve ser porque tem muitos carros, tenta fazer um time +ou- assim:

Vc da /rc e comeзa contar um time, a cada 3 segundos da respawn em uma org, tipo nгo precisa avisar no chat, "a org ex foi respawnada", nгo precisa, apenas cada 3 segundos da respawn em uma automaticamente, deu /rc comeзa a contar automaticamente. Tenta ae pow, tmj
Reply
#3

Faz assim у...

No comando /rc coloca:

Код:
for(new v = 1, w = GetVehiclePoolSize(); v <= w; v++)
{
	if(v != INVALID_VEHICLE_ID)
	{
		if(!IsVehicleOccupied(v)) SetVehicleToRespawn(v);
	}
}
E o final do gm coloca o stock

Код:
stock IsVehicleOccupied(vehicleid)
{
	for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) if(IsPlayerInVehicle(i, vehicleid)) return true;
	return false;
}
Desse jeito ai funciona, mas eu recomendo usar a include foreach para esses loops, tanto em veнculos, como pra players, Valeu !!
Reply
#4

Quote:
Originally Posted by zCyan
Посмотреть сообщение
Tambйm jб tive esse problema :/. As vezes nem voltava, deve ser porque tem muitos carros, tenta fazer um time +ou- assim:

Vc da /rc e comeзa contar um time, a cada 3 segundos da respawn em uma org, tipo nгo precisa avisar no chat, "a org ex foi respawnada", nгo precisa, apenas cada 3 segundos da respawn em uma automaticamente, deu /rc comeзa a contar automaticamente. Tenta ae pow, tmj
Cara eu pensei nisso, sу que isso ai meu ver seria uma gambiarra nгo uma resoluзгo, concorda?

Se nada funcionar eu faзo assim vlw.

Quote:
Originally Posted by JeffSantos2
Посмотреть сообщение
Faz assim у...

No comando /rc coloca:

Код:
for(new v = 1, w = GetVehiclePoolSize(); v <= w; v++)
{
	if(v != INVALID_VEHICLE_ID)
	{
		if(!IsVehicleOccupied(v)) SetVehicleToRespawn(v);
	}
}
E o final do gm coloca o stock

Код:
stock IsVehicleOccupied(vehicleid)
{
	for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) if(IsPlayerInVehicle(i, vehicleid)) return true;
	return false;
}
Desse jeito ai funciona, mas eu recomendo usar a include foreach para esses loops, tanto em veнculos, como pra players, Valeu !!
Continua igual, vou tentar usar o foreach para ver se ajuda.
Reply
#5

Estranho cara, no meu GM й exatamente desse jeito ai, e nгo da lag, mesmo quando eu nгo usava foreach
Reply
#6

Quote:
Originally Posted by JeffSantos2
Посмотреть сообщение
Estranho cara, no meu GM й exatamente desse jeito ai, e nгo da lag, mesmo quando eu nгo usava foreach
Entгo cara acho que й algum cуdigo mau feito que ficou para trбs, que causa esse 'lag' no rc, nгo й o OnPlayerUpdate. Alguйm sabe o que poderia ser? HELP
Reply
#7

Quantos veнculos vocк tem no servidor?
A maioria dos veнculos estгo dentro do raio "drawdistance" dos jogadores?
Reply
#8

Quote:
Originally Posted by ViniBorn
Посмотреть сообщение
Quantos veнculos vocк tem no servidor?
A maioria dos veнculos estгo dentro do raio "drawdistance" dos jogadores?
O servidor possui 997 carros

Eu adiciono os veнculos com "AddStaticVehicleEx", nгo sei ver esse "drawdistance" de veнculos nгo.

Um Exemplo abaixo de como adiciono os carros:


Код:
CarrosORG[0] = AddStaticVehicleEx(427,1529.1835,-1683.8315,6.0397,269.1565,1,0,-1);
Reply
#9

Sгo mais carros utilizados do que a maioria dos servidores.
Pouquнssimos passam de 400 veнculos. Por isso os cуdigos acima nгo fazem diferenзa pra vocк.
Reply
#10

Quote:
Originally Posted by ViniBorn
Посмотреть сообщение
Sгo mais carros utilizados do que a maioria dos servidores.
Pouquнssimos passam de 400 veнculos. Por isso os cуdigos acima nгo fazem diferenзa pra vocк.
Acredito que nгo seja a quantidade de carros, pois o lag comeзa ali pelo centйsimo carro, e tenho vбrios gamemodes aqui com bem mais de MIL carros, que nгo passam pelo mesmo problema, inclusive o mesmo gamemode sу que muitas versхes atrбs, com o mesmo nъmero de carros, porйm sem lag nenhum no RC.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)