Mordred
06.02.2010 19:29
726 mal angesehen

Ruine aus Skriptentity

Die Ruine kann im Mapeditor gesetzt werden, und dann muss noch im Skript dass da eingefügt werden: siehe Erster eintrag


Auf das Bild klicken, um es in Originalgröße zu sehen (190,87 KB)


Kommentare

» Kommentar schreiben

Wladimir
07.02.2010 09:40

nunja ich erstelle eh keine Doodads per Script. Warum auch? Kann ich doch auch im Editor setzen. Nur wenn ich einen Turm in geblocktes Gebiet setzen will, nutze ich dazu das Script.

aCid
06.02.2010 21:32

bis es mit was anderem kollidiert und dann? ist mist.

Wladimir
06.02.2010 21:19

die Fehlermeldung taucht aber nur auf, wenn du debugscript aktiviert hast. Wenn nicht ists egal!

aCid
06.02.2010 20:10

@warrior:
http://www.siedler-maps.de/for...&postid=55298#posting55298

das schon probiert?

warrior1024
06.02.2010 20:06

Mir ist schon klar, wie man sowas macht. Ich habe auch schon eine Funktion geschrieben, die ein Viertel mit Uni, 4 Sägewerken, 4 Lehmhütten, 4 Steinmetze, ein paar Bauernhöfen und ein paar Wohnhäusern. Dann gibt es da noch ein DZ, dass zwar erstellt wird, aber ne Fehlermeldung auslöst.
Hier zu sehen:

http://www.siedler-maps.de/forum.php?action=showthread&postid=55196#posting55196

Mordred
06.02.2010 19:54

Na gut, das Copy and Pasteverfahren klappt hier nicht rein.
Da nochmal:

function MachNeRuine(_pos,_player)
if type(_pos) ~= "table" then
  _pos = GetPosition(_pos)
 end
local X = math.floor(_pos.X/100)*1
local Y = math.floor(_pos.Y/100)*1
local offsetX = -5 + X *100
local offsetY = -5 + Y *100
 local MachNeRuine={
     {"XD_RuinHouse2",offsetX+0,offsetY+0,0,0,""},
     {"XD_RuinHouse2",offsetX-722,offsetY-510,90,0,""},
     {"XD_RuinWall6",offsetX+500,offsetY+20,90,0,""},
     {"XD_RuinWall2",offsetX-740,offsetY-230,180,0,""},
     {"XD_RuinWall6",offsetX-590,offsetY+40,180,0,""},
     {"XD_RuinSmallTower2",offsetX+250,offsetY+140,157,0,""},
     {"XD_RuinSmallTower2",offsetX-760,offsetY+140,171,0,""},
     {"XD_RuinResidence2",offsetX+630,offsetY-680,0,0,""},
     {"XD_RuinResidence2",offsetX+630,offsetY-240,0,0,""},
     {"XD_RuinTower2",offsetX-310,offsetY+210,350,0,""},
     {"XD_Stone1",offsetX-500,offsetY-100,0,0,""},
     {"XD_Willow1",offsetX+450,offsetY+40,0,0,""},
     {"XD_GreeneryBush1",offsetX+430,offsetY-860,0,0,""},
     {"XD_GreeneryBush5",offsetX-440,offsetY-450,0,0,""},
     {"XD_Bush2",offsetX+300,offsetY-370,317,0,""},
     {"XD_Bush2",offsetX-430,offsetY-750,57,0,""},
     {"XD_RuinFragment4",offsetX-550,offsetY-840,57,0,""},
     {"XD_RuinFragment6",offsetX+260,offsetY-660,57,0,""},
     {"XD_RuinWall4",offsetX-710,offsetY-900,215,0,""},
     {"XD_RuinResidence2",offsetX-320,offsetY-1170,230,0,""},
     {"XD_RuinTower2",offsetX+510,offsetY-990,290,0,""},
     {"XD_Willow1",offsetX-460,offsetY-840,0,0,""},
     {"XD_BushMoor3",offsetX+730,offsetY-1110,86,0,""},
     {"XD_BushMoor4",offsetX+540,offsetY-1270,15,0,""},
     {"XD_BushMoor4",offsetX-80,offsetY-1520,44,0,""},
     {"XD_DeadTree06",offsetX+20,offsetY-450,44,0,""},
     {"CU_Sheep2",offsetX-230,offsetY-650,320,_player,""},
     {"CU_Sheep2",offsetX+0,offsetY-340,250,_player,""},
     {"CU_Sheep2",offsetX+1140,offsetY+0,290,_player,""},
     {"CU_Sheep2",offsetX+480,offsetY-1600,350,_player,""},
     {"CU_Sheep2",offsetX-570,offsetY-1500,250,_player,""},
     {"CU_Sheep2",offsetX-750,offsetY-1400,0,_player,""},
     {"CU_Sheep2",offsetX-1350,offsetY-170,290,_player,""},
     {"CU_Sheep2",offsetX-1500,offsetY-730,320,_player,""},
     }
   for i = 1, table.getn(MachNeRuine) do
  Logic.CreateEntity(Entities[MachNeRuine[i][1]],MachNeRuine[i][2],MachNeRuine[i][3],MachNeRuine[i][4],MachNeRuine[i][5],MachNeRuine[i][6])
 end
