Ich habe alle Subtype-nummer, die erfasst werden sollen in ein array geschrieben. Nun möchte ich in einer IF Abfrage, dass die Nummer des Subtype der aktuellen Ware mit den Nummern in dem Array abgeglichen werden. Nur wie macht man das in einer IF? Einfach nur den Arraynamen hinschreiben ergibt immer ein False.
Alle Nummer in eine IF Abfrage packen funktioniert nicht. Bei 11 Nummer ging das noch, bei mehr wird immer ein False produziert.
(Darf ein Array eine Zahl im Namen haben? Liegt da der Fehler?...)
Achja: Momentan habe ich noch eine else abfrage, die mir "fehlende" einträge (also einträge die mit der if halt nicht erfasst werden) mit nem Hinweis in die log schreibt.
Code:
Code: Select all
write to log file 1 append=[False] value=''
$array.erl.sub.16 = array alloc: size=0
append 0 to array $array.erl.sub.16
append 1 to array $array.erl.sub.16
append 2 to array $array.erl.sub.16
append 3 to array $array.erl.sub.16
append 4 to array $array.erl.sub.16
append 7 to array $array.erl.sub.16
append 8 to array $array.erl.sub.16
append 9 to array $array.erl.sub.16
append 10 to array $array.erl.sub.16
append 42 to array $array.erl.sub.16
append 45 to array $array.erl.sub.16
append 80 to array $array.erl.sub.16
append 91 to array $array.erl.sub.16
append 92 to array $array.erl.sub.16
append 93 to array $array.erl.sub.16
append 94 to array $array.erl.sub.16
append 95 to array $array.erl.sub.16
append 96 to array $array.erl.sub.16
append 97 to array $array.erl.sub.16
append 98 to array $array.erl.sub.16
append 99 to array $array.erl.sub.16
append 100 to array $array.erl.sub.16
append 101 to array $array.erl.sub.16
append 109 to array $array.erl.sub.16
append 110 to array $array.erl.sub.16
$max.x = get max sectors in x direction
while $max.x
dec $max.x =
$max.y = get max sectors in y direction
while $max.y
dec $max.y =
$sector = get sector from universe index: x=$max.x, y=$max.y
if $sector->exists
$race.sector = $sector->get owner race
if $race.sector != {Kha'ak 7} AND $race.sector != {Xenon}
$array.station = find station: sector=$sector class or type=null race=null flags=[Find.Multiple] refobj=null maxdist=null maxnum=999999 refpos=null
$n = size of array $array.station
while $n
dec $n =
$station = $array.station[$n]
$race = $station->get owner race
$class.station = $station->get object class
if $race != {Spieler} AND $class.station != {Schiffswerft} AND $class.station != {Große Schiffswerft}
$array.ware = $station->get tradeable ware array from station
$m = size of array $array.ware
$array.product = array alloc: size=0
while $m
dec $m =
$ware = $array.ware[$m]
if $station->uses ware $ware as product
$maintype.number = get maintype of ware $ware
$subtype.number = get subtype of ware $ware
$product = $station->get max. store amount of ware $ware
if $maintype.number == 8
$maintype.ware = 'Waffen'
else if $maintype.number == 9
$maintype.ware = 'Schilde'
else if $maintype.number == 10
$maintype.ware = 'Raketen'
else if $maintype.number == 11
$maintype.ware = 'Energie'
else if $maintype.number == 12
$maintype.ware = 'Natürlich'
else if $maintype.number == 13
$maintype.ware = 'Bio'
else if $maintype.number == 14
$maintype.ware = 'Nahrung'
else if $maintype.number == 15
$maintype.ware = 'Mineralien'
else if $maintype.number == 16
$maintype.ware = 'Tech'
end
if (( $maintype.number == 16 AND $subtype.number == $array.erl.sub.16 ) OR $maintype.number < 16 )
$sum = $maintype.ware + ' - ' + $ware + ' - ' + $product
append $sum to array $array.product
else
$sum = 'FEHLEND:' + $maintype.ware + $subtype.number + ' - ' + $ware + ' - ' + $product
append $sum to array $array.product
end
end
end
$array.resource = array alloc: size=0
$m = size of array $array.ware
while $m
dec $m =
$ware = $array.ware[$m]
if not $station->uses ware $ware as product
$maintype.number = get maintype of ware $ware
$subtype.number = get subtype of ware $ware
$resource = $station->get max. store amount of ware $ware
if $maintype.number == 8
$maintype.ware = 'Waffen'
else if $maintype.number == 9
$maintype.ware = 'Schilde'
else if $maintype.number == 10
$maintype.ware = 'Raketen'
else if $maintype.number == 11
$maintype.ware = 'Energie'
else if $maintype.number == 12
$maintype.ware = 'Natürlich'
else if $maintype.number == 13
$maintype.ware = 'Bio'
else if $maintype.number == 14
$maintype.ware = 'Nahrung'
else if $maintype.number == 15
$maintype.ware = 'Mineralien'
else if $maintype.number == 16
$maintype.ware = 'Tech'
end
if (( $maintype.number == 16 AND $subtype.number == $array.erl.sub.16 ) OR $maintype.number < 16 )
$sum = $maintype.ware + ' - ' + $ware + ' - ' + $resource
append $sum to array $array.resource
else
$sum = 'FEHLEND:' + $maintype.ware + $subtype.number + ' - ' + $ware + ' - ' + $resource
append $sum to array $array.resource
end
end
end
$log = $station + '; ' + $race + '; ' + $array.product + '; ' + $array.resource
write to log file 1 append=[TRUE] value=$log
end
end
end
end
end
end
$msg = 'Scanvorgang abgeschlossen'
display subtitle text: text=$msg duration=6000 ms
write to player logbook $msg
return null