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  

 

 Sections - Ein Schritt-Für-Schritt Tutorial

Nach unten 
+7
Vadim_Rodin
Liech
alexander_der_dritte
Umezawa
Simsi
Bowserkoopa
Gamer
11 verfasser
Gehe zu Seite : 1, 2  Weiter
AutorNachricht
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Feb 14, 2009 12:33 am

*****
Hallo!

Und willkommen zu meinem Tutorial über Sections - Die Schritt-Für-Schritt Anleitung.
Nun, erst einmal sage ich, was Sections überhaupt sind.

Sections: "Section" (engl.) bedeutet so viel wie Abschnitt. In Clonk ist damit folgendes gemeint: In einem Szenario ist normalerweiße 1ne Karte (Map). In einer Section ist eine 2te Karte (Map) gespeichert, mit allen Objekten. Man kann mit verschiedenen Befehlen im Script ein Objekt herstellen, welches die Karten auf Knopfdruck wechselt. Aber dabei muss man verschiedes beachten.

Deshalb, nun zu...

SCHRITT 1

Erst einmal müsst ihr 2 Szenarien erstellen. Ja, 2 Stück. Eine Karte für die Anfangsmap, eine für die Section. Wie ihr Szenarien erstellen könnt, kann man hier nachlesen. Dann zeichnet ihr erstmal gemütlich eure beiden Maps. Und nicht vergessen abzuspeichern Wink. Seit ihr damit fertig, folgt...

SCHRITT 2

Nun, eure beiden Szenarien sehen jetzt ungefähr so aus...
Sections - Ein Schritt-Für-Schritt Tutorial Schrit10 (nur so ungefähr)
So. Nun klickt ihr auf das Szenario mit der Karte, mit der ihr starten wollt und klickt dann oben rechts auf "Neu". Hier wählt ihr dann "Verzeichniss" aus - Dieses Verzeichniss nennt ihr so: Sect***.c4g. Für die **** müsst ihr einen Namen einsetzen. Ich habe mein Verzeichniss z.B SectWüste.c4g genannt. Danach kopiert ihr folgende Dateien aus dem 2ten Szenario in dieses Verzeichniss:Objects.txt, Scenario.txt und die Map.png Alles andere ist überflüssig. Nun, jetzt sollte das schon so aussehen:
Sections - Ein Schritt-Für-Schritt Tutorial Schrit11 (kann auch hier abweichen)
So, jetzt haben wir 1 Szenario mit einer Section. Die nützt uns aber noch nichts, da man nicht zu ihr gelangen kann.
Wir brauchen also ein Objekt, das uns auf die Section verfrachtet. Deshalb kommen wir nun zu...

SCHRITT 3

Wir wollen jetzt also ein Objekt Scripten, das uns in eine Section verfrachtet. Daher klicken wir wieder auf unser Szenario, klicken anschließend auf "Neu" -> "Objekt". Jetzt haben wir ein Objekt im Szenario, wir nennen es z.B "Fernbedienung" oder sowas. Jetzt haben wir diese Fernbedienung, die Aussieht wie ein Stein... Nicht praktisch.
Deshalb nehmen wir erstmal eine neue Grafik... Wie wäre es denn mit dieser hier:
Sections - Ein Schritt-Für-Schritt Tutorial Graphi11 Zum verwenden in Clonk Rage Ordner ziehen und den Editor neustarten. Dann einfach die Grafik auf die Fernbedienung draufziehen, und schon haben wir die neue Grafik übernommen. Dabei müssen wir noch die DefCore.txt bearbeiten. Deshalb macht ihr Doppel-Klick darauf. Bisher sieht eure Datei so aus:
Zitat :
[DefCore]
id=_NEW
Name=New Object
Version=4,9,5
Category=18960
MaxUserSelect=10
Width=6
Height=6
Offset=-3,-3
Value=10
Mass=10
Components=_NEW=1;
Picture=6,0,64,64
Vertices=1
VertexY=1
VertexFriction=20
Rebuy=1
Collectible=1
Also, wir ändern jetzt die ID des Objektes, und passen die Maße an die neue Grafik an. Das sieht dann so aus:
Zitat :
[DefCore]
id=SFBD
Name=Section Fernbedienung
Category=3600
Width=3
Height=7
Offset=-2,-4
Picture=3,7,35,35
Mass=10
Value=50
MaxUserSelect=5
Components=METL=1;
Vertices=3
VertexX=1,-2,2
VertexY=-4,4,4
VertexFriction=50,50,50
Collectible=1
Rebuy=1
Rotate=1
Gut. Jetzt wird das Objekt richtig angezeigt, aber wir haben noch ein Problem. Es macht nähmlich absulut nichts, da das Script des Objektes leer ist. Deshalb kommen wir nun zum letzten Schritt,...


