Super das klappt schonmal
Gibt es denn auch eine Möglichlkeit, wie ich abfragen kann welche Fruchtart sich in der workArea befindet?
Super das klappt schonmal
Gibt es denn auch eine Möglichlkeit, wie ich abfragen kann welche Fruchtart sich in der workArea befindet?
So um das ganze etwas realistischer zu machen, wollte ich abhängig davon, auf welche Frucht man Güllefährt, die Ausbringmenge anpassen. Dazu ist es zuerst natürlich einmal erforderlich, zu wissen, auf welcher Pflanze man sich gerade befindet.
Dazu hab ich hier im forum und auch in anderen Foren etwas rumgesucht.
Jetz hab ich folgenden Code verfasst:
[lua]
local sx,sy,sz = getWorldTranslation(self.workAreas[1].start);
local wx,wy,wz = getWorldTranslation(self.workAreas[1].width);
local hx,hy,hz = getWorldTranslation(self.workAreas[1].height);
self.fruit = Utils.getFruitArea(FruitUtil.FRUITTYPE_GRASS, sx, sz, wx, wz, hx, hz);
renderText(0.90, 0.65, 0.018, self.fruit);[/lua]
normalerweise müsste sich doch der Ausgabewert ändern wenn ich auf Gras fahre oder? Auf jeden Fall bekomm ich als Ausgabe immer "nil" egal wo ich fahre...
Haha
Ich wollte ja dass es in 0,2m Schritten geht aber halt langsamer. Wenn ich z.B. 0,001 schreiben würde, dann würde die Einstellung meiner Meinung nach einfach zuabgestuft erfolgen.
Ich hab das ganze jetzt umgangen, in dem ich eine Art Taktgeber eingebaut hab, das funktioniert wunderbar
[lua]self.stroke = self.stroke + 1;
if self.stroke > 10 then
self.stroke = 0;
end;
if self.stroke == 10 then
if increase == true then
setTranslation(self.workAreas[1].start, startx + 0.1, starty, startz);
setTranslation(self.workAreas[1].width, widthx - 0.1, widthy, widthz);
setTranslation(self.workAreas[1].height, heightx + 0.1, heighty, heightz);
end;
if decrease == true then
setTranslation(self.workAreas[1].start, startx - 0.1, starty, startz);
setTranslation(self.workAreas[1].width, widthx + 0.1, widthy, widthz);
setTranslation(self.workAreas[1].height, heightx - 0.1, heighty, heightz);
end;
end;[/lua]
So wird das ganze jetzt nur jeden jeden 11. Frame verschoben.
Vielen Dank nochmal für deine Hilfe. Bin schon ein ganzes Stück weitergekommen und kann bei meinem Fass jetzt in Game die Arbeitsbreite ändern. Jetzt muss ich noch ergänzen, dass das ganze nur zwischen 10 und 18 Metern geht, aber das sollte relativ leicht mit einer "ehile" Funktion implementierbar sein.
Bisher sieht das ganze so aus:
[lua] if self:getIsActiveForInput() then
if InputBinding.isPressed(InputBinding.TASTE_INCREASE) then
increase = true;
end;
if InputBinding.isPressed(InputBinding.TASTE_DECREASE) then
decrease = true;
end;
end;
if increase == true then
setTranslation(self.workAreas[1].start, startx - 0.1, starty, startz);
setTranslation(self.workAreas[1].width, widthx + 0.1, widthy, widthz);
setTranslation(self.workAreas[1].height, heightx - 0.1, heighty, heightz);
end;
if decrease == true then
setTranslation(self.workAreas[1].start, startx + 0.1, starty, startz);
setTranslation(self.workAreas[1].width, widthx - 0.1, widthy, widthz);
setTranslation(self.workAreas[1].height, heightx + 0.1, heighty, heightz);
end;[/lua]
Davor wird natürlich noch die aktuelle Position der workArea abgefragt. Wie gesagt, soweit funktionert es schonmal
Nun hätte ich noch eine Frage bzw. ein Problem:
Das ganze geht ziemlich schnell. Wenn ich die Taste zum erhöhen der Arbeitsbreite drücke geht es ziemlich schnell hoch, klar weil es ja in jedem Frame +0.1 geht. Kann ich irgendwie erreichen, dass das ganze nur jeden 10. Frame oder so aufgerufen wird?
Grüße
Vielen Dank Bluebaby210 für die großartige Antwort. Ich hab die Änderungen vorgenommen und die Reifenskalierung klappt jetzt. Jetzt werde ich mich mal an meine ursprüngliche Idee setzen und das Güllefass angreifen.
Ich Danke schonmal allen die mir geholfen haben
@Saroman hab ich geändert
Vielen Dank für die Antwort mit dem Hilfetext, schonb wieder was dazugelernt
Das mit den Rädern hab ich mir auch gedacht, also hab ich testweise den Index des Lenkrads eingefügt, das funktionierte aber auch nicht
Vielen Dank, ich hab dir die WorkAreaManipulation.lua angeschaut. Naja was soll ich sagen nen Teil kann ich nachvollziehen, einen anderen wieder nicht... so jetzt wollte ich erstmal ein einfaches Script schreiben, um überhaupt mal was in den LS15 zu bekommen. Dabei bin ich auf ein YouTube Tutorial gestoßen. Dieses ist für den LS11 gedacht und Skaliert die Räder.
Das ganze habe ich einmal in den sampleMod des LS15 eingebaut:
[expander]
self.wheelToScaleLeft = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.wheelScale.wheelToScaleLeft#index"));
[/expander]
Das ganze habe ich natürlich auch in die modDesc eingebaut:
[expander]
[/expander]
Und die entsprechenden Einträge in der Fahrzeug.xml sind auch vorhanden:
[expander]
<wheel rotSpeed="1" restLoad="1.3" repr="0>0" driveNode="0>0|0" radius="0.585" initialCompression="50" suspTravel="0.15" spring="25" damper="25" mass="0.099" hasTyreTracks="true" tyreTrackAtlasIndex="0" fenderNode="0>0|2" fenderRotMin="-29" />
<wheel rotSpeed="1" restLoad="1.3" repr="0>1" driveNode="0>1|0" radius="0.585" initialCompression="50" suspTravel="0.15" spring="25" damper="25" mass="0.099" hasTyreTracks="true" tyreTrackAtlasIndex="0" fenderNode="0>1|2" fenderRotMax="29" />
<wheel rotSpeed="0" restLoad="1.0" repr="0>2" radius="0.79" initialCompression="50" suspTravel="0.09" spring="35" damper="25" mass="0.16" hasTyreTracks="true" tyreTrackAtlasIndex="0"/>
<wheel rotSpeed="0" restLoad="1.0" repr="0>3" radius="0.79" initialCompression="50" suspTravel="0.09" spring="35" damper="25" mass="0.16" hasTyreTracks="true" tyreTrackAtlasIndex="0"/>
<dynamicallyLoadedPart node="0|1" linkNode="0>0|0" filename="$data/vehicles/wheels/trelleborg/trelleborgTM700_380_70R24.i3d" />
<dynamicallyLoadedPart node="0|0" linkNode="0>1|0" filename="$data/vehicles/wheels/trelleborg/trelleborgTM700_380_70R24.i3d" />
<dynamicallyLoadedPart node="0|1" linkNode="0>2" filename="$data/vehicles/wheels/trelleborg/trelleborgTM700_520_70R34.i3d" />
<dynamicallyLoadedPart node="0|0" linkNode="0>3" filename="$data/vehicles/wheels/trelleborg/trelleborgTM700_520_70R34.i3d" />
<differential torqueRatio="0.5" maxSpeedRatio="1.2" wheelIndex1="0" wheelIndex2="1" /> <!-- front left-right -->
<differential torqueRatio="0.5" maxSpeedRatio="1.3" wheelIndex1="2" wheelIndex2="3" /> <!-- back left-right -->
<differential torqueRatio="0.5" maxSpeedRatio="1.1" differentialIndex1="0" differentialIndex2="1" /> <!-- front-back -->
<motor torqueScale="0.598" minRpm="1000" maxRpm="2200" maxBackwardSpeed="15" brakeForce="2.5" lowBrakeForceScale="0.5" lowBrakeForceSpeedLimit="1" minForwardGearRatio="19.7" maxForwardGearRatio="130" minBackwardGearRatio="50" maxBackwardGearRatio="130">
<camera1 index="4|0" rotatable="true" rotateNode="4" limit="true" useWorldXZRotation="true" rotMinX="-1.4" rotMaxX="1" transMin="4" transMax="35" >
<camera2 index="5" rotatable="true" limit="true" rotMinX="-1.1" rotMaxX="0.4" transMin="0" transMax="0" useMirror="true" isInside="true" />
<attacherJoint index="0>11|0|0" rotationNode="0>11" minRot="21 0 0" minRot2="-14 0 0" maxRot="6 0 0" rotationNode2="0>11|0" maxRot2="-6 0 0" maxTransLimit="0 0.5 0" maxRotLimit="0 0 20" moveTime="2.5" ptoOutputNode="0>20" ptoFilename="$data/vehicles/shared/powerTakeoff.i3d">
<attacherJoint index="0>16|0|0" rotationNode="0>16" minRot="-50 0 0" minRot2="41 0 0" maxRot="-18 0 0" rotationNode2="16|0" maxRot2="18 0 0" maxTransLimit="0 0.4 0" maxRotLimit="0 0 20" moveTime="2.5" ptoOutputNode="0>22" ptoFilename="$data/vehicles/shared/powerTakeoff.i3d">
<topArm baseNode="0>18" filename="$data/vehicles/shared/upperLinkSmall.i3d" zScale="1" toggleVisibility="true" />
<attacherJoint index="0>19|0" jointType="trailer" transNode="0>19" transMinYHeight="0.62" transMaxYHeight="1.1" maxRotLimit="10 80 80" minRotRotationOffset="0" allowsJointLimitMovement="false" ptoOutputNode="0>20" ptoFilename="$data/vehicles/shared/powerTakeoff.i3d"/>
<attacherJoint index="0>21" jointType="trailerLow" maxRotLimit="10 50 50" minRotRotationOffset="0" allowsJointLimitMovement="false" ptoOutputNode="0>20" ptoFilename="$data/vehicles/shared/powerTakeoff.i3d"/>
<movingPart index="0>15" referencePoint="0>12|0|1" localReferencePoint="0>15|2" referenceFrame="0>" invertZ="true">
<movingPart index="0>33" referencePoint="0>12|0|2" referenceFrame="0>" invertZ="true" scaleZ="true" />
<movingPart index="0>0|1" referencePoint="0>1|1" referenceFrame="0>" scaleZ="true" playSound="false" isActiveDirty="true" />
<characterNode index="0>24|0" cameraMinDistance="2.0" filename="$dataS2/character/player/player.i3d" characterMesh="1" characterGloves="2" characterSkin="0" spineNode="0|0" leftArmIKChainId="leftArm" rightArmIKChainId="rightArm" spineRotation="180 0 104" >
<ikChain id="rightFoot" target="0>24|1" targetOffset="0 0.1 0" alignToTarget="true" isDirtyOnLoad="true" >
<ikChain id="leftFoot" target="0>24|2" targetOffset="0 0.1 0" alignToTarget="true" isDirtyOnLoad="true">
<ikChain id="rightArm" target="0>23|0|0" targetOffset="0.025 0.066 0" alignToTarget="true" isDirtyOnLoad="true">
<ikChain id="leftArm" target="0>23|0|1" targetOffset="-0.025 0.066 0" alignToTarget="true" isDirtyOnLoad="true">
<exhaustEffect index="0>26" filename="$data/vehicles/particleAnimations/shared/exhaust.i3d" minRpmColor="0.9 0.9 0.9 0.05" maxRpmColor="0.9 0.9 0.9 0.2" minRpmScale="0.05" maxRpmScale="0.4" forwardXRotations="-250 0 250" forwardZRotations="0 0 0" steerXRotations="0 0 0" steerZRotations="120 0 -50" />
<motorSound file="buehrer6135_idle.wav" pitchOffset="1" pitchScale="0.02" pitchMax="1.55" volume="1.25" radius="50" innerRadius="20" />
<motorSoundRun file="buehrer6135_run.wav" pitchOffset="0.45" pitchScale="0.026" pitchMax="1.35" volume="1.3" />
<motorSoundRun2 file="$data/vehicles/shared/transmissionOld.wav" pitchOffset="0.65" volume="0.2" pitchMax="1.4" volumeMax="0.45"/>
<driveGroundParticleSystem file="$data/vehicles/particleAnimations/shared/drivingParticleSystem.i3d" wheel="1" />
<driveGroundParticleSystem file="$data/vehicles/particleAnimations/shared/drivingParticleSystem.i3d" wheel="2" />
<driveGroundParticleSystem file="$data/vehicles/particleAnimations/shared/drivingParticleSystem.i3d" wheel="3" />
<driveGroundParticleSystem file="$data/vehicles/particleAnimations/shared/drivingParticleSystem.i3d" wheel="4" />
[/expander]
So nun hab ich wie ihr seht in der modDesc sogar noch einen Hilfetext hinterlegt. Wenn ich das Spiel und den Mod lade, passiert aber einfach gar nichts. Keine log Fehlermeldung... nichts... Ich kann den Mod zwar kaufen und Fahren, aber es ist weder der Hilfetext vorhanden, noch kann ich die Reifen skalieren...
Wenn ich das ganze Skript in den LS11 einbaue, funktionert es aber einwandfrei... also Schreibfehler kann ja keiner vorhanden sein. Ich weiß echt nicht mehr weiter...
Ich hoffe ihr könnt mir weiterhelfen... würde wirklich gern bisschen was übers Scripten lernen Vielleicht kann mir ja einer bisschen Nachhilfe geben. Villeicht findet sich ja auch jemand, der mir persönlich das Scripten etwas beibringen kann ich lerne eigentlich seher schnell und bringe mir auch sehr viel selber bei, aber beim Scripten tue ich mir grade noch sehr schwer.
Ich bedanke mich schonmal im Vorraus
Hi,
ich bin dabei das Standard Güllefass (Zunhammer 18.500) aus dem Landwirtschaftssimulator etwas zu bearbeiten um es etwas realistischer und detaillierter zu machen.
Die Eigenschaften in der Fahrzeug.xml und der modDesk habe ich bereits durchgekaut. Nun wollte ich ein kleines Skript schreiben, dass es einem ermöglicht die Arbeitsbreite des Fasses inGame zu variieren.
Zu diesem Zweck habe ich folgendes aufgesetzt:
workingWidth.lua
[expander]
self.workAreaStart = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.workingArea.startIndex#index"));
Das ganze habe ich natürlich in der Fahrzeug.xml hinterlegt
[/expander]
und zu guter letzt auch in die modDesc eingetragen auch mit Hilfetext:
Kann mir bitte jemand weiterhelfen? Ich sitze hier schon Stunden und komm einfach nicht weiter. Eigentlich müsste das Script doch hinhauen oder? Also der Index Wert passt mit dem in der i3d überein. Hab ich irgendetwas übersehen oder vergessen? Ich finde einfach keinen Fehler.
Ich wäre wirklich froh wenn mir jemand weiterhelfen könnte. Ich versuche gerade mir das Skripten etwas beizubringen.
Vielen Dank schonmal