News:

Use the "Forum Search"
It may help you to find anything in the forum ;).

[Script AI] industry_connection_planner.nut - planned_convoy.max_speed

Started by Frank, March 29, 2017, 10:15:28 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Frank

in Zeile 59 steht 'planned_convoy = prototyper.best'

Damit sollte die Abfrage planned_convoy.max_speed danach doch die Geschwindigkeit zurückgeben.

Versuche ich aber für die Wegauswahl ( Fahrzeuggeschwindigkeit + 20 als Obergrenze für die Wegauswahl ) ein

local way_max = planned_convoy.max_speed + 20

kommt es zum Scriptfehler.

Die Auswertung

if (cnv_valuator.way_max_speed >= planned_convoy.max_speed && cnv_valuator.way_max_speed < way_max )

geht auch ins Leere, da Wege mit wesentlich geringerer Geschwindigkeit gewählt werden. Die Weggeschwindigkeit soll gleich oder größer der Fahrzeuggeschwindigkeit sein aber nicht mehr als 20 km/h über der Fahrzeuggeschwindigkeit liegen.

Frank

Quote from: Frank on March 29, 2017, 10:15:28 AM
in Zeile 59 steht 'planned_convoy = prototyper.best'

Damit sollte die Abfrage planned_convoy.max_speed danach doch die Geschwindigkeit zurückgeben.
....

nun ja, im log steht folgendes für planned_convoy.max_speed

Quote...
Script: Print:   industry_connection_planner_t: planned_convoy.max_speed = -727379968
...

Dabei ist es egal welches Fahrzeug drüber steht. Sind immer diese -727379968.

Allerdings ist best ein geschachteltes Array ( Array mit weiteren Arrays in den Feldern ).

Quote...
Script: Print:   Best[0] = Ochsen2
Script: Print:   Best[1] = Horsecoalcariage

Weis aber gerade auch nicht wo diese Ausgabe her kommt. Muss ich erst suchen.

Dwachs

also bei mir gibt dieser Code hier

// original industry_connection_planne
if (planned_convoy == null) {
if (prototyper.step().has_failed()) {
return r_t(RT_ERROR)
}

planned_convoy = prototyper.best
}
// eingefuegt
print("best " + planned_convoy.min_top_speed + " / " + planned_convoy.max_speed)

was vernuenftiges aus. Dabei ist max_speed die Maximalgeschwindigkeit, die das Ding fahren darf, min_top_speed ist die maximal erreichbare Geschwindigkeit des vollbeladenen convois.
Parsley, sage, rosemary, and maggikraut.

Frank

if (planned_convoy == null) {
if (prototyper.step().has_failed()) {
return r_t(RT_ERROR)
}

planned_convoy = prototyper.best
}
    print("best " + planned_convoy.min_top_speed + " / " + planned_convoy.max_speed)

// fill in report when best way is found
local r = report_t()
// plan way
if (planned_way == null) {
local way_list = way_desc_x.get_available_ways(wt_road, st_flat)
local best_way = null
local best = null

foreach(way in way_list) {
cnv_valuator.way_maintenance = way.get_maintenance()
cnv_valuator.way_max_speed   = way.get_topspeed()
       
        print("planned_convoy.max_speed = " + planned_convoy.max_speed)
        print("cnv_valuator.way_max_speed = " + cnv_valuator.way_max_speed)



Ausgabe:
Script: Print: best 10817536 / -727379968
Script: Print: planned_convoy.max_speed = -727379968
Script: Print: cnv_valuator.way_max_speed = 40


das sind meine Ergebnisse mit v120.2.2 GDI pak64.german 112.3.5

Dateien von hier

allerdings ohne dem ' print("best " + planned_convoy.min_top_speed + " / " + planned_convoy.max_speed)'

Dwachs

Kanns nicht reproduzieren. Was wird denn als bester Convoy ausgegeben?
Parsley, sage, rosemary, and maggikraut.

Frank

script-ai-4.log

und die leeren Test-Karten dazu ( alle mit 120.2.2 erstellt )
1936_pak64german.sve
1956_pak64german.sve
1976_pak64german.sve

glaube zwar nicht das es daran liegt

Win 10 ( 1607 ) 64bit

AMD Athlon(tm) X4 740 Quad Core Processor 3.20 GHz