Forum

> > Stranded II > Scripts > Scripting für anfänger ( S2 )
Forums overviewStranded II overview Scripts overviewLog in to reply

German Scripting für anfänger ( S2 )

37 replies
Page
To the start Previous 1 2 Next To the start

old Re: Scripting für anfänger ( S2 )

Maloki
User Off Offline

Quote
Ganz einfach.
1
dialoge "x", "y";

Der Dialog selbst ist in der Textdatei y. Du kannst hier entweder die ID eines Text-Infos oder eine externe .txt-Datei (Speicherort in Relation zum Speicherplatz der Map; Am besten einen zu Map gehörenden und entsprechend benannten Ordner anlegen und mitliefern, wenn du Dialog- und Handelsscript extern speichern möchtest).
Das Dialogscript sieht dann wie folgt aus:
Spoiler >
edited 1×, last 15.04.12 06:52:10 pm

old Re: Scripting für anfänger ( S2 )

Mc Leaf
Super User Off Offline

Quote
user Tobias Strandedfreak has written
WIE GUT KÖNNT IHR SCRIPTEN UND WO HABT IHR ES GELERNT

Befehlsreferenz + Beispielskripte + Learning by Doing



Mein allererstes Skript war das "Leaffall-Skript"... (daher auch mein Nick). Das Skript sorgt dafür, dass im Sichtbereich des Spielers Blätter herunterfallen, wenn er sich in der Nähe von Bäumen befindet. Nichts allzu spektakuläres eigentlich...

Etwas komplizierter waren da schon das Affen-Puzzle oder das Händler-Skript...

Findet man alles in der Extension-Mod.

user Tobias Strandedfreak has written
UND WELCHE WAR EURE BESTE MAP + BESCHREIBUNG

Penguin Adventure!

Schade, dass ich bis heute nicht die Zeit fand, es neu aufzulegen. Hier hatte ich ebenfalls einige interessante Skripte geschrieben, bspw. dieser Trainer bei dem man Stärke und Geschwindigkeit trainieren konnte... So Standardzeugs wie Quests und viele andere Gimmicks sind natürlich auch drin...

An der Map hatte ich damals echt ewig gesessen... (Wochen? Monate? Weiß ich nicht mehr genau...)

user Tobias Strandedfreak has written
nur dialog und das mit der Camera kapier ich nicht ich geb alles genauso wie bei den Adventure-maps ein aber irgendwie klappt es nicht

Hm... komisch... Irgendwas musst du ja übersehen haben. Aber solche Geschichten kann wahrscheinlich jeder von sich erzählen. Einfach nicht unterkriegen lassen, klappt schon noch...

user Nova has written
Fähigkeiten in andere Programmiersprachen

Oh, ja. Dito. Hatte ich vergessen zu erwähnen, aber das spielt natürlich auch eine Rolle inwieweit man mit solchen "Denkmustern" bereits vertraut ist.

user Tobias Strandedfreak has written
Variablen benutze ich eigendlich selten, denn damit komme ich zwar klar es tritt aber immer wenn ich eine Variable einfüge oder eine erstelle ein fehler auf.

Ohne gehts häufig nicht...

Zunächst muss man auf jeden Fall zwischen lokalen und globalen Variablen unterscheiden (können). Viele Fehler können in diesem Zusammenhang auftreten. Es lohnt sich auch den Inhalt von Variablen im Laufe eines Codes zu überprüfen:

1
2
3
4
5
on:start {
	local $blubber;
	$blubber=random(1,100);
	msg "$blubber";
}

user Tobias Strandedfreak has written
könnt ihr mir mal ein beispiel aufschreiben wie ich einen dialog erstelle ???

Da gibt es viele Möglichkeiten...

Einige Beispiele findest du doch im Abenteuer...

Vielleicht hast du übersehen, dass hier einige Dialoge in externe Files ausgelagert sind...

Wenn ich nachher meinen Windows-Rechner hochgefahren hab', könnte ich ja mal schauen. Hab's jetzt nur ungefähr im Kopf...

user Tobias Strandedfreak has written
entweder S2 oder garnix

Genau!

old Re: Scripting für anfänger ( S2 )

Nova
User Off Offline

Quote
user Maloki has written
Ein Blick auf die Syntax und schon war klar: JavaScript-Like

