Aufgrund einer akuten Spamwelle ist das Editieren für nicht angemeldete Benutzer zur Zeit deaktiviert. Wir bitten um Verständnis.

Scripte:Spawn

Aus Clonk Wiki

Wechseln zu: Navigation, Suche
IconBearbeiten.png Dieser Artikel bedarf einer Überarbeitung:
Objekt-Spawn kann eleganter gelöst werden, diese Methode ist veraltet. --Nachtschatten 13:45, 28. Apr. 2010 (UTC)

Eventuell findest du weitere Argumente auf der Diskussionsseite.


Inhaltsverzeichnis

Allgemein

Spawnt Objekte irgendwo auf der Landschaft.

  Spawn
Kategorie: Hintergrundobjekt
Autor: N4ppeL
Behandelt: {{{Behandelt}}}
Empfohlenes Vorwissen: {{{Vorwissen}}}
Benötigt Objektpacks: {{{Packs}}}
Stufe: Fortgeschrittene Fortgeschrittene






Script

Zunächst erstellen wir ein neues Objekt. Die Grafik ist egal, um Speicher zu sparen verkleinern wir sie einfach auf 1x1 pixel.
In der DefCore ändern wir den Wert "Category" auf 65, damit das Objekt auch schön im Hintergrund bleibt und einfach nur spawnt, und schreiben zusätzlich: Timer=500 TimerCall=Check Damit alle 500 Frames die Funktion "Check" aufgerufen wird.

C4Script
protected
 
func
 
Check()
 
//Wird alle 500 Frames aufgerufen
{
  
var
 
obj
 
=
 
RandomID();
  
var
 
pWipf
 
=
 
PlaceAnimal(WIPF);
 
//Platziert einen Wipf irgendwo in der Landschaft
  
CreateObject(obj,
 
GetX(pWipf),
 
GetY(pWipf)+10);
  
RemoveObject(pWipf);
 
//löscht den Wipf wieder
  
return(1);
 
//Gibt 1, bzw "true" zurück
}

protected
 
func
 
RandomID()
{
  
var
 
rID
 
=
 
[CRYS,FLNT,SFLN,PFIR,PWIP,PHEA,PMAN];
  
return
 
(rID[Random(7)]);
}

Erläuterung

C4Script
var
 
obj
 
=
 
RandomID();

Deklariert eine Variable namens "obj", die innerhalb des Funktionsaufrufes gültig ist, und weist dieser den Wert zu, den RandomID() zurück gibt. RandomID() sehen wir uns weiter unten genauer an.

C4Script
CreateObject(obj,
 
GetX(pWipf),
 
GetY(pWipf)+10);

Erstellt den Objekttyp, der bei RandomID() ausgewählt wurde an der Position, an der der Wipf steht.

C4Script
protected
 
func
 
RandomID()

Wird aufgerufen, wenn obj einen Wert zugewiesen wird.

C4Script
var
 
rID
 
=
 
[CRYS,FLNT,SFLN,PFIR,PWIP,PHEA,PMAN];

Erstellt ein array mit einigen IDs. Ich habe hier einige gewählt, die man in einem Magus-melee brauchen kann. rID[0] hat hier den Wert bzw. die ID "CRYS", rID[1] den Wert "FLNT" und rID[5] den Wert "PHEA" gespeichert.

C4Script
return(rID[Random(7)]);

Gibt eine der im Array gespeicherten IDs zurück.

Random(7)
wählt eine Zahl von 0 bis 6 aus. Der Zahl entsprechend wird eben dieser Arrayeintrag zurückgegeben und oben in obj gespeichert.

Ergebnis

Magie! Es werden aus dem Nichts Objekte hergezaubert! Und dies auch noch mitten in der Landschaft :O!

PS: Damits funktioniert einfach das Objekt im Szenarioscript erstellen.


Scripte des Scripte-Projekts
AnfängerBonbon · Context-Eintrag · EliminateTeam · Flint:Partikelschleuder · Hüpfbonbon · TeamMessage
Fortgeschrittene FortgeschritteneFlint:HitCounter · Flint:Partikelkreis · Flint:Partikelschleuder2 · Is-Funktionen · Menü:Beim Start der Runde · Normaler Flint · Partikel-Linie in den Himmel · Rakete · Random · Relaunch · Return · Sichtweite · Spawn · Startposition
Profi Profi ProfiClantag · Gift-Effekt · Unverwundbarkeit · Scoreboard · Zufallsgespräch
Experte Experte Experte ExperteLebensbalken · Nachrichten bei Sichtkontakt · Object2Overlay · SHA1


Wipfhunt.png Dieser Artikel wurde gemäß der Scriptrichtlinien veröffentlicht.
extern