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

SiteEngine v1.5.0 by nevermind, ©2005-2007
Design by SpiderFive (www.siedler-games.de) - English translation by juja

Impressum