Veículos
Estas funções trabalham sobre elementos do tipo vehicle. O veículo em si é criado com createVehicle, que fica na página de Elementos.
Quando um argumento inválido é passado — um elemento que não é veículo, um handle já destruído — a função devolve false e escreve o motivo no console de debug. No cliente, algumas delas geram um erro de Lua em vez disso; as páginas delas avisam.
Estas 83 funções existem no servidor e no cliente. Você pode usá-las em scripts declarados em server_files, client_files ou shared_files.
Veja também as funções de Veículos exclusivas do servidor e as funções de Veículos exclusivas do cliente.
Nomes e modelos
Seção intitulada “Nomes e modelos”IDs de modelo de veículo vão de 400 a 611.
Ocupantes
Seção intitulada “Ocupantes”O assento 0 é o do motorista; os passageiros ficam nos assentos 1 em diante, tantos quantos o getVehicleMaxPassengers indicar.
Aparência
Seção intitulada “Aparência”As cores de veículo usam a paleta do jogo, com índices de 0 a 126, ou valores RGB livres. Uma cor definida em RGB é guardada exatamente como você a definiu; lida de volta como índice de paleta, ela dá a entrada mais próxima da paleta.
Paintjob e variantes
Seção intitulada “Paintjob e variantes”Sujeira
Seção intitulada “Sujeira”Motor, travas e luzes
Seção intitulada “Motor, travas e luzes”Dano e integridade
Seção intitulada “Dano e integridade”Portas, painéis, rodas e faróis
Seção intitulada “Portas, painéis, rodas e faróis”Os índices de porta vão de 0 a 5. No servidor, índices fora dessa faixa devolvem false com o erro “Invalid door, expected 0-5”. O cliente não dá mensagem: os getters dele respondem 0 e os setters devolvem false.
Painéis
Seção intitulada “Painéis”Os índices de painel vão de 0 a 6. No servidor, fora disso, false com o erro “Invalid panel, expected 0-6”. O cliente não dá mensagem: o getter dele responde 0 e o setter devolve false.
As quatro rodas são sempre lidas e escritas na ordem dianteira esquerda, traseira esquerda, dianteira direita, traseira direita.
Faróis quebrados
Seção intitulada “Faróis quebrados”Os índices de farol vão de 0 a 3. No servidor, fora disso, false com o erro “Invalid light, expected 0-3”. O cliente não dá mensagem: o getter dele responde 0 e o setter devolve false.
Upgrades
Seção intitulada “Upgrades”IDs de upgrade vão de 1000 a 1193. Cada ID pertence a um dos 17 slots abaixo, e cada slot comporta um upgrade por vez — instalar um novo substitui o anterior.
| Slot | Nome |
|---|---|
0 | Hood |
1 | Vent |
2 | Spoiler |
3 | Sideskirt |
4 | Front Bullbars |
5 | Rear Bullbars |
6 | Headlights |
7 | Roof |
8 | Nitro |
9 | Hydraulics |
10 | Stereo |
11 | Unknown |
12 | Wheels |
13 | Exhaust |
14 | Front Bumper |
15 | Rear Bumper |
16 | Misc |
Usado nos veículos que têm torre giratória, como o Rhino e o Swat Tank. Os dois ângulos são em radianos.
Reboques
Seção intitulada “Reboques”Handling
Seção intitulada “Handling”Handling é o conjunto de propriedades físicas de um veículo: massa, aceleração, freio, suspensão e por aí vai.
Existem dois níveis de configuração:
- Por veículo —
getVehicleHandling/setVehicleHandling, afeta só aquele elemento. - Por modelo —
getModelHandling/setModelHandling(só no servidor), o handling com que um veículo daquele modelo começa.
Um veículo recebe o handling do modelo quando é criado, quando passa a ser daquele modelo e quando o handling próprio dele é restaurado com setVehicleHandling(veiculo); os veículos que já existem mantêm o deles quando o modelo muda. Um modelo sem ajuste usa os valores de fábrica, sempre disponíveis em getOriginalHandling.
Propriedades
Seção intitulada “Propriedades”| Propriedade | Tipo |
|---|---|
mass | number |
turnMass | number |
dragCoeff | number |
centerOfMass | tabela {x, y, z} |
percentSubmerged | number inteiro |
tractionMultiplier | number |
driveType | "fwd", "rwd" ou "awd" |
engineType | "petrol", "diesel" ou "electric" |
numberOfGears | number inteiro |
engineAcceleration | number |
engineInertia | number |
maxVelocity | number |
brakeDeceleration | number |
brakeBias | number |
ABS | bool |
steeringLock | number |
tractionLoss | number |
tractionBias | number |
suspensionForceLevel | number |
suspensionDamping | number |
suspensionHighSpeedDamping | number |
suspensionUpperLimit | number |
suspensionLowerLimit | number |
suspensionFrontRearBias | number |
suspensionAntiDiveMultiplier | number |
collisionDamageMultiplier | number |
seatOffsetDistance | number |
handlingFlags | number inteiro |
modelFlags | number inteiro |
monetary | number inteiro — somente leitura |
headLight | "long", "small", "big" ou "tall" — somente leitura |
tailLight | "long", "small", "big" ou "tall" — somente leitura |
animGroup | number inteiro |
Na escrita, ABS só aceita booleano, e as propriedades inteiras recusam valores negativos. Em centerOfMass, um item que não é número conta como 0. animGroup aceita de 0 a 29, mas só os grupos 3, 8, 17 e 23 são aplicados de fato — qualquer outro valor da faixa informa sucesso e não muda nada.
Na tabela completa, driveType, engineType, headLight e tailLight ficam de fora quando o valor guardado não tem nome, então "tall" só aparece quando você pede essa propriedade sozinha.
Sirenes personalizadas
Seção intitulada “Sirenes personalizadas”Permitem substituir as luzes de sirene de um veículo por até 8 pontos de luz próprios, com posição e cor definidas por você.
Rastro de fumaça
Seção intitulada “Rastro de fumaça”Só funciona nos modelos 512 (Cropduster) e 513 (Stuntplane).
As funções desta seção só aceitam os modelos de trem: 449, 537, 538, 569, 570 e 590. Um veículo válido que não seja um trem simplesmente devolve false, sem erro no console; um argumento que não seja veículo gera o aviso de argumento inválido.