Ich nehme an mit ChangeDef(). Ich hab RdW nie runtergeladen, daher ohne Garantie.
Stephan Borgs Kadett
Alter : 29 Ort : Duisburg Meiderich Anmeldedatum : 09.03.10
Thema: Re: RdW Aufwertung Do Apr 08, 2010 9:03 pm
Echt schade, dass du nicht genaueres weisst, und glaub mir, es lohnt sich, es zu downloaden.
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: RdW Aufwertung Do Apr 08, 2010 9:08 pm
Naja also erstmal gibt es im Script diese
Code:
func ContainedDigDouble()
Funktion. Die wird aufgeruffen wenn man in der Hütte Doppelgraben drückt. In dieser Funktion werden dann wahrscheinlich alle Objekte und Clonks rausrangiert, die alte wird gelöscht und mit CreateConstruction() wird dann eine Baustelle für die neue Hütte errichtet. Das beeinhaltet nicht das Menü oder so. Also ich würde es ca. so machen:
Code:
func ContainedDigDouble(){ //Erstmal alle rauswerfen var contents; while((contents = Contents() != 0) contents->Exit(); //Gut, dann noch eine neue Baustelle errichten CreateConstruction(GEBÄUDE-ID,AbsX(GetX()),AbsY(GetY()),-1,1); //Und jetzt noch die alte Hütte löschen RemoveObject(this()); //Und fertig sind wir! return(1); }
Zuletzt von Gamer am Do Apr 08, 2010 9:30 pm bearbeitet; insgesamt 1-mal bearbeitet (Grund : Thx an extremclonk)
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: RdW Aufwertung Do Apr 08, 2010 9:17 pm
Kleine Anmerkung: contents = Contents() gibt ein Objekt zurück. Ein Objekt ist ungleich Null, aber nicht gleich true. Demnach wäre while(contents = Contents() != 0) sinnvoller.
E: My fail, G4m0r hat recht.
Zuletzt von Extremclonk am Fr Apr 09, 2010 4:49 am bearbeitet; insgesamt 1-mal bearbeitet
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: RdW Aufwertung Do Apr 08, 2010 9:30 pm
Editiert, danke für Hinweis. Obwohl das so in Tundaners APC auch so steht!
Tackleberry Leutnant
Anmeldedatum : 29.04.09
Thema: Re: RdW Aufwertung Fr Apr 09, 2010 3:36 am
Eigentlich sollte das schon gehen, nach der Tabelle in der Doku kann nämlich jeder Datentyp in einen Bool konvertiert werden.
Ich dachte auch immer, dass true nach allgemeiner Definition "ungleich null" entspricht... - so wird es auch in anderen Sprachen gehandhabt.
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: RdW Aufwertung Sa Apr 10, 2010 1:23 am
Ich hab ja schon geschreiben, das es doch richtig ist was Gamer sagt......... Whatever, RdW verwendet ebenfalls ChangeDef() allerdings ist das ganze ein großes Script mit dem ganzen Zeug das noch drum rum zu gehört. Ich weiß ja nicht ganz genau was du vor hast, aber wenns nicht zuviele Gebäude sind würde ich das an deiner Stelle mit ChangeDef() hardcoden. Sag doch mal was genau du vorhast.
Stephan Borgs Kadett
Alter : 29 Ort : Duisburg Meiderich Anmeldedatum : 09.03.10
Thema: Re: RdW Aufwertung Sa Apr 10, 2010 1:42 am
Ich hatte mir vorgestellt, eine Basis zu konstruieren (Grafik hab ich schon, auf Wunsch kann ich sie ja posten) die man erweitern kann. Wenn man sie baut ist es ne Holzhütte, dann Steinhütte, dann Zweietagenhaus, u.s.w. Also alles einzelne Grafiken und Objektordner. Halt RdW like.
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: RdW Aufwertung Sa Apr 10, 2010 8:24 pm
Dann passt mein Script perfek für dich. Mit ChangeDef wird ja das Objekt selbst einfach durch ein Objekt der neuen ID besitzt, mit Voller Ausbaugröße, oder?
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: RdW Aufwertung So Apr 11, 2010 2:52 pm
ChangeDef ersetzt das Objekt durch ein Objekt neuer ID der selben Ausbaugröße. So wird aus einer halbfertigen Bambushütte ein halbfertiges Schloss. Oder aus einem halben Schloss ein Mini-Clonk. Allerdings sollte man hierbei beachten das das Objekt dann gern zu Hälfte in der Erde hängt, eine solche Anpassung solltest du noch vornehmen.
Code:
var iOff = GetDefCoreVal("Height")-GetDefCoreVal("Height", 0, GEBÄUDE-ID)/2; CreateConstruction(GEBÄUDE-ID,AbsX(GetX()),AbsY(GetY())+iOff,-1,1);
Vobei man sich AbsX(GetX()) sparen kann das dies immer Null zurück gibt und man daher genauso gut "0" schreiben kann.
Stephan Borgs Kadett
Alter : 29 Ort : Duisburg Meiderich Anmeldedatum : 09.03.10
Thema: Re: RdW Aufwertung So Apr 11, 2010 4:48 pm
Hört sich alles sehr gut an. Jetzt ist es aber so, dass ich es ziemlich genau so wie im RdW Pack haben möchte. Das System da gefällt mir ganz gut. Man geht ins Haus, drückt doppel graben und die Grafik geht in den Hintergrund. Dann holt man sich Baumaterial und baut das neue Haus/neue Grafik über die alte. Dann hat man also eine Grafik über der anderen. Jetzt wärs noch schön, wenn dann nachdem die neue Grafik fertig gebaut ist, dann erst die alte verschwindet.