Forum

> > Stranded II > Scripts > Scripting - Fragen/Probleme
ForenübersichtStranded II-Übersicht Scripts-ÜbersichtEinloggen, um zu antworten

Deutsch Scripting - Fragen/Probleme

6.780 Antworten
Seite
Zum Anfang Vorherige 1 2237 238 239339 340 Nächste Zum Anfang

alt Re: Scripting - Fragen/Probleme

Tau
User Off Offline

Zitieren
@DarkCoffee:
Hast du schon das Event und die Dialoge eingesetzt? Dann müsste es funktionieren, hat es bei mir auch.
@Guenter13:
So einfach ist es nicht, wenn man will, dass der zweite Dialog auch nur einmal abgespielt werden soll. Wenn das allerdings nicht das Ziel ist, muss man die erste if-Abfrage löschen und bei der dritten die Umänderung der Variablen entfernen

alt Re: Scripting - Fragen/Probleme

Kaffeebraun
User Off Offline

Zitieren
also das is das script den ich bei Global Scripts eingefügt habe:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
on:start{
$x=0;
}
on:use {
	  if($x==2){
			 skip;
	  }
	  if ($x==0){
			 dialogue "page1", "169";
			 $x=1;
	  }else{
			 dialogue "page1", "178";
			 $x=2;
	  }
}

alt Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Zitieren
on:use-Events machen im globalen Script keinen Sinn. Oder wie willst du bitte das globale Script im Spiel benutzen? Es ist da ja nicht als Objekt sichtbar. Also unbenutzbar. Das Event wird nie ausgeführt werden.

alt Re: Scripting - Fragen/Probleme

Tau
User Off Offline

Zitieren
use ist ein Event, das beim Benutzen eines Gegenstands ausgeführt werden soll. Wann soll dein(bzw. mein) Skript ausgeführt werden? Davon hängt die Verwendung des Events statt.
Außerdem lass bitte die "" bei den Nummern weg. Also bei der Unit, die man ansprechen muss damit der Dialog kommt folgenden
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
on:start{
local $x;
}
on:use {
	if($x==2){
		skip;
	}
	if ($x==0){
		dialogue "page1", 169;
		$x=1;
	}else{
		dialogue "page1", 178;
		$x=2;
	}
}
1× editiert, zuletzt 27.12.08 14:19:24

alt Re: Scripting - Fragen/Probleme

Kaffeebraun
User Off Offline

Zitieren
Ich hab den Script bei der einheit eingefügt, jetzt wird nur das zweite angezeigt....Also das zweite soll angezeigt werden wenn ich ihn das zweite anspreche...

alt Re: Scripting - Fragen/Probleme

davidsung
User Off Offline

Zitieren
Ich glaube nicht, dass es gut ist, die Variable global zu lassen. Irgendwo in S2 wird doch sicherlich die Var "x" genutzt... *zu-DC-rüberschau* Hier hilft s2 cmd local
1× editiert, zuletzt 27.12.08 14:26:26

alt Re: Scripting - Fragen/Probleme

Tau
User Off Offline

Zitieren
Dann macht man eben ein local vor das $x am Anfang. So wie in meinem Beitrag oben, den ich editiert habe.
Wenn es dann immer noch nicht finktioniert, gib' mir die Karte und ich machs. So dass es funzt. versprochen.

alt Re: Scripting - Fragen/Probleme

Kaffeebraun
User Off Offline

Zitieren
Ich hab den Script in die Einheit geschrieben,jetzt wird immer das zweite angezeigt,aber das erste nicht genau den Script den nmG geschrieben hat.

alt Re: Scripting - Fragen/Probleme

davidsung
User Off Offline

Zitieren
So hätte ich das aufgeschrieben:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
on:start{ 
	local $x; 
	$x=0;
} 

on:use { 
	if ($x==0){ 
		dialogue "page1", 169;
		$x=1; 
	}
	elseif ($x==1) {
		dialogue "page1", 178;
		$x=2;
	}
	else {
		skip;
	} 
}

Ich bin mir sicher, es lag am 2. if im Script.
2× editiert, zuletzt 27.12.08 14:46:54

alt Re: Scripting - Fragen/Probleme

Tau
User Off Offline

Zitieren
Extrem merkwürdig. Kan doch gar nicht sein :O. Wer mir das erklären kann, kriegt nen Keks von mir. Ansonsten: gib mir doch einfach die map, dann korrigier' ich's. Versprochen!

alt Re: Scripting - Fragen/Probleme

davidsung
User Off Offline

Zitieren
Ich bin der Meinung, dass das zweite if im Script das Problem ist:

Das liegt daran, dass S2S den Script Schritt-für-Schritt abarbeitet. Nun kommt er zum 1. if, zeigt den Dialog an und setzt den Wert 1 für x. Anschließend stößt S2S nochmal auf ein if! Da es sich hierbei um if und nicht um elif handelt, fürt S2S schon jetzt den 2. Dialog aus.

Wo bleibt mein Keks?
1× editiert, zuletzt 27.12.08 14:43:50

alt Re: Scripting - Fragen/Probleme

Tau
User Off Offline

Zitieren
Das könnte sein, aber elif gibt es glaube nur bei python.
Also nochmal:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
on:start{
     local $x;
     $x=0;
}

on:use {
     if ($x==0){
          dialogue "page1", 169;
          $x=1;
     }
     elseif ($x==1) {
          dialogue "page1", 178;
          $x=2;
     }else{
          skip;
     }
}
Komisch ist es auch, dass das Skript bei mir einwandfrei funktioniert.
1× editiert, zuletzt 27.12.08 15:01:56

alt Re: Scripting - Fragen/Probleme

Tau
User Off Offline

Zitieren
Nein, noch kriegst du keinen Keks. Ich hab nämlich immer noch nicht raus, warum das Skript bei mir funktioniert.Ich hab' zwar verstanden, was du meinst, aber nicht, warum es nicht funktioniert.
Den Keks kriegst du erst, wenn ich's verstanden habe. Sonst hast du's mir ja nicht erklärt . *DC-ruf* Was ist das Problem??

alt Re: Scripting - Fragen/Probleme

Kaffeebraun
User Off Offline

Zitieren
davidsung hat geschrieben
So hätte ich das aufgeschrieben:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
on:start{ 
	local $x; 
	$x=0;
} 

on:use { 
	if ($x==0){ 
		dialogue "page1", 169;
		$x=1; 
	}
	elseif ($x==1) {
		dialogue "page1", 178;
		$x=2;
	}
	else {
		skip;
	} 
}

Ich bin mir sicher, es lag am 2. if im Script.



der script funktioniert bloß wenn ich das erste und das zweite dialog fertig habe kommt das erste danach immer wieder
Zum Anfang Vorherige 1 2237 238 239339 340 Nächste Zum Anfang
Einloggen, um zu antworten Scripts-ÜbersichtStranded II-ÜbersichtForenübersicht