Der steht natürlich auch noch auf der Liste.. Aber erstmal gucken, ob ich es zum laufen bekomm.
Ifko's Modwerkstatt
-
Ifko[nator] -
29. Mai 2012 um 16:32 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Tolle Idee
so wie ich dich kenn schaffst das bestimmt
-
super tolle Idee das schaffst du bestimmt so wie man dich kennt
-
Habe schlechte Nachrichten, was das Script für die Schwader betrifft.. Leider kann ich das nicht umsetzten, geht wohl doch nicht so einfach, wie gedacht.. Nur damit ihr Bescheid wisst..
Edit:
Aber ich will euch mal das hier zeigen:
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.Ballensammelwagen lädt vollkommen automatisch ab. Er geht danach auch wieder automatisch in die Arbeitsposition. Das ganze ist zwar nicht vollkommen real, zumindest sah ich das noch nicht, aber es spart Sprit. Ballen muss man auch nimmer zusammen suchen und dadurch vergisst man keinen.. Wie oft lag bei mir beim Grubbern noch einer auf dem Feld.. Sollte das Feld zu uneben sein, kann es natürlich passieren, das der Stroß umfällt..
Das ganze ist wieder nur eine reine spielerei meinerseits..
MFG Ifko
-
Das ist ja geil da stehen dann auf dem Feld die Ballenstabel super Idee und Umsetzung
-
Man könnte noch ein "Der Gerät" bauen, welches hinter den Ballensammler kommt und diese Stapel dann gleich noch zudeckt.
Denn wer so Gespanne fährt hat bestimmt auch Probleme, das Stroh vorm nächsten Regen ins Trockene zu bringen, bei der Menge. -
Man könnte generell mal etwas zum Zudecken bauen
-
Müsste man sich nur noch einigen, wer "man" ist.
-
Schlage vor Ifko.
-
Modell einer Plane kann ich gerne beisteuern
-
Lustig. Und wie sollte man das umsetzten? Kenne keinen Weg, schließe mich also aus.
-
Die Konstruktion würde ich übernehmen.
Werkstoffauswahl ebenfalls.Nur die Montage muss weiß Gott wer machen.
-
- Offizieller Beitrag
Finde es klasse, das die Dauer vom Abladen des Ballenwagens genau synchron läuft mit dem Zeitpunkt wo der nächste Ballen fertig gepresst ist und aufgenommen werden muss. Echt Ifko-Qualitätsarbeit
-
Das hängt aber auch vom Strohschwad ab.. Bei Gerste, so wie im Vid, passt es genau.. Bei Weizen ist der Ballen etwas zu schnell fertig.. Roggen- und Haferstroh und andere Multifruit Strohsorten sind nochmal ein anderes Thema, da hier jeder Mapper eine andere Werte für 'windrowLiterPerSqm', (das ist der Wert für die Strohmenge da nun wirklich lieg), angeben könnte. Etwas schneller werde ich den Abladevorgang also noch machen. Das ist aber feinarbeit..
Zuerst will ich es noch schaffen, das die kleine Platte, die die Ballen stackt, nicht mehr runtergeht, wenn der Ballenwagen voll und das automatische Abladen aktiviert ist. Damit wäre ein reibungsloser Abladevorgang möglich. Nun ist es ja noch so, das die die kleine Platte sich zuerst wieder senkt und dann gleich wieder hebt, wenn der Ballenwagen voll ist. Das sieht man eigendlich sehr gut im Vid. Ist einfach unnötig, daher will ich das raus haben.. Zeit is Geld.
Und genau das hab ich eben geschafft! So langsam wirds mit den luas.. Feinschliff steht noch an.. Text 'Ballen entlanden' aus dem Hilfefenster entfernen, wenn das automatische Abladen aktiviert ist, da sich der Ballenwagen dann nur im vollen zustand abladen lässt. Das geschieht dann ja automatisch, und somit ist der überflüssing. Ist das automatische Abladen deaktiviert, dann wird der Text selbstverständlich wieder in der Hilfebox sein..
MFG Ifko
-
Definitiv 'ne geile Sache
-
Huhu @all,
ich habe hier ein Video, wo man eine etwas erweitete Version des 'automaticUnloadForBaleLoaders' Scriptes sieht. Man kann nun wählen, ob der volle oder halbvolle Ballensammelwagen automatisch entleert wird. Auch sieht man nun, das die kleine Platte, die die Ballen stackt, nicht mehr runtergeht, wenn der Ballenwagen das automatische Abladen aktiviert.
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.Diese Version ist aber auch schon wieder veraltet... Inzwischen hat man schon die Möglichkeit, selber einstellen zu können, bei wievielen Ballen der Ballensammelwagen automatisch ablädt. Kleine Vorschau:
Denke dazu mach ich auch noch ein Vid. Wenn es interessiert, hier mal die vorläufige Version des Scriptes: (Für den globalen Modus erstellt, ist also nicht für den 'händischen' einbau geeignet, da einem sonst alle Texte für das Hilfefenster fehlen)
AutomaticUnloadForBaleLoaders.lua
[lua]
--[[
AutomaticUnloadForBaleLoaders
Spezi damit die zwischen manuellen und automatischen Abladen eines Ballensammelnwagens, (gewählte Ballenanzahl, halbvoll oder voll), hin und her schalten kann.Author: Ifko[nator]
Datum: 27.03.2015Version: v1.0
History: v1.0 - initial implementation -- GLOBAL VERSION!
]]AutomaticUnloadForBaleLoaders = {};
function AutomaticUnloadForBaleLoaders.prerequisitesPresent(specializations)
return SpecializationUtil.hasSpecialization(BaleLoader, specializations);
end;function AutomaticUnloadForBaleLoaders:load(xmlFile)
BaleLoader.update = Utils.appendedFunction(BaleLoader.update, AutomaticUnloadForBaleLoaders.baleLoaderUpdate);
BaleLoader.getAllowsStartUnloading = Utils.overwrittenFunction(BaleLoader.getAllowsStartUnloading, AutomaticUnloadForBaleLoaders.getAllowsStartUnloading);
BaleLoader.draw = Utils.overwrittenFunction(BaleLoader.draw, AutomaticUnloadForBaleLoaders.baleLoaderDraw);
BaleLoader.moveToTransportPosition = Utils.overwrittenFunction(BaleLoader.moveToTransportPosition, AutomaticUnloadForBaleLoaders.moveToTransportPosition);
self.automaticUnloadBaleLoader = false;
self.unloadFullBaleLoader = true;
self.unloadHalfFullBaleLoader = false;
self.choiceNumBales = false;
self.chosenNumBales = 2;
end;function AutomaticUnloadForBaleLoaders:delete()
end;function AutomaticUnloadForBaleLoaders:mouseEvent(posX, posY, isDown, isUp, button)
end;function AutomaticUnloadForBaleLoaders:keyEvent(unicode, sym, modifier, isDown)
end;function AutomaticUnloadForBaleLoaders.moveToTransportPosition(self)
if not self.automaticUnloadBaleLoader then
self:playAnimation("baleGrabberTransportToWork", -1, Utils.clamp(self:getAnimationTime("baleGrabberTransportToWork"), 0, 1), true);
self:playAnimation("closeGrippers", 1, Utils.clamp(self:getAnimationTime("closeGrippers"), 0, 1), true);
if self.startBalePlace.count == 1 then
self:playAnimation("bale1ToOtherSide", 0.5, nil, true);
end;
end;
end;function AutomaticUnloadForBaleLoaders:baleLoaderUpdate(dt)
if self:getIsActive() then
if self:getIsActiveForInput()
and self.fillLevel < self.capacity
and self.grabberMoveState == nil
then
if InputBinding.hasEvent(InputBinding.TOGGLE_AUTOMAIC_UNLOAD_BALELOADER_BUTTON) then
self.automaticUnloadBaleLoader = not self.automaticUnloadBaleLoader;
end;
if InputBinding.hasEvent(InputBinding.TOGGLE_UNLOAD_HALF_FULL_BALELOADER_BUTTON) and self.automaticUnloadBaleLoader and not self.choiceNumBales then
if self.unloadFullBaleLoader then
if self.fillLevel <= (self.capacity / 2) then
self.unloadFullBaleLoader = false;
self.unloadHalfFullBaleLoader = true;
else
self.unloadFullBaleLoader = true;
self.unloadHalfFullBaleLoader = false;
end;
else
self.unloadFullBaleLoader = true;
self.unloadHalfFullBaleLoader = false;
end;
end;
if InputBinding.hasEvent(InputBinding.CHOICE_NUM_BALES) and self.automaticUnloadBaleLoader then
if self.choiceNumBales then
self.choiceNumBales = false;
self.unloadFullBaleLoader = true;
else
self.choiceNumBales = true;
if self.unloadFullBaleLoader then
self.unloadFullBaleLoader = false;
elseif self.unloadHalfFullBaleLoader then
self.unloadHalfFullBaleLoader = false;
end;
end;
end;
if self.choiceNumBales and self.automaticUnloadBaleLoader then
if InputBinding.hasEvent(InputBinding.SET_NUM_BALES) then
if self.chosenNumBales < self.capacity then
self.chosenNumBales = self.chosenNumBales + 1;
else
self.chosenNumBales = 2;
end;
end;
end;
end;
if self.automaticUnloadBaleLoader then
if not self.choiceNumBales then
if self.unloadFullBaleLoader then
if self.fillLevel == self.capacity then
--## baleloader is full - rotate platform to unload
g_client:getServerConnection():sendEvent(BaleLoaderStateEvent:new(self, BaleLoader.CHANGE_BUTTON_EMPTY));
end;
elseif self.unloadHalfFullBaleLoader then
if self.fillLevel >= (self.capacity / 2) then
--## baleloader is half full - rotate platform to unload
g_client:getServerConnection():sendEvent(BaleLoaderStateEvent:new(self, BaleLoader.CHANGE_BUTTON_EMPTY));
end;
end;
else
if self.fillLevel >= self.chosenNumBales then
--## baleloader has the number of bales, they are chosen, loaded - rotate platform to unload
g_client:getServerConnection():sendEvent(BaleLoaderStateEvent:new(self, BaleLoader.CHANGE_BUTTON_EMPTY));
end;
end;
if self.emptyState == BaleLoader.EMPTY_WAIT_TO_REDO then
--## platform is completely rotatet - drop bales
g_client:getServerConnection():sendEvent(BaleLoaderStateEvent:new(self, BaleLoader.CHANGE_DROP_BALES));
end;
if self.emptyState == BaleLoader.EMPTY_WAIT_TO_SINK then
--## bales are dropped - rotate platform back
g_client:getServerConnection():sendEvent(BaleLoaderStateEvent:new(self, BaleLoader.CHANGE_BUTTON_EMPTY));
end;
if self.emptyState == BaleLoader.EMPTY_NONE and not self.isInWorkPosition then
--## platform is rotatet back and grabber is not in work postion - move grabber to work position
g_client:getServerConnection():sendEvent(BaleLoaderStateEvent:new(self, BaleLoader.CHANGE_BUTTON_WORK_TRANSPORT));
end;
else
if self.fillLevel == self.capacity
and self.emptyState == BaleLoader.EMPTY_NONE
and self.grabberMoveState == nil
and self.rotatePlatformDirection == 0
and self.isInWorkPosition
then
--[[##
automatic unload is deactivated,
baleloader is full,
baleloader state is 'none',
grabber is not moving,
stackplatform is set down,
and grabber is in work position
-
move grabber to transport position
]]
g_client:getServerConnection():sendEvent(BaleLoaderStateEvent:new(self, BaleLoader.CHANGE_BUTTON_WORK_TRANSPORT));
end;
end;
end;
end;function AutomaticUnloadForBaleLoaders:baleLoaderDraw()
if self:getIsActiveForInput()
and self.fillLevel < self.capacity
and self.grabberMoveState == nil
then
if self.automaticUnloadBaleLoader then
g_currentMission:addHelpButtonText(BaleLoader.STOP_AUTOMATIC_UNLOAD, InputBinding.TOGGLE_AUTOMAIC_UNLOAD_BUTTON);
if not
((self.emptyState >= BaleLoader.EMPTY_TO_WORK
and self.emptyState <= BaleLoader.EMPTY_ROTATE2
) or self.emptyState == BaleLoader.EMPTY_SINK
) then
if not self.choiceNumBales then
g_currentMission:addHelpButtonText(BaleLoader.START_CHOICE_NUM_BALES, InputBinding.CHOICE_NUM_BALES);
if self.unloadFullBaleLoader then
if self.fillLevel < (self.capacity / 2) then
g_currentMission:addHelpButtonText(BaleLoader.UNLOAD_HALF_BALELOADER, InputBinding.TOGGLE_UNLOAD_HALF_FULL_BALELOADER_BUTTON);
end;
g_currentMission:addExtraPrintText(BaleLoader.FULL_UNLOAD_ACTIVATET);
elseif self.unloadHalfFullBaleLoader then
g_currentMission:addHelpButtonText(BaleLoader.UNLOAD_FULL_BALELOADER, InputBinding.TOGGLE_UNLOAD_HALF_FULL_BALELOADER_BUTTON);
g_currentMission:addExtraPrintText(BaleLoader.HALF_FULL_UNLOAD_ACTIVATET);
end;
else
g_currentMission:addHelpButtonText(BaleLoader.STOP_CHOICE_NUM_BALES, InputBinding.CHOICE_NUM_BALES);
g_currentMission:addHelpButtonText(BaleLoader.SET_NUM_BALES, InputBinding.SET_NUM_BALES);
g_currentMission:addExtraPrintText(string.format(BaleLoader.CHOSEN_NUM_BALES_DO_UNLOAD, self.chosenNumBales));
end;
end;
else
g_currentMission:addHelpButtonText(BaleLoader.START_AUTOMATIC_UNLOAD, InputBinding.TOGGLE_AUTOMAIC_UNLOAD_BUTTON);
end;
end;
if self.emptyState == BaleLoader.EMPTY_NONE then
if self.grabberMoveState == nil and not self.automaticUnloadBaleLoader then
if self.isInWorkPosition then
g_currentMission:addHelpButtonText(BaleLoader.BALELOADER_TRANSPORT, InputBinding.IMPLEMENT_EXTRA);
else
g_currentMission:addHelpButtonText(BaleLoader.BALELOADER_WORK, InputBinding.IMPLEMENT_EXTRA);
end;
end;
if BaleLoader.getAllowsStartUnloading(self) then
g_currentMission:addHelpButtonText(BaleLoader.BALELOADER_UNLOAD, InputBinding.IMPLEMENT_EXTRA3);
end;
else
if self.emptyState >= BaleLoader.EMPTY_TO_WORK and self.emptyState <= BaleLoader.EMPTY_ROTATE2 then
g_currentMission:addExtraPrintText(BaleLoader.BALELOADER_UP);
elseif self.emptyState == BaleLoader.EMPTY_CANCEL or self.emptyState == BaleLoader.EMPTY_SINK then
g_currentMission:addExtraPrintText(BaleLoader.BALELOADER_DOWN);
elseif self.emptyState == BaleLoader.EMPTY_WAIT_TO_DROP then
g_currentMission:addHelpButtonText(BaleLoader.BALELOADER_READY, InputBinding.IMPLEMENT_EXTRA3);
g_currentMission:addHelpButtonText(BaleLoader.BALELOADER_ABORT, InputBinding.IMPLEMENT_EXTRA2);
elseif self.emptyState == BaleLoader.EMPTY_WAIT_TO_SINK then
g_currentMission:addHelpButtonText(BaleLoader.BALELOADER_SINK, InputBinding.IMPLEMENT_EXTRA3);
elseif self.emptyState == BaleLoader.EMPTY_WAIT_TO_REDO then
g_currentMission:addHelpButtonText(BaleLoader.BALELOADER_UNLOAD, InputBinding.IMPLEMENT_EXTRA3);
end;
end;
end;function AutomaticUnloadForBaleLoaders.getAllowsStartUnloading(self)
if self.automaticUnloadBaleLoader then
if self.unloadFullBaleLoader then
return self.fillLevel == self.capacity and (self.rotatePlatformDirection == 0 or self.rotatePlatformDirection == 1) and self.grabberMoveState == nil;
elseif self.unloadHalfFullBaleLoader then
return self.fillLevel >= (self.capacity / 2) and (self.rotatePlatformDirection == 0 or self.rotatePlatformDirection == 1) and self.grabberMoveState == nil;
elseif self.choiceNumBales then
return self.fillLevel >= self.chosenNumBales and (self.rotatePlatformDirection == 0 or self.rotatePlatformDirection == 1) and self.grabberMoveState == nil;
end;
else
return self.fillLevel > 0 and self.rotatePlatformDirection == 0 and self.frontBalePusherDirection == 0 and not self.grabberIsMoving and self.grabberMoveState == nil and self.emptyState == BaleLoader.EMPTY_NONE;
end;
end;function AutomaticUnloadForBaleLoaders:update(dt)
end;function AutomaticUnloadForBaleLoaders:draw()
endfunction AutomaticUnloadForBaleLoaders:loadFromAttributesAndNodes(xmlFile, key, resetVehicles)
if not resetVehicles then
local automaticUnloadBaleLoader = Utils.getNoNil(getXMLBool(xmlFile, key .. "#automaticUnloadBaleLoader"), self.automaticUnloadBaleLoader);
local unloadFullBaleLoader = Utils.getNoNil(getXMLBool(xmlFile, key .. "#unloadFullBaleLoader"), self.unloadFullBaleLoader);
local unloadHalfFullBaleLoader = Utils.getNoNil(getXMLBool(xmlFile, key .. "#unloadHalfFullBaleLoader"), self.unloadHalfFullBaleLoader);
local choiceNumBales = Utils.getNoNil(getXMLBool(xmlFile, key .. "#choiceNumBales"), self.choiceNumBales);
local chosenNumBales = Utils.getNoNil(getXMLFloat(xmlFile, key .. "#chosenNumBales"), self.chosenNumBales);
self.automaticUnloadBaleLoader = automaticUnloadBaleLoader;
self.unloadFullBaleLoader = unloadFullBaleLoader;
self.unloadHalfFullBaleLoader = unloadHalfFullBaleLoader;
self.choiceNumBales = choiceNumBales;
self.chosenNumBales = chosenNumBales;
end;
return BaseMission.VEHICLE_LOAD_OK;
end;function AutomaticUnloadForBaleLoaders:getSaveAttributesAndNodes(nodeIdent)
local attributes =
'automaticUnloadBaleLoader="' .. tostring(self.automaticUnloadBaleLoader) ..
'" unloadFullBaleLoader="' .. tostring(self.unloadFullBaleLoader) ..
'" unloadHalfFullBaleLoader="' .. tostring(self.unloadHalfFullBaleLoader) ..
'" choiceNumBales="' .. tostring(self.choiceNumBales) ..
'" chosenNumBales="' .. tostring(self.chosenNumBales) ..
'"';
return attributes, nil;
end;
[/lua]MFG Ifko
-
Also wenn ich mir das Maschinen Setup anschaue denke ich du hast die Zielgruppe des Faulen LS Spielers perfekt getroffen, eig. fehlt nur noch das der Drescher direkt auch den
Hänger fürs Korn dabei hat xD dann brauch auch den Trecker nicht mehr benutzen um aufm Feld zum Drescher zu gurken -
Naja faulheit war ein Grund, der entscheidende war aber, das ich mich mehr mit dem Scripten beschäftigen will. Da testet man halt so einiges aus.
-
Wie ich das bei Marhu schon geschrieben hatte, es gibt so was in der Art mit dem automatischen sammeln und abladen der Ballen.
Ich habe endlich den Clip wiedergefunden, wenn ich Modelle für den LS basteln könnte würde ich Dir so nen Sammelanhänger machenExterner Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt. -
Saubere Arbeit Kevin
-