Clonk-Center Titelbild

Clonk Center Forum / Off Topic / Editor Fragen


[ ]


Seite 0[1]

Von Kühlschrank am 19.07.2008 17:37  
Hi hab ein paar Fragen zum Editor.

1.Kann man Objekte in der Landschaft irgendwie drehen, wenn man sie platziert?
Beispiel:Eine Statue soll Vertikal(/)im Boden stecken.

2.Wenn ich aus dem Editor Objekte(z.B.Flagge,Ritter) ins Szenariofenster ziehe, sind die immer blau.
Wie bekomme ich es hin das die zu meinem Team gehören?
Villeicht wenn ich das Objekt selektiere und dann auf Eigenschaften gehe?

Von Twonky am 19.07.2008 17:46  
1. Auf den Bewegen-Modus gehen (weißer Pfeil) (Durch drücken der Leertaste, evtl. mehrmals), dann auf das Objekt gehen, Rechtsklick->Eigenschaften und dort SetR(); eingeben, wobei zwischen die Klammern der Winkel in Grad muss (bei dir wohl 45), also SetR(45);. Dann Enter drücken. Das geht aber nur bei drehbaren Objekten, wozu die Statue wmnat zählt.

2. Wieder Eigenschaften, diesmal SetOwner(); eingeben, in die Klammern muss die Spielernummer, gezählt wird ab 0. Spieler 1 hast also Nummer 0, Spieler 2 die Nummer 1, Spieler 3 die 2, usw.

Wenn dir das mit den Nummern zu kompliziert ist, dann kannst du auch SetOwner(GetPlayerByName("")); benutzen. In die Häkchen muss der Name deines Spielers, (der genaue Name, Groß- und Kleinschreibung ist relevant!)
Eigentlich muss man die Groß- und Kleinschreibung bei allen Eingaben beachten!

Edit:
Btw, | ist vertikal, nicht etwa /. Vertikal wird die Statue sowieso platziert.
Edit2:
Den Ritter müsstest du aber noch zur Crew des Spielers hinzufügen, wenn man ihn Steuern können soll.

Von Kühlschrank am 19.07.2008 18:02  
Erst mal Danke für die Schnelle Antwort :D
Und sry wegen dem Vertikal, ich meine eigendlich Diagonal ^^

Von Kühlschrank am 20.07.2008 12:12  
Nochmal zur Flagge hab da ein Prob.
Hab die Flagge positioniert und bin auf Eigenschaften gegangen.
Dann auf "SetOwner()" in die Klammer hab ich die 0 reingeschrieben (was ja Spieler 1 ist)
dennoch gehört sie nicht zu Spieler 1 und ist dennoch blau (Spieler 1 bin ich mit der Teamfarbe rot)

Im Editor Fenster steht nur:

-> Flagge::SetOwner(0)
= 0

Wenn der Befehl wirkt müsste doch daraus dass werden.

-> Flagge::SetOwner(0)
= true

Von Twonky am 21.07.2008 10:12  
Hängt sie schon in einer Basis? Vllt macht das Probleme.
Wenn nicht, geh einfach ins Eingabefeld der Engine und schreibe dort: CreateObject(FLAG,100,100,[owner]);
[owner] wieder durch die Spielernummer ersetzen....

Von Deffi am 19.07.2008 19:21  
Wieso Off Topic?

Von Luchs am 20.07.2008 00:22  
Das Topic ist "Clonk" daher gehört es (wie du sagst, Antwort auf dein Post ist durchaus Absicht) nicht hierher ;)

Von Kühlschrank am 20.07.2008 11:59  
Ich weis aber ich hatte nur kein Bock das Jemand wieder meckert ,dass das da nicht in Dikussionen gehört.

Von Deffi am 20.07.2008 13:43  
So rum gibts aber Gemecker, dass das nicht in Off Topic gehört :D

Von Berglurch am 21.07.2008 12:43  
kannst machen was du willst rumgemeker gibts immer

Von Kühlschrank am 21.07.2008 16:44  
Eine weitere Frage

Wie macht man Flüssigkeitsquellen aus denen permament Wasser oder andere Flüssigkeiten kommen
Milestone Woods (Western) beinhaltet so eine Quelle.
Ich habe schon im script nach so einer Zeile gesucht aber ohne Erfolg, da ich nicht wirklich weis
wie sowas heißen müsste.

