Como se fosse um freio de mão? Bom... vamos pela lógica!
Percorra um loop a cada 1 segundo verificando todos os veículos criados pelo servidor. Após fazer isso, verifica se o veículo percorrido está ocupado com algum passageiro ou motorista.
1. Se estiver desocupado: Verificar se a posição atual é a mesma posição em que ele estava quando criou o veículo.
2. Se a posição estiver diferente da posição quando criou: Faz o respawn do veículo para o seu local de criação.
Observações: Você precisa criar uma variável com MAX_VEHICLES e colocar a posição de criação do veículo. Ex: new Float:_Pos[MAX_VEHICLES][3] e salvar o X, Y, Z.
Para pegar a posição atual do veículo, use GetVehiclePos.
Para fazer o respawn do veículo, use SetVehicleToRespawn.
No mais, acredito que com apenas esses critérios você consegue fazer um sistema eficaz.
Percorra um loop a cada 1 segundo verificando todos os veículos criados pelo servidor. Após fazer isso, verifica se o veículo percorrido está ocupado com algum passageiro ou motorista.
1. Se estiver desocupado: Verificar se a posição atual é a mesma posição em que ele estava quando criou o veículo.
2. Se a posição estiver diferente da posição quando criou: Faz o respawn do veículo para o seu local de criação.
Observações: Você precisa criar uma variável com MAX_VEHICLES e colocar a posição de criação do veículo. Ex: new Float:_Pos[MAX_VEHICLES][3] e salvar o X, Y, Z.
Para pegar a posição atual do veículo, use GetVehiclePos.
Para fazer o respawn do veículo, use SetVehicleToRespawn.
No mais, acredito que com apenas esses critérios você consegue fazer um sistema eficaz.