Moin, wieder mal ich... kann der Khana Tempel auf fremden Territorium, nachdem er zerstört wurde, zum kompletten Verschwinden gebracht werden? Wenn ja, wie? Die Scriptentity ist ja dann nicht mehr da...
Blogs
Moin, wieder mal ich... kann der Khana Tempel auf fremden Territorium, nachdem er zerstört wurde, zum kompletten Verschwinden gebracht werden? Wenn ja, wie? Die Scriptentity ist ja dann nicht mehr da...
Hallo,
wenn ich jetzt wüsste, was ich nicht mehr weiß, was der zerstörte Tempel für eine Entitie ist, dann könnte ich Dir weiterhelfen. Ich vermute einfach mal das unten Stehende. Ansonsten musst Du halt selbst mal testen, was Du statt "B_KhanaTemple_Destroyed" nutzen kannst.
Auf jeden Fall löscht Dir nachfolgende Funktion beim Aufruf 10 dieser Dinger weg!
Aber es gibt noch andere Möglichkeiten.Code:local zerstoert1 = {Logic.GetEntities(Entities.B_KhanaTemple_Destroyed, 10)} for _, v1 in ipairs(zerstoert1) do DestroyEntity(v1) end
Ich habe es gerade einmal getestet, die Tempelreste werden auf der Karte gesucht und zerstört. Es war also die richtige Entitie. Man könnte natürlich genauso noch den Schutthaufen entfernen und einen Wiederaufbau kann man zusätzlich verhindern.
Moin und danke für deine Hilfe und Mühe OKEF! Bitte erkläre mir Scriptlaien doch etwas genauer, wie und wo ich diese Funktion einsetzen müsste ...
Ja, es geht genau um den Schutthaufen. Der Khana Tempel steht in der feindlichen Stadt, wird er zerstört, erfolgt ein Rittertausch, der neue Ritter möchte die Trümmer beseitigen lassen. Wollte ich eigentlich wegsprengen. Da ich aber nur mit dem Questsystem gearbeitet habe, um den Tempel zu beseitigen, haben die Trümmer für mich keinen auffindbaren Scriptnamen mehr.
Scripten kann ich nicht, fertige Funktionen reinpacken und anpassen bekomme ich meist hin.
local zerstoert1 = {Logic.GetEntities(Entities.B_KhanaTemple_Destroye d, 10)} hier könnte man auch nur für das Gebiet den Aufruf nehmen. for _, v1 in ipairs(zerstoert1) do DestroyEntity(v1) end
GetEntitiesOfCategoryInTerritory(Territory,EntityC ategories......, 0
Hallo esmebritt,
Du kannst ganz einfach z.B. folgende Funktion daraus machen:
Diese Funktion kannst Du einfach nach der FMA ins Kartenscript einfügen und aufrufen kannst Du sie bei Bedarf.Code:function Ruinenlos() local zerstoert9 = {Logic.GetEntities(Entities.B_KhanaTemple_Destroyed, 10)} for _, v9 in ipairs(zerstoert9) do DestroyEntity(v9) end local zerstoert1 = {Logic.GetEntities(Entities.B_Castle_Rubble_NE, 10)} for _, v1 in ipairs(zerstoert1) do DestroyEntity(v1) end local zerstoert2 = {Logic.GetEntities(Entities.B_Storehouse_Rubble, 10)} for _, v2 in ipairs(zerstoert2) do DestroyEntity(v2) end local zerstoert3 = {Logic.GetEntities(Entities.B_Cathedral_Rubble, 10)} for _, v3 in ipairs(zerstoert3) do DestroyEntity(v3) end local zerstoert4 = {Logic.GetEntities(Entities.B_Rubble_8x8, 10)} for _, v4 in ipairs(zerstoert4) do DestroyEntity(v4) end local zerstoert5 = {Logic.GetEntities(Entities.B_Rubble_8x10, 10)} for _, v5 in ipairs(zerstoert5) do DestroyEntity(v5) end local zerstoert6 = {Logic.GetEntities(Entities.B_Rubble_10x12, 10)} for _, v6 in ipairs(zerstoert6) do DestroyEntity(v6) end local zerstoert7 = {Logic.GetEntities(Entities.B_Rubble_12x12, 10)} for _, v7 in ipairs(zerstoert7) do DestroyEntity(v7) end local zerstoert8 = {Logic.GetEntities(Entities.B_Rubble_10x10, 10)} for _, v8 in ipairs(zerstoert8) do DestroyEntity(v8) end end
Es wird nach Ruinen auf der Karte gesucht. In der Variablen "zerstoert1 bis 9" liegen, bei Vorhandensein, auch zerstörte Burgen, zerstörte Lagerhäuser, zerstörte Kirchen und Schutthaufen in den verschiedenen Größen. Bis zu 10 Objekte werden hier jeweils gefunden und zerstört.
Man kann das Ganze auch noch zusammenfassen, aber dann erkennst Du weniger Details und kannst bei Bedarf nicht ohne weiteres einfach einen Abschnitt entfernen.
Wie bereits geschrieben, kannst Du natürlich die zu löschenden Objekte auch punktgenau suchen oder spielerabhängig oder in Abhängigkeit vom Territorium usw. Hier im Beispiel wird auf der ganzen Karte nach diesen Objekten gefahndet und dann gelöscht. Also sehr universell, da Ruinen ohnehin meist stören. Wenn Du aber von diesen welche auf der Karte benötigst, dann solltest Du punktgenau suchen. Sollte ein Test der Funktion fehlschlagen, dann gib mal eine Fehlermeldung heraus, denn zum Testen reicht jetzt die Zeit nicht.
Fantastisch!! Vielen Dank lieber, lieber OKEF, es klappt hervorragend, habe mit KnightDistance den Test gemacht und bin begeistert. Musste nicht punktgenau suchen, weil zu diesem Zeitpunkt keine kaputten Lagerhäuser usw. da sind. Bin restlos begeistert und kann endlich weitermachen.
Ich versuche jetzt das Ganze mal auf meine Bedürfnisse anzupassen. Melde mich bestimmt, wenn das dann mal wieder nicht von mir richtig umgesetzt wird. (Möchte entweder nen ExplosionsEffekt einbauen oder Arbeiter, die Trümmer abtragen, bis dann deine Funktion (verschwunden) aktuell ist)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen