Beiträge von 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. :D


    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

    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. :rolleyes:


    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 :D


    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:

    Zitat

    C:/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 8|


    MfG
    Webby

    Werde ich direkt mal versuchen, danke :thumbsup:
    Überings, viel Glück beim Contest! ;)


    Edit:
    Hmm funktioniert leider nicht :(

    Zitat

    C:/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]

    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 :S
    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

    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!

    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,


    Zitat

    mein gott leute schaut mal gescheit hin ey :cursing:


    Kein Grund sich gleich aufzuregen!


    Zitat

    es 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