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 2259 260 261339 340 Nächste Zum Anfang

alt Re: Scripting - Fragen/Probleme

kevin00756
User Off Offline

Zitieren
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

alt Re: Scripting - Fragen/Probleme

Westbeam
User Off Offline

Zitieren
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

alt return

Aniza
User Off Offline

Zitieren
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

alt Re: Scripting - Fragen/Probleme

kevin00756
User Off Offline

Zitieren
aletes hat geschrieben
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

alt Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Zitieren
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?
1× editiert, zuletzt 26.03.09 17:00:09

alt Re: Scripting - Fragen/Probleme

Tau
User Off Offline

Zitieren
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.

alt Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Zitieren
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

alt Re: Scripting - Fragen/Probleme

Tau
User Off Offline

Zitieren
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.

alt Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Zitieren
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...

alt Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Zitieren
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...
2× editiert, zuletzt 26.03.09 20:46:10

alt Re: Scripting - Fragen/Probleme

Aniza
User Off Offline

Zitieren
@ 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?
1× editiert, zuletzt 27.03.09 00:39:43

alt Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Zitieren
kevin00756 hat geschrieben
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.

alt Re: Scripting - Fragen/Probleme

Tau
User Off Offline

Zitieren
Ä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.

alt Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Zitieren
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
Zum Anfang Vorherige 1 2259 260 261339 340 Nächste Zum Anfang
Einloggen, um zu antworten Scripts-ÜbersichtStranded II-ÜbersichtForenübersicht