Schau ich mir gerne an, danke für den Tipp.
Bin gesundheitlich aktuell nicht auf der Höhe, deswegen antworte ich erst so spät.
Sorry dafür!
MfG
webby
Schau ich mir gerne an, danke für den Tipp.
Bin gesundheitlich aktuell nicht auf der Höhe, deswegen antworte ich erst so spät.
Sorry dafür!
MfG
webby
Hi,
danke für den Tipp.
Ich hab mir das Ganze mal genauer angeschaut aber wenn ich ehrlich bin, finde ich da nichts was den Trailer eine Handbremse verpassen könnte.
MfG
Webby
Hi,
ich zermartere mir seit Tagen den Kopf, wie ich einen Trailer bremsen kann.
Damit meine ich NICHT die Brakeforce sondern ich brauche für ein weiteres Fahrzeug die Möglichkeit einen Anhänger per Tastendruck so zu bremsen, das sich die Räder nicht mehr bewegen und der Anhänger natürlich auch nicht.
Also eine Art Feststellbremse, wenn man so möchte.
Ich habe mal einen Blick in die handbrake.lua geworfen aber damit lässt sich kein Trailer bremsen.
Auch das astronomische hochdrehen des Brakeforce Wertes bringt leider nichts.
Fällt euch da ein Ansatz ein?
MfG
Webby
Funktioniert wunderbar, vielen Dank!
MfG
Webby
Hi,
ich suche für einige Projekte ein Script ähnlich wie diesem hier:
Ventelator.lua
[expander]
[lua]
ventelator = {};
function ventelator.prerequisitesPresent(specializations)
return SpecializationUtil.hasSpecialization(Motorized, specializations);
end;
function ventelator:load(xmlFile)
self.ventelator1 = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.ventelator1#index"));
end;
function ventelator:delete()
end;
function ventelator:mouseEvent(posX, posY, isDown, isUp, button)
end;
function ventelator:keyEvent(unicode, sym, modifier, isDown)
end;
function ventelator:update(dt)
if self.isMotorStarted then
rotate(self.ventelator1, dt*0.03,0, 0, 0 );
end;
end;
function ventelator:draw()
end;
[/lua]
[/expander]
In meinem Fall hätte ich das Ganze aber gerne so, das sich das (oder die!) Objekt(e) drehen, wenn der Trailer, in dem dieses Script verbaut ist, angehängt ist.
Richtig genial wäre es dann noch, wenn das Zugfahrzeug auch noch eingeschaltet sein muss aber darauf könnte ich zur Not auch verzichten wenn es zu viel Arbeit machen würde.
Ich hab es natürlich auch schon selbst versucht...
[lua]
function rotateOBJ:update(dt)
if self.isAttached then
rotate(self.rOBJ, 0 ,0, dt*0.03, 0 );
end;
end;
[/lua]
und mit...
[lua]
function rotateOBJ:onAttach()
rotate(self.rOBJ, 0 ,0, dt*0.03, 0 );
end;
[/lua]
aber das funktioniert alles leider nicht
Wenn da also jemand von euch einen Tipp oder gar ein Script hätte...na ihr wisst schon
Danke!
Webby
Hi,
dichti
Also durch die Scripts von Blacky steige ich mal gar nicht durch...
Der Logeintrag oben war überings Falsch.
Beim Einschalten des Verbrauchs ist noch alles gut, schalte ich es wieder ab, ist der Tank sofort komplett leer und es kommt diese Meldung in der Log:
ZitatC:/Users/Chris/Documents/My Games/FarmingSimulator2015/mods//ScriptTestMod/deutzAgroStar661.i3d (82.00 ms)
Error: Running LUA method 'update'.
C:/Users/Chris/Documents/My Games/FarmingSimulator2015/mods//ScriptTestMod/Scripts/fuelConsum.lua:51: attempt to call method 'fuelConsumState' (a boolean value)
Versteh ich nur nicht, fuelConsumState ist ein boolscher Wert und das muss er ja auch sein
MfG
Webby
Werde ich direkt mal versuchen, danke
Überings, viel Glück beim Contest!
Edit:
Hmm funktioniert leider nicht
ZitatC:/Users/Chris/Documents/My Games/FarmingSimulator2015/mods//ScriptTestMod/deutzAgroStar661.i3d (78.25 ms)
Error: Running LUA method 'update'.
D:/code/lsim2015/build/finalbin/dataS/scripts/vehicles/VehicleMotor.lua(93) : attempt to perform arithmetic on local 'torque' (a nil value)
Direkt nach betreten des Fahrzeugs.
So sieht das Script aktuell aus:
[expander]
[lua]
fuelConsum = {};
function fuelConsum.prerequisitesPresent(specializations)
return SpecializationUtil.hasSpecialization(Motorized, specializations);
end;
function fuelConsum:load(xmlFile)
self.fuelConsumState = SpecializationUtil.callSpecializationsFunction("fuelConsumState");
self.orgFuelUsage = getXMLFloat(xmlFile, "vehicle.fuelUsage");
self.isSelectable = true;
self.fuelConsumState = false;
end;
function fuelConsum:delete()
end;
function fuelConsum:mouseEvent(posX, posY, isDown, isUp, button)
end;
function fuelConsum:keyEvent(unicode, sym, modifier, isDown)
end;
function fuelConsum:readStream(streamId, connection)
self.fuelConsumState = streamReadBool(streamId);
self:fuelConsumState(self.fuelConsumState, true);
end;
function fuelConsum:writeStream(streamId, connection)
streamWriteBool(streamId, self.fuelConsumState);
end;
function fuelConsum:update(dt)
if self:getIsActiveForInput() then
if InputBinding.hasEvent(InputBinding.FUELCONSUM) then
self.fuelConsumState = not self.fuelConsumState;
self:fuelConsumState(self.fuelConsumState);
end;
end;
if self.fuelConsumState then
if self.motor.lastMotorRpm > 1100 then
local kmhMath = math.max(1, (self.lastSpeed*self.speedDisplayScale*3600)/3);
local fuelUsed = 0.10*kmhMath; -- 0.0002
-- self.fuelUsage = self.fuelUsage + fuelUsed;
self.fuelUsage = self.orgFuelUsage + fuelUsed;
end;
elseif not self.fuelConsumState then
self.fuelUsage = self.orgFuelUsage / (60*60*1000);
end;
end;
function fuelConsum:fuelConsumState(fuelConsumState, noEventSend)
if not noEventSend then
fuelConsumEvent.sendEvent(self, fuelConsumState, noEventSend)
end;
end;
function fuelConsum:draw()
if self.fuelConsumState then
g_currentMission:addHelpButtonText(g_i18n:getText("FUELCOFF"), InputBinding.FUELCONSUM);
else
g_currentMission:addHelpButtonText(g_i18n:getText("FUELCON"), InputBinding.FUELCONSUM);
end;
end;
function fuelConsum:loadFromAttributesAndNodes(xmlFile, key, resetVehicles)
local fuelConsumState = getXMLBool(xmlFile, key.."#fuelConsumState");
if fuelConsumState ~= nil then
self.fuelConsumState = fuelConsumState;
end;
return BaseMission.VEHICLE_LOAD_OK;
end;
function fuelConsum:getSaveAttributesAndNodes(nodeIdent)
local attributes = ""
if self.fuelConsumState ~= nil then
attributes = ' fuelConsumState="'.. tostring(self.fuelConsumState) ..'"';
end;
return attributes, nil;
end;
function fuelConsum:onLeave()
end;
--
-- iNet Stuff
--
fuelConsumEvent = {};
fuelConsumEvent_mt = Class(fuelConsumEvent, Event);
InitEventClass(fuelConsumEvent, "fuelConsumEvent");
function fuelConsumEvent:emptyNew()
local self = Event:new(fuelConsumEvent_mt);
self.className = "fuelConsumEvent";
return self;
end;
function fuelConsumEvent:new(object, state)
local self = fuelConsumEvent:emptyNew();
self.object = object;
self.fuelConsumState = state;
return self;
end;
function fuelConsumEvent:writeStream(streamId, connection)
streamWriteInt32(streamId, networkGetObjectId(self.object));
streamWriteBool(streamId, self.fuelConsumState);
end;
function fuelConsumEvent:readStream(streamId, connection)
self.object = networkGetObject(streamReadInt32(streamId));
self.fuelConsumState = streamReadBool(streamId);
self:run(connection);
end;
function fuelConsumEvent:run(connection)
self.object:fuelConsumState(self.fuelConsumState, true);
if not connection:getIsServer() then
g_server:broadcastEvent(fuelConsumEvent:new(self.object, self.fuelConsumState), nil, connection, self.object);
end;
end;
function fuelConsumEvent.sendEvent(object, state, noEventSend)
if noEventSend == nil or noEventSend == false then
if g_server ~= nil then
g_server:broadcastEvent(fuelConsumEvent:new(object, fuelConsumState), nil, nil, object);
else
g_client:getServerConnection():sendEvent(fuelConsumEvent:new(object, fuelConsumState));
end;
end;
end;
[/lua]
[/expander]
Hmm wenn ich es aus dem State raus nehme, kann ich es doch nicht mehr schalten über Taste, oder?
Jo klar, ich hänge es mal an.
Super, danke für die Infos
Hi,
gibt es in dem Script eine Möglichkeit, die Geschwindigkeit der Befüllung zu verlangsamen, so das ein Tankvorgang länger dauert?
GasStationTrigger.lua aus der Scriptdoku
Dann hätte ich noch gern gewusst, ob man das Icon mit der Zapfpistole ändern kann.
Ich brauche das Ganze für eine Art Ladestation für Elektrofahrzeuge.
Danke schon mal
MfG
Webby
self.fuelUsage = self.orgFuelUsage + fuelUsed;
Weil das nach Ausschalten des Extraverbrauchs dafür sorgt, das der Tank nach 1 Sekunde komplett leer ist
Hi,
ich bastel an einem Script bei dem auf Tastendruck der Spritverbrauch erhöht werden soll.
Soweit funktioniert das auch aber es gibt ein kleines Problem.
Ich hole mir mit der load Funktion, den Verbrauch aus der fahrzeug.xml:
[lua]self.orgFuelUsage = getXMLFloat(xmlFile, "vehicle.fuelUsage");[/lua]
Im event wird das Ganze dann gesetzt:
[lua]
local kmhMath = math.max(1, (self.lastSpeed*self.speedDisplayScale*3600)/3);
local fuelUsed = 0.10*kmhMath;
self.fuelUsage = self.fuelUsage + fuelUsed;
[/lua]
Soweit funktioniert das auch problemlos aber...
Der Verbrauch ist im Stand genauso hoch wie bei Vollgas
Ich suche jetzt nach einer Möglichkeit, den Verbrauch Drehzahl oder Geschwindigkeitsabhängig zu machen.
Hab es so versucht:
[lua]
if self.motor.lastMotorRpm > 1100 then
local kmhMath = math.max(1, (self.lastSpeed*self.speedDisplayScale*3600)/3);
local fuelUsed = 0.10*kmhMath;
self.fuelUsage = self.fuelUsage + fuelUsed;
end;
[/lua]
Aber leider passiert da nichts, Verbrauch bleibt auf Standard
Ich habe bewusst einen hohen Verbrauchsfaktor gewählt, damit man die Veränderung auch sieht.
Hat jemand ne Idee, wie ich das abfragen kann?
Super wäre, wenn der Verbrauch dynamisch wäre.
Also langsame Fahrt -> wenig Verbrauch, volle fahrt -> viel Verbrauch.
MfG
Webby
Hallo
Ich möchte mir die woodHarvester.lua und washable.lua angucken und ggf. verändern. Wo sind die beiden gespeichert?
...in der dataS.gar Datei in deinem Spielverzeichnis, an den Inhalt der Datei kommst du aber nicht so ohne weiteres dran.
Also auf die Scriptdoku warten und hoffen das die Scripts mit dabei sind
lg
Webby
Hi,
ich hatte eigentlich vor, mir einen Anhänger zu konvertieren aber dabei bin ich auf ein großes Problem gestoßen, das neue Fruchtplanensystem.
Zuerst habe ich mir mal den Krampe Tandem im GE angeschaut und war verwundert, das es nur noch eine einzige Fruchtplane (fillVolume) gibt.
Ich denk:"Ok, dann haben die die Texturen über die Fahrzeug.xml zugewiesen..." PUSTEKUCHEN!
Es gibt in der Fahrzeug.xml keinen Verweis auf die Fruchttexturen. Auch in den Attributes / User Attributes ist kein Verweis auf einen Shader oder ein Script vorhanden.
Nächster Versuch, die Plane als I3D exportiert und dann mal mit dem NotePad++ geöffnet, auch hier keinerlei Verweise....
Also wenn jemand eine Idee hat, wie das Ganze funktioniert, so möge er/sie mir das doch mal bitte erklären, ich steige da nicht hinter.
Achja ich besitze überings auch die Collectors Edition des Spiels. Weder in den Video Tuts noch in dem Dummie Buch steht etwas zu den Fruchtplanen!
Danks schon mal im Vorraus...
Webby
EDIT: Hat sich erledigt, die Jungs vom FSM-Team haben es schon hin bekommen und mir geholfen. Sauarbeit aber es geht!
Joa zur Not geht das natürlich auch, danke für den Tipp
Hi,
ich habe hier einen Tankanhänger den ich so umgebaut hab, das der 4 FillTypes laden kann.
Funktioniert auch super (außer das ich 4 mal "Sie müssen das Gerät erst befüllen" im Info Fenster stehen habe aber damit kann ich erstmal leben.
Ich suche jetzt ein Script bei dem eine Plane mit einem Fruchtlogo sichtbar geschaltet wird wenn man den Anhänger beläd.
Beispiel:
Tank leer = alle Planen unsichtbar
Diesel geladen = Plane mit Diesellogo sichtbar
Milch geladen = Plane mit Milchlogo sichtbar
u.s.w
Ich weiß es gab mal ein Container Pack (HKL?) da war so ein Script mit drin aber ich finde das nicht wieder
Meine bescheidenen LUA Kenntnisse reichen leider nicht aus um das "mal ebend" selbst zu schreiben.
Wenn sich also zufällig jemand an die Mod erinnert oder vielleicht jemand so ein Script 'auf Lager' hätte, würde ich mich freuen es zu bekommen
Lg
Webby
Hi,
Zitatmein gott leute schaut mal gescheit hin ey
Kein Grund sich gleich aufzuregen!
Zitates gibt einen thread der bereits forstmod heist in dem kleine fixes schon gesagt wurden dazu gehört dieses problem ...
Ich gehe davon aus, das du den Beitrag "Forstmod Beta Fixes" meinst. Diesen habe ich natürlich vorher durchgeschaut. JA die ganzen ~1300 Beiträge und außer einer Erwähnung im ToDo Bereich habe ich keinen Hinweis auf einen Bugfix für den PalettenSpawn finden können!
Zitat...also nicht faul sein und alles mal durch lesen anstatt jede einzelne info auf nem silbernem tablet gebracht zu bekommen
Tja was soll ich sagen, im Endefekt steht ein paar Zeilen vorher schon drin was ich dazu sagen würde.
Nur eines noch, Wenn ich solche Antworten lese könnt ich brechen. Ich denke deine Antwort geht arg am Ziel des Forums vorbei und hilft keinem der ein Problem hat.
Ein einfacher Hinweis auf den anderen Beitrag oder die SuFu hätte voll ausgereicht.
Trotzdem danke (für nichts!).
lg
Webby
Hi,
erst einmal Danke für den Mod und das SDK.
Bei mir ist das gleiche Problem mit dem PaletteSpawnTrigger wie bei Torrild.
Neues SaveGame -> gespeichert -> Spielt beendet -> neu gestartet -> beim Savegame laden Crash mit oben genannten Fehlern.
Hat da schon jemand eine Lösung für? Wäre schade wenn ich den Kram wieder ausbauen müsste
lg
Webby
Thx, that way helped me out
cu
Webby