
Ubi.com Foren
Die Siedler
DIE SIEDLER - Aufstieg eines Königreichs / Editor & Maps
Handelsposten einstellen|
Start
![]() |
Neu
![]() |
Suche
![]() |
Benachrichtigen
![]() |
Werkzeuge
![]() |
Antwort
![]() |
|
|
|
Wie reguläre Angebote festgelegt werden können ist bereits aus dem Scripttutorial bekannt.
Damit der Handelsposten genutzt werden kann, muss zunächst ein Bauplatz in die jeweiligen Dörfer gestellt werden: I_X_TradePostConstructionSite. Der Bauplatz muss immer die SpielerID des Dorfes haben in dem er steht. Die Einstellung des Handelspostens erfolgt i.d.R. direkt hinter den normalen Angeboten. Hier werden die Angebote für Spieler 3 eingestellt. Bei diesem kann man 8x Holz gegen 2x Färbemittel, sowie 6x Getreide gegen 3x Salz eintauschen.
local PlayerID = 3
local TraderID = Logic.GetStoreHouse(PlayerID)
AddOffer( TraderID, 2, Goods.G_Herb)
AddOffer( TraderID, 4, Goods.G_RawFish)
local _, TradepostID = Logic.GetPlayerEntities( PlayerID, Entities.I_X_TradePostConstructionSite, 1, 0 )
assert( TradepostID and TradepostID ~= 0 )
Logic.TradePost_SetTradePartnerGenerateGoodsFlag(TradepostID, true)
Logic.TradePost_SetTradePartnerPlayerID(TradepostID, PlayerID)
Logic.TradePost_SetTradeDefinition(TradepostID, 0, Goods.G_Wood, 8, Goods.G_Dye, 2)
Logic.TradePost_SetTradeDefinition(TradepostID, 1, Goods.G_Grain, 6, Goods.G_Salt, 3)
Logic.TradePost_SetActiveTradeSlot(TradepostID, 0)
Die Zahl in den Definitionen nach "TradepostID" ist die Slot Nummer. Hier muss darauf geachtet werden, dass es von 0 an fortlaufende Nummern sind. Im Handelsposten können nur Ressourcen getauscht werden die im Lagerhaus gelagert werden. Daher können hier beispielsweise weder Wurst noch Medizin getauscht werden. Dieser Beitrag wurde editiert. Zuletzt editiert von: BB_ScriptError, |
||
|
Zackig und klar soweit, danke vielmals.
Ein paar Fragen habe ich schon noch: Das Goal Deliver Dann werden erst mal 4(!) Instrumente abgezogen, der Sammler kommt aus dem Lagerhaus, fährt wieder rein weil ihm aufgefallen ist, dass er zuviel mitgenommen hat und bringt 2 wieder zurück. (!) Es fährt zwar kein Karren los, aber die Quest wird gewonnen. Mhm... ... ... Bleibt also wieder nichts Anderes übrig als den GameCallback_GoodsSendDuringQuest zu bemühen? Funktioniert das dann überhaupt noch? (Ja, noch nicht wach genug zum Testen, sorry Zum Handelsposten: Sind damit auch mehrere Handelsposten pro Dorf möglich? Den Aufbau des Handelsposten steuert man wie üblich als normales Interaktives Objekt, also erst mal stilllegen, dann nach Questerfüllung aktivieren mit Kosten und Logic.InteractiveObjectSetReplacingEntityType? Der wurde doch aber kunstvoll errichtet, Mit Replacing würde es doch "Plopp" machen und er stände da? Spricht etwas dagegen, wenn ich in der WikiBibliothek die GüterListe beim GoalDeliver um die sinnlosen Einträge erleichtere? Also die G_Dummys usw.? Wofür sind die überhaupt da? Der NPC Juwelier steht ja seltsamerweise in der CityBuildings Liste mit drin, wird im Spiel dann mit einem Siedler berechnet, kann zweimal ausgebaut werden, dann allerdings immer noch nur mit einem Siedler drin, der sich aber nicht raustraut. Immerhin, Bedürfnisse hat er auch keine. Und, *schnief*, der Schreibfehler bei der big_Cathedral ist immer noch da, also immer noch keine Predigten möglich. Ihr seid ja soooo gemein. Achso, mal ne Güterliste für HandelsAngebote im AddOn: G_Cow G_Water G_Candle G_Wood G_Carcass G_Sheep G_Sausage G_Clothes G_Bread G_Leather G_Sign -- ?? G_Bow G_Salt G_Honeycomb G_Regalia G_RawFish G_Gold G_Iron G_Dye G_SmokedFish G_MusicalInstrument G_Olibanum G_Gems G_Banner G_SiegeEnginePart G_Sword G_Stone G_PlayMaterial --??? G_Medicine G_Ornament --??? G_Information --??? G_Grain G_Wool G_Herb G_Cheese G_Broom G_Soap G_Milk G_Beer Mehr? Noch was raus? Zum obigen Code:
Logic.TradePost_SetTradeDefinition(TradepostID, 0, Goods.G_Wood, 8, Goods.G_Dye, 2])
Logic.TradePost_SetTradeDefinition(TradepostID, 1, Goods.G_Grain, 6, Goods.G_Salt, 3])
Logic.TradePost_SetActiveTradeSlot(TradepostID, 0)
Die letzte Zeile legt das standardmässig aktivierte Angebot fest? Also welches direkt nach dem Bau automatisch für Lieferungen sorgt? Dieser Beitrag wurde editiert. Zuletzt editiert von: zweispeer, -- Es wäre sinnvoll wenn Ihr Euch, auch nachdem Ihr erfolgreiche Tipps bekommen habt, noch mal für ein Feedback hier meldet. Das trägt viel zur Motivation der Antwortenden bei und verbessert vielleicht nochmal die Antwort für den Nächsten. Please note that according to the German law on data retention, information on every electronic information exchange with me is retained for a period of six months. |
||||
|
|
|
Der Handelsposten muss wie ein interaktives Objekt bei Spielstart deaktiviert (AlwaysActive, InstantFailure, Reprisal_InteractiveObjectDeactivate), und dann zu einem späteren Zeitpunkt freigegeben werden. I.d.R. eignet sich da ein Trigger mit Diplomacy TradeContact gut. Abgesehen von an/abschalten sollten keine weiteren "IX" Einstellungen am Tradepost vorgenommen werden, insbesondere kein ReplacingEntityType. Was SetActiveTradeSlot macht hast du korrekt erkannt. In unseren Tests haben einfach viele vergessen die Handelsroute nach Bau des Tradeposts zu aktivieren. Daher aktivieren wir diese in fast allen Karten automatisch nachdem der Tradepost gebaut wurde.
Durch die vorhandenen Dummy Einträge können später neue Waren und Ressourcen unproblematischer hinzugefügt werden. Der Nutzer braucht diese natürlich (noch) nicht auswählen zu können.
Der Juwelier hat auch ein großes "NPC" vor dem Namen. Ich denke das erklärt das unerwartete Verhalten... denn wer würde sich denn schon ein NPC Gebäude in die Stadt stellen?
Klingt lustig. Ich habe gerade gerade versucht das auf einer Testkarte nachzuvollziehen. Deliver Quest von P2 an P1 für 2 Musikinstrumente. 20 davon per Script ins Lagerhaus. Der Deliver Quest reagiert ganz normal, es werden zwei abgezogen und der ResourceMerchant fährt los - ein Sammler erscheint nicht - genau wie es sein soll. War es eine Lieferung an dich selber oder an einen anderen Spieler? Hattest du eventuell irgendwelche eigenen Scripte mit am laufen? Alternativ kannst du mal ausprobieren was passiert wenn du dem Zielspieler ein anderes Storehouse gibst. |
|||
|
*g* Ja, wenn man denn auch wirklich P2 als QuestGeber einstellt. Klasse, jetzt laufen also wirklich auch alle Luxusgüter Lieferungen ohne Tricks. Suuuper -- Es wäre sinnvoll wenn Ihr Euch, auch nachdem Ihr erfolgreiche Tipps bekommen habt, noch mal für ein Feedback hier meldet. Das trägt viel zur Motivation der Antwortenden bei und verbessert vielleicht nochmal die Antwort für den Nächsten. Please note that according to the German law on data retention, information on every electronic information exchange with me is retained for a period of six months. |
||||
|
![]() |
Was sollen die Abschließenden eckigen Klammern, wenns keine Aufschließenden gibt ?? trabbi Was ist Theorie, - Wenns klappen soll und es klappt nie Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum |
|||
|
das dürften schlichte Typos sein
-- Es wäre sinnvoll wenn Ihr Euch, auch nachdem Ihr erfolgreiche Tipps bekommen habt, noch mal für ein Feedback hier meldet. Das trägt viel zur Motivation der Antwortenden bei und verbessert vielleicht nochmal die Antwort für den Nächsten. Please note that according to the German law on data retention, information on every electronic information exchange with me is retained for a period of six months. |
||||
|
|
|
Das waren die Reste von einem [/b] (welches im Code-Tag nicht funktioniert)
|
|||
|
Nunja, diese Aussage macht mich jetzt etwas unsicher. Wenn ich ein Goal_Deliver einstelle mit zum Beispiel 10 Kerzen aus der laufenden Produktion funktioniert da nüscht, der Kerzenmacher produziert nach wie vor 1 einsame Kerze. Und mit den anderen geht's wohl ähnlich - Banner und so. Ergo sehe ich nicht, das Goal_Deliver mit den Luxusgütern funktioniert. Schwerter und Bögen als Tauschware per Handelsposten geht auch nicht. Falls mir aber was entgangen sein sollte... Dieser Beitrag wurde editiert. Zuletzt editiert von: peridos86, |
||||
|
|
|
Luxusgüter sind Edelsteine, Salz, Musikinstrumente, etc. Diese werden im Lagerhaus gelagert.
Eine Kerze dient zur Verschönerung der Stadt. Diese wird nicht im Lagerhaus gelagert. Wenn du dem Spieler den Auftrag gibst, 10 Kerzen zu liefern, so muss dieser 10 Kerzenmacher bauen, da jeder der Kerzenmacher immer nur eine Kerze zur Zeit vorrätig haben kann. Hat der Spieler so viele Kerzen, funktioniert auch die Lieferung wie gewünscht. Auch für Banner, Bänke, Salz und Musikinstrumente können reguläre Lieferaufträge per Goal_Deliver gegeben werden. Im ersten Posting steht: "Im Handelsposten können nur Ressourcen getauscht werden die im Lagerhaus gelagert werden." Da Schwerter und Bögen nicht im Lagerhaus gelagert werden, können diese auch folglich nicht per Handelsposten getauscht werden. |
|||
|
Hi!
Hier ist imho die erste "Ungereimtheit" im Wirtschaftssystem. Denn warum können alle "normalen" Produktionsbetriebe je 9 Einheiten lagern, die Betriebe für die Stadtverschönerung aber jeweils nur eine?
Und hier ist die zweite große Kinke in dem "Wirtschaftssystem"! Es wäre ja noch einigermaßen akzeptabel, dass nur Rohstoffe und keine Endprodukte im Lagerhaus gelagert werden, aber dass diese Produkte dadurch gänzlich vom Handel ausgeschlossen werden, finde ich höchst sonderbar. Denn fertige Nahrungsmittel bspw., die ja auch nicht im Lagerhaus gelagert werden, können ja z.B. per Quest immerhin versendet werden, was ja im Endeffekt einem Handel schon sehr nahe kommt. Nur halt sehr "einseitig" Wäre evt. auch noch ein Punkt für Patch 1.x! Gruß Gunther |
||||
|
|
|
Ich tippe mal aufs Balancing
Rohstoffe und Endprodukte können per Quest verschickt werden. Der Handelsposten wurde explizit für Rohstoffe die im Lagerhaus gelagert werden spezifiziert und entsprechend implementiert. Hieran wird auch nichts mehr geändert. Eventuell wären Workarounds auf eigenen Karten im Stil von Karte 5 möglich. Hier wurden Endprodukte an interaktive Objekte gesandt - was i.d.R. nicht möglich ist. |
|||
|
Hi BB_ScriptError!
Vermutlich. Oder um es etwas böswilliger zu formulieren:"Damit die Beförderung zum Erzherzog noch etwas langwieriger & nerviger wird."
Du meinst bspw. den Quest zu Beginn der Mission, wo die Endprodukte an die drei Hütten geliefert werden müssen. Verrätst du denn auch noch, wie man das realisieren kann? Und irgendwie bin ich jetzt etwas leicht durcheinander - kann ich denn auch bspw. Schwerter oder Bogen an eine andere Partei liefern (nicht per normalem Handel - das habe ich ja kapiert)? Gruß Gunther |
||||
|
Natürlich Sowohl per normalem Handel (Schon immer) Als auch per Goal_Deliver (Schon immer) -- Es wäre sinnvoll wenn Ihr Euch, auch nachdem Ihr erfolgreiche Tipps bekommen habt, noch mal für ein Feedback hier meldet. Das trägt viel zur Motivation der Antwortenden bei und verbessert vielleicht nochmal die Antwort für den Nächsten. Please note that according to the German law on data retention, information on every electronic information exchange with me is retained for a period of six months. |
||||
|
Also was denn jetzt? Schwerter und Bögen konnten doch bisher eben nicht "sinnvoll" gehandelt werden weil es für militärische Zwecke nichts nutzt wenn die Dinger auf dem Markt verkauft werden. Ausserdem haben die beiden Waren meines Wissens den Mangel eines fehlenden Handelspreises, somit kann ich sie so oder so nicht kaufen. (Also als Fertigware bei einem KI Spieler zur Ausrüstung meiner Truppen). Hm? |
||||
|
Momang, bitte unterscheiden zwischen Kauf und Verkauf.
Kaufen kann ich Schwerter bei einem Händler nicht wegen dem fehlenden Preis, das ist richtig. Per Quest Goal_Deliver liefern lassen ist aber kein Problem, inwieweit das sinnvoll ist bleibt jedem selbst überlassen. Die Kaserne holt sich die Schwerter dann eben aus dem Karren, so sie denn gerade Bedarf hat. Verkaufen: Mhm....bleibt ausgegraut, das war mir nicht bewusst, sorry. Mein Fehler. -- Es wäre sinnvoll wenn Ihr Euch, auch nachdem Ihr erfolgreiche Tipps bekommen habt, noch mal für ein Feedback hier meldet. Das trägt viel zur Motivation der Antwortenden bei und verbessert vielleicht nochmal die Antwort für den Nächsten. Please note that according to the German law on data retention, information on every electronic information exchange with me is retained for a period of six months. |
||||
|
Zum Thema Preis:
Einfach mal MerchantSystem.BasePrices[Goods.G_Sword] = 80 MerchantSystem.RefreshRates[Goods.G_Sword] = 150 ausprobieren, dann sollten die sich schon mal KAUFEN lassen... SOLLTEN, habs noch nicht getestet -- Es wäre sinnvoll wenn Ihr Euch, auch nachdem Ihr erfolgreiche Tipps bekommen habt, noch mal für ein Feedback hier meldet. Das trägt viel zur Motivation der Antwortenden bei und verbessert vielleicht nochmal die Antwort für den Nächsten. Please note that according to the German law on data retention, information on every electronic information exchange with me is retained for a period of six months. |
||||
|
MerchantSystem....
BasePrice..... Langsam frage ich mich bei eingehender Begutachtung der vielen Posts hier und auch anderswo: Es muss ja wohl irgendwo eine Liste der Zugriffsbefehle per Skript geben. Und ich rede nicht von dem komischen _G-xls Teil, in dem nicht mal die Hälfte dessen steht was bisher hier verbraten wurde. Ebensowenig in diesem englischen Threat der den Freaks hier ja wohl bekannt ist. Wo also bitte kommen zum Beispiel die beiden oben genannten Elemente her? Wenn es eine (un)dokumentierte Liste gibt, warum wird die veröffentlicht? Immer wieder fragt hier ein armens Würstchen mal etwas nach und kriegt oft genug Befehle für eine Skript serviert - und ich meine nicht BB Antworten, die müssen das ja wohl wissen. |
||||
|
http://www.siedler-games.de/forum/siedler-6-aek-mappere...-5-a.html#post113264
Aber ansonsten verstehe ich Dich richtig, dass es Dich ärgert wenn hier Fragen beantwortet werden? -- Es wäre sinnvoll wenn Ihr Euch, auch nachdem Ihr erfolgreiche Tipps bekommen habt, noch mal für ein Feedback hier meldet. Das trägt viel zur Motivation der Antwortenden bei und verbessert vielleicht nochmal die Antwort für den Nächsten. Please note that according to the German law on data retention, information on every electronic information exchange with me is retained for a period of six months. |
||||
|
Bei mir wird irgendwie immer das Angebot im ersten Slot nicht angezeigt wie hier:
local PlayerID = 2 local traderId = Logic.GetStoreHouse(2) AddOffer( traderId, 6, Goods.G_Bread ) AddOffer( traderId, 4, Goods.G_Broom ) AddOffer( traderId, 5, Goods.G_Medicine ) AddOffer( traderId, 4, Goods.G_MusicalInstrument ) local _, TradepostID = Logic.GetPlayerEntities( PlayerID, Entities.I_X_TradePostConstructionSite, 1, 0 ) assert( TradepostID and TradepostID ~= 0 ) Logic.TradePost_SetTradePartnerGenerateGoodsFlag(TradepostID, true) Logic.TradePost_SetTradePartnerPlayerID(TradepostID, PlayerID) Logic.TradePost_SetTradeDefinition(TradepostID, 0, Goods.G_Herbs, 7, Goods.G_Gems, 6) Logic.TradePost_SetTradeDefinition(TradepostID, 1, Goods.G_Wood , 6, Goods.G_Iron, 6) Logic.TradePost_SetTradeDefinition(TradepostID, 2, Goods.G_Honeycomb, 5, Goods.G_RawFish, 7) Logic.TradePost_SetTradeDefinition(TradepostID, 3, Goods.G_Wood, 7, Goods.G_Milk, 7) kann das einer erklären? mfg |
||||
|
Quatsch. Aber du willst also sagen, das alleine aus dieser Liste die Informationen kommen. Ohne weitere Infos zu Parametern und ähnlichem, einfach nur der Befehl, die Tatsache ob Funktion, Wert oder Tabelle, und den Rest probieren wir aus? Ernsthaft? |
||||
|
Wo ist : Logic.TradePost_SetActiveTradeSlot(TradepostID, 0) Das setzt den aktiven Slot auf die Nummer 0 und aktiviert die ganze Kiste. Steht doch oben... |
||||
|
Ähm, ja. In etwa.
Die Arbeit mache ich natürlich nicht alleine, dafür gibt es das Skriptwiki. Und Lua ist auch ziemlich redselig, wenn man ihm gut zuredet. -- Es wäre sinnvoll wenn Ihr Euch, auch nachdem Ihr erfolgreiche Tipps bekommen habt, noch mal für ein Feedback hier meldet. Das trägt viel zur Motivation der Antwortenden bei und verbessert vielleicht nochmal die Antwort für den Nächsten. Please note that according to the German law on data retention, information on every electronic information exchange with me is retained for a period of six months. |
||||
|
Jein, wenn diese Zeile fehlt wird nur nicht automatisch ein Angebot in Kraft gesetzt, laut obigen Erläuterungen. Dann kommt erst dann ein Handel zustande wenn der User ihn explizit anwählt. Ich habe es selber aber noch nicht probiert, weil ich imme rnoch an einer Hauptspielkarte festhänge, daher sind meine Aussage da noch mit Vorsicht zu geniessen -- Es wäre sinnvoll wenn Ihr Euch, auch nachdem Ihr erfolgreiche Tipps bekommen habt, noch mal für ein Feedback hier meldet. Das trägt viel zur Motivation der Antwortenden bei und verbessert vielleicht nochmal die Antwort für den Nächsten. Please note that according to the German law on data retention, information on every electronic information exchange with me is retained for a period of six months. |
||||
|