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

Scripte:Object2Overlay

Aus Clonk Wiki

Wechseln zu: Navigation, Suche

Allgemein

Hilfsfunktion, mit der Objekte in Overlays auf anderen Objekten verwandelt werden können. Hiermit können Objekte beipielsweise erst im Konsolemodus platziert, und dann zu Overlays auf anderen Objekten umgewandelt werden.

  Object2Overlay
Kategorie: Overlays
Autor: Sven2
Behandelt: {{{Behandelt}}}
Empfohlenes Vorwissen: {{{Vorwissen}}}
Benötigt Objektpacks: {{{Packs}}}
Stufe: Experte Experte Experte Experte






Script

C4Script
/* Objekt zum Overlay machen */

#strict 2

global
 
func
 
Object2Overlay(object
 
target,
 
object
 
obj)
  
{
  
// Sicherheit/Lokaler Aufruf
  
if
 
(!target)
 
return
 
0;
  
if
 
(!obj)
 
if
 
(!(obj
 
=
 
this))
 
return
 
0;
  
// Neues Overlay mit Parametern des Objektes erzeugen
  
var
 
overlay_mode
 
=
 
GFXOV_MODE_Base;
  
var
 
overlay_action
 
=
 
0;
  
var
 
overlay_id
 
=
 
GetUnusedOverlayID(GFX_Overlay,
 
target);
  
if
 
(!ActIdle(obj))
 
{
 
overlay_mode
 
=
 
GFXOV_MODE_Action;
 
overlay_action
 
=
 
GetAction(obj);
 
}
  
if
 
(!SetGraphics(0,
 
target,
 
GetID(obj),
 
overlay_id,
 
overlay_mode,
 
overlay_action,
 
GetObjectBlitMode(obj),
 
0))
 
return
 
0;
  
if
 
(GetClrModulation(obj))
 
SetClrModulation(GetClrModulation(obj),
 
target,
 
overlay_id);
  
SetObjDrawTransform(1000,0,(GetX(obj)-GetX(target))*1000,
 
0,1000,(GetY(obj)-GetY(target))*1000,
 
target,
 
overlay_id);
  
// Altes Objekt kann weg
  
RemoveObject(obj);
  
// Erzeugtes Overlay zurückgeben
  
return
 
overlay_id;
  
}

Das Script kann beispielsweise in einer Datei in der System.c4g des Szenarios abgelegt werden.

Beispiel

Platzierung der Schildobjekte
Wir wollen zwei Schilde als Wappen vor einer Burg platzieren. Dazu platzieren wir die Schilde im Pausenmodus an der gewünschten Stelle der Burg.

Danach markieren wir die beiden Schilde und geben im Objekt-Eigenschaftsfenster ein:

C4Script
Object2Overlay(FindObject2(Find_ID(CST2),
 
Sort_Distance()),
 
this)

Nach Eingabe des Scriptes sind die Schildobjekte verschwunden und die gewünschte Grafik an der entsprechenden Stelle. Die Burg lässt sich nun bequem mit Schildgrafiken umherschieben.

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.
en:Script:Object2Overlay
extern