Warum so kompliziert? Man kann Objektaufrufe auch ohne Object(ObjectNumber(obj)) aufrufen. Denn das Objekt, was hinten rauskommt, steckt man bereits vorne rein, warum also anstatt reinzustecken nicht gleich benutzen? x)
Wie du jetzt deinen gewünschten Turm rausfindest, hängt ganz davon ab, wie die Zugbrücke ausgelöst werden soll. Das müsste man wissen x) Generell startet man Aufrufe in fremden Objekten mit Objekt->Funktion(). Das kann allerdings gleich 2 Fehlermeldungen verursachen, deshalb sollte man vorischtig sein. Wenn man vor den Funktionsnamen ein ~ hängt, gibt es keine Fehlermeldung, wenn die Funktion überhaupt nicht existiert. Der 2. Fehler wäre dass es das Objekt gar nicht gibt, dann kommt ein "Target is zero!"-Fehler. Optimal wäre daher:
Code:
if (obj) obj -> ~ControlDownSingle();
Zuletzt von Limeox am Fr Jul 09, 2010 5:39 pm bearbeitet; insgesamt 1-mal bearbeitet
Rufe ich im Skript einfach die Funktion func ControlDownSingle() auf?
Ja.
Dark schrieb:
und wie weiß der welche Zufbrücke ich meine wenn ich mehrere auf er Krte habe?
Entweder Objektnummern (die Methode vom kleinen Boss) oder per FindObject (das meinte Limeox wohl): Find_InRect, und wie weiß der welche Zufbrücke ich meine wenn ich mehrere auf er Krte habe?Find_Owner und andere sollten dir in den meisten Fällen gute Dienste leisten. Wenn die Brücken per Script erstellt werden, kannst du sie auch gleich bei der Erstellung in Variablen speichern (was so geht:)
Code:
var pClonk1=CreateObject(CLNK,550,27); ControlDownSingle(pClonk1);
(Ich weiß die ID der Brücke gerade nicht, deshalb habe ich einen Clonk genommen.)
Dark Oberst
Alter : 29 Ort : Deutschland/Frankfurt Main Anmeldedatum : 07.07.10
Hm. Du setzt die Brücke am besten per Script und gibst ihr einen globalen Namen. Du notierst dir X- und Y-Position der Brücke (GetX, GetY) und setzt sie dann an dieselbe Stelle per Script. Aber Achtung: Auf den Y-Wert musst du noch das Y-Offset draufrechnen, da der Platzierungspunkt die Mitte der Unterkante angibt, sonst hängt die Brücke in der Luft.
Wenn du dann zB X = 150 und Y = 200 raushast, schreibst du in die Initialize-Funktion des Szenarios:
Spoiler:
static pZugBruecke;
func Initialize() { //Hier erstmal das andere Zeug, was du in Initialize() drin hast
//Für C4ID die Zugbrücken-ID einsetzen. Das -1 gibt an, dass sie niemanden gehört. pZugBruecke = CreateObject(C4ID, 150, 200, -1); return 1; }
Dark Oberst
Alter : 29 Ort : Deutschland/Frankfurt Main Anmeldedatum : 07.07.10