Forum

> > Stranded II > Scripts > Scripting - Fragen/Probleme
Forums overviewStranded II overview Scripts overviewLog in to reply

German Scripting - Fragen/Probleme

6,780 replies
Page
To the start Previous 1 298 99 100339 340 Next To the start

old gast

Guest

Quote
Danke bizzl, das war mir ein sehr große Hilfe!
DANKE DANKE DANKE!


Hab schon die nächste Frage, die is aber ein bisschen kompliziert:
Nehmen wir an ich habe ein Adventure mit 3 Maps gemacht.
In der ersten hat der Spieler einige Gebäude freigespielt. Welche das sind, kann ich nicht wissen, das ist von Spiel zu Spiel verschieden.
Ich möchte dass er in der zweiten Map überhaupt nichts mehr bauen kann und blockiere also mit "lockbuildings" alle Gebäude.
Am Ende der 2. Map soll der Spieler dann aber wieder die Gebäude bauen können, die er in der 1. Map freigespielt hat.

Geht das, oder soll ich mir was anderes überlegen?

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
hmmm.....
Also in der ersten Map folgendes zum Wechseln:
1
s2:loadmap [i]"map"[/i],1,1,0,1,1,1;
(man sollte es vermeiden die Variablen mitzuschleppen, könnte fehler in der neuen map produzieren)

in der neuen Map:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
s2:on:start {
	[i]//Leider sind die IDs nicht durchgängig
	//Deswegen (und wegen des fehlens von Arrays)
	//muss alles Eingegeben werden.
	//Für die IDs guckste am besten in die Buildings.inf[/i]
	$buildlock001=s2:locked(1);
	$buildlock002=s2:locked(2);
	...
	$buildlock0[i]XX[/i]=s2:locked([i]XX[/i]);
	s2:lockbuildings;
}

s2:on:releaselocks {
	[i]//Aufruf per s2:event "releaselocks","global"[/i]
	s2:if ($buildlock001) { s2:unlockbuilding 1; }
	s2:if ($buildlock002) { s2:unlockbuilding 2; }
	...
	s2:if ($buildlock0[i]XX[/i]) { s2:unlockbuilding [i]XX[/i]; }
}
XX ist einfach die höchste belegte ID eines gebäudes.

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Nixblicker has written
Danke, aber das verstehe ich nicht ganz:

1
//Aufruf per  event "releaselocks","global"

Du musst diese Zeile ( s2 cmd event "releaselocks","global"; ) in den Script einfügen welcher die Gebäude wieder freischalten soll (zbsp ein Trigger oder sowas, weiß ja net was du vor hast)
Also wenn du die Gebäude zbsp am 3ten Tag um 18:45 freischalten willst, dann setze auf die Map einen Zeittrigger, stell ihn auf die gewünschte Zeit ein und gib ihm folgenden Script
1
2
3
s2:on:trigger {
	s2:event "releaselocks","global";
}

old Re: Scripting - Fragen/Probleme

Guest

Quote
Hm... nee, das funktioniert nicht, am Ende sind dann alle Gebäude baubar, auch, nicht freigespielte...

Ich werd wohl einfach die Reihenfolge der Maps ändern, dann hat sich das Problem auch erledigt.

Danke trotzdem für deine Hilfe bizzl!

old Re: Scripting - Fragen/Probleme

Flying Lizard
User Off Offline

Quote
Das kann garnicht gehen weildieser script nur so funktioniert dass er die gesperrten Gebäude freigibt.
In dem Fall muss man das mit der Prüfung vonwegen locked in der ersten Map machen und dann die Variablen mitnehmen. Man kann aber auch skills verwenden die man so eingestellt hat dass sie im charaktermenü nicht angezeigt werden.

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Da hat sich mir auch wieder mal ein kleiner Fehler eingeschlichen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
s2:on:start {
	[i]//Leider sind die IDs nicht durchgängig
	//Deswegen (und wegen des fehlens von Arrays)
	//muss alles Eingegeben werden.
	//Für die IDs guckste am besten in die Buildings.inf[/i]
	$buildlock001=s2:locked(1);
	$buildlock002=s2:locked(2);
	...
	$buildlock0[i]XX[/i]=s2:locked([i]XX[/i]);
	s2:lockbuildings;
}

s2:on:releaselocks {
	[i]//Aufruf per s2:event "releaselocks","global"[/i]
	s2:if ($buildlock001==0) { s2:unlockbuilding 1; }
	s2:if ($buildlock002==0) { s2:unlockbuilding 2; }
	...
	s2:if ($buildlock0[i]XX[/i]==0) { s2:unlockbuilding [i]XX[/i]; }
}
So ist es richtig.
Ich hatte vergessen das s2 cmd locked bei gesperrten Gebäuden 1 zurückgibt, und das aber im s2 cmd if wie in C als Wahr gewertet wird.
So herum müsste es gehen.

old Re: Scripting - Fragen/Probleme

Flying Lizard
User Off Offline

Quote
@bizzl, nope solange das auf der gleichen Karte ist geht es trotzdem nicht weil der ja nur prüft wie es auf dieser Karte aussieht nicht wie es in der vorletzten aussah, da muss man Variablen übertragen.

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Flying Lizard has written
@bizzl, nope solange das auf der gleichen Karte ist geht es trotzdem nicht weil der ja nur prüft wie es auf dieser Karte aussieht nicht wie es in der vorletzten aussah, da muss man Variablen übertragen.

1
loadmap "Map"[,Skills][,Items][,Variablen][,Tagebuch][,States][b][,Buildlocks][/b]
Beseitigt das deine Zweifel?

Es ist keine sonderlich gute Idee Variablen mitzuschleifen, das kann uU zu defekten in den Scripts der folgemap führen...

old Re: Scripting - Fragen/Probleme

Flying Lizard
User Off Offline

Quote
er wollte nicht dass die Gebäude auch in der nächsten Map öglich sind, sondern dass dazwischen eien Map ist in der er NICHTS bauen kann, und er erst dann wieder die Gebäude bauen kann.

Oder verstehe ich dich gerade falsch?

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Nixblicker has written
Am Ende der 2. Map soll der Spieler dann aber wieder die Gebäude bauen können, die er in der 1. Map freigespielt hat.

Sieht für mich so aus als wollte er es in der 2ten Map bereits wieder freischalten.

Hast aber recht, wenn es erst in der dritten map sein soll müsste man entweder die Variablen mit durchschleifen oder die gebäude ganz kurz vor dem wechsel von map 2 zu map 3 wieder freischalten (während ner sequenz oder so)

old Re: Scripting - Fragen/Probleme

Feteo
COMMUNITY BANNED Off Offline

Quote
Wenn er so ein Script braucht, dann muss das auch eine gute Karte werden Hoffentlich wird er sie veröffentlichen!

old Re: Scripting - Fragen/Probleme

eyefish
User Off Offline

Quote
Jaaaa! Cool! Jetzt geht's!!!
Danke! IMG:https://i47.photobucket.com/albums/f167/eyefish3/hug.gif


Falls das Dings mal fertig wird, würd' ichs schon ganz gern veröffentlichen... Könnte gut sein - steckt schließlich viel Arbeit und Liebe drin...

PS: Hab ich ja fast vergessen: ich bin Nixblicker, hab mich jetzt nur angemeldet. IMG:https://i47.photobucket.com/albums/f167/eyefish3/biggrin.gif
edited 1×, last 18.07.07 07:12:16 pm

old Re: Scripting - Fragen/Probleme

etlam
User Off Offline

Quote
Ich habe auch mal eine Frage:
Ich moechte verhindern, dass der Spieler von der Insel runterfaellt.
Kann man das blockieren?
Kann man wenigstens herausbekommen, wie hoch der Player gerade ist?

Vielen Dank schonmal im vorraus,
etlam

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
etlam has written
Ich habe auch mal eine Frage:
Ich moechte verhindern, dass der Spieler von der Insel runterfaellt.
Kann man das blockieren?
Kann man wenigstens herausbekommen, wie hoch der Player gerade ist?

Vielen Dank schonmal im vorraus,
etlam

Die aktuelle y-Position (Höhe) des spielers kannst du mit s2 cmd gety("unit",1); ermitteln.

Ich weiß aber jetzt nicht wie du das mit dem runterfallen meinst...

old Re: Scripting - Fragen/Probleme

etlam
User Off Offline

Quote
Vielen Dank.
Ich habe naemlich einen "Weg", der recht hoch ueber dem Wasser ist. Auf dem Weg sind Hindernisse.
Jetzt will ich nicht, dass der Spieler einfach runterhuepft und an den Hindernissen vorbeischwimmt.
Ich kann natuerlich machen, dass man verloren hat, wenn ich merke, dass der Spieler zu weit unten ist, aber ich wuerde lieber verhindern, dass er runterfallen kann.
Jetzt habe ich auch noch gemerkt, dass die anderen Einheiten ebenfalls runterfallen, kann man dort auch verhindern, dass diese Units runterfallen?

Vielen Dank schonmal im vorraus,
etlam
To the start Previous 1 298 99 100339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview