Fragen zum Mapbau

    Fragen zum Mapbau

    Hey Leute ich schon wieder,

    ich habe noch 2 Fragen zum Mapbau.

    1. Wie kann ich angeben das die ersten 2 Felder von Anfang an im Besitz sind? Diese Sache mit ownedByPlayer funktioniert bei mir nicht.

    2. Welche Datei muss ich auf meinen Hof setzen um Fahrzeuge zurückzusetzen?

    Danke schonmal

    Grüße dedumm
    Das mit ownedByPlayer muß eigentlich funktionieren wenn du das Usrattribute richtig setzt.

    Das kannst du kontrollieren indem du die i3d mit einem Texteditor (z.B. notepad++) öffnest. Dann gehst du über die Suche zu dem entsprechenden Feld z.B. field01 dort findest du die nodeId hier 4000.
    Dann gehst du zu den UserAttributes und suchst dir die NodeId 4000, wie unten.

    <UserAttribute nodeId="4000">
    <Attribute name="fieldArea" type="float" value="2.4"/>
    <Attribute name="fieldPrice" type="integer" value="63120"/>
    <Attribute name="ownedByPlayer" type="boolean" value="true"/>

    wichtig ist, dass du beim Anlegen des Attributes "ownedByPlayer" den type "boolean" wählst, sonst geht es nicht.
    Du mußt dann im GE bei dem entsprechenden Feld auch dann den Haken in das Kästchen "ownedByPlayer" machen.

    Die Fahrzeuge setzt du mit "loadPlace" zurück. Achtung auf Anfang und Ende achten und diese richtig platzieren, sonst landen die zurückgesetzten Fahrzeuge womöglich in irgendwelchen Wänden oder so.
    Richtung auch beachten, sonst steht der Grubber zur Wand und man kann ihn nicht mehr ankuppeln.
    Danke für die schnelle Antwort.
    Habe im Editor den Fehler gefunden. Hinter dem ownedByPlayer war ein Leerzeichen.
    Da muss man erstmal drauf kommen. :D Danke dir war im Editor gut zu sehen.

    Ich finde loadPlace leider nirgends.

    In welcher TG ist das denn?
    Falls wirklich nicht vorhanden kann man sich das selbst erstellen? Wie ne Nav Mesh oder so? :D

    Danke nochmal.

    Grüße dedumm
    Daher das dieser Thread noch nicht geschlossen ist und die Überschrift noch passt schreib ich mal hier weiter.

    Ich habe leider noch ein kleines Problem.
    Die Map läuft jetzt undso, ist alles Gut.
    Nur 3 PDA Symbole stimmen nicht. Und da bin ich irgendwie ratlos.

    Hier mal die.lua:
    Spoiler anzeigen
    --
    -- SampleModMap
    --
    -- @author Stefan Geiger
    -- @date 12/07/10
    --
    -- Copyright (C) GIANTS Software GmbH, Confidential, All Rights Reserved.

    SampleModMap = {}

    local SampleModMap_mt = Class(SampleModMap, Mission00);


    function SampleModMap:new(baseDirectory, customMt)
    local mt = customMt;
    if mt == nil then
    mt = SampleModMap_mt;
    end;
    local self = SampleModMap:superClass():new(baseDirectory, mt);

    return self;
    end;

    function SampleModMap:delete()
    SampleModMap:superClass().delete(self);
    end;

    function SampleModMap:load()
    self:startLoadingTask();

    self.environment = Environment:new(Utils.getFilename("$data/sky/sky_day_night.i3d", self.baseDirectory), true, 8, true, true);

    self.helpIconsBase = nil;
    self.collectableGoldCoinsObject = nil;
    self.fieldDefinitionBase = nil;
    self.vehicleShopBase = nil;

    self:loadMap(Utils.getFilename("map/map01.i3d", self.baseDirectory), true, self.loadCareerMap01Finished, self);
    end;

    function SampleModMap:loadCareerMap01Finished(node, arguments)
    if self.cancelLoading then
    return;
    end
    local startedRepeat = startFrameRepeatMode();
    trcScreenFlip();
    self:loadMapXMLFile(Utils.getFilename("SampleModMap.xml", self.baseDirectory));
    trcScreenFlip();
    self:loadTyreTrackSystem(Utils.getFilename("$data/vehicles/shared/tyreTrackMaterialHolder.i3d", self.baseDirectory));
    trcScreenFlip();
    self:loadI3D("$data/vehicles/particleAnimations/particle_materialHolder.i3d");
    trcScreenFlip();
    self:loadI3D("$data/vehicles/fillPlanes/fillPlane_materialHolder.i3d");
    trcScreenFlip();
    self.ingameMap:loadMap(Utils.getFilename("pda_map.png", self.baseDirectory), 2048, 2048);

    trcScreenFlip();
    g_statisticView:setMapViewsMap(Utils.getFilename("pda_map.png", self.baseDirectory), 2048, 2048);

    trcScreenFlip();
    -- ATMs
    self.ingameMap:createMapHotspot("Bank", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_bank.png", self.baseDirectory), 163.993, 35.964, nil, nil, false, false, false, 0, true);
    self.ingameMap:createMapHotspot("Bank", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_bank.png", self.baseDirectory), 36.376, -236.318, nil, nil, false, false, false, 0, true);

    -- shops
    self.ingameMap:createMapHotspot("Shop", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_shop.png", self.baseDirectory), 27.527, -239.74, nil, nil, false, false, false, 0, true);

    -- egg sellpoints
    self.ingameMap:createMapHotspot("Eggs", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_eggs.png", self.baseDirectory), 243.733, 76.823, nil, nil, false, false, false, 0, true);
    -- farm silos
    self.ingameMap:createMapHotspot("TipPlace", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_tipPlace.png", self.baseDirectory), 114.6, -302.417, nil, nil, false, false, false, 0, true);
    -- bga
    self.ingameMap:createMapHotspot("TipPlace", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_tipPlace.png", self.baseDirectory), -0.014, 10.93, nil, nil, false, false, false, 0, true);
    -- grass heaps
    self.ingameMap:createMapHotspot("TipPlace", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_tipPlaceGreen.png", self.baseDirectory), 460.272, -290.485, nil, nil, false, false, false, 0, true);
    -- livestock
    self.ingameMap:createMapHotspot("Cows", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_cows.png", self.baseDirectory), -63.604, -237.858, nil, nil, false, false, false, 0, true);
    self.ingameMap:createMapHotspot("Sheep", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_sheep.png", self.baseDirectory), 2.094, -175.979, nil, nil, false, false, false, 0, true);
    self.ingameMap:createMapHotspot("Chickens", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_chickens.png", self.baseDirectory), 31.615, -169.277, nil, nil, false, false, false, 0, true);
    -- spinnery
    self.ingameMap:createMapHotspot("woolDeliveryHotspot", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_spinnery.png", self.baseDirectory), 207.028, -27.769, nil, nil, false, false, false, 0, true);

    trcScreenFlip();
    SampleModMap:superClass().load(self);

    trcScreenFlip();

    if startedRepeat then
    endFrameRepeatMode();
    end
    self:finishLoadingTask();
    end;

    function SampleModMap:onStartMission()
    SampleModMap:superClass().onStartMission(self);
    end;

    function SampleModMap:mouseEvent(posX, posY, isDown, isUp, button)
    SampleModMap:superClass().mouseEvent(self, posX, posY, isDown, isUp, button);
    end;

    function SampleModMap:keyEvent(unicode, sym, modifier, isDown)
    SampleModMap:superClass().keyEvent(self, unicode, sym, modifier, isDown);
    end;

    function SampleModMap:update(dt)
    SampleModMap:superClass().update(self, dt);
    end;

    function SampleModMap:draw()
    SampleModMap:superClass().draw(self);
    end;



    Und hier noch die passenden Fotos dazu:



    Und hier die PDA:

    Sprich der Shop und der ATM (direkt darunter) aus dem Grünen Kreis sollten im Roten Kreis sein.
    Und die Abladestelle im Gelben Kreis gibt es nicht. Da ist nichts.

    Kann mir da wer helfen?

    Grüße dedumm
    Moin,

    diese icons werden durch die lua auf die PDA gesetzt. ich erklär es dir mal anhand des shops.

    -- shops
    self.ingameMap:createMapHotspot("Shop", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_shop.png", self.baseDirectory), 27.527, -239.74, nil, nil, false, false, false, 0, true);

    Die roten Zahlen oben im lua Auszug geben die Position des shop icons auf der map an und werden entsprechend auf der PDA dargestellt.
    Die erste Zahl ist der x - Wert und die zweite der y - Wert (Translation) im GE.

    schreib dir die Werte aus der Lua ab und vergleiche sie erst einmal mit der Ursprungs - Map ob sie für den trigger direkt oder die TG zutreffen.
    Wenn du das hast gehst du auf deine Map und holst dir da die entsprechenden Werte, trägst diese dann in die Lua ein, wichtig das Leerzeichen hinter dem Komma muß sein.
    Dann speichern alles einfügen und testen.

    der überflüssige Trigger sieht mir nach einem Abladetrigger aus, eventuell Hofsilos, da bitte mal im GE genau prüfen ob das nicht wirklich an der Stelle ein vergessener Trigger rumdümpelt.
    Wenn ja mal in den Userattributes schauen was das für einer ist.

    Findest du keinen, dann schau mal in der Lua welcher es sein könnte und lösche ihn dann mal aus der lua raus, aber vorher Sicherheitskopie von der lua machen.
    Dann ingame schauen ob der weg ist.

    Ich hoffe ich habe das jetzt richtig erklärt, weil ich das auch erst einmal gemacht habe.
    Der Shop samt ATM sind nich von einer Map sondern wurden als einzelnes Gebäude heruntergeladen.
    Aber die Trigger haben nur einen 0 Wert, nur die TG hat nen richtigen Wert.

    Die sache mit der Abladestation. Es ist weder nen Trigger vorhanden noch ein .lua Eintrag.

    Danke erstmal für die Hilfe.

    Grüße
    Ok dann schreib dir die Positionen auf deiner map auf Shop Pos des Triggers, ATM Position TG.
    Es muß aber auch nicht die genaue Position sein. Das icon erscheint an den Koordinaten, die du eingibst. In der Bjornholm ist das auch nicht übereinstimmend.

    Du kannst auch irgendein Objekt einfügen und an der Stelle platzieren, wo das icon angezeigt werden soll, Werte merken. Objekt wieder löschen und Werte in der LUA eintragen.
    Hallo,

    ich mache das immer so:

    1. leere TG erstellen
    2. leere TG dort platzieren wo das Icon hin soll
    3.Translatewert X ablesen und an erster Stelle in der Lua eintragen
    4.Translatewert Z ablesen und an zweiter Stelle in der Lua eintragen

    Wichtig ist wenn ein "minus" davor steht muss dies auch mit in die Lua übernommen werden.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von BadenBauer ()

    Ich danke dir. Das mit der TG hat geklappt. ATM & Shop sind an der richtigen Stelle.
    Jetzt habe ich nur noch ein Hof Silo auf der PDA bei Feld 7 Welches nicht da ist.

    In der .lua gibt es keinen Eintrag dazu (zumindest keinen den ich zuordnen könnte (.lua ist oben im Spoiler)) & im Giants Editor finde ich auch nichts was dort platziert ist (Trigger o.ä.)

    Grüße dedumm
    Einer von beiden müßte es eigentlich sein.

    -- farmsilos
    self.ingameMap:createMapHotspot("TipPlace", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_tipPlace.png", self.baseDirectory), 114.6, -302.417, nil, nil, false, false, false, 0, true);
    -- bga
    self.ingameMap:createMapHotspot("TipPlace", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_tipPlace.png", self.baseDirectory), -0.014, 10.93, nil, nil, false, false, false, 0, true);

    sonst weiß ich auch nicht weiter.
    Danke für die Map,

    ich selbst war auch erst hilflos, aber mit der Hilfe eines Kollegen habe ich die Lösung dann doch noch entdeckt.
    Dazu erst einmal etwas Grundsätzliches, über die Farben der icons:
    - Gelb Verkaufstrigger wird durch den Trigger selbst gesetzt
    - Grün Grasverkauf muß in der Lua eingetragen werden
    - weiß Tip Trigger wie z. B. Hofsilos, werden auch in die Lua eingetragen

    Jetzt aber kommt der Klopfer, es ist der Tiptrigger der BGA, der dort falsch liegt. Das gelbe Icon wo auch BGA dransteht ist der Verkaufstrigger für die Silage. Mit dem Tiptrigger kann man die Fahrsilos der BGA kennzeichnen. Das ist aber selbst auf der Bjornholm nicht gemacht, den hat man so platziert, dass er vom gelben verdeckt wird.

    Ich hab das jetzt folgender maßen gelöst, eine kleine Änderung in der Lua und weg ist das Ding.

    vorher: -- bga
    self.ingameMap:createMapHotspot("TipPlace", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_tipPlace.png",
    self.baseDirectory), -0.014, 10.93, nil, nil, false, false, false, 0, true);

    nachher: -- bga
    --self.ingameMap:createMapHotspot("TipPlace", Utils.getFilename("$dataS2/menu/hud/hud_pda_spot_tipPlace.png",
    self.baseDirectory), -0.014, 10.93, nil, nil, false, false, false, 0, true);

    Die beiden Bindestriche vor dem self bewirken, dass diese Zeile vom Spiel nicht geladen wird, das nennt sich auskommentieren.
    Hat gegenüber dem Löschen den Vorteil man verschiebt nichts und wenn man es später doch mal braucht kann man es wieder aktivieren indem man die beiden Bindestriche wieder entfernt und dann die richtigen Koordinaten einträgt.

    Ich hoffe das ist soweit verständlich.