Alter : 29 Ort : Duisburg Meiderich Anmeldedatum : 09.03.10
Thema: RocketLounchStation Mo März 22, 2010 8:48 pm
Tach, kann mir vielleicht jemand ne ausführliche Anleitung reichen?
Das Problem ist folgendes:
Ich würde gerne wissen, was ich in die DefCore, die ActMap und den script schreiben muss, bei einer Raketenstation, von der aus man die Rakete starten kann und bestimmen kann, wo sie einschlägt.
Das Ding soll ungefär so aussehen: ->rechts die Rakete ->links das Hauptgebäude ->vor der Rakete das Raketengestell ->beides auf einem Fundament ->vor dem gesamten Gebäude soll man laufen können (nicht wie bei kleiner Burg mit oberer Etage die vorsteht)
ich hoffe die Infos reichen. kann mir bitte schleunigst jemand helfen?
Zuletzt von Stephan Borgs am Mo März 22, 2010 9:12 pm bearbeitet; insgesamt 1-mal bearbeitet
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: RocketLounchStation Mo März 22, 2010 9:11 pm
Vielleicht würde dieser Thread eher zu "Anfragen" gehören... So eine Raketenbasis ist extrem kompliziert. Guck dir vielleicht mal den Script vom Geschützturm und vom verwendeten Kampfgeschütz (letzteres steckt in der Geschützturmdefinition) an... Vielleicht wäre es sowieso am besten, wenn du eine Art überdimensioniertes "Raketengeschütz" machst, mit dem man dann Trägerraketen für Raumschiffe und Satelliten, Angriffsraketen etc, abfeuern kann. Das Geschütz sollte extrem stark sein, sehr viel Strom/Öl/Pulver verbrauchen und nur Raketen abfeuern können. Du kannst dir einfach den Script vom Artilleriegeschütz o. Ä. anschauen, um zu gucken, wie du das machst. Das Geschützsstem ist recht einfach: Du kannst beim Erstellen eines Geschützes wählen, was es schießt, wie weit es schießt, was es zum Abfeuern verbraucht, usw. usf., und das alles einfach per #appendto, indem du die Returnwerte von Funktionen änderst, die die Geschützeigenschaften definieren. Ja ja, ich weiß, dass Raketen sich selbst starten - das ist ja der Witz bei Raketen - aber ich glaube, das wäre ein bisschen zu kompliziert umzusetzen. Wenn du dem "Startrampengeschütz" einen Rückstoß verpasst, die Rakete Flammen hinter sich herzieht etc. läuft es optisch sowieso aufs selbe heraus. Es wäre zwar etwas seltsam, wenn man die Startrampe zum Zielen rotiert, aber das ließe sich in Kauf nehmen, oder?
Stephan Borgs Kadett
Alter : 29 Ort : Duisburg Meiderich Anmeldedatum : 09.03.10
Thema: Re: RocketLounchStation Mo März 22, 2010 9:18 pm
Naja, ich dachte wirklich an ein eigenständiges Gebäude in der Art der Artillerie im First Aid Pack. Ich weis dass es häftig ist, aber vielleicht kann man alle Befehle etwas kürzer fassen.
PS.Die Grafik in der Themeneröffnung hab ich in c.a. 2 Minuten gemalt (bitte keine Kritik)
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: RocketLounchStation Mo März 22, 2010 9:19 pm
Das wichtigste ist wohl die Rakete, die braucht ne Action mit Procedure FLOAT und muss sich immer entsprechend der Flugrichtung drehen. Hier zu wäre angle wohl geschickt. Beim starten der Rakete lässt du sie erst ein den Himmel steigen und dann mit SetCommand und MoveTo ihr Ziel ansteuern.
Stephan Borgs Kadett
Alter : 29 Ort : Duisburg Meiderich Anmeldedatum : 09.03.10
Thema: Re: RocketLounchStation Mo März 22, 2010 9:42 pm
Unter dem Link
Zitat :
angle
steht etwas von drehen, winkel und draufzu fliegen, aber ich glaube, dass es in der Artilleriestation (firstAidPack) ziemlich vereinfacht wurde. Das Projektil fliegt über der Abschussstation us dem Bildschirm (sichtbaren Bereich) und kommt da wieder ins Bild hinein, wo man hinvisiert hat.
Die Rakete soll garnicht suchen, sie soll da einschlagen, wo ich sie hin zitiere. (von der Station aus)
Stephan Borgs Kadett
Alter : 29 Ort : Duisburg Meiderich Anmeldedatum : 09.03.10
Thema: Re: RocketLounchStation Mo März 22, 2010 10:30 pm
So, nur mal als Beispiel, dass die Grafiken kein Problem sind.
Schonmal die Rakete:
Die Stationsgrafik wird natürlich etwas schwieriger, aber das schlimmste ist der Script, echt schlimm.
der kleine boss Vizeadmiral
Alter : 28 Ort : In einem gaaaaanz kleinen Kaff in Austria Anmeldedatum : 21.03.09
Thema: Re: RocketLounchStation Di März 23, 2010 9:14 am
willst du, dass die Rakete ganz nach oben fliegt und dann oben raus geht, dann über dem einschlagspunkt wieder zurückkommt, oder dass die rakete direkt zum Ziel fliegt?
PS. schöne Rakete
Stephan Borgs Kadett
Alter : 29 Ort : Duisburg Meiderich Anmeldedatum : 09.03.10
Thema: Re: RocketLounchStation Di März 23, 2010 1:08 pm
Also ich meine es so, dass die Rakete über der Station den Bildschirm verlässt, und überm Einschlagspunkt wieder in den Bildschirm eintritt.
Also:
->nicht direkt das Ziel anfliegen ->ausm Bildschirm raus (über Station) ->innen Bildschirm rein (überm einschlagspunkt) ->das Ziel nicht direkt ansteuern
PS. Danke
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: RocketLounchStation Di März 23, 2010 4:44 pm
Ah, achso klar. Kleine "Idee":
Code:
/*Raketenscript*/ #strict
local flying,canexplode;
func Start() { /*Wird von der Raketenbasis aufgerufen*/ SetAction("Fly"); //Einfach eine Action mit Prozedure=FLIGHT SetComDir(COMD_Up); //Halt i-wie machen das sie nach OBEN fliegt flying=1; return(1); }
Alter : 29 Ort : Duisburg Meiderich Anmeldedatum : 09.03.10
Thema: Re: RocketLounchStation Di März 23, 2010 5:22 pm
Was meinst du mit:
Zitat :
Halt i-wie machen das sie nach OBEN fliegt
Zitat :
halt i-wie nach unten fliegen lassen
das Wort "irgendwie" verwirrt mich. Soll ich da was einsetzen oder so? Wegen irgendwie.
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: RocketLounchStation Di März 23, 2010 6:28 pm
Naja also wenn man so eine Action hat mit irgenteiner Prozedur,, z.B Flight, dann nützt es ja nichts nur die Action zu setzen sondern sie muss auch irgentwie "nach oben fliegen". Und das muss man ja irgentwie hinkriegen aber ich hatte keine Ahnung wie man das mit ner Action festlegen kann.
Stephan Borgs Kadett
Alter : 29 Ort : Duisburg Meiderich Anmeldedatum : 09.03.10
Thema: Re: RocketLounchStation Di März 23, 2010 6:35 pm
Kann nicht irgenjemand aus der First Aid Artillerie schlau werder?
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: RocketLounchStation Di März 23, 2010 6:45 pm
Cheattaa In Exit gibts nen Parameter der das Ding regelt. Der Schuss hat keine ActMap und wird zur Category "Deko" gemacht bis es von oben runterkommt. Cheata.
Wasserwipf General
Alter : 28 Ort : Schweiz / Aargau Anmeldedatum : 14.08.09
Thema: Re: RocketLounchStation Di März 23, 2010 7:31 pm
Mann könnte sich doch mal Die rakete von toastbrots Atombunker ansehen, die Funktioniert genau so wie es gewollt ist...
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: RocketLounchStation Di März 23, 2010 8:09 pm
Herrje, das ist doch nicht so schwer! Die Action:
Code:
[Action] Name=Fly Procedure=Float Delay=t Lenght=h Facet=Xo, Yo, X, Y StartCall=CorrectDir
In die Variablen sind die entsprechenden Werte einzufügen, siehe dazu den Dokueintrag zu Actmap. Ist Der Delay zu kurz musst du CorretDir u.U. anders aufrufen. Wichtig ist nur das es in relativ kurzen Intervallen aufgerufen wird um eine Zeitnahe Rotationskorrektur zu ermöglichen.
Das Gebäude:
Code:
local pRocket, iX,iY, pPlacer;
func ContainedDigDouble() { if(!pRocket) pRocket = CreateObject(RCKT, 30, 0); //Koordinaten sind relativ zum Offset, müssen je nach größe der Objekte angepasst werden } func ContainedThrow() { pRocket -> SetComDir(COMD_Up()); pRocket -> SetAction("Fly"); pRocket -> Schedule("SetCommand("\MoveTo\", x,y)", 108); }
Jetzt brauchst du noch ein Teil mit dem du dein Zielpunkt festlegen kannst, einfach einen Cursor erschaffen gibts in vielen Packs, sollte nicht allzu schwer sein. Die Rakete kann auf Doppelgraben erzeugt werden, dann auf werfen abgeschossen werden, fliegt 3 sek hoch und dann zu ihrer Destination.
Die Rakete
Code:
func CorrectDir() { var iXDir = GetXDir(); var iYDir = GetYDir();
var iRot = Angle(0,0, iXDir, iYDir);
SetR(iRot); }
func Hit() { Explode(50); //Was auch immer passieren soll }
Die Korrekturfunktion und halt die Hitfunktion.
Den Rest solltest du selber hinbekommen.
Und wenn du dich dieser Methode nach wie vor massiv verweigerst, dann mach musst du halt ein paar Sachen anders machen, bei Contained Throw löscht du die Zeile mit Schedule. CorrectDir ersetzt du durch:
Code:
if(GetY()) < 0) RemoveObject(); // Die Rakete wird einfach entfernt wenn sie zum Bildschirmrand rausfliegt.
func Impact() { var pPro = CreateObject(RCKT, iX, 0); //Über dem Ziel die Rakete erzeugen pPro -> SetR(180); // Drehen pPro -> SetComDir(COMD_Down()); //Fliegen lassen pPro -> SetAction("Fly"); }
Stephan Borgs Kadett
Alter : 29 Ort : Duisburg Meiderich Anmeldedatum : 09.03.10
Thema: Re: RocketLounchStation Mi März 31, 2010 3:01 am
Extremclonk schrieb
Zitat :
Herrje, das ist doch nicht so schwer!
Das sehe ich aber anders. Naja, werds mal testen und Antwort geben.
Thoros Generalmajor
Anmeldedatum : 22.09.09
Thema: Re: RocketLounchStation Mi Apr 07, 2010 10:36 pm
Könntest du die Rackete Hochladen wenn die Fertig ist? Bitte^^
Stephan Borgs Kadett
Alter : 29 Ort : Duisburg Meiderich Anmeldedatum : 09.03.10
Thema: Re: RocketLounchStation Mi Apr 07, 2010 11:51 pm
Die Schussstation ist noch ziemlich eintönig, aber die Rakete brauch nur noch kleine Veränderungen. Wird noch was dauern, aber ich werd das ganze Ding mal in 3D und Clonksicht hochladen.