SCHRITT 4

Hier werden wir uns um das Script kümmern. Aber als erstest, eine
WARNUNG: Folgende Befehle sind undokumentiert, da sie nur begrenzt funktionieren bzw. unstabil sind. Ich gebe keine Garantie auf Erfolg.
So, da wir das geklärt haben, öffnet doch mal den Script der Fernbedienung. Sie müsste so aussehen:
Code:
/*-- Neues Objekt --*/

#strict

func Initialize() {
 
  return(1);
}

Jetzt kommen wir zu den einzelnen Befehlen...

LoadScenarioSection(string szSection, int dwFlags)

Also, für "sring szSection" muss der Name der Section rein. Und zwar OHNE das "Sect". Also wenn ihr euren Ordner "SectWüste.c4g" genannt habt, dann ist der Name eurer Section "Wüste". Alles andere nicht.

Und "dwFlags" bedeutet Folgendes. "dwFlags" kann entweder auf 0 oder 1 stehen. Dabei gibt die Zahl an, welche Teile ihr von der Landschaft speichern wollt. "0" Steht für "Landschaft". Grabt ihr ein Loch und kehrt dann wieder zurück, so ist das Loch immernoch da. "1" hingegen Speichert die Objekte. Habt ihr ein Haus gebaut, ist es nachher wieder da.

Nochmal im Klartext und mit Beispiel
Code:
 #strict

public func Activate()
{
LoadScenarioSection("Wüste",1);
}
Dieser Script würde dich in die Section "Wüste" bringen, und die Objekte die du gemacht hast, speichern.

So, kopiert das mal in Fernbedienung. Ihr werdet 2 Sachen feststellen:
  • 1.) Es hat die Section gewechselt.
  • 2.) Du wurdest eliminiert.

So, das is doch schonmal etwas... Aber Verbessern heißt hier die Devise! Denn wir haben etwas wichtiges übersehen...
Wir müssen nähmlich noch den Clonk speichern, damit er nicht wie alles andere auf der Karte gelöscht wird. Das geht mit
SetObjectStatus()! Auch hierbei kurze Erklärung:
SetObjectStatus() hat zwei Parameter. Der 1te ist eine Zahl. Die kann entweder 1 oder 2 sein. Bei normalen Objekten ist es auf 1, damit man sich bewegen etc kann. Der 2te Parameter ist das Objekt, dessen Layer geändert werden soll. Will man hier seinen Menschen machen, nimmt man "GetCrew(iPlr)".

Nochmal im Klartext
Code:
public func StartChanging(int iPlr)
{
GetCrew(iPlr)->SetObjectStatus(2);
Message("DIE SECTION WIRD JETZT GEWECHSELT!");
return(1);
}

Das ist ein Code, der im Szenario-Script stehen kann. Es ändert den Layer vom Clonk des Spielers auf "2", heißt, dass er gespeichert wird und in die Section "mitgenommen" wird. Das Objekt kann diese Funktion später aufrufen. Mit GameCall(string Funktionsname). Wenn man daas also in den Szenario-Skript einfügen würde, und noch dazu im Objekt den Befehl mit dem GameCall macht, sähe dann so aus:
Code:
 #strict

public func Activate()
{
GameCall("StartChanging"); //ruft die Funktion auf, die die Clonks //speichert.
LoadScenarioSection("Wüste",2);
return(1);
}

Probiert das mal aus.
Ihr werdet 3 Dinge feststellen:
  • 1.Die Section wurde gewechselt.
  • 2.Ihr seit noch am Leben
  • 3. Ihr seht euren Clonk nicht mehr, könnt euch nicht bewegen.


Na das ist doch mal ein großer Fortschritt, nur wir haben eins wieder vergessen...
Und zwar die Clonk wieder zu reaktivieren!. Durch "SetObjectStatus(2);" haben wir sie deaktiviert. Jetzt müssen wir sie wieder aktivieren, ihren Layer also auf normal "1" setzen. Das würde im Szenario-Script so aussehen:
Code:
public func EndChanging(int iPlr)
{
GetCrew(iPlr)->SetObjectStatus(1);
Message("DIE SECTION WURDE GEWECHSELT UND DIE CLONKS REAKTIVIERET!");
return(1);
}

So, dieser Code würde die Clonks wieder reaktivieren. Jetzt muss diese Funktion nur noch von unserer Fernbedienung aufgerufen werden. Dazu in das Fernbedienungsobjekt schreiben:
Code:
#strict

public func Activate()
{
GameCall("StartChanging");
LoadScenarioSection("Wüste",2);
GameCall("EndChanging");

}

So. Und jetzt sind wir fertig.
Dieser Skript da oben würde die Clonks deaktivieren, danach die Section laden und die Clonks wieder aktivieren. So schwer war das doch garnicht! Aber hier nochmal die gesamten Scripts am Ende:
Code:

/*-- Szenario-Skript --*/

#strict

public func StartChanging(int iPlr)
{
GetCrew(iPlr)->SetObjectStatus(2);
Message("DIE SECTION WIRD JETZT GEWECHSELT!");
return(1);
}
public func EndChanging(int iPlr)
{
GetCrew(iPlr)->SetObjectStatus(1);
Message("DIE SECTION WURDE GEWECHSELT UND DIE CLONKS REAKTIVIERT!");
return(1);
}

Und die des Objektes:
Code:
 #strict

public func Activate()
{
GameCall("StartChanging");
LoadScenarioSection("Wüste",2);
GameCall("EndChanging");
return(1);
}


So, hier sind wir schon am Ende unserer Reise.
Ich hoffe ich konnte euch das gut erkären. Fragen oder ähnliches dürfen gerne gepopstet werden!

MFG Gamer


Zuletzt von Gamer am Mo Feb 16, 2009 9:58 pm bearbeitet; insgesamt 2-mal bearbeitet
Nach oben Nach unten
http://www.gamer95.npage.de/
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Feb 14, 2009 11:56 am

Also das ist wirklich sehr umfangreich. Immerhin funzt es jetzt bei mir, das Szen zu wechseln. Aber ich hätte es schon als Fortgeschrittenen-Tutorial augegeben. Aber wenn dieser Befehl undokumentiert und unbekannt ist, woher weiß man dann soviel darüber?
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Feb 14, 2009 12:09 pm

@ Kai.
Ja, darüber habe ich auch schon nachgedacht.
Habe mich aber nie getraut zu fragen.. Sad

@ Bowserkoopa: Schön das es bei dir Funktioniert, das zeigt doch, das du alles verstanden hast und ich es gut erklärt habe^^ Man weiß so viel darüber, da die Clonk Entwickler dazu mal nen Threat geschriben haben. HIER nähmlich
Nach oben Nach unten
http://www.gamer95.npage.de/
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Feb 14, 2009 2:42 pm

Also, du kannst ja machen das du z.B in den Szenario-Script noch reinschreibst:
Code:
public func WechsleMusik()
{
Music("Hier_kommt_deine_Musikdatei_rein");
return(1);
}
Und diesen Befehl noch von der Fernbedienung aufrufst, also rein noch reinschreibst
Code:
GameCall("WechsleMusik");
aber ob es einen befehl für das Wechseln von Himmel gibt, weiß ich leider nicht.

