Danke schonmal, aber das hilft mir alles nicht.
Genau @BEZAHLE NICHT ist schlecht, denn ich will es z.B. auch für Skripte benutzen, in denen z.B. im Steinbruch Steine abgebaut werden und bezahlt wird wenn das Talent ausreichend ist, jedoch gelernt wird und nicht bezahlt wird, wenn das Talent nicht reicht. Der @-Befehl und Vorlage machen gemeinsam imho keinen Sinn, bzw. dann kann ich mir Vorlage sparen, was ich nicht will, weil es komfortabel ist.
Die unstumpfe Lösung, Personen die in einem Gebäude stehen generell BEZAHLE NICHT zu befehlen, wenn sie lernen war mein erster Versuch. Es führt aber dazu, dass alle Einheiten z.B. in einem Turm ein BEZAHLE NICHT bekommen, was unmengen nerviger echeck Warnungen produziert. Ich will aber keine unnötigen Warnungen, da ich die "echten" nicht übersehen will. (Der Rückgabewert von "unit.Bauwerk", wenn die Einheit nicht in einem Gebäude steht ist 0.)
Das Problem beim Prüfen auf Besitzer ist vermutlich das selbe (habe ich aber nicht getestet). Denn wenn
Code:
building[unit.Bauwerk].Unterhalt
nicht geht, vermute ich dass
Code:
building[unit.Bauwerk].Besitzer
ebenfalls nicht geht.
[Stellt sich eine weitere Frage ob das überhaupt geht: Was ist, wenn in einem 2er Steinbruch zwei 1-Personen-Einheiten stehen, aber nur der Besitzer ein BEZAHLE NICHT hat. Versucht die 2. Einheit im Steinbruch den Unterhalt zu zahlen oder will der Server das Geld wenn nur vom Besitzer?]