Move destination
» Siedler Map Source Forum » Siedler DEdK Script Forum » Move destination
Seiten: 1
AdeBont
|
#1 19.12.2014 22:11 Beiträge: 666 |
Move destination
Is there a way to get the destination position of a moving entity?
____________________
AdB
---------------------------------
Now faith is the substance of things hoped for,
the evidence of things not seen.
Heb 11:1
yoq
|
#2 19.12.2014 22:49 Beiträge: 91 |
SCV.GetEntityMoveDestination(_entity)
But Kantelo forgot to convert the numbers with Int2Float()
____________________
S5 & S6: Lua Script Debugger (Thread) | bbaTool
S5: S5Hook (Thread) | S5 GUI Editor | S5 Grafikupgrade + nVidia fix | Win10 Creators Update
Kantelo
|
#3 20.12.2014 16:22 Beiträge: 357 |
Zitat von yoq:
SCV.GetEntityMoveDestination(_entity)
But Kantelo forgot to convert the numbers with Int2Float()
Oh, danke, dass du es sagst!
So ein Blödsinn echt; manchmal frage ich mich wo mein Hirn bei der Veröffentlichung geblieben ist
Wird sofort behoben....
Play4FuN
|
#4 15.02.2018 16:14 Beiträge: 704 |
Hat daraus schon mal jemand erfolgreich eine Abfrage gebaut, ob ein Siedler eine Position erreichen kann?
Also z.B. so:
- lies Zielkoordinaten
- bewege Siedler zum Ziel
- mach den SCV Check -> Koordinaten
- berechne Distanz zw. Ziel und SCV Check Koordinaten
- Distanz größer ?200? -> nicht erreichbar
- Siedler anhalten
Müsste eigtl im PRINZIP so gehen, nur leider geht das zu schnell, man braucht wohl nen Delay, nachdem der erste Move ausgeführt wird, damit die SCV geupdated werden...
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
Kantelo
|
#5 15.02.2018 17:42 Beiträge: 357 |
Soweit ich weiß nein
Aber im Allgemeinen geht das um einiges schneller indem man am Zielpunkt eine Skript-Entity erstellt und dann abfrägt ob Logic.GetSector(entity) == Logic.GetSector(scriptEntity) ist.
Funktioniert nur leider bei Brücken nicht, da diese zwei Sektoren teilen, dafür bräuchte man dann wohl die von dir beschriebene Methode.
Brauchst du diese Abfrage oder ist es nur ein Gedankenexperiment?
Play4FuN
|
#6 15.02.2018 20:14 Beiträge: 704 |
Habe GetSector noch nie verwendet. Bedeutet das also, ein Sektor = eine Fläche wo jeder Punkt dieser Fläche erlaufen werden kann? Interessant...
Brauchst du diese Abfrage oder ist es nur ein Gedankenexperiment?
Hehe, primär wollte ich sehen, ob das klappt. Ich möchte soetwas evtl in meine eigene KI einbauen. Diese wächst und wächst immer weiter und ich habe eigentlich als Ziel von der Siedler-Army gänzlich los zu kommen (meine Armeen wären dann auch bloß Truppen in tables... bräuchten dann aber die Funktionalitäten wie nahe Gegner finden usw) -> dazu will ich keinen Wegfindungsalgorithmus implementieren müssen
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
mcb
|
#7 15.02.2018 20:31 Beiträge: 1472 |
Genau so funktioniert ein Sector (es seindenn, Brücken sind im Spiel). Musst aber mit Sector==0 aufpassen, das ist blocking.
S5Hook.GetTerrainInfo gibt auch den Sector zurück, musst also nicht extra ein entity erstellen.
Ich schreib auch an meiner eigenen KI. Der Armee-Teil davon funktioniert schon länger.
Seiten: 1