Und GameCall() funktioniert nur, wenn die Funktion "public" ist.


Zuletzt von Gamer am Sa Feb 14, 2009 3:33 pm bearbeitet; insgesamt 1-mal bearbeitet
Nach oben Nach unten
http://www.gamer95.npage.de/
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Feb 14, 2009 3:29 pm

Also das mit Musik hätte ich selbst schon gekonnt, aber der Hintergrund ist das Problem. Gibt es keinen Befehl wie: LoadSky() oder LoadBackground() ?
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Feb 14, 2009 3:36 pm

Nein, sowas gibt es nicht. Aber du kannst dir ja mal die anderen Befehle anschaune. Hier Zum beispiel.
Und noch ein klienes Beispiel:
Code:
SetSkyAdjust(RGBa(255,255,255,127), RGB(127,127,127));
Graut den himmel aus..
Nach oben Nach unten
http://www.gamer95.npage.de/
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Feb 14, 2009 3:43 pm

Schade, dann müsste man ja den Himmel beibehalten. Außer man kreirt ein Objekt, dass man verscieben kann und steckt es über den Hintergrund.
Nach oben Nach unten
Simsi
Staatssekretär
Staatssekretär
Simsi


Männlich Alter : 31
Ort : Vaihingen/Enz
Anmeldedatum : 30.03.08

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Feb 14, 2009 3:46 pm

noch ein relativ fataler fehler im script:

du übergibts mit der funktion GameCall(), die dann StartChanging bzw. EndChanging ausführt, nich die Spieler-ID an. in diesem fall bei nur einem spieler kein problem, da weggelassene parameter 0 sind, und 0->erster spieler. aber sobal es mehr spieler werden wird immer nur der erste clonk gespeichert.

so müsstes gehn:
Code:

func Activate(object pByObj) {
  GameCall("StartChanging", GetOwner(pByObj));
  LoadScenarioSection("Wüste", 2);
  GameCall("EndChanging", GetOwner(pByObj));
}
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Feb 14, 2009 3:48 pm

Ich wusste das das nur mit 1nem Clonk geht, schon vorher. Aber danke, dein Script werde ich mal ausprobieren

EDIT: Nein, auch so geht es nicht.

Wahrscheinlich muss ich dann noch das Scenario-Script anpassen.
Nach oben Nach unten
http://www.gamer95.npage.de/
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Feb 14, 2009 4:30 pm

Heißt das jetzt SetObjectLayer() oder SetObjectStatus()?
Im Code schreibst du Status, in der Erklärung Layer, das verwirrt mich etwas.
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Feb 14, 2009 4:35 pm

Die Funktion heißt "SetObjectStatus", und die Funktion ändert den Layer eines Objectes
Nach oben Nach unten
http://www.gamer95.npage.de/
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptyDi Feb 17, 2009 4:07 pm

Mhm... müsst ich mal ausprobieren. Also in der Doku steht folgendes:
Zitat :
Sky Zeichenfolge Himmeltextur wie in der Graphics.c4g vorhanden (ohne Dateierweiterung).
Und HIER ist der Link zur Doku. Das muss man übrigens bei [Landscape] reinschreiben.
Also einfach nur Sky.png in die Graphics.c4g packen und im Scen angeben, fertig? Ich probiers mal aus.
Nach oben Nach unten
http://www.gamer95.npage.de/
alexander_der_dritte
Oberst
Oberst



Anmeldedatum : 30.12.08

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Feb 28, 2009 1:43 am

Heißt das jetzt wenn ich das ganze script vom anfang des tret mit dazunehme dass da dann plötzlich ne ganz andere map ist beispiel:
Wüste->Wald
oder das mehrere karten aneinandergeheftet werden?
Wüste->noch mehr Wüste

nebenbei lol gibt noch nen Alex. Laughing
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptyMi März 04, 2009 4:59 pm

