Pular para o conteúdo

setWeaponProperty

Cliente Armas OOP arma:setProperty(...)

Altera um atributo de um elemento arma.

bool setWeaponProperty ( weapon aArma, string propriedade, number valor )
bool setWeaponProperty ( weapon aArma, "fire_rotation", number x, number y, number z )
NomeTipoPadrãoDescrição
aArmaweapon—Elemento arma a alterar.
propriedadestring—Um dos nomes da tabela abaixo.
valornumber—Novo valor. fire_rotation recebe três números, ou um Vector3.

Propriedades que um elemento arma aceita:

PropriedadeTipoSignificado
damagenumberDano de cada tiro. Guardado como número inteiro de 16 bits: a parte fracionária é descartada.
accuracynumberMultiplicador de precisão; 1 é a precisão do próprio tipo de arma.
target_rangenumberAté onde a arma adquire um alvo.
weapon_rangenumberAté onde os tiros de fato alcançam.
fire_rotationtrês númerosRotação da boca do cano, em graus, como x, y, z.

true quando o atributo foi escrito, false quando o elemento não é uma arma, quando o nome da propriedade não é um dos cinco acima, ou quando o valor não é um número. Um nome de propriedade desconhecido ou um valor inválido também escrevem o motivo no console de debug; uma propriedade que existe mas não é uma das cinco devolve false em silêncio.

O nome da propriedade é comparado sem diferenciar maiúsculas de minúsculas, e uma string numérica como "25" é aceita como número.

local torreta = createWeapon("minigun", 0, 0, 5)
setWeaponProperty(torreta, "damage", 5)
setWeaponProperty(torreta, "weapon_range", 150)
setWeaponProperty(torreta, "fire_rotation", 0, 0, 90)
-- lendo de volta
local dano = getWeaponProperty(torreta, "pro", "damage")
local rx, ry, rz = getWeaponProperty(torreta, "pro", "fire_rotation")