Entitys IN Gebäuden verschwinden lassen

» Siedler Map Source Forum » Siedler DEdK Script Forum » Entitys IN Gebäuden verschwinden lassen

Seiten: 1

mundn
#1
12.01.2018 21:03
Beiträge: 83

Entitys IN Gebäuden verschwinden lassen

Hallo zusammen,
Ich wollte mal fragen wie es möglich ist eine Entity in ein Gebäude gehen zu lassen worauf hin es verschwindet. Das Gebäude wäre vorzugsweise ein Dorfzentrum.
Das Ergebnis sollte das selbe wie das der Funktion MoveAndVanish() sein.

mfG mundn

____________________
Scripten bei Master pewe in DEdK Script-Wiki gelernt ich habe.

mcb
#2
12.01.2018 21:24
Beiträge: 1472

Zuerst musst du die passenden Positionen raussuchen: Eine vor dem Gebäude, von wo aus das Entity starten soll (DZ -400/-600, wenn ich die xml richtig lese) und eine wo das Entity dann verschwindet (DZ -400/+180)

Dann musst du das Entity zur Startposition schicken und wenn es angekommen ist mit

Logic.SetTaskList(GetID(entity), TaskLists.TL_LEAVE_KEEP)
Logic.MoveEntity(GetID(entity, pos2.X, pos2.Y)


in das Gebäude schicken. (Die LeaveKeep TL ignoriert Blocking, das MoveEntity überschreibt die Target-Koordinaten die von SetTaskList auf -1 gesetzt werden)

Zuletzt musst du nur noch das Entity löschen, sobald es nah genug an der 2. Position ist.

Sag Bescheid, wenn ich dir damit schnell ne Comfort schreiben soll

mundn
#3
12.01.2018 23:10
Beiträge: 83

Vielen Dank für die schnelle Antwort.
Vermutlich werde ich mich erst morgen dransetzen und es ausprobieren.
Auch würd ich gern wissen, was xml ist und ob es eine Liste dieser logic.funktionen gibt. ( Am besten mit Erklärungen )

EDIT: hab gerade deine sammlungen zu logic.funktionen entdeckt und schau sie mir mal an

____________________
Scripten bei Master pewe in DEdK Script-Wiki gelernt ich habe.

Dieser Beitrag wurde von mundn am 12.01.2018 um 23:26 editiert.

mcb
#4
13.01.2018 00:35
Beiträge: 1472

xml steht für Extensible Markup Language, ist praktisch ein Textformat das Menschen und Computer relativ gut lesen können.
Ich hab mich da speziell auf die xml-Datei bezogen in der PB_VillageCenter1 definiert ist, da stehen solche Sachen wie HP, blocking und eben die Spawnpositionen drin. (Wenn du da dran willst musst du die data.bba mit dem bba-Tool entpacken.)

Zu den Logic-Funktionen: Die meisten der normalen Lua-Funktionen greifen irgendwann auf die Logic (oder andere C++Funktionen) zurück. Fast alle C++Funktionen in Siedler haben aber die Eigenschaft, das sie ihre Parameter nicht prüfen und bei falschen Parametern gerne mal crashen. Ich hab auch nicht die einzige Referenz gemacht, im Script-Wiki sollte auch eine sein (Wahrscheinlich mit besseren Erklärungen).

mundn
#5
13.01.2018 01:04
Beiträge: 83

Ich habe es jetzt mit ein wenig rum probieren geschafft. Alles läuft wie ich es mir vorgestellt habe. Vielen Dank noch mal für die Erklärungen.

____________________
Scripten bei Master pewe in DEdK Script-Wiki gelernt ich habe.

Seiten: 1

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

Impressum