Von B_E am 21.07.2008 18:16  
Die funktion heißt so ungefähr CastPXS (hab jetzt keine Lust den genauen Namen nachzuschauen) die eine bestimmte Anzahl von Pixeln eines Materials zu erzeugen.

Von Twonky am 21.07.2008 20:30  
Baumstruktur.
Eine Alternative zu CastPXS() wäre InsertMaterial(), bzw. InsertMaterialAmount(), sollte diese Funktion wirklich existieren.
Aber CastPXS() ist wohl einfacher und basiert vllt. sogar auf InsertMaterial().

Von Kühlschrank am 21.07.2008 20:50  
Hmm alleine bin ich zu dumm für sowas ^^
Ok hab nochmal den Script von Milestone Woods nach den gennanten Befehlen durchgesucht und wieder ohne Erfolg.Hab an der Map noch etwas herumexperementiert und mitbekommen das aus kleinen pixelpunkten das wasser herauskommt.
(hab ihn ´mal gelöscht)

Dann hab ich mir da(Milestone W.) die stelle ausgesucht anden eine NEUE Wasser Quelle entstehen soll(zum üben) (1476/361)

CastPXS(1476,361(WTFL)) und dann weis ich nicht mehr weier ^^
Aufjedenfall ist es noch falsch
Danke das ihr mir helfen tut
es muss WTFL sein steht bei dem Pixelpunkt unter Eigenschaften

Von Twonky am 21.07.2008 21:29  
Unsere antworten waren jetzt etwas hmmmm mehr für Scripter ;).
WTFL ist ein Objekt aus Western/Milestone Woods oder woher auch immer, dass einen der oben genannten Befehle (InsertMaterial()) ausführt. Wenn du nicht scripten kannst, ist es wohl am einfachsten, das Objekt in dein Szen zu kopieren und es dann einfach im EM in die Karte zu ziehen (ich denke jetzt mal das funktioniert so einfach, aber ich kenn das WTFL-Objekt nicht so gut...).
Btw:
>CastPXS(1476,361(WTFL))

ist nicht "noch" falsch, sondern eher "total" falsch... :wink:

Von Kühlschrank am 21.07.2008 23:12  
Hurra ich habs 1000 dank an euch besonders an dir Twonky :giggle:
Endlich kann ich mir ne Coole Map bauen

Von Kühlschrank am 22.07.2008 13:40  
So ich baue gerade mal 20 Min. an meiner Map und schon taucht ein neues Problem auf.
Als ich einige Lavafälle mit den neuen Objekten gemacht hab steig der Lavastand im See der unter dem  WTFL drunter ist plötzlich an.Sollte er eigendlich nicht da ich doch das Umweltobjekt
"Meeresspiegel" aktiviert habe.Oder funz das Umweltobjekt nur bei Wasser?und nicht bei Lava

Von Twonky am 22.07.2008 14:04  
Wäre zu vermuten. Du köntest ja Abflüsse platzieren.

Von Luchs am 22.07.2008 18:48  
800. OT - Post.

Von Twonky am 22.07.2008 20:21  
Hmm. Tatsächlich. :)

Von Kühlschrank am 01.08.2008 09:33  
Es geht wieder los ^^
Also Erste Frage:
Ich hab mir aus einer anderen Map ein Objekt in mein Level geholt (an dem ich gerade)
Es ist eine Falle. Sie sieht aus wie ein Steingolem der Blitze auf Feinde schleudern soll.
Sie ist an der Position platziert aber schießt keine Blitze auf micht.

Die Aktivität die sie bei mir ausführent lautet "WatchForVictim"
Lokale Aktivität: "ReadyForShot = 1"
ShootIt = 0

Im Szen " Spiegel der Träume " steht es so bei der Eigenschaft der Golemfalle:
Aktivität: WatchForVictim
Lokale Aktivität: "ReadyForShot = 1"
ShootIt = 1

Beim anderen Szen ist bei ShootIt ne 1 und bei mir die 0.

Und im Pulldown Menü von der Statue gibt es die Optionen noch:
WatchForVictim()
Shoot()
Ready()

Hmm in die Klammern muss bestimmt noch was reingeschrieben werden und ich weis wieder nicht was ^^.


Frage 2:Irgendwie klappt das mit der Baumstrucktur bei mir nicht -.-
Ich kann immer nur auf andere Nachrichten antworten.
Der 2te Pfeil funktioniert nicht.

Von Deffi am 01.08.2008 18:29  
>Irgendwie klappt das mit der Baumstrucktur bei mir nicht -.-


Du doof.

Von mo_sc am 01.08.2008 19:06  
Ich und Kühlschrank haben was gemeinsam =D

Von Twonky am 02.08.2008 10:58  
So ohne das Objekt zu kennen, kann ich dir nicht helfen, vllt. basiert ja die "Falle" auf anderen Objekten aus dem Szenario. Du kannst ja mal versuchen ShootIt = 1 in dem Eigenschaftenfenster einzutippen.

Bei der Baumstruktur klickst du, wenn du einen Post verfassen willst, immer auf das -Symbol des Postes auf den du antworten willst. Wenn du auf keinen Post direkt antworten willst, dann ist es meistens am empfehlenswertesten auf den ersten Post im Thread zu antworten oder ein neues Thema zu eröffnen (was allerdings auch mit Vorsicht zu genießen ist!).
Wenn du wissen willst, auf welchen Post sich ein anderer Post bezieht, klickst du bei diesem Post auf das -Symbol. Die Sicht des Browsers sollte auf den Post springen, auf den geantwortet wurde. Welcher genau das ist ist manchmal ein bisschen schwierig zu erkennen.
Um deinen Post zu ändern, klickst du auf das -Symbol.

Von Twonky am 17.10.2008 16:42  
Danke, boni.

Von Kühlschrank am 17.08.2008 19:39  
So hab mal wieder eine Frage zu einer Falle.
Hab wieder die blitzfalle in ein Szen eingebaut die funz auch tadellos, aber möchte mehrere Sorten von denen haben, also hab ich mir ne Kopie von der Blitzfalle gemacht und die umbenannt in Feuerfalle,da sie ab jetzt mich mit "Drachenatem" aus Fantasy angreifen soll.Hab schon ein Bisschen herumexperementier aber das einzige was passiert ist, ist das nur ein Syntax Error auftritt.

Der script von der Blitzfalle sieht so aus:

/*-- Blitzfalle --*/

#strict

local ReadyForShot, ShootIt, Mat;

func Initialize()
{
  ReadyForShot = 1;
  SetAction("WaitForVictim");
  return(1);
}

protected func WatchForVictim()
{
  if(GetAction() S= "WaitForVictim")
  {
    var Victim;
    //Naja erstmal immer zum Clonk drehen
    if(Victim = FindObject(0, 0, -40, 100, 80, OCF_CrewMember()))
    {
      SetDir(DIR_Right());
      ShootIt = 1;
      if(GetMaterial(Victim -> GetX() - GetX(), Victim -> GetY() - GetY() + 20) == Material("Earth")) Mat = 1;
    }
    if(Victim = FindObject(0, -100, -40, 100, 80, OCF_CrewMember()))
    {
      SetDir(DIR_Left());
      ShootIt = 1;
      if(GetMaterial(Victim -> GetX() - GetX(), Victim -> GetY() - GetY() + 20) == Material("Earth")) Mat = 1;
    }
    if(ShootIt && ReadyForShot && Mat)
       SetAction("CastLightning");
  }
}

protected func Shoot()  
{
  var Target, iAngle, x, y, x1;
  //So, nun gibbet Schmackes >:)
  if(GetDir() == DIR_Right()) x1 = 0;
  else
   x1 = -100;
  while(Target = FindObject(0, x1, -40, 100, 80, OCF_CrewMember(), 0, 0, NoContainer(), Target))
  {
    //Winkelchen finden
    iAngle = Angle(GetX(), GetY(), GetX(Target), GetY(Target));
    //Berechnung der Strecke
    x = Sin(iAngle, 5);
    y= -Cos(iAngle, 5);
    //Und zosch!
    LaunchLightning(GetX(), GetY()-16, x, 0, y, 0, 0);
    LaunchLightning(GetX() + 3, GetY()-16, x, 0, y, 0, 0);
    //Tadaa
    ReadyForShot = 0;
    ShootIt = 0;
    Mat = 0;
  }
}

protected func Ready()
{
  ReadyForShot = 1;
}



UND DER ACTMAP.txt so:



[Action]
Name=WaitForVictim
Procedure=NONE
Facet=169, 0,24,32
Length=1
Directions=2
FlipDir=1
Delay=10
StartCall=WatchForVictim
NextAction=WaitForVictim

[Action]
Name=CastLightning
Procedure=NONE
Delay=4
Length=8
Directions=2
FlipDir=1
Facet=0,0,24,32
Reverse=1
EndCall=Shoot
NextAction=GoBack

[Action]
Name=GoBack
Procedure=NONE
Delay=4
Length=8
Directions=2
FlipDir=1
Facet=0,0,24,32
EndCall=Ready
NextAction=WaitForVictim

Wie Bringe ich die Falle dazu das sie mich mit Drachenatem angreift.
Überall wo Lightning steht hab ich Firebreath hingeschrieben.
Dann sieht das so aus:


/*-- Blitzfalle --*/

#strict

local ReadyForShot, ShootIt, Mat;

func Initialize()
{
  ReadyForShot = 1;
  SetAction("WaitForVictim");
  return(1);
}

protected func WatchForVictim()
{
  if(GetAction() S= "WaitForVictim")
  {
    var Victim;
    //Naja erstmal immer zum Clonk drehen
    if(Victim = FindObject(0, 0, -40, 100, 80, OCF_CrewMember()))
    {
      SetDir(DIR_Right());
      ShootIt = 1;
      if(GetMaterial(Victim -> GetX() - GetX(), Victim -> GetY() - GetY() + 20) == Material("Earth")) Mat = 1;
    }
    if(Victim = FindObject(0, -100, -40, 100, 80, OCF_CrewMember()))
    {
      SetDir(DIR_Left());
      ShootIt = 1;
      if(GetMaterial(Victim -> GetX() - GetX(), Victim -> GetY() - GetY() + 20) == Material("Earth")) Mat = 1;
    }
    if(ShootIt && ReadyForShot && Mat)
       SetAction("CastFirebreath");
  }
}

protected func Shoot()  
{
  var Target, iAngle, x, y, x1;
  //So, nun gibbet Schmackes >:)
  if(GetDir() == DIR_Right()) x1 = 0;
  else
   x1 = -100;
  while(Target = FindObject(0, x1, -40, 100, 80, OCF_CrewMember(), 0, 0, NoContainer(), Target))
  {
    //Winkelchen finden
    iAngle = Angle(GetX(), GetY(), GetX(Target), GetY(Target));
    //Berechnung der Strecke
    x = Sin(iAngle, 5);
    y= -Cos(iAngle, 5);
    //Und zosch!
    LaunchFirebreath(GetX(), GetY()-16, x, 0, y, 0, 0);
    LaunchFirebreath(GetX() + 3, GetY()-16, x, 0, y, 0, 0);
    //Tadaa
    ReadyForShot = 0;
    ShootIt = 0;
    Mat = 0;
  }
}

protected func Ready()
{
  ReadyForShot = 1;
}

UND DER ACTMAP.txt sah so aus:


[Action]
Name=WaitForVictim
Procedure=NONE
Facet=169, 0,24,32
Length=1
Directions=2
FlipDir=1
Delay=10
StartCall=WatchForVictim
NextAction=WaitForVictim

[Action]
Name=CastFirebreath
Procedure=NONE
Delay=4
Length=8
Directions=2
FlipDir=1
Facet=0,0,24,32
Reverse=1
EndCall=Shoot
NextAction=GoBack



[Action]
Name=GoBack
Procedure=NONE
Delay=4
Length=8
Directions=2
FlipDir=1
Facet=0,0,24,32
EndCall=Ready
NextAction=WaitForVictim

Von Twonky am 18.08.2008 21:10  
Da LaunchLightening() eine Enginefunktion ist und rein gar nicht vom Zauber abhängt, Drachenatem aber ein Zauber ist denke ich mal, da kannst nicht LaunchFireBreath oder wasimmer schreiben, da die Engine das gar nicht kennt, so lange es nicht anderswo global definiert ist.
Mit anderen Worten: Netter Versuch, so einfach ist es aber nicht.
Edit: Den Drachenatem-Zauber wirst du bestimmt nicht über das Wort "Firebreath", sondern eher mit seiner ID (MDBT) erzeugen können.

Von Luchs am 19.08.2008 08:50  
"ActMap.txt" bitte.

Von Methos am 19.08.2008 11:06  
Ist egal?

Seite 0[1]