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...

Drake
#5
21.06.2010 14:03
Beiträge: 132

ich weiß
aber es funzt immer noch net

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

Drake
#7
22.06.2010 13:18
Beiträge: 132

Danke schön warrior ich habs nun endlich geschnallt

Seiten: 1

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

Impressum