Also ich hätte da noch ne Frage bzg. Tutorial. Wenn die Clonks das Szen wechseln, sterben sie sofort, wenn sie in festem Material erscheinen.(vielleicht auch nur Spieler 2) Kann man es nicht so machen, dass alle Clonks im freien positioniert werden? Hab das Szen jetzt mit 2 Spielern gestartet und der ist eben beim Wechsel gestorben.

Zitat :
Mhm... müsst ich mal ausprobieren. Also in der Doku steht folgendes:
Zitat:
Sky Zeichenfolge Himmeltextur wie in der Graphics.c4g vorhanden (ohne Dateierweiterung).

Und HIER ist der Link zur Doku. Das muss man übrigens bei [Landscape] reinschreiben.
Also einfach nur Sky.png in die Graphics.c4g packen und im Scen angeben, fertig? Ich probiers mal aus.
Lässt sich damit dann der Hintergrund ändern? Also mit einer Graphics.png im Hauptszenario?

EDIT: Ich glaube es liegt daran, dass es Spieler 2 ist. Wie schaffe ich es, dass die Clonks aller Spieler übernommen werden?
EDIT2: Nach weiteren Forschungn herausgefunden, das nur der Clonk übernommen wird, der das Objekt aktiviert.
Nach oben Nach unten
Liech
Fregattenkapitän
Fregattenkapitän



Männlich Alter : 32
Anmeldedatum : 02.02.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptyMi März 04, 2009 7:51 pm

geh halt alle spieler mit einer schönen schleife durch und ruf bei dessen clonks SetObjectStatus(...) auf.
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptyMi März 04, 2009 9:01 pm

Ja.
Das ist der einzige Hacken an dem Script. Nur der spieler ders aufruft kommt in die nächste sektion.
Scahut doch mal beim Fortgeschrittenen Tuturial vorbei, da hat einer meinen Script verbessert
Nach oben Nach unten
http://www.gamer95.npage.de/
Vadim_Rodin
Kadett
Kadett
Vadim_Rodin


Männlich Alter : 26
Ort : Scheer
Anmeldedatum : 19.01.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa März 14, 2009 5:37 pm

hmm Aber Kann man das machen das Der Clonk gespeichert Wird?
Nach oben Nach unten
Hyperman
Fähnrich
Fähnrich
Hyperman


Männlich Alter : 30
Ort : Schweiz
Anmeldedatum : 13.03.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa März 21, 2009 11:30 am

Hm. Dein Tutorial ist wirklich gut, aber ich habe das hier: http://de.wiki.nosebud.de/paste/aLQHA6iR.html und werde trotzdem eliminiert.
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa März 21, 2009 12:17 pm

Mach das GameCall weg, schreib einfach nur die Funktion hin.
Und das alles mit dem "Lenny = GetCrew(iPlr)" das steht in keiner Funtion.
Mach das am besten so:
Code:

public func StartChanging(int iPlr) 
{
Lemy = GetCrew(iPlr);
Hansli = //wurde nie deklariert?
GetCrew(iPlr)->SetObjectStatus(2);
Lemy->SetObjectStatus(2);
Hansli->SetObjectStatus(2);
return(1);
}
public func EndChanging(int iPlr)
{
// hier musst du auch nochmal die Variablen deklarieren
GetCrew(iPlr)->SetObjectStatus(1);
Lemy->SetObjectStatus(1);
Hansli->SetObjectStatus(1);
return(1);
}
func Script374()
{
StartChanging(iPlr);
LoadScenarioSection("Village",2);
EndChanging(iPlr);
 }
Nach oben Nach unten
http://www.gamer95.npage.de/
Hyperman
Fähnrich
Fähnrich
Hyperman


Männlich Alter : 30
Ort : Schweiz
Anmeldedatum : 13.03.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa März 21, 2009 2:00 pm

