Scripte:Startposition
Aus Clonk Wiki
Allgemein
Hier wird beschrieben, wie man die Startpositionen von Spieler in einem Szenarioscript festlegt.
| Startposition | |
|---|---|
| Kategorie: | Szenario |
| Autor: | Scripte-Projekt |
| Behandelt: | {{{Behandelt}}} |
| Empfohlenes Vorwissen: | {{{Vorwissen}}} |
| Benötigt Objektpacks: | {{{Packs}}} |
| Stufe: | |
Code
global
func
ReplaceCrew(int
iCrew,int
iX,int
iY)
{
var
iIndex
=
0;
while(GetCrew(iCrew,iIndex))
{
GetCrew(iCrew,iIndex)->SetPosition(iX,iY);
iIndex++;
}
}
func
OnClonkRecruitment(object
pClonk,
int
iPlr)
{
if(iPlr
==
0)
pClonk->SetPosition(100,100);
if(iPlr
==
1)
pClonk->SetPosition(200,100);
}
//Wichtig: OnClonkRecruitment wird auch aufgerufen, wenn ein Clonk gekauft wird.
//Möchte man wirklich nur die Position zu Beginn sollte folgendes verwendet werden:
protected
func
InitializePlayer(int
iPlayer)
{
if(iPlayer==0)
ReplaceCrew(iPlayer,100,100);
if(iPlayer==1)
ReplaceCrew(iPlayer,200,100);
}
Erweitert
func
OnClonkRecruitment(object
pClonk,
int
iPlr)
{
Diese Zeile ist ein so genannter "GameCall". Er wird nicht von der Engine aufgerufen, sondern vom Clonk selbst. Die Funktion wird aufgerufen, wenn der Clonk einer Crew zugewiesen wird.
if(iPlr
==
n)
pClonk->SetPosition(x,y);
In einem ersten Schritt checken wir unseren Spieler. Ist es der Spieler den wir wollen, geht es weiter. (Der erste Spieler hat die Nummer 0!) Anschliessend folgt ein "ObjectCall". Damit rufen wir eine Funktion in einem Objekt auf. In unserem Falle SetPosition, dass die Position setzt. Da geben wir nun unsere Position an.
Die Funktion "ReplaceCrew" habe ich nur additiv gepostet. Mit ihr kann man die ganze Crew eines Spielers an eine bestimmte Position verschieben. Bsp:
ReplaceCrew(0,100,100);
//Setzt alle Clonks von Spieler 0 an die Position 100,100.
Position (auch Koordinaten) werden in X- und Y-Achse angegeben. Zuerst kommt immer X, dann Y. Anders als in der Mathematik, ist der Nullpunkt (0,0) oben in der linken Ecke.
| Scripte des Scripte-Projekts | |
| Bonbon · Context-Eintrag · EliminateTeam · Flint:Partikelschleuder · Hüpfbonbon · TeamMessage | |
| Flint: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 | |
| Clantag · Gift-Effekt · Unverwundbarkeit · Scoreboard · Zufallsgespräch | |
| Lebensbalken · Nachrichten bei Sichtkontakt · Object2Overlay · SHA1 | |
| Dieser Artikel wurde gemäß der Scriptrichtlinien veröffentlicht. |
