Bitte nicht stören ! wir siedeln immer noch
| |||||||
| Registrieren | Projekte | All Albums | Blogs | Hilfe | Benutzerliste | Interessengemeinschaften | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren | ![]() |
| Thema | Infos | Letzter Beitrag | |
| | [Vorschau] Themenvorschau
Beim Durchstöbern des Forums hab ich bisher kein Thema gefunden, dass die Eigenschaften der verschiedenen Einheiten behandelt. Es mag sein, dass das jeder für selbstverständlich hält zu wissen wie sich Einheiten zu einander verhalten und das auch von anderen erwartet. Unabhänig davon werde ich hier einfach mal meine Erfahrungen mit den verschieden Einheiten hier niederschreiben. Dies stellt hier natürlich nur meine Meinung und Erfahrung dar. Ergänzungen und andere Meinungen sind erwünscht. Schwertkämpfer: Starke Nahkampfeinheit, teilt auch moderaten Schaden gegen Gebäude und Helden aus, hält deutlich mehr Schaden von Schützen aus als Speerträger. Wenn sie in einen von Schützen gelegten Hinterhalt geraten, sieht es auch für sie nicht gut aus. Kostet Eisen in der Herstellung, daher ist eine sorgsame Handhabung dieser Truppen Pflicht. Speerträger: Nimmt sehr viel Schaden von Schützen und Schwertkämpfern. Genaugenommen auch von schwerer Kavallerie, aber gegen die schlagen sie wenigstens auch stark zurück. Kostet Hold in der Anschaffung. Da man eigentlich auf jeder Map immer sehr viel Holz schlagen kann, sind diese Truppen gut als Kanonenfutter zu verwenden. Schlechter Schaden gegen Gebäude und Helden. Schützen: Sehr wichtige Einheit, da sie den Angriff aus der Ferne ermöglicht. Macht sehr guten Schaden gegen Speerträger und Kavallerie. Upgrades steigern Reichweite und Schussrate. Mit maximalen Tuning kann man Kanonentürme außerhalb von deren Reichweite angreifen(und gegen Türme machen sie auch gut Schaden, im Gegensatz zu manch anderen Gebäuden). Zu beachten ist hier, dass die 1. und 2. Stufe Holz beim Ausbilden kostet, die höheren dagegen Eisen. Ein beliebter Trick ist es viele von den Low level Einheiten auszubilden, und dann erst die Upgrades zu kaufen, da das Upgraden außer den Forschungskosten keine Ressourcen verbraucht. Auf Level3 sind dann die Langbogenschützen kostenlos zu Armbrustschützen aufgestiegen(kein Eisenverbrauch). Anschließend die Einheiten auf 8 Mann füllen und anschließen das Upgrade zur 4 Stufe reinhauen(Eisenersparnis). Pfeile treffen auch Gegner in der Bewegung. Leichte Kavallerie(berittene Schützen) Für die habe ich ehrlich gesagt nie wirklich eine Verwendung gefunden. Wenn ich Schusskraft brauche reichen normale Schützen locker, und da die mehr Mann in der Truppe haben lohnen die sich auch viel mehr. Zumal sterben sie schnell gegen Schützen und Speerträger. In den Stärken werden ihre Fähigkeit zum Kundschaften und ihre Stärke gegen schwere Kavallerie hervorgehoben. Da gibt es aber auch andere Mittel. Kundschaften kann man mit den Helden und Darios Falke, gegen Kavallerie genügen wie schon gesagt Schützen/Speerträger. Schwere Kavallerie Diese Jungs dagegen, hab ich öfter schonmal bei mir in der Armee stehen. Die Angriffs- und Verteidigungswerte sind insbesondere mit Upgrades nicht zu verachten. Da können sie sogar Kanonenschüsse überleben(wenn z.b eine Arbalestenschützeeinheit von einer Belagerungskanone getroffen wird sind direkt 4-5 Mann weg). Schlagen sich eigentlich gegen alles gut, auch Helden. Kleinere Speerträgereinheiten können auch von ihnen vernichtet werden. Kanonen Allgemein verursachen Kanonen hohen Schaden auf einer Fläche, sowohl die Türme als auch die mobilen Kanonen. Da ich aber in meiner Armee nur die großen Kanonen verwende, kann ich zu den kleinen nichts sagen. Allgemein muss man bei den mobilen Kanonen aufpassen, dass sie nicht angegriffen werden, da sie sehr fragil sind. Insbesondere wenn viele gegnerische Truppen auf einem Haufen stehen sind Kanonen sehr effektiv. Eisenkanone Moderate Reichweite, dafür aber sehr gute Schussrate. Fetzt ordentlich gegen Truppen. Auch wenn es in der Beschreibung nicht steht, ist der Schaden gegen Gebäude auch relativ gut. Vor Türmen in acht nehmen, da sie diese nicht angreifen können ohne in deren Reichweite zu sein. Belagerungskanone Schießt langsamer als die Eisenkanone. Dafür ist aber ihre Reichweite nur etwas kleiner als die der Arbalestenschützen, aber immer noch größer als die der Kanonentürme. Eignet sich gut um Gebäude aus der Entfernung anzugreifen. Der Schaden gegen Truppen ist auch sehr gut, aber die Schussrate mindert die Effektivität. Nebelreich Scharfschütze Ohne Frage ein sehr gutes Mittel gegen normale Schützen. Sehr große Reichweite, wahrscheinlich sogar größer als die der Arbalestenschützen. Fügen sehr hohen Schaden zu, auch gegen Gebäude. Haben aber wie Kanonen Schwierigkeiten Gegner zu treffen, die in Bewegung sind(Die Kugel der Gewehre fliegt auf einen festen Punkt zu, wenn die Zieleinheit zum Zeitpunkt des Einschlags dort noch steht oder eine andere Einheit sich dorthin bewegt wird sie getroffen. Sehr gut war dies zu beobachten im letzten Teil der Nebelreichkampagne als ein einzelner Speerschleuderer des Nebelvolkes auf meine Scharfschützenarmee zurennt. 1000 Kugeln fliegen auf ihn, er wird nicht getroffen. Als er jedoch stehenblieb um selber zum Wurf anzusetzen war er sofort tot). Also am Besten versuchen aus dem Hinterhalt anzugreifen, wenn der Gegner still steht. Schwere Kavallerie und Schwertkämpfer können dieser Einheit gefährlich werden. Kundschafter Die Fähigkeit ein großes Gebiet permanent im Auge zu behalten kann auf mehrere Art und Weise nützlich sein. Z.B um feindliche Truppenbewegungen frühzeitig zu erkennen. Auch kann man den Kundschafter mit dein eigenen Schützen/Scharfschützen kombinieren um aus der maximal möglichen Entfernung anzugreifen. Dieb Diese Einheit kann sehr nützlich sein. Er kann sich ungesehen in feindlichen Lagern bewegen, also diese aus nächster Nähe auskundschaften. Zudem kann er Rohstoffe mitgehen lassen und Gebäude sowie Brücken in die Luft sprengen. 2 Sprengsätze reichen um einen Turm zu zerstören sowie für andere Gebäude mit ähnlichen Trefferpunkten. Für Brücken reicht ein Sprengsatz. Wenn Truppen sich auf einer Brücke befinden, die gesprengt wird, sterben diese genauso als ob sie auf dem Eis ertrinken würden. ![]() Forum: Siedler 5 DEdK Lösungen Tipps und Tricks © | ||
| | [Vorschau] Themenvorschau Goldene Rätsel Freispielkarte fertig ich habe gerade tatsächlich fertige Lösungen gefunden => com AO2 Freispielkarte: Goldene Rätsel - Siedler Portal http://www.siedler-games.de/forum/si...html#post65996 so ein Blödsinn da fehlt wohl ein Link oder ich bin zu blöde aber da ich mir die Arbeit gemacht habe nun auch hier meine Lösung nennt mich nun Herrn der 1000 Türme oder Till Eulenspiegel wusste ich doch nicht das Darius die Wolfshölen sprängen kann ! __________________________________________________ __________________ Hinweis : auch unten im Süden rechts in der Ecke und darüber müssen Brücken gebaut werden ! es sind 4 Wolfshöhlen Dario davor und die Dinger sind zu wie ich jetzt weiss Geschichte ! Es bleiben dan aber Wölfer übrig die Ihr beseitigen müsst ! die Insel auf 22 Uhr könnt Ihr nur im Winter betreten ! Brücken bauen geht später meist nur von einer Seite. davon müssen glaube ich insgesammt 8 gebaut werden ! Speichert Darios Notitzbuch auf dem Desktop indem Ihr ALT+ Druck drückt das Bild in Paintshop einfügt + speichert ! dann könnt Ihr es bei Bedarf am Orakel anzeigen lassen ! __________________________________________________ __________________ es geht los nach meiner ersten Lösung : die Suche nach der Dorfstelle beginnt . Auf 19 Uhr kann eine Brücke gebaut werden. davor etwas oben eine Lemmiene rechts daneben eine Schwefelmiene . auf 17.30 ist noch eine Lehmgrube ! darüber steht eine gelbe Burg. da sollen wie das Dorfzentrum errichten. erst mal reisse ich die Kirchenruine ab und die anderen Ruinen. das Dorfzentrum steht etwas oberhalb der Burg. noch sind keine Gegner aufgetaucht ! ein Arbeiter macht wieder den Aufklärer und geht nach Norden. Hochschule gebaut und Haus sowie Bauernhof. ACHTUNG : auf 9 Uhr ist ein Höhleneingang ! auf halbem Weg von der Mitte nach 3 Uhr ist noch eine Höhle auf 18 Uhr ist eine Eisenmiene ! rechts oberhalb der Mitte ist eine Schwefelgrube die freigesprängt werden muss ! ( wo ist Pilgrim ? ) Lehmmiene und Haus da sowie Bauernhof gebaut. der Steinbruch 1 liegt von 9 Uhr etwas zur Mitte nach unten ! ein weiterer liegt oberhalb der Mitte rechts der freigesprängt werden muss. Auch Eisenmiene Haus und Bauernhöf gebaut ! Hochschule ausbauen Spiel speichern ! Achtung : keine Feinde ! also Zeit genug ! Auch die Schwefelmiene ist gebaut Haus und Bauernhof wie üblich bei mir. Sägemühle und Ziegelei + Steinmetzhütte am Zentrum bauen. Festung ausbauen. einmal Blumen plus 2 % Motivation. am Zentrum Bauernhof und Haus bauen. ACHTUNG : oberhalb der Mitte liegen viele Schatzkisten an die ich nicht drann kann ! da baue ich den ersten Aussichtsturm ! am Steinbruch den ich freisprängen muss . Ich soll 50 Leibeigene machen => also Stadtzentrum ausbauen . Auf dem halben Weg von der Mitte über unserem Stadtzentrum ......... wie konnte ich das übersehen ? nach 16.30 Uhr kann ich noch einen Steinbruch bauen Haus und Bauernhof ! 2 Türme habe ich ausgebaut Bauernhof und Haus am Zentrum ausbauen Motivation erhöhen ! 3 ter Turm ausgebaut Kirche gebaut ! Stadtzentrum noch mal ausgebaut ! Buchdruck erforschen ! Lager bauen ! Schmiede bauen ! danach Bank bauen und ausbauen ! ACHTUNG : Immer noch keine Feinde in Sicht ! Fernglas erforschen . HINWEISS : denkt an die Brücke auf 19.30 Uhr in der Ecke links unten ! Kirche ausbauen für die Motivation ! Bank bauen und erweitern ! danach Mühlen und Häuser ausbauen ! für 4000 Taler Stein kaufen. ACHTUNG : Taverne NICHT bauen ( für den Beobachter ! ohne den geht bei mir eigendlich nichts nix ) dann wären nicht genug Arbeiter baubar ! auch einen Bauernhof muss ich abreissen da ich 50 Arbeiter brauche ! wenn soll ich denn noch entlassen um die fehlenden 4 Arbeiter anzuschaffen ? Lehmmiene Abgerissen => + 2 Arbeiter Schwefelmiene Abgerissen => + 2 Arbeiter Jetzt habe ich die geforderten 50 Arbeiter ================================================== ================================================== === nun die Motivation erhöhen ! verflixt ----------------------- links an der Mitte ist das 2 te Stadtzentrum ! => das ich nicht besetzen kann wie konnte ich das übersehen ? das werde ich aber erst mit Allem sichern ! Da steht nun auch endlich Pilgrim ! und noch irgend wer der was will da schicke ich Dario hin ================================================== ========================== Alle ! Türme an den Höhlen ausbauen erst wen an allen drei Höhlen 8 Kanonentürme stehen kommt kaum noch ein Wolf durch und wir können uns um die anderen Dinge wieder kümmern ! auch an den Toren in der Mitte Neue bauen und zu Kanonentürmen machen . Steine habe ich genug Ich werde noch nicht Pilgim ansprechen ! Kanonenfabirk an den Toren gebaut ! Nachdem ich eine Kapelle und Anderes für die Motivation gebaut habe soll ich mich nun um die Brücke kümmern ! an den Höhlen stehen nun reichlich Kanonentürme ! dann auch ein paar an der Brücke dann baue ich da die Architekturstube __________________________________________________ __________________________________________________ _____ so nun speichern und Pilgrim ansprechen ! weil mir ein Dorfzentrum fehlt ! ACHTUNG : genau wie es mir gedacht hatte ! an allen Höhlen kommen nun die ersten Gegner ! wie ich gelesen habe fliegen die Höhlen in die Luft wenn Dario davorsteht ! das ist echt tötlich wenn dort nicht genug Türme sind ! also da mehr Türme bauen + reparieren 5 sind Pflicht 8 sind gut ! an der Kanonenfabrik brauchen wir auch 2 Türme . die Wölfe aus den Höhlen laufen überall hin ( habe ich eine Höhle übersehen ? ) an der Höhle rechts stehen nun 8 Türme ! ist da nun Ruhe jetzt ? ACHTUNG : an allen Höhlen kommen Gegner ( Wölfe ) besonders an der Rechten ! __________________________________________________ _______________________________________________ ich speicher und gehe Schlafen __________________________________________________ _________________________________________ auf zum 3 ten Teil der Mission das Tor öffnen Murks ! Da ist eine vierte Höhle da stehen schon 20 Wölfe ! Richtung 14.30 von der Mitte . jetzt habe ich wieder mal 1000 Türme Lehmmiene und Schwefelmiene wieder aufbauen ! Wehrpflicht erforschen Schießplatz bauen Büchsenmacherei bauen und die Taverne Dann endlich die Brücke ! 4 Leibeigene rüber da muss eine zweite Brücke gebaut werden ! davor 2 Türme ! Hinweiss : es ist gut immer wieder weiter am Weg da eine neue Architekturstube zu bauen und ev. unten eine abzureissen ! an der dritten Brücke erst keinen Turm bauen sonst passt die Stube nicht ! 4 Arbeiter rüber und ganz oben muß eine dritte Brücke gebaut werden ! ich habe so eine Vorahnung für 10 000 Steine kaufen in der Zeit ein paar Türme bei den Wölfen reparieren Hinweiss : Vergest nicht ab und zu die Glocke in der Kirche zu läuten ! Uni weiter ausbauen ! wenn die Steine da sind über die dritte Brücke ! Achtung : auf 10 Uhr steht < Drake > ! Vorsicht : da stehen rote Gegner ! auch da an der Lehmgrube Türme bauen dan Haus und Lehmmiene ! dann immer in Reichweite des letzten Turms nach oben den Weg mit Türmen sichern ! wenns nach oben nicht weitergeht im Wald Türme nach rechts verteilen . nun nach unten am Ufer entlang am Weg Türme bauen ! irgendwo muß doch ein Dorfzentrum sein ! wieder für 10 000 Steine kaufen und abwarten. Im Zentrum Haus und Bauernhof ausbauen Dariostatue bauen unser Dorfzentrum erforschen . Häuser und Bauernhöfe ausbauen dann mit den 4 Arbeitern am oberen Ufer mit den Türmen weiter am Weg nach Oben ! und wieder erst Steine kaufen ! auf 11 Uhr liegt dann ein Stein der wohl von Pilgim gesprängt werden muß ! ich baue da Türme etwas links unten ist eine Eisenmiene ! auf dem Weg dahin kommen viele Gegner und 2 Arbeiter gehen ins Nirvana ! da brauchen wir die Kanonen ! die wir bauen können , wenn wir Pikgim und das Dorfzentrum haben ! also zurück zum Ufer Türme bauen und Arbeiter nachholen ! genug haben wir ja ! : ) Einen Turm haben die Kacksäcke tatsächlich nieder gemacht ! Türme fertig Gegner gelockt und viele beseitigt ! Obelisk bauen Grundwasserbrunnen bauen Steine kaufen ! ein paar Türme an den Brücken wieder abreissen ! zur Eisenmiene kann ich immer noch nicht da sind weitere Gegner im Wald da stehen nu auch Türme von mir __________________________________________________ _________________________________________ nennt mich ab jetzt : Herrn der 1000 Türme ! __________________________________________________ _________________________________________ in diesem Wald müsst Ihr für weitere Türme erst Bäume fällen ! reichlich Bäume für Steine verkaufen ! am Weg zur Eisenmiene stehen Lager die wir nur mit schweren Kanonen beseitigen können ! irgendwo musste ja der erhoffte Feind sein da wir es nachdem der Herr der Türme noch n paar gebaut hat wohl doch Zeit den Typ an dem Tor anzusprechen ! ================================================== es folgen fünf blöde Fragen die immer wieder wechseln ! lest gut ich kann nicht alles aufschreiben. sowas Bödes die Fragen sind auch noch sau dumm und gemeein ! ich fühle mich an 9 Live erinnert ! ================================================== ==== das ist mir für Heute zu dumm ! ich gehe schlafen und mach Pause mach da mal Einer eine Liste Beispiel : Frage 1: Was ist das wovon Ihr um so mehr zurücklasst je mehr Ihr nehmt ? -a Wasser -b Fusstapfen Frage 2: Gibt es ein Wort in unserer Sprache das immer falsch ausgesprochen wird ? a- Ich konnte das noch nie aussprechen ...Ctrap ... b- Macht Ihr Euch über mich lustig weil ich stottere ? Frage 3 : Was kann einen Schornstein nach oben hinabgehen aber nicht nach unten herauf ? a- Der Regen, der fällt auch durch das Dach der Burg b- Santa, weil er fett ist. Frage 4 : In einem Dorf kann man kein Bild von einem Mann mit Holzbein machen. Warum ? a- weil SIE hässlich ist b- nun, ich bin nicht gerade ein Künstler Frage 5: Diese Kreatur halb Mensch halb baum hasst die Termite wie den Floh Seine Schienen passen nicht und seine Lippen können sich lösen aber es ist keine ungewöhnliche Kreatur. a- Jollrogerder Pirat b- ist das ein Ball ? __________________________________________________ _________ wenn Ihr ein mal falsch antwortet kommen 5 neue sau dumme Fragen ! nun weiss ich das erst vernünftige Fragen kommen wenn alle Aufgaben erfüllt sind ! denkt an das Notitzbuch ! Hinweiss : die richtigen Antworten lauten wen Ihr die Aufgaben erfüllt habt => der grosse Kalte ist der höchste Berg Ein Mann hat seine Pferde nach Wochentagen benannt ! Ein leeres Loch ist leer die zwei Bauern haben alles Heu auf einen Haufen geworfen von dem sich jeder bedienen kann ! Die Themperatur geht nach oben + unten bewegt sich aber nicht ! __________________________________________________ ________________ Auch die Taverne konnte ich bauen ! Und nachdem ich die Lösung , siehe Link oben gelesen hatte war die Sache kein Problem mehr ! Hinweiss : viele Pistolenschützen und Kanonen nach 21 (9) Uhr links aussen mitnehmen ! sonst wirds schwer das Lager da platt zu machen ! und immer am Ufer lang wie gesagt ! ![]() Forum: Siedler 5 DEdK Lösungen Tipps und Tricks © | ||
| | [Vorschau] Themenvorschau
Aloha! Wenn ich in einer MP-Map die Rechner-lokale Funktion GameCallback_GUI_SelectionChanged abfange und in der gehackten Funktion Entitäten erstelle - also ein "globaler" Effekt - entsteht logischerweise ein Desync. Meine Frage: Kann ich das irgendwie umgehen? Oder lässt sich der Zusammenhang Selektionswechsel -> CreateEntity im MP generell nicht herstellen? ![]() Forum: Siedler 5 DEdK Scriptecke | ||
| | [Vorschau] Themenvorschau Forum: Siedler 5 DEdK Multiplayer | ||
| | [Vorschau] Themenvorschau
Das ist der Script : Code: --------------------------------------------------------------------------------
-- MapName: XXX
--
-- Author: XXX
--
--------------------------------------------------------------------------------
-- Include main function
Script.Load( Folders.MapTools.."Main.lua" )
IncludeGlobals("MapEditorTools")
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called from main script to initialize the diplomacy states
function InitDiplomacy()
SetHostile(1,3)
SetPlayerName(3,"Kerberros")
end
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called from main script to init all resources for player(s)
function InitResources()
-- set some resources
AddGold (0)
AddSulfur(0)
AddIron (0)
AddWood (0)
AddStone (0)
AddClay (0)
end
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called to setup Technology states on mission start
function InitTechnologies()
end
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start and after save game is loaded, setup your weather gfx
-- sets here
function InitWeatherGfxSets()
SetupNormalWeatherGfxSet()
end
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start you should setup your weather periods here
function InitWeather()
AddPeriodicSummer(10)
end
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start and after save game to initialize player colors
function InitPlayerColorMapping()
end
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start after all initialization is done
function FirstMapAction()
armeenmacher()
ki()
--einleitung()
armeen()
armme2()
armee3()
message()
test()
StartSimpleJob("VictoryJob")-- Sieg ?
StartSimpleJob("Dario")
StartSimpleJob("Brifings")
end
function test()
SpeedUpGame()
SpeedUpGame()
SpeedUpGame()
Tools.ExploreArea( -1, -1, 900 )
end
function armeen()
Army = {}
Army.player = 3
Army.id = 1
Army.strength = 3
Army.position = GetPosition("EnemySpawn")
Army.rodeLength = 1000
SetupArmy(Army)
-- Statt nun Truppen manuell mit EnlargeArmy() zu erzeugen, erweitern wir jetzt die Army-Table um einige Werte:
-- Hier wird angegeben, welcher Einheitentyp und wieviel Soldaten der Truppe angehören. Es funktionieren auch Kanonen.
-- Die Liste kann beliebig lang sein, es werden maximal soviele Truppen gespawned wie in Army.strength angegeben.
-- Nachteil gegenüber dem EnlargeArmy(): Es kann keine Erfahrung verteilt werden
Army.spawnTypes = {
{Entities.PU_LeaderPoleArm4, 8},
{Entities.PU_LeaderPoleArm4, 8},
{Entities.PU_LeaderSword4, 8},
{Entities.PU_LeaderSword4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
{Entities.PV_Cannon4, 8},
}
-- Wenn endless true ist wird am Ende der Liste wieder oben angefangen,
-- ansonsten ist die Armee am Ende besiegt und es spawned nix mehr
Army.endless = true
-- spawnPos sollte der gleiche Punkt sein wie die normale Army.position, aber es geht auch ein anderer Spawnpunkt
Army.spawnPos = GetPosition("EnemySpawn")
-- spawnGenerator ist das Gebäude aus dem die Truppen "rauskommen". Ist das Gebäude zerstört spawnen keine Truppen mehr
Army.spawnGenerator = "DARKCASTEL"
-- Nach jeweils x Sekunden spawnen neue Gegner wenn sie gebraucht werden
Army.respawnTime = 1
-- Wenn refresh true ist, werden angeschlagene Truppen wieder aufgefüllt
Army.refresh = true
-- Pro Spawn werden maximal x neue Truppen der Armee hinzugefügt falls nötig
Army.maxSpawnAmount = 100
-- Wenn noEnemy true ist, spawnen nur neue Gegner wenn kein Feind in der Nähe ist
Army.noEnemy = false
-- Die Reichweite in der sich keine Gegner befinden dürfen wenn noEnemy true ist
Army.noEnemyDistance = 0
--Mit diesen erweiterten Angaben kann man dann die Funktion aufrufen:
SetupAITroopSpawnGenerator("EnemyArmy", Army)
--EnemyArmy ist dabei ein frei wählbarer, eindeutiger Name.
--Jetzt sollten die Truppen völlig automatisch erstellt werden und bei Bedarf erneuert.
--Einen Job um die Armee zu steuern, braucht man allerdings immer noch.
end
function armme2()
Army = {}
Army.player = 3
Army.id = 1
Army.strength = 3
Army.position = GetPosition("EnemySpawn1")
Army.rodeLength = 1000
SetupArmy(Army) -- das ist was die einheiten machen sollen in diesem fall Spieler 1 angreiffen
-- Statt nun Truppen manuell mit EnlargeArmy() zu erzeugen, erweitern wir jetzt die Army-Table um einige Werte:
-- Hier wird angegeben, welcher Einheitentyp und wieviel Soldaten der Truppe angehören. Es funktionieren auch Kanonen.
-- Die Liste kann beliebig lang sein, es werden maximal soviele Truppen gespawned wie in Army.strength angegeben.
-- Nachteil gegenüber dem EnlargeArmy(): Es kann keine Erfahrung verteilt werden
Army.spawnTypes = {
{Entities.PU_LeaderPoleArm4, 8},
{Entities.PU_LeaderPoleArm4, 8},
{Entities.PU_LeaderSword4, 8},
{Entities.PU_LeaderSword4, 8},
}
-- Wenn endless true ist wird am Ende der Liste wieder oben angefangen,
-- ansonsten ist die Armee am Ende besiegt und es spawned nix mehr
Army.endless = true
-- spawnPos sollte der gleiche Punkt sein wie die normale Army.position, aber es geht auch ein anderer Spawnpunkt
Army.spawnPos = GetPosition("EnemySpawn1")
-- spawnGenerator ist das Gebäude aus dem die Truppen "rauskommen". Ist das Gebäude zerstört spawnen keine Truppen mehr
Army.spawnGenerator = "DARKCASTEL"
-- Nach jeweils x Sekunden spawnen neue Gegner wenn sie gebraucht werden
Army.respawnTime = 10
-- Wenn refresh true ist, werden angeschlagene Truppen wieder aufgefüllt
Army.refresh = true
-- Pro Spawn werden maximal x neue Truppen der Armee hinzugefügt falls nötig
Army.maxSpawnAmount = 3
-- Wenn noEnemy true ist, spawnen nur neue Gegner wenn kein Feind in der Nähe ist
Army.noEnemy = false
-- Die Reichweite in der sich keine Gegner befinden dürfen wenn noEnemy true ist
Army.noEnemyDistance = 0
--Mit diesen erweiterten Angaben kann man dann die Funktion aufrufen:
SetupAITroopSpawnGenerator("EnemyArmy", Army)
--EnemyArmy ist dabei ein frei wählbarer, eindeutiger Name.
--Jetzt sollten die Truppen völlig automatisch erstellt werden und bei Bedarf erneuert.
--Einen Job um die Armee zu steuern, braucht man allerdings immer noch.
end
function armee3()
Army = {}
Army.player = 3
Army.id = 1
Army.strength = 3
Army.position = GetPosition("EnemySpawn2")
Army.rodeLength = 1000
SetupArmy(Army)
-- Statt nun Truppen manuell mit EnlargeArmy() zu erzeugen, erweitern wir jetzt die Army-Table um einige Werte:
-- Hier wird angegeben, welcher Einheitentyp und wieviel Soldaten der Truppe angehören. Es funktionieren auch Kanonen.
-- Die Liste kann beliebig lang sein, es werden maximal soviele Truppen gespawned wie in Army.strength angegeben.
-- Nachteil gegenüber dem EnlargeArmy(): Es kann keine Erfahrung verteilt werden
Army.spawnTypes = {
{Entities.PU_LeaderPoleArm4, 8},
{Entities.PU_LeaderPoleArm4, 8},
{Entities.PU_LeaderSword4, 8},
{Entities.PU_LeaderSword4, 8},
}
-- Wenn endless true ist wird am Ende der Liste wieder oben angefangen,
-- ansonsten ist die Armee am Ende besiegt und es spawned nix mehr
Army.endless = true
-- spawnPos sollte der gleiche Punkt sein wie die normale Army.position, aber es geht auch ein anderer Spawnpunkt
Army.spawnPos = GetPosition("EnemySpawn2")
-- spawnGenerator ist das Gebäude aus dem die Truppen "rauskommen". Ist das Gebäude zerstört spawnen keine Truppen mehr
Army.spawnGenerator = "DARKCASTEL"
-- Nach jeweils x Sekunden spawnen neue Gegner wenn sie gebraucht werden
Army.respawnTime = 10
-- Wenn refresh true ist, werden angeschlagene Truppen wieder aufgefüllt
Army.refresh = true
-- Pro Spawn werden maximal x neue Truppen der Armee hinzugefügt falls nötig
Army.maxSpawnAmount = 3
-- Wenn noEnemy true ist, spawnen nur neue Gegner wenn kein Feind in der Nähe ist
Army.noEnemy = false
-- Die Reichweite in der sich keine Gegner befinden dürfen wenn noEnemy true ist
Army.noEnemyDistance = 0
--Mit diesen erweiterten Angaben kann man dann die Funktion aufrufen:
SetupAITroopSpawnGenerator("EnemyArmy", Army)
--EnemyArmy ist dabei ein frei wählbarer, eindeutiger Name.
--Jetzt sollten die Truppen völlig automatisch erstellt werden und bei Bedarf erneuert.
--Einen Job um die Armee zu steuern, braucht man allerdings immer noch.
end
function message()
Message("Dario darf NICHT sterben")
end
function armeenmacher()
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Schwert(2,8," armee1")
Schwert(2,8," armee2")
StartCountdown(20,endfunction(),false)
end
function endfunction()
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Armee(2,8," armee1")
Armee(2,8," armee2")
Speer(2,8," armee1")
Speer(2,8," armee2")
StartCountdown(20,armeenmacher(),false)
end
function ki()
MapEditor_SetupAI(2, 1, 50000, 1, "DARKCASTEL", 0, 0)
end
function VictoryJob() --Das ist ein SimpleJob
if IsDead("DARKCASTEL") then -- ist DARKCASTEL tot,dann ...
Victory() -- ... Sieg
end
end
function Dario()
if IsDead("dario") then
Defeat()
else
Move("1","dario")
Move("2","dario")
Move("3","dario")
Move("4","dario")
end
end
function Brifings()
if IsNear("dario","bishop",2000)then
createBriefingBishop()
return true
end
end
function createBriefingBishop() -- hier startet das Brifing
BriefingBishop = {}
BriefingBishop.restoreCamera = true
-- call on end of biefing
BriefingBishop.finished = BriefingBishopFinished
local page = 0
-- page #1
page = page + 1
BriefingBishop[page] = {}
BriefingBishop[page].title = "Wanderer"
BriefingBishop[page].text = "Hallo!"
BriefingBishop[page].position = GetPosition("bishop")
BriefingBishop[page].dialogCamera = true
-- page #2
page = page + 1
BriefingBishop[page] = {}
BriefingBishop[page].title = "Wanderer"
BriefingBishop[page].text = "Ich \195\188berlasse dir mein Dorf !!!."
BriefingBishop[page].position = GetPosition("bishop")
-- Npc
local npc = {}
npc.name = "bishop" --Name des Npc
npc.briefing = BriefingBishop --Briefing
npc.heroName = "dario" --Name des Helden mit dem der NPC nur spricht
npc.wrongHeroMessage = "Ich rede nur mit Dario !Mach dich Acker." -- Meldung bei falschen Ansprechpartner
npc.follow = "dario" -- Startet vom Startpunkt und bewegt sich zum anzusprechenden Npc
CreateNPC(npc)
function BriefingBishopFinished()
repleace()
player()
---------------
--ROHSTOFFE--
AddGold (1000)
AddSulfur (100)
AddIron (100)
AddWood (1000)
AddStone (1000)
AddClay (1000)
end
function repleace()
ReplaceEntity("1", Entities.PU_Serf)
ReplaceEntity("2", Entities.PU_Serf)
ReplaceEntity("3", Entities.PU_Serf)
ReplaceEntity("4", Entities.PU_Serf)
end
function player ()
ChangePlayer("HQ1", 1)
ChangePlayer("5", 1)
ChangePlayer("6", 1)
ChangePlayer("7", 1)
ChangePlayer("8", 1)
ChangePlayer("9", 1)
ChangePlayer("10", 1)
ChangePlayer("11", 1)
ChangePlayer("12", 1)
ChangePlayer("13", 1)
ChangePlayer("14", 1)
ChangePlayer("15", 1)
ChangePlayer("16", 1)
ChangePlayer("17", 1)
ChangePlayer("18", 1)
ChangePlayer("19", 1)
ChangePlayer("20", 1)
ChangePlayer("21", 1)
ChangePlayer("22", 1)
ChangePlayer("23", 1)
ChangePlayer("24", 1)
ChangePlayer("25", 1)
ChangePlayer("26", 1)
ChangePlayer("27", 1)
ChangePlayer("28", 1)
ChangePlayer("29", 1)
end
-- Quest data
MapEditor_QuestTitle = ""
MapEditor_QuestDescription = ""
------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------COMPFORTFUNKTIONEN------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
function AddTribute( _tribute )
assert( type( _tribute ) == "table", "Tribut muß ein Table sein" );
assert( type( _tribute.text ) == "string", "Tribut.text muß ein String sein" );
assert( type( _tribute.cost ) == "table", "Tribut.cost muß ein Table sein" );
assert( type( _tribute.playerId ) == "number", "Tribut.playerId muß eine Nummer sein" );
assert( not _tribute.Tribute , "Tribut.Tribute darf nicht vorbelegt sein");
uniqueTributeCounter = uniqueTributeCounter or 1;
_tribute.Tribute = uniqueTributeCounter;
uniqueTributeCounter = uniqueTributeCounter + 1;
local tResCost = {};
for k, v in pairs( _tribute.cost ) do
assert( ResourceType[k] );
assert( type( v ) == "number" );
table.insert( tResCost, ResourceType[k] );
table.insert( tResCost, v );
end
Logic.AddTribute( _tribute.playerId, _tribute.Tribute, 0, 0, _tribute.text, unpack( tResCost ) );
SetupTributePaid( _tribute );
return _tribute.Tribute;
end
function Armee(_player,_number,_pos)
CreateMilitaryGroup(_player,Entities.PU_LeaderBow4,_number,GetPosition(_pos))
CreateMilitaryGroup(_player,Entities.PU_LeaderPoleArm4,_number,GetPosition(_pos))
CreateMilitaryGroup(_player,Entities.PU_LeaderSword4,_number,GetPosition(_pos))
CreateMilitaryGroup(_player,Entities.PU_LeaderHeavyCavalry2,_number,GetPosition(_pos))
CreateMilitaryGroup(_player,Entities.PU_LeaderSoldierCavalry2,_number,GetPosition(_pos))
CreateMilitaryGroup(_player,Entities.PU_LeaderRifle2,_number,GetPosition(_pos))
CreateMilitaryGroup(_player,Entities.PV_Cannon1,_number,GetPosition(_pos))
CreateMilitaryGroup(_player,Entities.PV_Cannon2,_number,GetPosition(_pos))
CreateMilitaryGroup(_player,Entities.PV_Cannon3,_number,GetPosition(_pos))
CreateMilitaryGroup(_player,Entities.PV_Cannon4,_number,GetPosition(_pos))
end
function Bogen(_player,_number,_pos)
CreateMilitaryGroup(_player,Entities.PU_LeaderBow4,_number,GetPosition(_pos))
end
function Speer(_player,_number,_pos)
CreateMilitaryGroup(_player,Entities.PU_LeaderPoleArm4,_number,GetPosition(_pos))
end
function Schwert(_player,_number,_pos)
CreateMilitaryGroup(_player,Entities.PU_LeaderSword4,_number,GetPosition(_pos))
end
function Kavallerie(_player,_number,_pos)
CreateMilitaryGroup(_player,Entities.PU_LeaderHeavyCavalry2,_number,GetPosition(_pos))
end
function KavallerieBogen(_player,_number,_pos)
CreateMilitaryGroup(_player,Entities.PU_LeaderSoldierCavalry2,_number,GetPosition(_pos))
end
function Gewehr(_player,_number,_pos)
CreateMilitaryGroup(_player,Entities.PU_LeaderRifle2,_number,GetPosition(_pos))
end
function Kannone1(_player,_number,_pos)
CreateMilitaryGroup(_player,Entities.PV_Cannon1,_number,GetPosition(_pos))
end
function Kannone2(_player,_number,_pos)
CreateMilitaryGroup(_player,Entities.PV_Cannon2,_number,GetPosition(_pos))
end
function Kannone3(_player,_number,_pos)
CreateMilitaryGroup(_player,Entities.PV_Cannon3,_number,GetPosition(_pos))
end
function Kannone4(_player,_number,_pos)
CreateMilitaryGroup(_player,Entities.PV_Cannon4,_number,GetPosition(_pos))
end
function StartCountdown(_Limit, _Callback, _Show)
assert(type(_Limit) == "number")
assert( not _Callback or type(_Callback) == "function" )
Counter.Index = (Counter.Index or 0) + 1
if _Show and CountdownIsVisisble() then
assert(false, "StartCountdown: A countdown is already visible")
end
Counter["counter" .. Counter.Index] = {Limit = _Limit, TickCount = 0, Callback = _Callback, Show = _Show, Finished = false}
if _Show then
MapLocal_StartCountDown(_Limit)
end
if Counter.JobId == nil then
Counter.JobId = StartSimpleJob("CountdownTick")
end
return Counter.Index
end
function StopCountdown(_Id)
if Counter.Index == nil then
return
end
if _Id == nil then
for i = 1, Counter.Index do
if Counter.IsValid("counter" .. i) then
if Counter["counter" .. i].Show then
MapLocal_StopCountDown()
end
Counter["counter" .. i] = nil
end
end
else
if Counter.IsValid("counter" .. _Id) then
if Counter["counter" .. _Id].Show then
MapLocal_StopCountDown()
end
Counter["counter" .. _Id] = nil
end
end
end
function CountdownIsVisisble()
for i = 1, Counter.Index do
if Counter.IsValid("counter" .. i) and Counter["counter" .. i].Show then
return true
end
end
return false
end
function CountdownTick()
local empty = true
for i = 1, Counter.Index do
if Counter.IsValid("counter" .. i) then
if Counter.Tick("counter" .. i) then
Counter["counter" .. i].Finished = true
end
if Counter["counter" .. i].Finished and not IsBriefingActive() then
if Counter["counter" .. i].Show then
MapLocal_StopCountDown()
end
-- callback function
if type(Counter["counter" .. i].Callback) == "function" then
Counter["counter" .. i].Callback()
end
Counter["counter" .. i] = nil
end
empty = false
end
end
if empty then
Counter.JobId = nil
Counter.Index = nil
return true
end
end
end
![]() Forum: Siedler 5 DEdK Scriptecke | ||





