ObjectSubTypesΒΆ
Another value that can be used to differentiate objects from each other and figure out what specifically they are. A good example of where this will be useful (once vehicles are binded to lua) is figuring out what type of vehicle an object is (flyer, walker, automobile). These are defined in ./Core/rfg/ObjectSubTypes.lua
. You can get an objects subtype via Object.SubType
. A simple example of this would be counting the number of flyers and walkers, which both have the object type of vehicle, but different subtypes.
WalkerCount = 0
FlyerCount = 0
for i=0, rfg.ActiveWorld.AllObjects:Size(), 1 do
Object = rfg.ActiveWorld.AllObjects[i]
if Object.Type == rfg.ObjectTypes.Vehicle then
if Object.SubType == rfg.ObjectSubTypes.Flyer then
FlyerCount = FlyerCount + 1
elif Object.SubType == rfg.ObjectSubTypes.Walker then
WalkerCount = WalkerCount + 1
end
end
end
rsl.Log("Number of flyer objects found: {}\n", FlyerCount)
rsl.Log("Number of walker objects found: {}\n", WalkerCount)
Object Type | Access Variable | Value |
---|---|---|
GeneralMover | rfg.ObjectSubTypes.MoverGeneral |
0 |
RfgMover | rfg.ObjectSubTypes.MoverRfg |
1 |
Npc | rfg.ObjectSubTypes.HumanNpc |
2 |
Player | rfg.ObjectSubTypes.HumanPlayer |
3 |
Automobile | rfg.ObjectSubTypes.VehicleAuto |
4 |
Flyer | rfg.ObjectSubTypes.VehicleFlyer |
5 |
Walker | rfg.ObjectSubTypes.VehicleWalker |
6 |
Weapon | rfg.ObjectSubTypes.ItemWeapon |
7 |
Projectile | rfg.ObjectSubTypes.ItemProjectile |
8 |
MultiObjectFlag | rfg.ObjectSubTypes.ItemMultiFlag |
9 |
MultiObjectFlag | rfg.ObjectSubTypes.ItemMultiBackpack |
10 |
N/A | rfg.ObjectSubTypes.NumObjectSubTypes |
11 |
N/A | rfg.ObjectSubTypes.Invalid |
4294967295 |