Changeset 2118 for trunk/lotatc_server/lotatc_FC2.lua
- Timestamp:
- 07/19/10 17:47:11 (22 months ago)
- File:
-
- 1 edited
-
trunk/lotatc_server/lotatc_FC2.lua (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/lotatc_server/lotatc_FC2.lua
r2092 r2118 95 95 -- ========================================================================== 96 96 getLotatcTypeFromLockonType = function( self, lockonType) 97 local lotatcObjectType = nil ; 98 99 -- First level 100 if self.ObjectTypeLUT[lockonType.level1] then 101 if self.ObjectTypeLUT[ lockonType.level1 ][lockonType.level2] then 102 lotatcObjectType = self.ObjectTypeLUT[ lockonType.level1 ][lockonType.level2] 97 info = { 0, nil} 98 99 -- Process level by level 100 if self.objectTypeLUT[lockonType.level1] then 101 if self.objectTypeLUT[lockonType.level1][lockonType.level2] then 102 if self.objectTypeLUT[lockonType.level1][lockonType.level2][lockonType.level3] then 103 if self.objectTypeLUT[lockonType.level1 ][lockonType.level2][lockonType.level3][lockonType.level4] then 104 info = self.objectTypeLUT[lockonType.level1][lockonType.level2][lockonType.level3][lockonType.level4] 105 else 106 info = self.objectTypeLUT[lockonType.level1][lockonType.level2][lockonType.level3] 107 end 108 else 109 info = self.objectTypeLUT[lockonType.level1][lockonType.level2] 110 end 111 else 112 info = self.objectTypeLUT[lockonType.level1] 103 113 end 104 114 end 105 return lotatcObjectType115 return info["flag"], info["tag"] 106 116 end, 117 107 118 108 119 -- ========================================================================== … … 111 122 Start = function( self) 112 123 -- Lookup table used to transcode lockonType to lotatcType 113 self.ObjectTypeLUT = { [wsType_Air] = { [wsType_Airplane] = self.AIRPLANE 114 , [wsType_Helicopter] = self.HELICOPTER 115 , [wsType_Free_Fall] = self.CHAFF_FLARE 124 self.objectTypeLUT = { [wsType_Air] = { [wsType_Airplane] = { ["flag"] = 1, ["tag"] = self.AIRPLANE } 125 , [wsType_Helicopter] = { ["flag"] = 1, ["tag"] = self.HELICOPTER} 116 126 } 117 , [wsType_Weapon] = { [wsType_Missile] = self.MISSILE 118 , [wsType_Bomb] = self.BOMB 119 , [wsType_Shell] = self.SHELL 120 , [wsType_NURS] = self.ROCKET 127 , [wsType_Ground] = { [wsType_Moving] = { ["flag"] = 1, ["tag"] = self.GROUND_MOVING } 128 , [wsType_Tank] = { [wsType_Gun] = { ["flag"] = 0, ["tag"] = self.TANK} 129 , [wsType_MissGun] = { ["flag"] = 0, ["tag"] = self.TANK} 130 , [wsType_Miss] = { ["flag"] = 0, ["tag"] = self.TANK} 131 , [wsType_Radar] = { ["flag"] = 1, ["tag"] = self.TANK} 132 , [wsType_NoWeapon] = { ["flag"] = 0, ["tag"] = self.TANK} 133 } 134 , [wsType_SAM] = { [wsType_Gun] = { ["flag"] = 0, ["tag"] = self.SAM} 135 , [wsType_Miss] = { ["flag"] = 0, ["tag"] = self.SAM} 136 , [wsType_MissGun] = { ["flag"] = 0, ["tag"] = self.SAM} 137 , [wsType_Radar] = { ["flag"] = 1, ["tag"] = self.SAM} 138 , [wsType_Radar_Gun] = { ["flag"] = 1, ["tag"] = self.SAM} 139 , [wsType_Radar_Miss] = { ["flag"] = 1, ["tag"] = self.SAM} 140 , [wsType_Radar_MissGun] = { ["flag"] = 1, ["tag"] = self.SAM} 141 , [wsType_NoWeapon] = { ["flag"] = 0, ["tag"] = self.SAM} 142 } 121 143 } 122 , [wsType_Ground] = { [wsType_Moving] = self.GROUND_MOVING 123 , [wsType_Standing] = self.GROUND_STANDING 124 , [wsType_Tank] = self.TANK 125 , [wsType_SAM] = self.SAM 126 } 127 , [wsType_Navy] = { [wsType_Ship] = self.SHIP 144 , [wsType_Navy] = { [wsType_Ship] = { ["flag"] = 1, ["tag"] = self.SHIP} 128 145 } 129 146 } 147 130 148 131 149 -- -------------------------------------------------------- … … 191 209 local worldObjects = LoGetWorldObjects() 192 210 for objectId, objectInfo in pairs( worldObjects) do 193 194 211 -- --------------------------------------------------- 195 212 -- Use lookUpTable to convert Lockon Type 196 local objectType = self.getLotatcTypeFromLockonType( self, objectInfo.Type) 213 local isDetectable 214 local objectType 215 isDetectable, objectType = self.getLotatcTypeFromLockonType( self, objectInfo.Type) 197 216 if objectType then 198 217 -- --------------------------------------------------- … … 261 280 groupName = "" 262 281 end 282 if not unitName then 283 unitName = "" 284 end 263 285 if not pilotName then 264 286 pilotName = "" … … 267 289 -- --------------------------------------------------- 268 290 -- Fill the buffer with NEW_OBJECT message 269 message = message..string.format( "%s|%s|%s|%s|%s|%s|%s", self.NEW_OBJECT, objectId, objectType, unitName, pilotName, coalition, groupName) 291 message = message..string.format( "%s|%s|%s|%s|%s|%s|%s|%s" 292 , self.NEW_OBJECT 293 , objectId 294 , objectType 295 , unitName 296 , pilotName 297 , coalition 298 , groupName 299 , isDetectable 300 ) 270 301 end -- end of: if createObject==true then 271 302
Note: See TracChangeset
for help on using the changeset viewer.
