hallo,
ich habe gerade versuch den claas xerion 3800 umzubauen. jedoch funtioniert der hundegang und die invertierung der lenkrichtung nicht mehr.
soweit ich das sehe werden die lenkarten hundegang, font-, heck- und allradlenkung + invertierung aller arten durch dieses script gesteuert:
[expander][lua]Roue = {};
function Roue.prerequisitesPresent(specializations)
return true;
end;
function Roue:load(xmlFile)
self.changeSteer = SpecializationUtil.callSpecializationsFunction("changeSteer");
self.changeWheel =0;
end;
function Roue:loadFromAttributesAndNodes(xmlFile, key, resetVehicles)
if not resetVehicles then
self.changeWheel = Utils.getNoNil(getXMLFloat(xmlFile, key.."#steermode"),0);
end;
return BaseMission.VEHICLE_LOAD_OK;
end;
function Roue:getSaveAttributesAndNodes(nodeIdent)
local attributes = ' steermode="'..tonumber(self.changeWheel)..'"';
return attributes, nil;
end;
function Roue:mouseEvent(posX, posY, isDown, isUp, button)
end;
function Roue:keyEvent(unicode, sym, modifier, isDown)
end;
-- hier werden die lenkarten defieniert
function Roue:update(dt)
if InputBinding.hasEvent(InputBinding.cw_for_xerion) and self:getIsActiveForInput() then
self.changeWheel = self.changeWheel +1 ;
end;
if self.invertedDrivingDirection == false then
if self.changeWheel == 0 then
self:changeSteer(18, -18, 35, 18, -18, 35, 18, -18, -35, 18, -18, -35) --allradlenkung
elseif self.changeWheel == 1 then
self:changeSteer(18, -18, 35, 18, -18, 35, 0, 0, 0, 0, 0, 0) --frontlenkung
elseif self.changeWheel == 2 then
self:changeSteer(0, 0, 0, 0, 0, 0, 18, -18, -35, 18, -18, -35 ) --hinterradlenkung
elseif self.changeWheel == 3 then
self:changeSteer(18, -18, 35, 18, -18, 35, 18, -18, 35, 18, -18, 35) --hundegang
else
self.changeWheel = 0;
end;
else
if self.changeWheel == 0 then
self:changeSteer(18, -18, -35, 18, -18, -35, 18, -18, 35, 18, -18, 35) --allradlenkung invertiert
elseif self.changeWheel == 1 then
self:changeSteer(0, 0, 0, 0, 0, 0, 18, -18, 35, 18, -18, 35) --frontlenkung invertiert
elseif self.changeWheel == 2 then
self:changeSteer(18, -18, -35, 18, -18, -35, 0, 0, 0, 0, 0, 0) --hinterradlenkung invertiert
elseif self.changeWheel == 3 then
self:changeSteer(18, -18, 35, 18, -18, 35, 18, -18, 35, 18, -18, 35) --hundegang invertiert
else
self.changeWheel = 0;
end;
end;
end;
function Roue:draw()
if self.changeWheel == 0 then
g_currentMission:addHelpButtonText(g_i18n:getText("cw_for_xerion1"), InputBinding.cw_for_xerion);
elseif self.changeWheel == 1 then
g_currentMission:addHelpButtonText(g_i18n:getText("cw_for_xerion2"), InputBinding.cw_for_xerion);
elseif self.changeWheel == 2 then
g_currentMission:addHelpButtonText(g_i18n:getText("cw_for_xerion3"), InputBinding.cw_for_xerion);
elseif self.changeWheel == 3 then
g_currentMission:addHelpButtonText(g_i18n:getText("cw_for_xerion4"), InputBinding.cw_for_xerion);
else
g_currentMission:addHelpButtonText(g_i18n:getText("cw_for_xerion"), InputBinding.cw_for_xerion);
end;
end;
function Roue:changeSteer(wheel1min,wheel1max, wheel1speed, wheel2min, wheel2max,wheel2speed, wheel3min, wheel3max,wheel3speed, wheel4min, wheel4max, wheel4speed)
self.wheels[1].rotMax = Utils.degToRad(wheel1min);
self.wheels[2].rotMax = Utils.degToRad(wheel2min);
self.wheels[1].rotMin = Utils.degToRad(wheel1max);
self.wheels[2].rotMin = Utils.degToRad(wheel2max);
self.wheels[3].rotMax = Utils.degToRad(wheel3min);
self.wheels[4].rotMax = Utils.degToRad(wheel4min);
self.wheels[3].rotMin = Utils.degToRad(wheel3max);
self.wheels[4].rotMin = Utils.degToRad(wheel4max);
self.wheels[1].rotSpeed = Utils.degToRad(wheel1speed);
self.wheels[2].rotSpeed = Utils.degToRad(wheel2speed);
self.wheels[3].rotSpeed = Utils.degToRad(wheel3speed);
self.wheels[4].rotSpeed = Utils.degToRad(wheel4speed);
end;
function Roue:delete()
end;[/lua][/expander]
soweit ich das sehe und gemerkt habe funktioniert immer etwas nicht, wenn sich was bei rotSpeed ändern soll. weiß vlt jemand was ich ändern muss?
ich hab auch schon die reihenfolge der spcializations zu ändern aber ohne erfolg.