Pular para o conteúdo

setVehicleHandling

Compartilhada Veículos OOP veiculo:setHandling(...)

Altera o handling de um veículo específico.

-- servidor
bool setVehicleHandling ( vehicle oVeiculo [, string propriedade, any valor, bool usarOriginal = false ] )
-- cliente
bool setVehicleHandling ( vehicle oVeiculo [, string propriedade, any valor ] )
NomeTipoPadrãoDescrição
oVeiculovehicle—Veículo a alterar.
propriedadestring—Propriedade a mudar. Omitida (ou nil), todo o handling do veículo volta ao normal.
valorany—Novo valor. nil restaura só essa propriedade.
usarOriginalboolfalseSó no servidor. true restaura pelos valores de fábrica em vez do handling do modelo.

No servidor, “voltar ao normal” significa o handling do modelo definido com setModelHandling, ou os valores de fábrica quando o modelo não tem alteração ou usarOriginal é true.

Aqui o argumento que falta é o último, não o primeiro: o cliente não tem usarOriginal e restaura sempre pelo valor de fábrica do modelo. No cliente, restaurar exige um nil explícito — setVehicleHandling(veiculo, nil) para o handling inteiro, setVehicleHandling(veiculo, propriedade, nil) para uma propriedade —, e omitir os argumentos só devolve false. Um reset completo lá mantém o monetary, o headLight e o tailLight atuais do veículo.

No servidor, uma propriedade desconhecida devolve false com o erro “Invalid property”, e um valor do tipo errado ou fora da faixa devolve false com “Invalid value”. O cliente devolve false nos mesmos casos, sem mensagem. headLight e tailLight não podem ser escritas.

A alteração feita no servidor vale para todos os jogadores. Feita no cliente, ela vale só naquela máquina; um veículo fora de stream a guarda e a recebe de volta quando é carregado de novo.

-- servidor
setVehicleHandling(veiculo, "maxVelocity", 300)
setVehicleHandling(veiculo, "driveType", "awd")
setVehicleHandling(veiculo, "centerOfMass", {0, 0, -0.5})
setVehicleHandling(veiculo, "maxVelocity", nil) -- volta essa propriedade
setVehicleHandling(veiculo) -- volta o handling inteiro
-- cliente: as mesmas chamadas, sem o último argumento, e com nil explícito para restaurar
setVehicleHandling(veiculo, "maxVelocity", 300)
setVehicleHandling(veiculo, nil)