end 

Mordred
06.02.2010 19:50

Der Trick ist,
erst einen Festen Punkt in der Karte zu suchen, zb. X = 10000 und y = 10000, dann das Element im Mapeditor zu gestalten,
ein programm für den Taschenrechner schreiben, der einem
die X und Yposition von 10000 abzieht, dann die Entitäte bennennen und einzutragen.
In der Markiertliste unten mitte steht die position der Entities und deren "orientation". die muss man quasi abschreiben.

Mordred
06.02.2010 19:47

ne halbe Stunde, bin gerade fertig geworden.

warrior1024
06.02.2010 19:39

Wow, von den ganzen Einträgen sieht doch recht wenig? Zum Beispiel sind von den 8 Schafen nur 1 zu sehen, aber für einen Platzbedart von 130 m² nicht schlecht! Und wieviel Arbeit wohl dahinter steckt, bis alle Elemente passen! Wie lange hast du daran gearbeitet?

Mordred
06.02.2010 19:30

in der FMA:

MachNeRuine("AlteBurg",

und untendran:

function MachNeRuine(_pos,_player)
if type(_pos) ~= "table" then
_pos = GetPosition(_pos)
end
local X = math.floor(_pos.X/100)*1
local Y = math.floor(_pos.Y/100)*1
local offsetX = -5 + X *100
local offsetY = -5 + Y *100
local MachNeRuine={
{"XD_RuinHouse2",offsetX+0,offsetY+0,0,0,""},
{"XD_RuinHouse2",offsetX-722,offsetY-510,90,0,""},
{"XD_RuinWall6",offsetX+500,offsetY+20,90,0,""},
{"XD_RuinWall2",offsetX-740,offsetY-230,180,0,""},
{"XD_RuinWall6",offsetX-590,offsetY+40,180,0,""},
{"XD_RuinSmallTower2",offsetX+250,offsetY+140,157,0,""},
{"XD_RuinSmallTower2",offsetX-760,offsetY+140,171,0,""},
{"XD_RuinResidence2",offsetX+630,offsetY-680,0,0,""},
{"XD_RuinResidence2",offsetX+630,offsetY-240,0,0,""},
{"XD_RuinTower2",offsetX-310,offsetY+210,350,0,""},
{"XD_Stone1",offsetX-500,offsetY-100,0,0,""},
{"XD_Willow1",offsetX+450,offsetY+40,0,0,""},
{"XD_GreeneryBush1",offsetX+430,offsetY-860,0,0,""},
{"XD_GreeneryBush5",offsetX-440,offsetY-450,0,0,""},
{"XD_Bush2",offsetX+300,offsetY-370,317,0,""},
{"XD_Bush2",offsetX-430,offsetY-750,57,0,""},
{"XD_RuinFragment4",offsetX-550,offsetY-840,57,0,""},
{"XD_RuinFragment6",offsetX+260,offsetY-660,57,0,""},
{"XD_RuinWall4",offsetX-710,offsetY-900,215,0,""},
{"XD_RuinResidence2",offsetX-320,offsetY-1170,230,0,""},
{"XD_RuinTower2",offsetX+510,offsetY-990,290,0,""},
{"XD_Willow1",offsetX-460,offsetY-840,0,0,""},
{"XD_BushMoor3",offsetX+730,offsetY-1110,86,0,""},
{"XD_BushMoor4",offsetX+540,offsetY-1270,15,0,""},
{"XD_BushMoor4",offsetX-80,offsetY-1520,44,0,""},
{"XD_DeadTree06",offsetX+20,offsetY-450,44,0,""},
{"CU_Sheep2",offsetX-230,offsetY-650,320,_player,""},
{"CU_Sheep2",offsetX+0,offsetY-340,250,_player,""},
{"CU_Sheep2",offsetX+1140,offsetY+0,290,_player,""},
{"CU_Sheep2",offsetX+480,offsetY-1600,350,_player,""},
{"CU_Sheep2",offsetX-570,offsetY-1500,250,_player,""},
{"CU_Sheep2",offsetX-750,offsetY-1400,0,_player,""},
{"CU_Sheep2",offsetX-1350,offsetY-170,290,_player,""},
{"CU_Sheep2",offsetX-1500,offsetY-730,320,_player,""},
}
for i = 1, table.getn(MachNeRuine) do
Logic.CreateEntity(Entities[MachNeRuine[1]],MachNeRuine[2],MachNeRuine[3],MachNeRuine[4],MachNeRuine[5],MachNeRuine[6])
end
end

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

Impressum