mirror of
https://github.com/l0k1/oprf_assets.git
synced 2024-11-21 15:08:03 +08:00
273 lines
6.9 KiB
XML
273 lines
6.9 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<PropertyList>
|
|
|
|
<path>S-300_TEL_master.ac</path>
|
|
|
|
<animation>
|
|
<type>rotate</type>
|
|
<object-name>holder</object-name>
|
|
<object-name>launcher</object-name>
|
|
<property>sim/multiplay/generic/float[5]</property>
|
|
<factor>1.0</factor>
|
|
<axis>
|
|
<x1-m> -5.0437 </x1-m>
|
|
<y1-m> 1.54585 </y1-m>
|
|
<z1-m> 1.45415 </z1-m>
|
|
<x2-m> -5.0437 </x2-m>
|
|
<y2-m> -1.54585 </y2-m>
|
|
<z2-m> 1.45415 </z2-m>
|
|
</axis>
|
|
</animation>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/smoke.xml</path>
|
|
<offsets>
|
|
<x-m> 3.26307</x-m>
|
|
<y-m>-0.84611</y-m>
|
|
<z-m> 2.85616</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/fire.xml</path>
|
|
<offsets>
|
|
<x-m> 3.26307</x-m>
|
|
<y-m>-0.84611</y-m>
|
|
<z-m> 2.85616</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/smoke.xml</path>
|
|
<offsets>
|
|
<x-m> 3.26307</x-m>
|
|
<y-m> 0.84611</y-m>
|
|
<z-m> 2.85616</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/fire.xml</path>
|
|
<offsets>
|
|
<x-m> 3.26307</x-m>
|
|
<y-m> 0.84611</y-m>
|
|
<z-m> 2.85616</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/smoke.xml</path>
|
|
<offsets>
|
|
<x-m> -0.80986</x-m>
|
|
<y-m> 0.00064</y-m>
|
|
<z-m> 3.24007</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/fire.xml</path>
|
|
<offsets>
|
|
<x-m> -0.80986</x-m>
|
|
<y-m> 0.00064</y-m>
|
|
<z-m> 3.24007</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/smoke.xml</path>
|
|
<offsets>
|
|
<x-m> -3.97300</x-m>
|
|
<y-m> 0.00023</y-m>
|
|
<z-m> 1.83017</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/fire.xml</path>
|
|
<offsets>
|
|
<x-m> -3.97300</x-m>
|
|
<y-m> 0.00023</y-m>
|
|
<z-m> 1.83017</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/smoke.xml</path>
|
|
<offsets>
|
|
<x-m> -4.26653</x-m>
|
|
<y-m> -1.82402</y-m>
|
|
<z-m> 1.44961</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/fire.xml</path>
|
|
<offsets>
|
|
<x-m> -4.26653</x-m>
|
|
<y-m> -1.82402</y-m>
|
|
<z-m> 1.44961</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/smoke.xml</path>
|
|
<offsets>
|
|
<x-m> -4.26653</x-m>
|
|
<y-m> 1.82402</y-m>
|
|
<z-m> 1.44961</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/fire.xml</path>
|
|
<offsets>
|
|
<x-m> -4.26653</x-m>
|
|
<y-m> 1.82402</y-m>
|
|
<z-m> 1.44961</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/smoke.xml</path>
|
|
<offsets>
|
|
<x-m> -0.63979</x-m>
|
|
<y-m> -2.14385</y-m>
|
|
<z-m> 0.05906</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/fire.xml</path>
|
|
<offsets>
|
|
<x-m> -0.63979</x-m>
|
|
<y-m> -2.14385</y-m>
|
|
<z-m> 0.05906</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/smoke.xml</path>
|
|
<offsets>
|
|
<x-m> -0.63979</x-m>
|
|
<y-m> 2.14385</y-m>
|
|
<z-m> 0.05906</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<model>
|
|
<path>Aircraft/S-300/Models/fire.xml</path>
|
|
<offsets>
|
|
<x-m> -0.63979</x-m>
|
|
<y-m> 2.14385</y-m>
|
|
<z-m> 0.05906</z-m>
|
|
<pitch-deg>0</pitch-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
<nasal>
|
|
<load><![CDATA[
|
|
return;
|
|
var self = cmdarg();
|
|
|
|
|
|
var skip = 0;
|
|
var lat = self.getNode("rotors/main/blade[0]/flap-deg");
|
|
var lon = self.getNode("rotors/main/blade[1]/flap-deg");
|
|
var alt = self.getNode("rotors/main/blade[2]/flap-deg");
|
|
if (alt == nil or alt.getValue() == nil) {
|
|
skip = 1;
|
|
}
|
|
|
|
var objs = {};
|
|
|
|
var loop = func () {
|
|
|
|
if(alt.getValue() != 0) {
|
|
var objModel = objs["first"];
|
|
if (objModel == nil) {
|
|
# create model
|
|
#print("creating missile");
|
|
var n = props.globals.getNode("models", 1);
|
|
var i = 0;
|
|
for (i = 0; 1==1; i += 1) {
|
|
if (n.getChild("model", i, 0) == nil) {
|
|
break;
|
|
}
|
|
}
|
|
objModel = n.getChild("model", i, 1);
|
|
|
|
objModel.getNode("elevation",1).setDoubleValue(0);
|
|
objModel.getNode("latitude",1).setDoubleValue(0);
|
|
objModel.getNode("longitude",1).setDoubleValue(0);
|
|
objModel.getNode("elevation-ft-prop",1).setValue(objModel.getPath()~"/elevation");
|
|
objModel.getNode("latitude-deg-prop",1).setValue(objModel.getPath()~"/latitude");
|
|
objModel.getNode("longitude-deg-prop",1).setValue(objModel.getPath()~"/longitude");
|
|
objModel.getNode("heading-deg",1).setDoubleValue(0);
|
|
objModel.getNode("pitch-deg",1).setDoubleValue(0);
|
|
objModel.getNode("roll-deg",1).setDoubleValue(0);
|
|
objModel.getNode("path",1).setValue("Aircraft/JA37/Models/Armament/Weapons/MP_missile/mp_missile.xml");
|
|
|
|
var loadNode = objModel.getNode("load", 1);
|
|
loadNode.setBoolValue(1);
|
|
|
|
objs["first"] = objModel;
|
|
loadNode.remove();
|
|
}
|
|
}
|
|
var exist = 0;
|
|
if(alt.getValue() != 0) {
|
|
exist = 1;
|
|
|
|
var objModel = objs["first"];
|
|
if (objModel == nil) {
|
|
print("error: did not find mp missile.");
|
|
return;
|
|
}# else {
|
|
# print("found a missile!");
|
|
#}
|
|
objModel.getNode("latitude").setDoubleValue(lat.getValue());
|
|
objModel.getNode("longitude").setDoubleValue(lon.getValue());
|
|
objModel.getNode("elevation").setDoubleValue(alt.getValue()*M2FT);
|
|
|
|
}
|
|
if (exist == 0) {
|
|
# remove model
|
|
var objModel = objs["first"];
|
|
if (objModel != nil) {
|
|
objModel.remove();
|
|
delete(objs, "first");
|
|
}
|
|
}
|
|
|
|
if (self.getNode("valid") == 0 or self.getNode("valid") == nil) {
|
|
return;
|
|
}
|
|
settimer(loop, 0.05);
|
|
}
|
|
|
|
if (skip == 0) {
|
|
loop();
|
|
}
|
|
|
|
]]>
|
|
</load>
|
|
</nasal>
|
|
|
|
</PropertyList>
|