Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  FAQFAQ  SuchenSuchen  AnmeldenAnmelden  MitgliederMitglieder  LoginLogin  

Teilen | 
 

 Zugbrücke per skript runterlassen

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
Dark
Oberst
Oberst
avatar

Männlich Alter : 23
Ort : Deutschland/Frankfurt Main
Anmeldedatum : 07.07.10

BeitragThema: Zugbrücke per skript runterlassen   Fr Jul 09, 2010 5:10 pm

Wie kann ich eine Zugbrücke per Skript runterlassen?
Ich spreche von der Standartzugbrücke aus dem Ritterpack.

Rufe ich im Skript einfach die Funktion:

Code:
func ControlDownSingle()
auf?

und wie weiß der welche Zufbrücke ich meine wenn ich mehrere auf er Krte habe?
Nach oben Nach unten
Benutzerprofil anzeigen
der kleine boss
Vizeadmiral
Vizeadmiral
avatar

Männlich Alter : 22
Ort : In einem gaaaaanz kleinen Kaff in Austria
Anmeldedatum : 21.03.09

BeitragThema: Re: Zugbrücke per skript runterlassen   Fr Jul 09, 2010 5:30 pm

Du schaust mal welche Objectnummer der Turm hat
Code:
ObjectNumber();
im Turm aufrufen.
nehmen wir mal an sie ist 666.

Code:

Object(666)->ControlDownSingle();

sry falls ich mich verschrieben hab, leider kein PC zum testen da, aber so sollte es gehen
Nach oben Nach unten
Benutzerprofil anzeigen http://www.clonk.de
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: Re: Zugbrücke per skript runterlassen   Fr Jul 09, 2010 5:36 pm

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
Nach oben Nach unten
Benutzerprofil anzeigen
Wipfmagus
Konteradmiral
Konteradmiral
avatar

Weiblich Alter : 22
Anmeldedatum : 06.03.10

BeitragThema: Re: Zugbrücke per skript runterlassen   Fr Jul 09, 2010 5:37 pm

Dark schrieb:
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.)
Nach oben Nach unten
Benutzerprofil anzeigen
Dark
Oberst
Oberst
avatar

Männlich Alter : 23
Ort : Deutschland/Frankfurt Main
Anmeldedatum : 07.07.10

BeitragThema: Re: Zugbrücke per skript runterlassen   Fr Jul 09, 2010 5:45 pm

Also ich hatte geplant:

Man hat selber einen Clonk und einen NPC. wenn man dem NPC jetzt einen bestimmten gegensand gibt, soll der NPC die Zugbrücke runter lassen.

Die Zugbrücke habe ich im EM gesetzt. also nicht per Skript erzeugt.
Sie gehört also dem NPC der bei mir spieler 1 gehört also keinem.

Und was heißt im Turm aufrufen?
Mal in die Script.c vom Turm ObjectNumber(); schreiben und das einfach mal testweise ausgeben oder im EM herausfinden?
Nach oben Nach unten
Benutzerprofil anzeigen
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: Re: Zugbrücke per skript runterlassen   Fr Jul 09, 2010 5:54 pm

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:
 
Nach oben Nach unten
Benutzerprofil anzeigen
Dark
Oberst
Oberst
avatar

Männlich Alter : 23
Ort : Deutschland/Frankfurt Main
Anmeldedatum : 07.07.10

BeitragThema: Re: Zugbrücke per skript runterlassen   Fr Jul 09, 2010 5:57 pm

Ok dann mache ich es so.

warum wird vor varialen eigentlich ein p davor geschrieben?
Ich dachte bis jetzt, dass vor Objekte ein o und vor Personen ein p steht.


Per Skript erzeugt geht es jetzt. Juhu^^
Nach oben Nach unten
Benutzerprofil anzeigen
Gesponserte Inhalte




BeitragThema: Re: Zugbrücke per skript runterlassen   

Nach oben Nach unten
 
Zugbrücke per skript runterlassen
Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» bräucht hilfe bei "join us"skript
» Problem mit Java Skript für Horoskop
» Domain gebannt wegen Skript ??
» Logo des Forums wechselt bei Seitenwechsel

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Scripthilfe-
Gehe zu: