scripting:tutorials:level2:mercenaries
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
scripting:tutorials:level2:mercenaries [2023/11/23 14:25] – angelegt fritz_98 | scripting:tutorials:level2:mercenaries [2023/11/30 08:41] (aktuell) – fritz_98 | ||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
Für die folgenden Beispiele muss ein Söldnerquartier ('' | Für die folgenden Beispiele muss ein Söldnerquartier ('' | ||
- | FIXME Komfortfunktion für Logic.AddMercenaryOffer ? | + | Außerdem wird folgende Komfortfunktion vorausgesetzt: |
+ | <code lua> | ||
+ | -- Komfortfunktion für das Einstellen von Söldnerquartierangeboten | ||
+ | function AddMercenaryOffer(_MercenaryCamp, | ||
+ | local EntityId = GetEntityId(_MercenaryCamp) | ||
+ | assert(IsAlive(_MercenaryCamp), | ||
+ | assert(Logic.GetEntityType(EntityId) == Entities.CB_Mercenary, | ||
+ | assert(type(_OfferType) == " | ||
+ | assert((type(_OfferAmount) == " | ||
+ | assert(type(_Cost) == " | ||
+ | assert(Logic.GetNumerOfMerchantOffers(EntityId) < 4, " | ||
- | '' | + | local CostTable = {} |
+ | for ResourceName, | ||
+ | assert(ResourceType[ResourceName], | ||
+ | assert((type(ResourceAmount) == " | ||
+ | table.insert(CostTable, | ||
+ | table.insert(CostTable, | ||
+ | end | ||
+ | |||
+ | | ||
+ | end | ||
+ | </ | ||
+ | |||
+ | Die Funktion hat die folgenden Parameter: | ||
+ | |||
+ | ^Name^Typ^Beschreibung^ | ||
+ | | **_MercenaryCamp** | String oder Number | Skriptname oder Entity-Id des Söldnerquartiers | | ||
+ | | **_OfferType** | Entity-Typ | Entity-Typ, der im Angebot sein soll. Für Hauptmänner werden automatisch volle Trupps erzeugt | | ||
+ | | **_OfferAmount** | Number | Wie oft dieses Angebot zur Verfügung stehen soll. Kann auch '' | ||
+ | | **_Cost** | Table | Die Kosten des Angebots in einem [[ scripting: | ||
+ | |||
+ | In unserem Söldnerquartier bieten wir 3 Truppen Breitschwertkämpfer und beliebig viele Bogenschützen-Banditen an: | ||
+ | <code lua> | ||
+ | AddMercenaryOffer(" | ||
+ | AddMercenaryOffer(" | ||
+ | </ | ||
+ | |||
+ | Beim Anbieten von Söldnern sollte die Balance im Auge behalten werden. Wie kann der Spieler durch die Nutzung von Söldnern die Karte besser bewältigen und welchen Ressourcenaufwand sollte er dafür betreiben müssen? | ||
+ | |||
+ | Tatsächlich kann in Söldnerquartieren jeder beliebige Entity-Typ angeboten werden, auch Helden und Lehmhaufen. Diesen fehlt dann das passende Icon (standardmäßig das Schwert). Vor allem unbewegliche Entities sind problematisch, | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Im nächsten Kapitel wird der Einsatz von Timern und Zeitlimits erklärt. | ||
+ | |||
+ | [[ scripting: | ||
+ | [[ scripting: | ||
+ | [[ scripting: |
scripting/tutorials/level2/mercenaries.1700749537.txt.gz · Zuletzt geändert: 2023/11/23 14:25 von fritz_98