Moin MW,
Ich bin grade bei einer Rundballenpresse über das Autobaler Script gestolpert, aber irgendwie scheint das nicht zu funktionieren, es macht zwar keine Log Fehler aber die Funktion ist auch nicht da.
Wenn sich hier jemand ein bisschen mit Scripten auskennt, könnte man ja mal versuchen das Teil zum laufen zu kriegen.
Kurze Beschreibung:
Das Script soll dafür sorgen, dass der Schlepper beim pressen mit einer Rundballenpresse gestoppt und der Ballen automatisch ausgeworfen wird, d.h. man hat eine Rundballenpresse mit Autobaler Script, stellt z.B. Tempomat Stufe 1 ein und wenn die Presse voll ist, stoppt das Gespann, der Ballen wird ausgeworfen und fährt dann weiter.
autobaler = {};
function autobaler.prerequisitesPresent(specializations)
	print(string.format("%s", "Script Edit by sKyDaNcEr"));
    return true;
end;
function autobaler:load(xmlFile)
	self.automatik = false;
	allowedToDrive = true;
end;
function autobaler:delete()
end;
function autobaler:readStream(streamId, connection)
	self.automatik = streamReadBool(streamId);	
end;
function autobaler:writeStream(streamId, connection)
	streamWriteBool(streamId, self.automatik);
end;
function autobaler:mouseEvent(posX, posY, isDown, isUp, button)
end;
function autobaler:keyEvent(unicode, sym, modifier, isDown)
end;
function autobaler:update(dt)
	if self:getIsActiveForInput() and InputBinding.hasEvent(InputBinding.IMPLEMENT_EXTRA3) then
		self.automatik = not self.automatik;
		autobalerEvent.sendEvent(self, self.automatik)
	end;
	if self.automatik then
		if self.baleUnloadAnimationName ~= nil then
			if self.fillLevel == self.capacity and self.balerUnloadingState == Baler.UNLOADING_CLOSED and self:isUnloadingAllowed() then
				allowedToDrive = false;
				self:setIsTurnedOn(false, false);
				if table.getn(self.bales) > 0 then
					self:setIsUnloadingBale(true,false)
				end
			elseif self.balerUnloadingState ~= Baler.UNLOADING_CLOSED then
				allowedToDrive = false;
				if self.balerUnloadingState == Baler.UNLOADING_OPEN then
					self:setIsUnloadingBale(false)
				end
			elseif self.fillLevel >= 0 and not self.isTurnedOn and self.balerUnloadingState == Baler.UNLOADING_CLOSED then
				self:setIsTurnedOn(true, false);
				allowedToDrive = true;
			end
		end;
		if self.attacherVehicle ~= nil then
			if allowedToDrive == true then 
				if self.isTurnedOn and self.fillLevel > (self.capacity * 0.94) and self.fillLevel < self.capacity then
					if self.attacherVehicle.motor.speedLevel ~= 0 then
						self.attacherVehicle.motor.maxRpm[self.attacherVehicle.motor.speedLevel] =  self.maxrpm2backup/2;
					end;
				else
					if self.attacherVehicle.motor.speedLevel ~= 0 then
						self.attacherVehicle.motor.maxRpm[self.attacherVehicle.motor.speedLevel] =  self.maxrpm2backup;
					end;
				end;
			else
				if self.attacherVehicle.motor.speedLevel ~= 0 then
					self.attacherVehicle.motor.maxRpm[self.attacherVehicle.motor.speedLevel] = 0;
				end;
			end;
		end;
	end;
end;
function autobaler:updateTick(dt)
end;
function autobaler:draw()	
	if self.automatik then
		g_currentMission:addHelpButtonText("Automatic off",InputBinding.IMPLEMENT_EXTRA3);
	else
		g_currentMission:addHelpButtonText("Automatic on",InputBinding.IMPLEMENT_EXTRA3);
	end;
end;
function autobaler:onAttach(attacherVehicle)
	self.maxrpm2backup = self.attacherVehicle.motor.maxRpm[2];
end;
function autobaler:onDetach()
end;
------------------------------------------- event -------------------------------------------
autobalerEvent = {};
autobalerEvent_mt = Class(autobalerEvent, Event);
InitEventClass(autobalerEvent, "autobalerEvent");
function autobalerEvent:emptyNew()
    local self = Event:new(autobalerEvent_mt);
    self.className="autobalerEvent";
    return self;
end;
function autobalerEvent:new(object, data)
    local self = autobalerEvent:emptyNew()
    self.object = object;
	self.data = data;
    return self;
end;
function autobalerEvent:readStream(streamId, connection)
    local id = streamReadInt32(streamId);
    self.object = networkGetObject(id);
	self.data = streamReadBool(streamId);
	self.object.automatik = self.data;
	if not connection:getIsServer() then
        g_server:broadcastEvent(autobalerEvent:new(self.object, self.data), nil, connection, self.object);
    end;
end;
function autobalerEvent:writeStream(streamId, connection)
    streamWriteInt32(streamId, networkGetObjectId(self.object));
	streamWriteBool(streamId, self.data);
end;
function autobalerEvent.sendEvent(vehicle, data)
	if g_server ~= nil then
		g_server:broadcastEvent(autobalerEvent:new(vehicle, data), nil, nil, vehicle);
	else
		g_client:getServerConnection():sendEvent(autobalerEvent:new(vehicle, data));
	end;
end;Ich möchte hier nochmal ausdrücklich erwähnen, dass das Script nicht von mir sondern (wies auch drinsteht von skydancer) ist!
Wie gesagt, wäre ja schön, wenn man das zum laufen kriegen könnte, da es IRL auch Pressen gibt die sowas können.
Schönen 2. Advent euch.







 Er prügelt die Presse mit 25km/h übers Feld, auch wenn ich auf 10% runtergehe.
  Er prügelt die Presse mit 25km/h übers Feld, auch wenn ich auf 10% runtergehe.