Beiträge von Webby

    Danke für eure Antworten, ich werde mich da mal mit meinem Uralt-Schulenglish durchschlagen :S
    EDIT:
    Ich denke ich werde warten, bis jemand eine Map mit einen Früchten raus gebracht hat, ich steige da irgendwie nicht hinter ?(

    Hi,


    da ja jetzt die ScriptDoku raus ist habe ich mich gleich mal ran gemacht und nach dem Code Teil für die neuen Früchte geguckt.
    Der Aufbau scheint jetzt um einiges anders zu sein als vorher.


    Was die Definitionen angeht kann man HIER nachgucken.
    Soweit komme ich auch klar, da ist nur ein Bereich, den ich nicht verstehe und zwar das hier:

    Zitat


    float4 | fruitMapColor | An array with 4 float to represent the r,g,b,a color of the fruit displayed in the overview map.


    Mein Script sieht bis jetzt so aus:
    [lua]
    local hudFile = Utils.getFilename("mods/testMap/map/huds/sunflowerHud.dds", getUserProfileAppPath());
    FruitUtil.registerFruitType("sunflower", true, true, false, 0, 7, 7, 0, true, 1, 0.32, 0.51, true, hudFile, HierSollWohlDasRGBA_ZeugHin);


    -- Dieser Teil muss wahrscheinlich auch noch geändert werden!
    local origSowingMachineLoad = SowingMachine.load;
    SowingMachine.load = function (self, xmlFile)
    if origSowingMachineLoad ~= nil then
    origSowingMachineLoad(self, xmlFile);
    end;

    self.seeds = {};
    local i = 1;
    for k, fruitType in pairs(FruitUtil.fruitTypes) do
    if fruitType.allowsSeeding then
    self.seeds[i] = fruitType.index;
    i = i + 1;
    end;
    end;
    end;
    [/lua]


    Wenn ich es so teste wie ich es jetzt habe, kommt ein Logeintrag von meiner umgeschiebenen Sähmaschine, das der fruitType "sunflower" nicht stimmt.

    Code
    Warning: 'C:/Users/PC/Documents/My Games/FarmingSimulator2013/mods/HorschPronto9DC_ce/pronto9DC.xml' has invalid seedFruitType 'sunflower'.


    Ich habe näturlich die Frucht selbst für LS13 geändert und das Sähen mit dem GE funktioniert einwandfrei :)


    Hat das schon jemand raus bekommen, wie die neuen Früchte funktionieren?


    lg
    Webby

    Hi,


    jo nochmals vielen Dank euch allen für die Hilfe. Bin soweit sehr zufrieden mit dem Script.


    Was man allerdings noch machen müsste:


    - Die Trigger nach dem einladen der Map nicht mehr anzeigen lassen (z.Z werden die nach dem Laden wieder neu auf die Map gesetzt)
    - Im MP gibt es das Problem, das die trigger da sind. Was ja eigentlich auch OK ist aber... Wenn ein Client in den Trigger geht wird der Text angezeigt und das Symbol ist weg aber nur für den Client. Der Host kann ebenfalls drüber gehen und das Symbol verschwindet auch für ihn.


    Geht aber erst der Host in den Trigger, ist er für die Clients zwar noch da aber wenn man als Client drüber geht bleibt das Symbol regungslos stehen und es wird KEIN Text angezeigt!
    Meine Idee wäre, die Trigger im MP erst gar nicht anzeigen zu lassen.


    Habe aber noch keine Lösung dafür gefunden :(


    lg
    Webby

    Ok das hab ich soweit kapiert, denke ich.


    Das Problem ist, das in der externen XML Datei nicht nur (z.B) info2 drin steht sondern mehrere Infos.
    Deswegen soll man ja im Trigger eintragen können welcher info Text angezeigt werden soll.


    Wenn ich jetzt
    [lua]getXMLString(TempXML_ID, customInfo.info2.text)[/lua]
    eintrage, wird doch nur der Text aus Bereich info2 angezeigt, egal was im Trigger steht oder nicht?

    webalizer


    Naja die Doku bringt mir garnichts wenn ich nicht weiß wonach ich suchen soll -.-
    Aber die Idee mit dem manual Ignition Script ist gut, da werde ich mir sicherlich was einfallen lassen.
    Danke dafür.


    Einen Eintrag in
    [lua]local xmlFile = loadXMLFile("TempXML", "filename");[/lua]
    verstehe ich nicht so ganz und zwar das hier "TempXML".
    Was ist damit gemeint?


    lg
    Webby

    Vielen Dank für die Antwort.
    So ungefähr sah meine Lösung auch schon aus allerdings kam ich mit dem loadXMLFile nicht klar :)


    Wie rufe ich jetzt den Text einzeln auf wenn in den UserAttribues des Triggers z.B. "info2" steht?
    Bzw. wie stelle ich diesen auf dem Bildschirm da?
    Ich dachte da evtl. an ein Fenster ähnlich wie beim Blitzer von rafftnix.

    Hi,


    ich weiß das die ScriptDoku noch nicht raus ist aber vielleicht ja jemand eine Idee.
    Es geht um folgendes.


    Jeder kennt diese blauen Info Kreise bei denen man einen Text angezeigt bekommt wenn man drauf geht.
    Was mich von Anfang an störte war, das man den Text nicht nach seinen Bedürfnissen anpassen kann.


    Ich hab also mal ein bisschen gesucht und bin in der alten Script Doku auf den InfoSpotTrigger gestoßen.


    Dieser löst beim betreten einen Sound auch und zeigt einen Infotext an. Nach einiger Zeit, bzw. wenn man die Maustaste drückt verschwindet das Fenster und auch der Trigger wird auf visibility=false geschaltet.


    Hier mal das Script:
    [lua]
    customInfoTrigger = {}


    local customInfoTrigger_mt = Class(customInfoTrigger);


    function customInfoTrigger:onCreate(id)
    g_currentMission:addUpdateable(customInfoTrigger:new(id));
    end;


    function customInfoTrigger:new(id)
    local instance = {};
    setmetatable(instance, customInfoTrigger_mt);

    instance.triggerId = id;
    addTrigger(id, "triggerCallback", instance);

    instance.infoSymbol = getChildAt(id, 0);
    local x, y, z = getTranslation(instance.infoSymbol);
    instance.posY = y;
    instance.jump = 0.05;

    instance.isEnabled = true;

    return instance;
    end;

    function customInfoTrigger:delete()
    removeTrigger(self.triggerId);
    end;

    function customInfoTrigger:update(dt)
    if self.isEnabled then
    rotate(self.infoSymbol, 0, 0.005 * dt, 0);

    self.jump = self.jump - 0.00015 * dt;
    local x, y, z = getTranslation(self.infoSymbol);
    setTranslation(self.infoSymbol, x, y + self.jump, z);

    if y + self.jump <= self.posY then
    self.jump = 0.05;
    end;

    if not getVisibility(self.triggerId) then
    self.isEnabled = false;
    end;
    end;
    end;

    function customInfoTrigger:triggerCallback(triggerId, otherId, onEnter, onLeave, onStay)
    if onEnter and self.isEnabled then
    if (g_currentMission.player ~= nil and otherId == g_currentMission.player.rootNode) or (g_currentMission.controlledVehicle ~= nil and otherId == g_currentMission.controlledVehicle.components[1].node) then
    if g_currentMission.infospotSound ~= nil then
    playSample(g_currentMission.infospotSound, 1, 1, 0);
    end;
    g_currentMission:infospotTouched(triggerId);
    self.isEnabled = false;
    setVisibility(self.triggerId, false);
    end;
    end;
    end;
    [/lua]



    Ich denke, der entscheidende Part wäre hier im triggerCallback Bereich zu setzten.


    Diese Script möchte ich mir, in der Hoffnung das es funktioniert, so umschreiben, das er den Infotext aus einer externen xml Datei läd und anzeigt.


    Die xml Datei habe ich wie folgt aufgebaut:



    Der Name der Datei lautet customInfo.xml


    Im Trigger sollte der Pfad zur XML Datei, der Pfad zur Sounddatei sowie die Nummer der Info (info1, info2 u.s.w) eingetragen werden.
    Meine frage wäre jetzt, ist es möglich den Text aus der Datei auszulesen und anzeigen zu lassen und wenn ja, wie?


    Hat da jemand eine Idee oder Tipps für mich?


    lg
    Webby

    Hi,


    die Textur liegt nicht richtig auf, so wie das aussieht.
    Kann es sein, das du eine AO gebacken hast und dann aus dem Programm raus gegangen bist oder so? Dann passiert das schon mal.
    Man kann das recht einfach neu ausrichten, ich weiß aber nicht genau wie das geht.


    Im Zweifelsfall musste die einzelnen Faces markieren und die Textur neu ausrichten oder die AO gleich noch mal neu backen.


    lg
    Webby

    Naja ich hab ja schon mehrere Sachen ausprobiert wie z.B <mowerParticleSystem> und so aber leider ohne Erfolg :)
    Jo dann werde ich wohl warten müssen, nutzt ja nix. :S


    EDIT: Ich habe ein Script gefunden, was genau das kann was ich suche.
    Für alle die es interessiert,
    es heißt MultiGroundParticelSystem von Tobias F.(John Deere 6930).
    Kann also geschlossen werden ;)

    Hi,


    neben dem balloonScript schraube ich noch an einem neuen Mähwerk rum.
    Leider musste ich feststellen, das es standardmäßig gar kein Partikelsystem gibt dafür.


    Hat da zufällig jemand ein Script mit dem ich einen Partikel darstellen kann, wenn die Schwade gelegt wird bzw. wenn die Schneidwerke eingeschaltet sind und Bodenkontakt haben?
    Ich habe mir einige Scripts angeguckt aber bei keinem funktioniert es, wie es wie ich es haben möchte. 8|


    lg
    Webby

    Hi,


    ich habe die Zeile 31 geändert.


    Zu dem:

    Zitat

    Ansonsten musst du darauf achten, dass immer wenn sich die variable self.balloonWheelState ändern soll, die Funktion mit dem richtigen Wert aufrufst, da nur dann das Event an die Mitspieler gesendet wird. Dies ist zum Beispiel Bei Tastendrücken der Fall.


    Wenn ich eine Taste drücke ändere ich den Wert, aber was muss ich denn dann an die anderen Spieler weitergeben?
    balloonWheelsState oder setballoonWheelsState oder bin ich jetzt voll daneben?


    Das ist aber auch kompliziert... :wacko:


    lg
    Webby

    Hi,


    sorry das ich mich jetzt erst melde, hatte etwas Stress hier -.-


    Also ich habe die Änderungen wie vorgeschlagen gemacht aber es gibt für die Clients immer noch LUA Errors.
    Deswegen jetzt hier mal das Script soweit wie ich es habe.


    lg
    Webby

    Dateien

    Hi,


    ich habe read/writeStream bereis im Script drin.
    [lua]
    function balloonWheels:readStream(streamId, connection)
    self:balloonWheelsState(streamReadBool(streamId), true);
    end;


    function balloonWheels:writeStream(streamId, connection)
    streamWriteBool(streamId, self.balloonWheelsState);
    end;


    function balloonWheels:balloonWheelsState(state, noEventSend)
    ballooneWheelsState.sendEvent(self, state, noEventSend);
    self.balloonWheelsState = state;
    end;
    [/lua]


    So wie ich das hier jetzt sehe brauche ich also nur diesen Bereich hier?
    [lua]
    if noEventSend == nil or noEventSend == false then
    if g_server ~= nil then
    g_server:broadcastEvent(Setblends2Event:new(self, visibility), nil, nil, self);
    else
    g_client:getServerConnection():sendEvent(Setblends2Event:new(self, visibility));
    end;
    end;
    [/lua]


    Hmm aber sowas in der Art habe ich ja auch drin. 8|


    lg
    Webby