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 2233 234 235339 340 Next To the start

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
Jo, ganz einfach dein Problem.
Vorher aber: Zahlen nicht in Anführungsstriche einklammern.
dialogue "PE1", "3";×
dialogue "PE1", 3;√


Jetzt zu dem eigentlichen Problem. Stell dir vor du wärst der Parser.
Du fragst ab ob die Variable $dialog den Wert 1 hat. Das bejast du, führst den Dialog aus und setzt den Wert der Variable auf 2.
Jetzt fragst du ab ob der Wert der Variable $dialog 2 ist. Das bejast du ebenfalls da du ja gerade den Wert geändert hast. Also zeigst du den zweiten Dialog an und überschreibst damit den ersten.

Ändere einfach die Reihenfolge der Abfrage.
Falsch:
1
2
3
4
5
6
7
if($bla==1)
	{
	$bla = 2;
	}
if($bla==2)
	{
	}

Richtig:
1
2
3
4
5
6
7
if($bla==2)
	{
	}
if($bla==1)
	{
	$bla = 2;
	}
edited 1×, last 08.12.08 08:24:40 pm

old Re: Scripting - Fragen/Probleme

dragoana
User Off Offline

Quote
Edit: Auja, ein paar Sekunden zu langsam
Das Problem ist, dass es einfach mit dem Script weitermacht, sobald es $dialog auf zwei gesetzt hat. Und bei der zweiten If-Abfrage ist $dialog inzwischen 2. Also muss du das Script entweder umdrehen, oder unterbrechen, oder elseif einbauen:

1
2
3
4
5
6
7
8
9
on:use{ 
if ($dialog==2) { 
dialogue "PE8","3"; 
} 
if ($dialog==1) { 
dialogue "PE1","3"; 
$dialog=2; 
} 
}

oder
1
2
3
4
5
6
on:use{ 
if ($dialog==1) { 
dialogue "PE1","3"; 
$dialog=2; 
skip;
} ...
oder
1
2
3
4
5
6
7
8
on:use{ 
if ($dialog==1) { 
dialogue "PE1","3"; 
$dialog=2; 
} elseif ($dialog==2) { 
dialogue "PE8","3"; 
} 
}
Nimm was dir am besten passt

old Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Quote
Scarr has written
Und auf der Unit:
on:use{
if ($dialog==1) {
dialogue "PE1","3";
$dialog=2;
}
if ($dialog==2) {
dialogue "PE8","3";
}
}

Jetzt heißt's:
Bei Benutzung:
Wenn $Dialog=1,
dann zeige Dialog "PE1" des Containers "3"
und Setze $dialog=2.
Wenn $Dialog=2,
dann zeige Dialog "PE8" des Containers "3".


ah, danke, hab zwar nicht danach gefragt, aber indrekt ist damit auch gleich ne frage von mir beantwortet^^

werd das ganze noch mit nen paar elseifs erweitern und so, dan klappt das bei mir auch

hab mich nämlich schon gewundert, warum ich bei mir so vile textcontainer hatte, dabei gehts ja auch einfacher, wie ich jetzt seh^^

thx

old Re: Scripting - Fragen/Probleme

Kaffeebraun
User Off Offline

Quote
Ich hab eine Lautsprecherinfo plaziert,ich möchte das wenn ich in den Radius gehe das der Sound nur einmal abgespielt wird,gibt es dafür einen Script?

edit:hab ihn jetzt der script heißt play
edit²:Gibt es einen Script der einen Sound 2 mal abspielt und dann aufhört?
edited 2×, last 11.12.08 06:30:55 pm

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
Ich habe mal folgendes versucht(geht aber nicht...):

1
2
3
4
5
6
on:load{
	$lp=skillvalue("Gesundheit");
	$lp=$lp*12;
	maxhealth "Unit", 1, $lp;
	freevar $lp;
	}

Ich glaube, das liegt daran, dass mit der 1 die erste Unit auf der Map gemeint ist...
edited 1×, last 12.12.08 05:50:17 pm

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
in einem anderen Teil des Scripts, der mir zu gross erschien zum posten gibt es einen Skill Gesundheit...

1
2
3
4
5
6
7
8
on:start{
	setskill "Gesundheit", 1;
	setskill "Kraft", 1;
	setskill "Fernkampf", 1;
	setskill "Konstitution", 1;
	setskill "Athletik", 1;

}

old Re: Scripting - Fragen/Probleme

Flying Lizard
User Off Offline

Quote
du must $lp*12 in Klammern setzen
übrigens wäre es nett wenn du schreiben würdest was er für Fehler ausgibt -.-

EDIT:
"Unit" würde ich auserdem klein schreiben.

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Skills sind nur Variablen. Die haben nichts mit den Werten wie Gesundheit, Hunger, Durst und Müdigkeit zu tun, welche fest einprogrammierter Bestandteil des Spiels sind. Um die zu verändern muss man extra Befehle nutzen.

für health z.B. s2 cmd health und s2 cmd maxhealth jeweiles mit "unit",1 (=spieler)

ansonsten gibt es noch dinge wie s2 cmd getvalue und s2 cmd consume s2 cmd drink und s2 cmd eat

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote


Ich glaube du hast da etwas an dem Thema vorbei geredet DC, ich habe folgenden Script eingefügt bei der Spieler-Unit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
on:start{
	setskill "Gesundheit", 1;
	setskill "Kraft", 1;
	setskill "Fernkampf", 1;
	setskill "Konstitution", 1;
	setskill "Athletik", 1;

}

on:load{
	$lp=skillvalue("Gesundheit");
	$lp=$lp*12;
	maxhealth "Unit", 1, $lp;
	freevar $lp;

usw. der rest funktioniert.


Also.... Ich habe das Ganze so gemacht dass der Spieler für jeden Gesundheits-level 12 Lebenspunkte gewinnt, normalerweise, tut es aber nicht. Nun fragt sich, wo hier der Fehler liegt...

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
achso, ich habe es nur stellenweise gelesen, pardon.
wie schon gesagt wurde muss das "Unit" in jedem fall klein geschrieben werden, also "unit". so wie alle klassenbezeichnungen. ansonsten sehe ich da keinen fehler.

(falls du es nicht schon tust: natürlich musst du das, was in on:load steht, auch immer ausführen wenn du den gesundheitsskill erhöhst)

(und ich bin mir nicht sicher ob zuerst start oder load ausgeführt wird, wenn zuerst load ausgeführt wird, musst du noch sowas einfügen wie: if ($lp==0){ setskill "Gesundheit", 1; $lp=1; })

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
k, alles korrekt. thx. Nun kommen wir zum zweiten Problem:

Ich habe mal mit s2 cmd defparam versucht noch was einzubauen, doch mir fehlt erneut ein Befehl
Ich brauche etwas, was die Klasse der Waffe zurückgibt, damit ich das auch bei defparam benutzen kann.
edited 1×, last 12.12.08 09:23:21 pm

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
naja, wenn du mir den Befehl defparam genauer erklärst könnt ich dir sagen was mir fehlt. Ich habe schon folgendes: item und parameter, was allerdings mit "Klasse" gemeint ist weiss ich nicht so genau, aber es handelt sich bestimmt nicht um die ID
To the start Previous 1 2233 234 235339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview