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 2259 260 261339 340 Next To the start

old Re: Scripting - Fragen/Probleme

kevin00756
User Off Offline

Quote
Wie macht man ein zweites Handelangebot
was mussi ch dann an disen Script verändern:
page=start
title=Eingeborener
text=start
Hallo, ich bin ein Eingeborener, bist du hier gestrandet?
text=end
button=1,Ja
button=action:close,Lass mich in Ruhe
page=1
trade=start
buy=5,1
sell=5,1
trade=end

old Re: Scripting - Fragen/Probleme

Westbeam
User Off Offline

Quote
du hängst einfach ein 2. angebot dran etwa so:
1
2
3
4
5
6
7
8
9
...
trade=start
buy=...
sell=...
trade=end
trade=start
buy=...
sell=...
trade=end

old return

Aniza
User Off Offline

Quote
Hi, bin nach langer Zeit auch mal wieder da, und ziemlich aus der Übung. Aber vielleicht mache ich meine Map ja doch noch mal fertig.
Jetzt hätte ich gerne die Map-ID eines vom Spieler gebauten Einbaums (während er damit fährt und dabei einen Trigger auslöst). Das müsste doch so gehen:

1
2
3
on:trigger {
count_behaviourinrange "unit", "watercraft"; 
}

Oder funktioniert das nicht mit Units?

Jetzt soll der Einbaum "untergehen", also verschwinden.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
free "unit", ID???;

\\ Habe es so probiert:

on:trigger {
             $einb=count_behaviourinrange "unit", "watercraft"; 
             free "unit", $einb;
}

\\und so:

on:trigger {
              free "unit", count_behaviourinrange "unit", "watercraft";
}

Funktioniert natürlich nicht. Ich kriege das nicht mehr zusammen, finde auch gerade kein Beispiel dafür, wie man einen Wert aus einem Return überhaupt weiter verwendet.

Meinetwegen können auch alle Einbäume verschwinden, da es wohl eh nur einen geben wird. Aber free "unit", 31 (Def-ID) geht auch nicht.

LG Aniza

old Re: Scripting - Fragen/Probleme

kevin00756
User Off Offline

Quote
aletes has written
du hängst einfach ein 2. angebot dran etwa so:
1
2
3
4
5
6
7
8
9
...
trade=start
buy=...
sell=...
trade=end
trade=start
buy=...
sell=...
trade=end

Danke

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
1
2
3
4
5
6
7
8
9
10
11
$yaw=getyaw(Unit);
	projectile 56, getx("self"), gety("self"), getz("self"), $yaw, 0, 2, 0, 20, 35, 0;
	$yaw-=5;
	projectile 56, getx("self"), gety("self"), getz("self"), $yaw, 0, 2, 0, 20, 35, 0;
	$yaw-=10;
	projectile 56, getx("self"), gety("self"), getz("self"), $yaw, 0, 2, 0, 20, 35, 0;
	$yaw+=20;
	projectile 56, getx("self"), gety("self"), getz("self"), $yaw, 0, 2, 0, 20, 35, 0;
	$yaw=+10;
	projectile 56, getx("self"), gety("self"), getz("self"), $yaw, 0, 2, 0, 20, 35, 0;
	freevar $yaw;

Ausschnitt eines gemoddeten Gegenstand. Ich habe noch immer keine Idee, wieso das hier nicht geht. Kann mir jemand helfen, bitte?
edited 1×, last 26.03.09 05:00:09 pm

old Re: Scripting - Fragen/Probleme

Tau
User Off Offline

Quote
Aniza:
"count" heißt zählen. Dei Befehl count_behaviourinrange gibt also nur zurück, wieviele Wasserfahrzeuge im trigger sind, nicht, welche(=welche ID). s2 cmd riding ist eher geeignet, in Verbindung mit einigem anderen. Ich schreib dir mal ein Skript.

Du machst einen Gebietstrigger mit •Spieler •gleich •1 . In diesen kommt folgendes Skript:
1
2
3
4
5
6
7
8
on:trigger{ //Wenn der Spieler im Gebiet ist
	if (riding()>0){ //und er fährt
		$x=riding();
		if (type("unit",$x) == 31) { //und das gefahrene Ding ein Einbaum ist
			free "unit", $x; //dann lösche den Einbaum
		}
	}
}

Kayren: hast du im Originalskript auch in der ersten Zeile getyaw("unit", currentid());
oder
getyaw("self");
genommen?
Wenn es tatsächlich genau so steht wie bei dir angegeben, ist das Problem klar. Wenn du es so gemacht hast wie ich gerade, stimmt vermutlich etwas an dem projectile-Befehl nicht.

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
Du hast vergessen auch den Modus anzugeben Kayren.
Ebenso hast du nur 8 Parameter in dem Befehl, du brauchst aber 10.
Das heißt: Es fehlen 2.

Guck dir nochmal den Befehl an: s2 cmd projectile

old Re: Scripting - Fragen/Probleme

Tau
User Off Offline

Quote
Jupp. Er hat den Modus vergessen, das muss hier 3 sein(vor $yaw einzugeben). Mehr braucht er aber nicht, denn Modus 3 braucht ja nur pitch und yaw, also insgesamt 12 Parameter. Die hat er auch wenn er den Modus einträgt.

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
1
2
3
4
5
6
7
8
9
10
11
12
13
on:attack1{
	$yaw=getyaw(Unit, 1);
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	$yaw-=5;
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	$yaw-=10;
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	$yaw+=20;
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	$yaw=+10;
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	freevar $yaw;
}

Unit with ID '1' does not exist.

Wie denn, ich dachte, das wäre immer Player...

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
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
### Dragon Breath
id=126
name=Drachenatem
group=elemental
icon=gfx\fireball.bmp
mat=glass
weight=0
info=Elementar: Eine Nahkampf-Magietechnik, die den Gegner einfriert.
behaviour=blade
weaponstate=6
damage=0
rate=1000
healthchange=0
script=start
on:attack1{
	$element=skillvalue("Elementarmagie");
	$consume=-60/$element;
	consume 0, 0, $consume, 0;
	freevar $element;
	freevar $consume;
	find 126, 1;
	process "Zaubern", 2000;
	$yaw=getyaw("unit",1);
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	$yaw-=5;
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	$yaw-=10;
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	$yaw+=20;
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	$yaw=+10;
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	freevar $yaw;
}
script=end


Im File Items_elemental, den ich erstellt habe. K, die Description ist noch immer die der vorherigen Waffe...
edited 2×, last 26.03.09 08:46:10 pm

old Re: Scripting - Fragen/Probleme

Aniza
User Off Offline

Quote
@ nmG

Super! Vielen Dank! *freu*

LG Aniza

Edit, PS: Jetzt würde ich vor dem Absaufen des Einbaums gerne noch eine "Schockwelle" oder einen ähnlichen Effekt animieren. Habe es so versucht:

1
2
3
on:trigger {
              particle getx("unit",1),gety("unit",1),getz("unit",1),46;       
}              \\ 46= Partikel>Schockwelle
Passiert aber nichts, kommt nicht mal eine Fehlermeldung.
Auch ein zusätzlicher Trigger mit einem größeren Radius zeigte keine Wirkung. Was mache ich da wieder falsch?
edited 1×, last 27.03.09 12:39:43 am

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
kevin00756 has written
wie heißt der befehl mit dem man einem Einheit etwas geben muss

Deiner beschissenen Rechtschreibung mal zum trotz:
s2 cmd find
oder
s2 cmd store

Ps: Falls du etwas anderes meinst, hättest du dich besser ausdrücken müssen.

old Re: Scripting - Fragen/Probleme

Tau
User Off Offline

Quote
Ändere doch mal die Größe des Partikels. So wie du es schilderst scheint der Befehl ja ausgeführt zu werden. Wenn es so aussehen soll, dass der Einbaum sinkt, kannst du auch s2 cmd kill $x statt free "unit", $x verwenden und vorher noch eine s2 cmd explosion mit Schaden 0 einbauen.

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
Kann keiner mir helfen bei meinem Modding Problem?

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
### Dragon Breath
id=126
name=Drachenatem
group=elemental
icon=gfx\fireball.bmp
mat=glass
weight=0
info=Elementar: Eine Nahkampf-Magietechnik, die den Gegner einfriert.
behaviour=blade
weaponstate=6
damage=0
rate=1000
healthchange=0
script=start
on:attack1{
	$element=skillvalue("Elementarmagie");
	$consume=-60/$element;
	consume 0, 0, $consume, 0;
	freevar $element;
	freevar $consume;
	find 126, 1;
	process "Zaubern", 2000;
	$yaw=getyaw("unit",1);
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	$yaw-=5;
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	$yaw-=10;
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	$yaw+=20;
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	$yaw=+10;
	projectile 56, getx("self"), gety("self"), getz("self"), 3, $yaw, 0, 2, 0, 20, 35, 0;
	freevar $yaw;
}
script=end
To the start Previous 1 2259 260 261339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview