Portal SAMP
[Pedido] respawn em carros - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Pedido] respawn em carros (/showthread.php?tid=3237)



respawn em carros - LOS_SANTOS - 23/01/2023

Iae gente alguém poderia criar um comando em zcmd de respawnar todos os carros desocupados?! Pois já tentei e não consegui tô na busca do aprendizado nessa linguagem


RE: respawn em carros - White_Blue - 23/01/2023

Faça um loop que percorra todos os veículos desocupados.

Exemplo:
Código PHP:
CMD:rvu(playeridparams[]) {
    if(
IsPlayerAdmin(playerid)) {
    for(new 
0MAX_VEHICLESi++) if(!IsVehicleOccupied(i) && IsNoTrailerAttached(i)) SetVehicleToRespawn(i);
    
SendClientMessage(playerid, -1"Veículos Respawnados com sucesso.");
    }
    return 
1;
}

stock IsVehicleOccupied(vehicleid) {
    for(new 
0MAX_PLAYERSi++) { // Utilize foreach de preferência.
        
if(GetPlayerState(i) == PLAYER_STATE_DRIVER || GetPlayerState(i) == PLAYER_STATE_PASSENGER) {
        if(
GetPlayerVehicleID(i) == vehicleid) return 1;
    }
        }
    return 
0;
}

stock IsNoTrailerAttached(vehicleid) {
    for(new 
0MAX_PLAYERSi++) {
    new 
vid GetPlayerVehicleID(i);
    if(
IsPlayerInAnyVehicle(i) && GetVehicleModel(vid) == 515 && GetVehicleModel(vid) == 591 && GetVehicleModel(vid) == 584) {

    if(
vehicleid == GetVehicleTrailer(GetPlayerVehicleID(i))) return 0;
    }
    
    }
    return 1;
}

forward AutoRespawn();
public 
AutoRespawn() {
    for(new 
0MAX_VEHICLESi++) {
    if(!
IsVehicleOccupied(i) && IsNoTrailerAttached(i)) SetVehicleToRespawn(i);
    }
    
SendClientMessageToAll(-1"Todos os veículos foram respawnados automaticamente!");
    return 
1;
}

public 
OnGameModeInit() {
    
SetTimer("AutoRespawn"3600000true); // Respawna todos os veículos a cada uma hora
    
return 1;