CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  SuchenSuchen  Neueste BilderNeueste Bilder  AnmeldenAnmelden  LoginLogin  

 

 Alle Materialien eines Typs ersetzen

Nach unten 
2 verfasser
AutorNachricht
Donky
Hauptman
Hauptman
Donky


Männlich Alter : 26
Ort : In der Nähe Hamburgs
Anmeldedatum : 03.11.09

Alle Materialien eines Typs ersetzen Empty
BeitragThema: Alle Materialien eines Typs ersetzen   Alle Materialien eines Typs ersetzen EmptyMi Dez 29, 2010 2:04 pm

Ich habe gerade folgendes Problem:
Ich wollte in einem Szenario alle Säure mit Wasser ersetzen.
Dazu habe ich diesen Script versucht:
Code:

func Script360()
{
for(var X = LandscapeWidth();X>=0;X--) ReplaceMaterial("Acid","Water",X);
}

func ReplaceMaterial(szMaterial,szNewMaterial,iX)
{
  for(var Y=LandscapeHeight();Y>=0;Y--) {
  if(GetMaterial(iX,Y) == Material(szMaterial))
 if(ExtractMaterialAmount(iX,Y,Material(szMaterial),1)) InsertMaterial(Material(szNewMaterial),iX,Y);
  }
}
raus kam dann sowas hier
Alle Materialien eines Typs ersetzen Saure_10

keine Errors, keine Warnings. Ich weiß echt nicht mehr weiter. Wär toll wenn ihr helfen könntet.

EDIT: Super das klappt echt toll. Bis auf den letzten Pixel cheers . Kann hier bitte wer closen?


Zuletzt von Donky am Mi Dez 29, 2010 3:00 pm bearbeitet; insgesamt 1-mal bearbeitet
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Alle Materialien eines Typs ersetzen Empty
BeitragThema: Re: Alle Materialien eines Typs ersetzen   Alle Materialien eines Typs ersetzen EmptyMi Dez 29, 2010 2:23 pm

InsertMaterial setzt nur einen Materialpixel, d.h. einen losen Pixel. Machs per DrawMaterialQuad. So wirds auch in Goldrennen getan.

Code:
for (var x = 0; x < LandscapeWidth(); x++)
  for (var y = 0; y < LandscapeHeight(); y++)
    if (GetMaterial(x, y) == Material("Acid"))
      DrawMaterialQuad("Water", x, y, x + 1, y, x + 1, y + 1, x, y + 1, true);
Nach oben Nach unten
 
Alle Materialien eines Typs ersetzen
Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Alle Objekte drehen
» Materialien
» Wie gibt man Clonks zu Anfang Materialien
» Steine,Lehm,usw in Materialien
» Materialien selber erfinden!

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Scripthilfe-
Gehe zu: