Thema: Re: Panzer fährt in der Luft Do Aug 20, 2009 9:59 pm
DAS wäre doch mal was anderes^^ Aber um kein neues Thema eröffnen zu müssen. Die Schießfunktion harkt mir doch etwas auf den Nerven rum. Ich dachte mir "So schwer kann das doch nicht sein" und habe mir den Dampfpanzer(M&M) und die Haubitze angesehen. Scheinbar kann das nicht so einfach bewerkstelligt werden.
Liech Fregattenkapitän
Alter : 32 Anmeldedatum : 02.02.09
Thema: Re: Panzer fährt in der Luft Fr Aug 21, 2009 12:28 am
Objekte zu verschießen ist sehr simpel. Wenn du mit der kanone auch noch zielen willst wird es allerdings etwas umständlicher (immernoch im bereich des möglichen). Was sind denn deine ziele in der hinsicht?
Faby Generalleutnant
Ort : italien Anmeldedatum : 19.08.09
Thema: Re: Panzer fährt in der Luft Fr Aug 21, 2009 8:39 am
ich hab das noch nie gemacht darum weiß ich es nicht aber so schwer wirds nicht sein (immer noch leichter als die realistische physik^^) ein bischen sinus und cosinus und recht viel mehr wird nicht zu machen sein.eine variable die die kanonenneigung speichert und dann nachher noch die eigenneigung und zur schussstärke noch eigengeschwindigkeit des panzers hinzurechnen.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Panzer fährt in der Luft Fr Aug 21, 2009 1:09 pm
Also zielen ist nicht nötig, wäre aber praktisch^^ Naja, als ich mir mal die Haubitze angesehen habe und den teil der fürs berechnen zuständig war, naja, doch ziemlich derb. Sinus, Cosinus, Richtungsstärke mulitpliziert mit irgendwas und noch ein paar haufen anderer Zahlen obendrauf und man hat den Salat.
OT: Ich würde ein 'Suche Befehl' Forum praktisch finden. Meist gibt es immer nur einen einzigen Befehl, den ich suche.
Faby Generalleutnant
Ort : italien Anmeldedatum : 19.08.09
Thema: Re: Panzer fährt in der Luft So Aug 23, 2009 10:06 am
sin,cos und das mit getdir,ist einfacher als man glaubt...
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Panzer fährt in der Luft So Aug 23, 2009 11:53 am
Also ich weiß mal, dass das hier zum abschießen ist. Doch der Sinn der Zahlen, bleibt mir verschlossen:
Code:
// Austritt berechnen var iX = (GetPhase()+3)*(GetDir()*2-1); var iY = GetPhase()-14; var iAngle = BoundBy(GetPhase()*5-5,0,90); var iXDir = Sin(iAngle,32*(GetDir()*2-1)); var iYDir = Cos(iAngle,-18);
// Sicht verfolgen (wenn kein automatischer Schuss) if(!fAuto) if(GetPlrViewMode(GetController())!=2) SetPlrView(GetController(),pProjectile);
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: Panzer fährt in der Luft So Aug 23, 2009 2:42 pm
var iX = (GetPhase()+3)*(GetDir()*2-1);
Hier wird die Austrittsposition des Flints oder was auch immer du verballerst berechnet. Dazu braucht man die Animationsphase (GetPhase()) (Welchen Anstellwinkel das Rohr hat, die Animationsphase ändert sich wenn du rauf oder runter drückst also das Rohr verstellst). Dann muss mit GetDir noch geschaut werden in welches Richtung er schuat das mit "*2-1" ist dazu gut das bei ausrichtugn rechts +1 ausgegeben wird sich also nichts ändert und bei ausrichtung links -1 das ganz sich also umkehrt.
var iY = GetPhase()-14;
Hier dasselbe wie oben, allerding ohne richtungs überprüfung die ist bei Y ja nicht nötig.
Die Zahlen dahinter also das +3 und das -14 dienen wohl nur zur korekktur wegen Offset und so.
var iAngle = BoundBy(GetPhase()*5-5,0,90);
Hier wird der Winkel des Rohres berrechnet, nötig für Sin und Cos hier wird auch die Phase genommen und in eine Formel eingespeist die den Winkel heruasgibt.
var iXDir = Sin(iAngle,32*(GetDir()*2-1)); var iYDir = Cos(iAngle,-18);
Hier wird der Dir von X und Y berechnet. Je nach Winkel gibt Sin bzw. Cos einen Wert hearus, wenn man diese als Dir verwendet fliegt er Gegenstand genau in die Richtung in der der der Winkel zeigt. Die zahlen nach dem iAngle haben auch ihren Zweck, durch sie wird das Ergebnis (oder der Winkel) von Cos und Sin geteilt da sonst aberwitzig hohe Zahlen rauskommen (warum auch immer) Get Dir ist wie üblich zur Richtungs abfrgae.
Hier wird das Projectil abgefeuert das vorhin irgendwo als pProjectile definiert wurde, unsere Zahlen werden in Exit eigefügt schau den Befehl in der Doku an.
Dies dient nur dazu den Viewport des Besitzers des feuernden Clonks auf den abgefeuerten gegenstand zu setzen.
So ich muss los deshalb am Ende etwas knapp, komme heut abend wieder frag wenn was unkalr ist.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Panzer fährt in der Luft Mo Aug 24, 2009 11:30 am
Tja, allerdings ist das Kanonenrohr eigentlich statisch als dynamisch, also der Winkel bleibt immer gleich. Wäre es für einen Panzer sonst besser, ein dynamisches Rohr zu haben? Werd mir das ganze noch 2-4 mal durchlesen, dann müsst ich es eigentlich kapieren.
Faby Generalleutnant
Ort : italien Anmeldedatum : 19.08.09
Thema: Re: Panzer fährt in der Luft Mo Aug 24, 2009 11:51 am
hängt von dir ab ob er ein statisches oder dynamisches rohr haben soll.Realistischer wäre sicerlich ein dynamisches aber was clonkiger ist, ist schwer abzuwiegen. Hast du eig. schon eine grafik??
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Panzer fährt in der Luft Fr Aug 28, 2009 6:10 pm
Anstelle eines statischen Rohres wäre ein dynamisches wohl sinnvoller. Also habe ich mal ein Rohr für den Panzer gemacht, dass dann eben auch attacht werden sollte(dabei muss es hinter dem Panzer bleiben, wie im Geschützturm), außerdem besteht die Grafik nur aus einem einzigen Bild, das eben so rotiert werden sollte wie auf dem Geschützturm.
Sollte natürlich nur im Winkel von 0° bis zu 90° nach oben zeigen. Weiß nicht ob das geht. Vorallem, dass der Inhalt des Panzers, von einem anderen Objekt abgeschossen wird
Faby Generalleutnant
Ort : italien Anmeldedatum : 19.08.09
Thema: Re: Panzer fährt in der Luft Sa Aug 29, 2009 10:10 am
müsste theoretisch funktionieren, du könntest aber auch einfach panzer und rohr ein object sein lassen (haubitze...).Ist aber nur sinnvoll wenn die räder ein eigenes object sind sonst hast du da eine grafik mit viel zu vielen animationsphasen.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Panzer fährt in der Luft Sa Aug 29, 2009 11:05 am
Hmm, scheint schon ein schwereres Problem zu sein. Könnte man nicht einfach nur das Rohr so nehmen, und es so drehen lassen, wie bei dem Geschützturm?
Faby Generalleutnant
Ort : italien Anmeldedatum : 19.08.09
Thema: Re: Panzer fährt in der Luft Sa Aug 29, 2009 11:59 am
sicher geht das dann kannst du stufenlos zielen.aber das andere (haubitze...) schätze ich mal ist einfacher
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Panzer fährt in der Luft Sa Aug 29, 2009 12:02 pm
Da bräuchte ich mehr Grafiken. Außerdem wirkts doch besser, wenn man stufenlos zielen kann. Was ich allerdings noch komisch finde, ist das der Clonk den Panzer verlässt, wenn man auf "Unten" drückt. Aber wie kriegt man das stufenlose Zielen hin?
Faby Generalleutnant
Ort : italien Anmeldedatum : 19.08.09
Thema: Re: Panzer fährt in der Luft Sa Aug 29, 2009 1:16 pm
zum austeigen: da müsst ich das script sehen(falls es nicht noch das selbe wie am anfang ist.Zum stufenlosen zielen: Mit attach müsst ich es probiren so weiß ich es nicht. Aber versuch mal mit SetRDir(...). dann brauchts du aber auch einen knopf zum anhalten(rohr)oder im timer SetR(GetR()+1)