Ein besseres Beispiel wäre das PHP, denn dort benutzt man auch das Dollar-Zeichen für Variablen.


user Tobias Strandedfreak has written
Variablen benutze ich eigendlich selten, denn damit komme ich zwar klar es tritt aber immer wenn ich eine Variable einfüge oder eine erstelle ein fehler auf.

Ohne Variablen kommst du nicht weit. Schreib am besten mal ein kleines Beispiel deiner Scripte, in denen etwas mit Variablen nicht funktioniert.


user Tobias Strandedfreak has written
könnt ihr mir mal ein beispiel aufschreiben wie ich einen dialog erstelle ???

Gut wäre es vielleicht, wenn du dir aus einer anderen Map ein paar Dialoge anguckst. Aber hier ist mal ein Beispiel:

Erstelle einen Textcontainer und merke dir die ID (ist übrigens wirklich nur eine Identifikationsnummer, keine Häufigkeitsnummer. ;))
Schreibe dann folgendes Script in das globale Script, wobei du [ID] durch die ID des Textcontainers ersetzt:
1
2
3
4
on:start
{
	dialogue "start", [ID];
}

Folgendes Script kopierst du dann in den Textcontainer:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
page=start
title=Nette Unterhaltung
text=start
Hey du, wie heißt du?
text=end
button=name, Mein Name ist Wurschtnix!
button=keinName, Geht dich nichts an!

page=name
title=Schöner Name!
text=start
Das ist aber ein schöner Name!
Hast du zufällig ein paar Bananen dabei? Ich bräuchte ein paar und würde sie gegen Kokosnüsse tauschen!
text=end
button=bananen, Joa, ich hätte welche.
button=keineBananen, Tut mir Leid, aber ich habe keine!
button=keinHandel, Die brauche ich selbst noch!

page=keinName
title=Verschwinde!
text=start
Pff, dann nicht. Verschwinde!
text=end
button=action:close, Dann gehe ich jetzt!

page=bananen
title=Bananenhandel
trade=start
sell=14,1
buy=27,1
trade=end
button=action:close, Danke und tschüss!

page=keineBananen
title=Schade...
text=start
Das ist aber schade...
text=end
button=action:close, Tschüss!

page=keinHandel
title=Ohhh....
text=start
Das ist aber schade, wollen sie wirklich nicht? Die Kokosnüsse sind wirklich gut, und ich brauche die Bananen echt dringend!
Hier, eine Kokosnuss zum probieren!
text=end
script=start
find 27,1;
script=end
button=bananen, Okay, ein paar kann ich entbehren.
button=action:close, Tut mir leid, nein.

old juhuu

Tobias Strandedfreak
User Off Offline

Quote
hey klasse
danke an euch alle
also lags an den Container oder der info
okay jetzt muss ich nur noch wissen wie ich eine Kamera szequens mache
aber weißt du was ich an deinem code komisch finde ?
da ändert sich immer die anredeform (einmal du einmal sie xD)
aber das ist unwichtig


hey Mc Leaf
ich schreibe es nochmal in groß
ENTWEDER STRANDED 2 ODER GARNIX

old Re: Scripting für anfänger ( S2 )

Mc Leaf
Super User Off Offline

Quote
Die Menü-Karte (maps\menu\menu.s2) bietet eigentlich ein gutes Beispiel, finde ich...

Oder die Intro-Karte vom Abenteuer (maps\adventure\map01.s2)...

Kannst aber auch gleich in "maps\adventure\map01_intro.s2s reinschauen", sehe ich gerade...

Zusammen mit der Befehlsreferenz hat man das schnell gerafft.

old Re: Scripting für anfänger ( S2 )

Nova
User Off Offline

Quote
user Tobias Strandedfreak has written
aber weißt du was ich an deinem code komisch finde ?
da ändert sich immer die anredeform (einmal du einmal sie xD)

Ich habe da auch nicht drauf geachtet, da das nur ein Beispiel sein soll. In richtigen Dialogen würde ich dort natürlich auch ein Auge drauf werfen, wie der Spieler angesprochen wird.


Mit der Kamera-Sequenz hat dir Mc Leaf ja ein paar Beispiele genannt. Hier noch mal die Befehle, die wichtig für Sequenzen sind:
s2 cmd seqstart
s2 cmd cammode
s2 cmd setcam
s2 cmd seqfade
s2 cmd seqmsg
s2 cmd movecam
s2 cmd seqflash
s2 cmd seqevent
s2 cmd seqend

