Hi,
Also wenn du mal in die Cutter vom Deutz guckst, da hast du z.B die fruitExtraObjects Einträge, dann kannst du mit der Skript Docu und der Cutter.lua sehen wie diese ausgelesen werden:
http://www.ls-mods.de/scriptDo…es/specializations/Cutter Ab Zeile 95.
In deinem Beispiel könnte man das fast 1:1 übernehmen, wenn du dazu gleich noch das Chopper entfernst und es direkt in die fruitType Zeile schreibst:
<chopper fruitType="wheat" index="66|0" index2="66|0|0"/>
<chopper fruitType="barley" index="66|0" index2="66|0|0"/>
<chopper fruitType="rape" index="66|1" index2="66|1|0"/>
</strawAndPipeAnimations>
Dann würde das auslesen in der lua so aussehen:
[lua] self.strawAndPipeAnimations = {};
local i = 0;
while true do
local key = string.format("vehicle.strawAndPipeAnimations.chopper(%d)", i);
local t = getXMLString(xmlFile, key.. "#fruitType");
local index = getXMLString(xmlFile, key.. "#index");
local index2 = getXMLString(xmlFile, key.. "#index2");
if t==nil or index==nil or index2==nil then
break;
end;
local node = Utils.indexToObject(self.components, index);
local node2 = Utils.indexToObject(self.components, index2);
if node ~= nil then
--if self.currentExtraObject == nil then
--self.currentExtraObject = node;
--setVisibility(node, true);
--else
--setVisibility(node, false);
--end;
--self.strawAndPipeAnimations[t] = node;
end;
if node2 ~= nil then
--if self.currentExtraObject == nil then
--self.currentExtraObject = node2;
--setVisibility(node2, true);
--else
--setVisibility(node2, false);
--end;
--self.strawAndPipeAnimations[t] = node2;
end;
i = i +1;
end;[/lua]
Ich habe hie gleich einen Teil ausgeklammert dieser ist in der orginalen lua dazu da um die extrsFruitObjects zu Upadaten, siehe dazu in der cutter.lua in Zeile 462.
Bzw im updateTick() in Zeile 337,
dort wird der upateExtraObjects() aufgerufen:
[lua] if self.currentInputFruitType ~= oldInputFruitType then
Cutter.updateExtraObjects(self);
end;[/lua]
Eventuell kannst du das gleich für dein Skript nutzen.
Wenn du es über eine extra Fuction regelst, dann musst du diese auch im load() erst registrieren:
[lua] self.updateStrawAndPipeAnimations = SpecializationUtil.callSpecializationsFunction("updateStrawAndPipeAnimations");
[/lua]
die Fucction sieht dann so aus:
[lua]function DeinName.updateStrawAndPipeAnimations(self)
end;
[/lua]
Hoffe das hat dir etwas geholfen.
EDIT: Achtung in Zeile 7 meines Codes, ist am Ende ein ; hinter "index2" was da nicht hingehört, in meinem kopierten Code ist es auch nicht zu sehen, es taucht nur auf wenn ich die Antwort absende... keine Ahnung wer das da immer hinsetzt...