23/01/2023 14:00
Faça um loop que percorra todos os veículos desocupados.
Exemplo:
Exemplo:
Código PHP:
CMD:rvu(playerid, params[]) {
if(IsPlayerAdmin(playerid)) {
for(new i = 0; i < MAX_VEHICLES; i++) if(!IsVehicleOccupied(i) && IsNoTrailerAttached(i)) SetVehicleToRespawn(i);
SendClientMessage(playerid, -1, "Veículos Respawnados com sucesso.");
}
return 1;
}
stock IsVehicleOccupied(vehicleid) {
for(new i = 0; i < MAX_PLAYERS; i++) { // 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 i = 0; i < MAX_PLAYERS; i++) {
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 i = 0; i < MAX_VEHICLES; i++) {
if(!IsVehicleOccupied(i) && IsNoTrailerAttached(i)) SetVehicleToRespawn(i);
}
SendClientMessageToAll(-1, "Todos os veículos foram respawnados automaticamente!");
return 1;
}
public OnGameModeInit() {
SetTimer("AutoRespawn", 3600000, true); // Respawna todos os veículos a cada uma hora
return 1;
}
Não estou disponível para realizar serviços relacionados ao SA-MP e não costumo responder a mensagens privadas, a menos que estejam relacionadas à moderação do fórum.