Die Reihenfolge der Befehle hier ist in etwa eine mögliche Reihenfolge, wie sie auch im Script benutzt werden könnte.

old danke

Tobias Strandedfreak
User Off Offline

Quote
danke an euch alle.
ich habe jetzt die wichtigsten begriffe hinter mir.
ich habe sogar gestern ca. 4 weitere begriffe kennengelernt:
wateralpha;
watertexture;
skycolor und;
skytexture;
natürlich auch die begriffe die ihr mir gezeigt habt und euch extra mühe gegeben habt.
thanks on all for all

old Re: Scripting für anfänger ( S2 )

Nova
User Off Offline

Quote
Kleiner Tipp so von meiner Seite aus: Es ist nicht wichtig, ob man die Begriffe kennt. Hauptsache man kann sie richtig verwenden, wenn man sie denn mal braucht. Auch sollte man wissen, wo man sie denn finden kann. Da ist www.strandedonline.de eine gute Wahl.

old Thread Beendet

Tobias Strandedfreak
User Off Offline

Quote
so ich beende jetzt diesen Thread ihr könnt euch jetzt hier offiziel über eure maps und scriptkenntnisse unterhalten.
ihr dürft Tipps zu maps und befehle geben.
ich werde aber trozdem ab und zu mal in diesen Thread reinschauen viel spaß ×
us

old mal wieder ne frage

hindustani
User Off Offline

Quote
Ich möchte gern, wenn ich auf eine meiner Units steige(ride), das sich der speed ändert. Weiß nun leider nicht wie der Variablenname ist. Ich habs schon mit on:use {$speed==5;}
probiert, da rührt sich aber nix und gibt mir auch keine Fehlermeldung.
Jemand n Tipp ?

old Re: Scripting für anfänger ( S2 )

Hurri04
Super User Off Offline

Quote
weiß grade nicht genau, ob das mit s2 cmd player_speed geht, aber nen anderer befehl fällt mir grade nicht ein. ansonsten müsstest du wahrscheinlich in der definition die geschwindigkeit der unit ändern.

old Scriptbefehle durch (noch 1 kombi)

Tobias Strandedfreak
User Off Offline

Quote
tja ich weiß jetzt wie die scriptbefehle genutzt werden und was sie mir bringen
aber eine kombi brauche ich noch:
wie mache ich das dass der dialog den ich grad (im spiel) gelesen habe nicht nochmal kommt.
ich will nämlich danach einen anderen dialog haben.
hab schon alles versucht.
Hilfe wäre hilfreich

old Re: Scripting für anfänger ( S2 )

Der Muggemann
User Off Offline

Quote
@user Tobias Strandedfreak: Da beutzt du eine Variable.
ungefähr so
1
2
3
4
5
6
7
8
9
10
11
on:use{
	if ($var==0) {
		dialogue "seite_1", "1";
	elseif ($var==1) {
		dialogue "seite_2","1";
	elseif ($var==2)
			.
			.
			.
			.
}

und in denn dialogen musst du die variable dann erhöhen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
page=seite_1
title=blubb
text=start
blablabla
text=end

script=start
$var++;
script=end

button=...



page=seite_2
title=blubb
text=start
blablabla
text=end

script=start
$var++;
script=end

button=....

Immer in der letzen Seite des Dialogs bringst du script=start/end und den Code rein, der die Variable $var um eins erhöht.
Und beim nächsten mal wird eine andere Seite geladen.

old Re: Scripting für anfänger ( S2 )

Mc Leaf
Super User Off Offline

Quote
user hindustani has written
oh toll danke, dass du mir so viel Hoffnung machst Mc Leaf x)

Wahrheit tut manchmal eben weh, dafür kann ich nichts.

Bei meinem SC-Update versuche ich solche Dinge zwar mit einzubauen und teilweise geht das auch schon, ich muss allerdings noch diverse Fahrzeugtypen und Parameter intensiver testen... Neben einer Trab-Animation wäre übrigens eine Galopp-Ani beim Pferd nicht schlecht, damit es nachher auch halbwegs ordentlich aussieht... Hier wird im SC-Update ja zwischen Lauf- und Sprint-Ani unterschieden, was ja auch Sinn macht.
To the start Previous 1 2 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview