Forum
Stranded II Scripts Scripting - Fragen/ProblemeGruß Lord Horazont
P.S. Alpha-4 ROCKZ!
1
2
3
2
3
if (playergotitem(30)>0) { 	alteritem 1,30,1,52; }
(Bei der Kombination für Hammer/Speer)
edited 1×, last 16.01.06 08:43:44 pm
Da ich selber aber noch nichts Scripte da ich noch zu sehr mit dem Programmieren beschäftigt bin, finde ich selbst da kaum Fehler.
Wird behoben
Gibt es denn eine funktion um ein Projektil/Pfeil/eine Rakete in eine beliebige richtung zu erzeugen, ohne eine Waffe zu verwenden?
Gruß Lord Horazont
@DC: Noch eine Sache, die nicht funktioniert:
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
on:impact { 	if (impact_kill()==1) { 		if (impact_class()=="unit") { 			$variable+=25; 		} elseif (impact_class()=="object") { 			$variable+=10; 		} } }
edited 1×, last 16.01.06 10:05:27 pm
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
on:impact { if (impact_kill()==1) { if (impact_class()=="unit") { $variable+=25; } elseif (impact_class()=="object") { $variable+=10; } [b]}[/b] }
Ich glaube, es könnte an den neuen Befehlen liegen.
Is blöd eine Sprache zu debuggen, die man selber nicht so gut kennt.
DC sag mal was
Gruß Lord Horazont
(ja ich weiss, ich muss mich unbedingt ma mit cinema 4d befassen)
1
alpha=0.0
on:start { alpha 0; }
Wegen dem impact_class(): Stranded II arbeitet da mit den internen Integerwerten für die verschiedenen Klassen. 1 für Objects, 2 für Units und 3 für Items. Wenn du also die Strings bei den Bedingungen durch die passenden Zahlen ersetzt sollte es klappen. Muss ich noch bei der Befehlsliste dazu schreiben...
Ich wollte mal Skills für verschiedene Waffen implementieren und bin schon beim Schaden auf Probleme gestossen. Mit def_override habe ich dem Holzpfeil dieses Script verpasst:
1
2
3
4
5
2
3
4
5
on:impact { msg "Impact fetched!" $bow=skillvalue "Bogen"; damage impact_class(), impact_id(), $bow; }
Die msg-Sachen sind nur fürs debuggen.
Gruß Lord Horazont
1
2
3
4
5
2
3
4
5
on:impact { msg "Impact fetched!" $bow=skillvalue[b]([/b]"Bogen"[b])[/b]; damage impact_class(), impact_id(), $bow; }
Gruß Lord Horazont
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
on:impact { 	if ((impact_kill()==1)&& (skillvalue("Fernkampf")<51)) { 		if (impact_class()==2) { 			$fernkampf+=25; 		} elseif (impact_class()==1) { 			$fernkampf+=10; 		} 		if ($fernkampf>99) { 			incskill "Fernkampf"; 			msg "Fernkampf erhoeht!",4; 			$erest=($fernkampf-100); 			$fernkampf=$erest; 		} 		msg "$fernkampf"; 	} 	damage impact_class(),impact_id(),skillvalue("Fernkampf"); }
Die Variable $fernkampf soll die Hundertstel des Skills "Fernkampf" speichern. Msg dient auch hier für Debugzwecke.
Edit: Irgendwie war das doch der Fehler mit den Spuren der Munition, obwohl das früher bei mir nie vorgekommen ist.
Das Problem besteht aber noch immer: Bei den Units klappt es ganz normal, aber bei den Objekten kommen falsche Werte heraus...
edited 1×, last 17.01.06 06:22:11 pm
Als Munition habe ich Kiesel und/oder Steine verwendet, das Skript war aber in der Definition der Steinschleuder.
Genaue Erklärung des Fehlers:
Bei Units läuft alles ganz normal. Bei Objects aber steigt zunächst mal gar nichts, wenn ich sie töte. Habe ich davor aber bereits eine Unit getötet, steigt der Wert um 25 (sollte aber nur um 10 steigen). Items reagieren genau wie Objects, obwohl sie nichts in meinem Skript verloren haben und nichts steigen sollte, wenn man sie tötet.