So nun konnten mir Nachtschatten und Randrian helfen. Man wird an dieser Position erstellt, an welcher man in der alten Landschaft war. Also angenommen ich spiele eine Runde, stehe an der Position 200,300 und lade dann die neue Landschaft, werde ich dort wieder an der Position 200,300 erstellt. Wenn die neue Landschaft, welche ich laden will also nur 150 Pixel lang ist (statt 200), werde ich eliminiert. Dies war mein Fehler, denn die neue Landschaft war kleiner, als jene die ich gerade spielte und ich stand ausserhalb der Grösse der neuen Landschaft. Behebung des Problems: ändere die Position deines Clonk auf eine Position, welche in der neuen Landschaft sicher vorhanden ist. Das könnte dann zum Beispiel so aussehen:
Code schrieb:

public func StartChanging(int iPlr)
{
GetCrew(iPlr)->SetPosition(100,100);
GetCrew(iPlr)->SetObjectStatus(2);
Message("DIE SECTION WIRD JETZT GEWECHSELT!");
return(1);
}
public func EndChanging(int iPlr)
{
GetCrew(iPlr)->SetObjectStatus(1);
Message("DIE SECTION WURDE GEWECHSELT, DIE CLONKS REAKTIVIERT UND DU STEHST AN DER POSITION 100,100!");
return(1);
}


Zuletzt von Hyperman am Sa März 21, 2009 10:10 pm bearbeitet; insgesamt 3-mal bearbeitet (Grund : Weil es so ist :o)
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Jun 19, 2010 1:08 pm

Nach fast nem Jahr wieder ein Beitrag hier. Und zwar wollte ich jetzt ein Szenario machen, in dem ein Wechsel benötigt wird. Da ich aber eigene Materialien verwende, stellt sich mir die Frage, ob diese dann auch übernommen werden. Wäre ja blöd wenn man am untern Bildschirmrand herumlaufen müsste
Nach oben Nach unten
Wipfmagus
Konteradmiral
Konteradmiral
Wipfmagus


Weiblich Alter : 28
Anmeldedatum : 06.03.10

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Jun 19, 2010 3:24 pm

Materialien sind wimni szenario- und nicht sectionabhängig. Sie werden am Anfang eines Szenarios geladen und gelten dann für alle Sections.
Wenn nicht, dann kopiere doch einfach die Materialien in die c4gs der Sections.
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySa Jul 31, 2010 3:17 pm

Alter Thread und schon seit nem halben Jahr kein Post... Uff. Trotzdem ist mir da noch was aufgefallen:
Du schreibst, LoadScenarioSection nimmt als 2. Parameter einen dwFlag. Das ist richtig. Allerdings ist dieser nicht nur "0 oder 1". Das Präfix "dw" weist immer auf Bitwerte hin. Man kann hier mehrere Werte kombinieren.
Es kann also nicht nur die Landschaft oder nur die Objekte gespeichert werden, sondern auch beides. Außerdem ist es möglich, Effekte zu speichern.
Dabei ist:
C4SECT_SaveLandscape = 1
C4SECT_SaveObjects = 2
C4SECT_KeepEffects = 4
Dann werden zB bei C4SECT_SaveObjects | C4SECT_SaveLandscape Objekte und Landscape gespeichert.
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySo Aug 01, 2010 2:31 pm

:O Wow! Ich dachte das is nicht möglich. Mhm danke, muss das gleich ergänzen.
Wo hast du nur die Info her?
Nach oben Nach unten
http://www.gamer95.npage.de/
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial EmptySo Aug 01, 2010 2:49 pm

Sven2s Spiegelhöhlenrennen. Razz
Nach oben Nach unten
Gesponserte Inhalte





Sections - Ein Schritt-Für-Schritt Tutorial Empty
BeitragThema: Re: Sections - Ein Schritt-Für-Schritt Tutorial   Sections - Ein Schritt-Für-Schritt Tutorial Empty

Nach oben Nach unten
 
Sections - Ein Schritt-Für-Schritt Tutorial
Nach oben 
Seite 1 von 2Gehe zu Seite : 1, 2  Weiter
 Ähnliche Themen
-
» Sections - Tutorial 2
» WettRennen Tutorial
» Vertices Tutorial
» Haus Bau Tutorial
» Hazard-Waffen tutorial

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Anfänger :: Tutorials-
Gehe zu: