Thema: Schwerkraft, die auf Erde wirkt Sa Apr 25, 2009 10:38 am
Ich habe jetzt mal wieder angefangen, etwas an nem Szen rumzubasteln und wollte dabei mit Sections(dessen Tutorial allerdings nicht mehr da ist) eine Welt laden, in der die Schwerkraft auf einzelne Erdbereiche zutrifft, anstatt den Clonk einfach nach unten zu ziehen. Also man sollte von einzelnen Erdbereichen selbst angezogen werden. Hoff man versteht was ich meine. In der Luft schweben nämlich Inseln und auf die soll man hingezogen werden, wenn man in nem Radius von, sagen wir, 50 Pixeln ist.
Ein einfaches Skript fürs einen unregelmäigen Schwerkraftwechsel habe ich bereits. Vielleicht nützt es ja was.:
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Schwerkraft, die auf Erde wirkt Sa Apr 25, 2009 10:07 pm
Kleiner Fehler im Script. " Global(30)=(Random(25)+Random(25))-15;" mal zu Global(30)=(Random(25)+Random(25)-15); machen, oder geht da beides?
Mckay Oberst
Anmeldedatum : 25.12.08
Thema: Re: Schwerkraft, die auf Erde wirkt Sa Apr 25, 2009 11:26 pm
jep das geht so meines wisens
Toastbrot Kadett
Anmeldedatum : 10.03.09
Thema: Re: Schwerkraft, die auf Erde wirkt So Apr 26, 2009 11:35 am
Es geht beides weil der Operator "=" eine rechte Assoziativität besitzt und somit erst der Rechte Teil ausgerechnet wird und dann dem Linken Teil zugewiesen wird.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Schwerkraft, die auf Erde wirkt So Apr 26, 2009 1:27 pm
Naja, also das Skript selbst läuft oben einwandfrei ohne Errors. Allerdings ist das Szen eben so, dass die ganze Raum und Zeit außer Kraft ist, und Wasser nach oben fließt und so. Allerdings ist es ,glaube ich zumindest, nicht möglich, unterschiedliche Schwerkraft zu erzeugen, die von einzelnen Objekten ausgeht. Wenn ich mich irren sollte, bitte sagen
Drei Fragen wären da aber noch: 1. Wie schafft man es eigentlich, dass Wasser nicht abrinnt wenn mal ein Objekt da rein fällt?
2. Wie schafft man es, dass ein Clonk an der Wand oder Decke hochläuft und nicht runterfällt?
3.Wie lässt man Objekte leicht nach oben und unten schweben? So 3-5 Pixel vielleicht.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Schwerkraft, die auf Erde wirkt So Apr 26, 2009 8:26 pm
Die 3. Frage und 1. sind noch unbeantwortet. Die Antwort auf Nummer 2 war SetObjectDrawTransformation() Die anderen bleiben noch unbeantwortet. Hat jemand ne Idee?
Toastbrot Kadett
Anmeldedatum : 10.03.09
Thema: Re: Schwerkraft, die auf Erde wirkt So Apr 26, 2009 8:56 pm
Zu der Frage mit dem Wasser hätte ich folgende Idee: Mach ein neues Material "WasserXYZ" oder so und ändere den Wert Instable auf 0. http://www.clonk.de/docs/de/sdk/material/c4m.html Das sollte verhindern das Wasser fleißen kann
Die 3 Frage mit dem Schweben habe ich nicht genau verstanden, könntest du nochmal schreiben wie das genau gemeint ist?
mfg Toastbrot
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Schwerkraft, die auf Erde wirkt So Apr 26, 2009 9:06 pm
Gute Idee, ich überlade einfach das Wasser. Bei der dritten Frage meinte ich, dass sich das Objekt "Schwebende Insel", also ne kleine Insel, etwas nach oben und unten bewegt. Also so ein Schwebe effekt solle es haben.
Toastbrot Kadett
Anmeldedatum : 10.03.09
Thema: Re: Schwerkraft, die auf Erde wirkt Mo Apr 27, 2009 3:56 pm
Mach die Insel einfach als Object mit Solidmask und gib ihr eine Action mit der Prozedur "FLOAT".
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Schwerkraft, die auf Erde wirkt Mo Apr 27, 2009 6:42 pm
Das allein würde reichen? Ist ja easy.
Toastbrot Kadett
Anmeldedatum : 10.03.09
Thema: Re: Schwerkraft, die auf Erde wirkt Mo Apr 27, 2009 10:08 pm
Bowserkoopa schrieb:
Das allein würde reichen? Ist ja easy.
Du kannst wenn das Object die Prozedur FLOAT ausführt es einfach mit SetXDir() bzw. SetYDir() hin und her rauf und runter schweben lassen.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Schwerkraft, die auf Erde wirkt Di Apr 28, 2009 1:50 pm
Also im Skript steht dann
SetAction("Fly"); und dann schreibe ich da rein SetYDir(5) und damit es wieder runterschwebt wieder SetYDir(-5)? Das ganze mit ScheduleCall, damit es wartet, bis die Aktion schon vollendet ist.
Toastbrot Kadett
Anmeldedatum : 10.03.09
Thema: Re: Schwerkraft, die auf Erde wirkt Di Apr 28, 2009 2:20 pm
Bowserkoopa schrieb:
Also im Skript steht dann
SetAction("Fly"); und dann schreibe ich da rein SetYDir(5) und damit es wieder runterschwebt wieder SetYDir(-5)? Das ganze mit ScheduleCall, damit es wartet, bis die Aktion schon vollendet ist.
Vertauscht: Mit SetYDir(-x) schwebt das Object mit der geschwindigkeit x nach oben und andersrum.
Das OBject braucht dann nur noch ne Act-Map in der du deine Action Fly Definierst.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Schwerkraft, die auf Erde wirkt Di Apr 28, 2009 2:56 pm
Oh, ja stimmt. In Grafikprogrammen starten die Koordinaten am linken oberen Eckpunkt. Aber wie stelle ich ein, wie lange das ganze passiert?
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Schwerkraft, die auf Erde wirkt Di Apr 28, 2009 7:57 pm
Ein weiteres Problem ist gerade aufgetreten. Alle Clonks sollen ja an der Decke und der Wand laufen, und so habe ich die dazugehörigen Zeilen in die System.c4g geschoben, und anschließend ein #appendto CLNK drangehängt, aber im Szen laufen alle normal. Was muss ich tun, damit das Skript, gleich am Anfang des Szenstarts für alle aktiviert wird?
// Hangeln. if(GetAction() eq "Hangle") { SetObjDrawTransform(1000,0,0,0,-1000,0); } if(GetAction() ne "Hangle" && GetAction() ne "Scale" && GetAction() ne "ScaleDown") SetObjDrawTransform();
if(GetAction() ne "Hangle" && GetAction() ne "Scale") SetObjDrawTransform();
}
Umezawa Feldmarschall
Alter : 29 Anmeldedatum : 30.12.08
Thema: Re: Schwerkraft, die auf Erde wirkt So Mai 10, 2009 8:47 pm
#appendto CLNK muss vor das Script
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Schwerkraft, die auf Erde wirkt Di Mai 12, 2009 1:52 pm
Aber daf unktioniert ja eben nicht. Ich tue das Skript in System.c4g hänge vor das Skript ein #appendto CLNK und dann noch im SzenSkript GameCall("Gravit"); Irgendwie funzt das aber nicht.