HELP ! Absturz bei Laden
Willkommen in der Transport Fever Community
Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.
Die Registrierung und Nutzung ist selbstverständlich kostenlos.
Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.
Das Team der Transport-Fever Community
-
-
Hast du die Beta-Version von TPF aktiv?
-
Ups, in der Tat, Version vom 30.11. (18094). Hatte ich gar nicht gemerkt, aber ist das wohl.
Heute morgen gings noch ohne Probleme.Ursächlich ist das wohl der Balancing mod von seamon in der calulcate costs routine.
Da mir die Kosten eh wurscht sind, hab ich einen Teil mal ganz rausgenommen, dann gehts. -
Hatte eben ein ähnliches Problem und das lag wohl auch daran, das ich im "external Testing" Channel war. Gab auch ein 14MB großes TPF Update. Nachdem ich wiederi n den "normalen" Ast gewechselt bin, lief es wieder.
-
-
Typisch auch, dass es beim BR 450 passiert, da ist ja wohl in Bezug auf Wendezüge was geändert worden.
-
Das Problem ist entstanden, weil der Re_450_bt neu eine "Engine" hat, die jedoch leer ist. Es betrifft aber noch weitere Fahrzeuge, die das nun haben.
Theoretisch gibt es zwei Möglichkeiten, diesen Fehler zu beheben.
- der Re_450_bt (und den anderen) im Script wird auch eine neue Engine hinzugefügt
- eine zusätzliche Sicherheitsabfrage im Scipt wird eingebautIch möchte mir da aber erst noch die Meinung von @Merk anhören, er ist in solchen Dingen besser als ich.
-
@Seamon: Es sollte reichen im "calculateCosts" Bereich anstatt if engine.power > 0 and engine.tractiveEffort > 0 then if engine and engine.power > 0 and engine.tractiveEffort > 0 then zu nutzen.
Zur Sicherheit könnte man auch noch if capacity.capacity > 0 then zu if capacity and capacity.capacity > 0 then ändern, wer weiß, was UG noch so einfällt.^^ -
Kurze Frage an lua Experten: Ich hatte das versucht, allerdings mit
if engine ~= nil and engine.power > 0 and engine.tractiveEffort > 0 then ...Das hat den Fehler nicht beseitigt. Ist das nochmal ein Unterschied zu "if engine ..." ?
Könnte es sein, dass der lua Interpreter alle Ausdrücke zunächst vor der Verknüpfung evaluiert? Dann muss man das "if" schachteln?
-
Der Hotfix von @Merk funktioniert tatsächlich nicht, da die Fahrzeuge ja eine "Engine" haben, jedoch keine "Power" und keinen "TractiveEffort" bzw. der Abgleich >0 gilt als true, wenn der Wert leer ist.
Mit if engine and engine.power and engine.power > 0 and engine.tractiveEffort > 0 then bringe ich mein Script allerdings wieder absturzfrei zum Laufen. Ich schaue, dass ich heute (spätestens morgen) noch eine stabile Version für den neuen Patch veröffentlichen kann.
-
Zur Sicherheit würde ich dann noch ein and engine.tractiveEffort nach dem power einfügen. Bei den Capacities muss es dann auch if capacity.capacity and capacity.capacity > 0 then sein.
-
Darauf bin ich auch gekommen, wollte aber mein Post oben aus lauter Faulheit nicht mehr editieren .
-
~=
Soll das "ungleich" bedeuten? Wo schreibt man das denn so? Also nicht herablassend gemeint, eher Interesse. Man lernt ja nie aus. Ich kenn es eigentlich nur als != im sinne von "not gleich", also ! bedeuted ja immer "not". Bei lua nutzt das alles aber glaube eh nix, da musst du einfach "not" direkt hinschreiben. Also irgendwas ala if engine not nil...
-
~= ist in Lua das Gegenteil von ==. not ergibt immer das Gegenteil dessen, was die Umwandlung der eigentlichen Aussage zum einem Wahrheitswert ergeben würde. Also not nil liefert true (da nil als false interpretiert wird). Die richtige Version deines Beispiels wäre als if not (engine == nil) then oder eben if engine ~= nil then oder if engine then (solange engine nicht false ist, was wir hier ausschließen können)
-
!= ist c, cpp, cs; in lua eben ~=. Um die Verwirrung zu komplettieren, kann man in lua aber Operatoren umdefinieren ( -> "Garrys mod") dann gibts auf einmal doch != und auch andere Sprachelemente aus c in lua.