Was ist los?
» Siedler Map Source Forum » Siedler DEdK Script Forum » Was ist los?
Seiten: 1
Drake
|
#1 21.06.2010 12:41 Beiträge: 132 |
Was ist los?
Hey kann mir bitte jemand sagen was hier Falsch ist ich krieg das "Ding" net zum laufen Danke im vorraus (Der SetPosition comfort code ist drin )
function Hoele() pos = GetPosition("E2") pX = pos.X pY = pos.Y Data = {Logic.GetPlayerEntitiesInArea(1, 0, pX, pY, 500, 6)} for i = 2, Data[1]+1, 1 do SetPosition(Data[i],"I2") end pos = GetPosition("I1") pX = pos.X pY = pos.Y Data = {Logic.GetPlayerEntitiesInArea(1, 0, pX, pY, 500, 6)} for i = 2, Data[1]+1, 1 do SetPosition(Data[i],"E1") end end
Und in der FMA:
StartSimpleHiResJob("Hoele")
Ps: Hier die Fehlermeldung fals ihr die benötigt:
[ 2010/06/21 12:37:36 ] ERROR: DEBUG ERROR!
Error: LUA_ERRRUN: [string "Map Script"]:164: assertion failed!
Additional info: Game turn 3849 (6:24)
Dieser Beitrag wurde von Drake am 21.06.2010 um 13:34 editiert.
CineMachus
|
#2 21.06.2010 13:09 Beiträge: 41 |
Ist ja ein aussagekräftiger Titel...
Funzt nicht, weil schlicht und ergreifend die zweite Schleife nicht geschlossen wird, es fehlt ein "end".
Und wie beendest du deinen SimpleHiResJob?
Drake
|
#3 21.06.2010 13:36 Beiträge: 132 |
Guck genauer hin am ende sind 2 ends kann ja mal passieren
Ich beende ihn garnet er muss immer laufen
CineMachus
|
#4 21.06.2010 13:44 Beiträge: 41 |
Zitat von Drake:
Guck genauer hin am ende sind 2 ends...
Wenn ich genauer hingucke sehe ich, das du nachträglich editiert hast...
warrior1024
|
#6 21.06.2010 14:26 Beiträge: 345 |
function Hoele() pos = GetPosition("E2") pX = pos.X pY = pos.Y Data = {Logic.GetPlayerEntitiesInArea(1, 0, pX, pY, 500, 6)} for i = 2, Data[1]+1, 1 do SetPosition(Data[i],"I2") --Ganz böse!!! end pos = GetPosition("I1") pX = pos.X pY = pos.Y Data = {Logic.GetPlayerEntitiesInArea(1, 0, pX, pY, 500, 6)} for i = 2, Data[1]+1, 1 do SetPosition(Data[i],"E1") --Ganz böse!!! end end
Ich habe deinen Code mal ordentlich eingerückt, damit man die Struktur sieht. Außerdem habe ich 2 Kommentare hinterlassen, die dich auf die Fehlerquelle aufmerksam machen.
SetPosition braucht zuerst eine Entity(da Comfort Name oder ID), dann eine Position:
Es ist zwar möglich, eine Position als eine Nummer zu speichern, wird aber nicht gemacht, da 2 Koordinaten einfacher sind.
Der 2.Parameter muss ein Table sein! Und zwar das:
{X = 3200, Y = 3200}
Die Position hier ist genau die Mitte der Map bei einer Mapgröße von 64 Metern. So ein Table wird übrigens von GetPosition zurückgegeben.
____________________
"Banken machen keine Fehlentscheidungen! Haben Euch das Eure Eltern nicht beigebracht?"
- Bankier Samael Silren, Enderal
Seiten: 1