Forum
Stranded II Scripts Scripting - Fragen/ProblemeAber ich kann doch einfach ne absolute ID nehmen. Da brauch ich doch keine Variable zu nehmen.
Dazu: Das geht.
Aber noch ein Problem
So sieht das jez aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
on:start 	 { 	 timer "self", 500, 0, "gebiet"; //2 mal pro Sekunde wird geprüft, ob der Spieler im Gebiet ist. 	 } on:gebiet 	 { 	 // Ist der Spieler im Bereich um das Info? 	 if ((inrange ("self", 450, "unit", 19) == 1) && ($bereich == 0)) 			 { 			 // Wenn ja: 			 msg "Spieler hat den Bereich betreten!"; 			 event "turma", "object", 116; 			 $bereich = 1; 			 } 	 elseif ((inrange ("self", 450, "unit", 19) != 1) && ($bereich == 1)) 			 { 			 // Wenn nein: 			 msg "Spieler hat den Bereich verlassen!"; 			 event "turmb", "object", 116; 			 $bereich = 0; 			 }
Was hab ich denn diesmal falsch gemacht?
edited 1×, last 16.02.10 01:58:09 pm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
on:start 	 { 	 timer "self", 500, 0, "gebiet"; //2 mal pro Sekunde wird geprüft, ob der Spieler im Gebiet ist. 	 } on:gebiet 	 { 	 // Ist der Spieler im Bereich um das Info? 	 if ((inrange ("self", 450, "unit", 19) == 1) && ($bereich == 0)) 			 { 			 // Wenn ja: 			 msg "Spieler hat den Bereich betreten!"; 			 event "turma", "object", 116; 			 $bereich = 1; 			 } 	 elseif ((inrange ("self", 450, "unit", 19) != 1) && ($bereich == 1)) 			 { 			 // Wenn nein: 			 msg "Spieler hat den Bereich verlassen!"; 			 event "turmb", "object", 116; 			 $bereich = 0; 			 } 	 [b]}[/b]
Wenn ichs den Spieler auslösen lasse gehts wuderbar. Sobald ich aber den Affe einstelle passiert halt das vorhin genannte.
edited 1×, last 16.02.10 08:07:53 pm
Was möchtest du denn überhaupt machen?
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
on:turma { color 255, 0, 0; timer "self", 500, 0; } on:timer { local "$x", "$y", "$z", "$ran"; $x=getx ("self"); $y=gety ("self"); $z=getz ("self"); $y+=150; $ran=random(1,5); if ($ran==1) { // msg is nur zum Testen msg "schuss"; projectile 241,$x,$y,$z,1,"unit",100,0,0,70,15,0; projectile 241,$x,$y,$z,1,"unit",101,0,0,70,15,0; } } on:turmb { freetimers "self"; color 255, 255, 255; // das hier alles auch msg "aus"; thunder; }
Wenn ja:
Du kannst das Info löschen und dieses Script am Ende des Beitrags in den Turm tun.
Wenn nein:
Hm, ich weiß jetzt nicht wo der Fehler sein soll, sorry...
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
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
on:start { local "x", "y", "z", "ran"; timer "self", 500, 0, "gebiet"; //2 mal pro Sekunde wird geprüft, ob der Spieler im Gebiet ist. } on:gebiet { // Ist der Spieler im Bereich um das Info? if (inrange ("self", 450, "unit", 19) == 1) { 		$x=getx ("self"); 		$y=gety ("self"); 		$z=getz ("self"); 		$y+=150; 		$ran=random(1,5); 		if ($ran==1) { 			// msg is nur zum Testen 			msg "schuss"; 			projectile 241,$x,$y,$z,1,"unit",100,0,0,70,15,0; 			projectile 241,$x,$y,$z,1,"unit",101,0,0,70,15,0; 			} $bereich = 1; } elseif ((inrange ("self", 450, "unit", 19) != 1) && ($bereich == 1)) { freetimers "self"; 		color 255, 255, 255; 		// das hier alles auch 		msg "aus"; 		thunder; $bereich = 0; } }
(Das Programm ist jetzt nicht getestet, es sollte aber funktionieren. Es sei denn der Fehler, welcher auch bei dir das Programm verhindert, taucht auch hier auf.)
Hatte den/das Script mit def_override in alle Türme geschrieben und in der Info wo inrange etc. drinstand dann jeweils nur die ID angeglichen.
Das funktioniert zwar nicht sofort für ein neues Item, allerdings ist es wohl die einzige Möglichkeit.
(das einzige problem, was dabei auftreten könnte wäre, dass zwei verschiedene items/ objekte/ whatever die gleiche textur benutzen)
Das Problem ist, dass ich nichts modifizieren möchte. Und genau genommen ist das größere Problem, dass Stranded 2 die Textur nicht extra in den ".inf"-Dateien festlegt.
Nun ja... Improvisieren wie immer.
Ich bin momentan dabei ein level für Stranded zu schreiben,
das hat auch anfangs ganz gut geklappt bis ich plötzlich keine männchen mehr beschreiben konnte - da ging dann garnichts mehr mit scripts schreiben außer schilder und so nen zeugs. entweder stranded stürzt dann ab wenn ich so ein männchen anquatsche oder es passiert garnix.
Script error:Script:Unit 233 (Typ34) Row:6 Col:54
(debug for details)
soll wohl der fehler sein, ich habe aber alles gecheckt und auch stranded neu installiert geht nix mehr mit schreibn.
Kann mir vielleicht jmd. verraten was ich falsch mache?
MFG RuM
Kleiner Hinweis mal für dich: Drücke mal, während du im Editor bist, F12.
Dadurch kannst du sofort eine Map testen und musst sie nicht erst abspeichern und die Map starten. Ebenso sind dann auch die Fehlermeldungen genauer.
Zauberei has written
Ist es möglich auf einer Karte einem gesamten Itemtyp eine neue Textur zu verpassen? Ich meine, bei einzelnen Items oder Objekten, kein Problem, aber was, wenn alle Items eine neue Text bekommen sollen?
Hmm... Nach einigem Tüfteln, vielleicht hatten andere auch das Problem: Funzt sehr wohl.
Ich habe einfach die Definition verändert und beim Kreieren (on:create) wird die Textur verändert. Die Steine, die auf der Map vorher platziert wurden, müssen natürlich alle einzeln ein Script zugewiesen bekommen, weil "create" dort nicht eingreift. Übrigens muss man den Befehl mit einem @ versehen, da er beim Steinefinden irgendwie rumspackt und Fehler erzeugt, die ich nicht verstehe. Anders geht's nicht.
Kleiner Nachteil: Projektilschuss sieht wie vorher aus.