[Ajuda] Respawn Veiculo
#1

Olб, estou com problema na hora de spawn no veiculo tuning

Codigo:
PHP код:
public OnVehicleSpawn(vehicleid)
{
    
//Respawn Veiculo Set
    
for(new car 0car MAX_CARROScar++)
    {
        new
            
gStr[50]
        ;
        
format(gStr,sizeof(gStr),SETS,car);
        
AddVehicleComponent(Set[car], DOF2_GetInt(gStr,"Rodas"));
        
ChangeVehiclePaintjob(Set[car], DOF2_GetInt(gStr,"PaintJob"));
        
AddVehicleComponent(Set[car], DOF2_GetInt(gStr,"Nitro"));
        
AddVehicleComponent(Set[car], DOF2_GetInt(gStr,"Suspensao"));
    }
    return 
1;
  } 
Porem ele demora de 10 a 20 segundo para aparecer o veiculo, fora o que trava o sevidor inteiro, alguem poderia me ajudar?
Reply
#2

Tente dessa forma. Eu usei o GetVehiclePoolSize(); para pegar o maior ID do veнculo criado no servidor, assim o loop sу serб de acordo com a quantidade de veнculos no servidor.
SetVehicleToRespawn(vehicleid); em OnVehicleDeath, farб com que o veнculo volte mais rбpido para o servidor, fazendo com que OnVehicleSpawn(vehicleid) seja chamada.
PHP код:
ublic OnVehicleSpawn(vehicleid)
{
    for(new 
carcar <= GetVehiclePoolSize(); car++)
    {
        new
            
gStr[50]
        ;
        
format(gStr,sizeof(gStr),SETS,car);
        
AddVehicleComponent(Set[car], DOF2_GetInt(gStr,"Rodas"));
        
ChangeVehiclePaintjob(Set[car], DOF2_GetInt(gStr,"PaintJob"));
        
AddVehicleComponent(Set[car], DOF2_GetInt(gStr,"Nitro"));
        
AddVehicleComponent(Set[car], DOF2_GetInt(gStr,"Suspensao"));
    }
    return 
1;
}
public 
OnVehicleDeath(vehicleidkillerid)
{
    
SetVehicleToRespawn(vehicleid);
    return 
1;

Reply
#3

Quote:
Originally Posted by ZaHHak
Посмотреть сообщение
Tente dessa forma. Eu usei o GetVehiclePoolSize(); para pegar o maior ID do veнculo criado no servidor, assim o loop sу serб de acordo com a quantidade de veнculos no servidor.
SetVehicleToRespawn(vehicleid); em OnVehicleDeath, farб com que o veнculo volte mais rбpido para o servidor, fazendo com que OnVehicleSpawn(vehicleid) seja chamada.
PHP код:
ublic OnVehicleSpawn(vehicleid)
{
    for(new 
carcar <= GetVehiclePoolSize(); car++)
    {
        new
            
gStr[50]
        ;
        
format(gStr,sizeof(gStr),SETS,car);
        
AddVehicleComponent(Set[car], DOF2_GetInt(gStr,"Rodas"));
        
ChangeVehiclePaintjob(Set[car], DOF2_GetInt(gStr,"PaintJob"));
        
AddVehicleComponent(Set[car], DOF2_GetInt(gStr,"Nitro"));
        
AddVehicleComponent(Set[car], DOF2_GetInt(gStr,"Suspensao"));
    }
    return 
1;
}
public 
OnVehicleDeath(vehicleidkillerid)
{
    
SetVehicleToRespawn(vehicleid);
    return 
1;

Intгo consegui aqui ele respawn rapido, porem quando dou comando /Rv nos veiculos desocupados no sevidor ele demora 10 a 20 segundos e trava o sevidor inteiro:

PHP код:

CMD
:rv(playeridparams[])
{
  for( new 
0MAX_VEHICLESv++ )
  {
   if( !
IsVehicleOccupied) && NotTrailerAtached)) SetVehicleToRespawn);
  }
  
Msg(playeridAMARELO"[ > ] Vocк respawnou todos os veнculos que estгo desocupados.");
  return 
1;
}
stock NotTrailerAtachedvehicle )
{
    foreach(
Player)
    {
        new
            
GetPlayerVehicleID)
        ;
        if( 
IsPlayerInAnyVehicle) && GetVehicleModel) == 515 )
        {
            if( 
vehicle == GetVehicleTrailerGetPlayerVehicleID)) )
            {
                return 
0;
            }
        }
    }
    return 
1;
}
stock IsVehicleOccupiedvehicleid )
{
    foreach(
Player) if( IsPlayerInVehicleivehicleid ) && GetPlayerState) == PLAYER_STATE_DRIVER )
    return 
1; return 0;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)