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 2305 306 307339 340 Nächste Zum Anfang

alt Re: Scripting - Fragen/Probleme

Hecky3
User Off Offline

Zitieren
Vielen Dank es funktioniert. Einfach bei der Bilddatei _a hintersetzen. beim outliner kann man auch die Materialien bearbeiten...

EDIT: LOL jezz hab ich noch ein problem...
Die Flasche ist zwar durchsichtig hat aber keine farbe!
Also ich hab ne flasche mit folgenden Texturen/Materialien:
[Mat] bottle (blau) Shininess: 0.85 Opacity: 1.0
[Mat] glass (graublau) Shininess: 0.85 Opacity: 0.54
[Tex] struc3_a
[Tex] struc4_a
1× editiert, zuletzt 21.03.10 13:17:47

alt Re: Scripting - Fragen/Probleme

Hecky3
User Off Offline

Zitieren
Also entwedas scriptest es dafür brauchst du folgende befehle:
s2 cmd on (changeday)
s2 cmd create

oder du stellst n spawntrigger auf die map da kannste dann einstellen welches tier wie oft an x tage gespawnt wird und wieviele maximal dort sein sollen...

alt Re: Scripting - Fragen/Probleme

Govi
User Off Offline

Zitieren
JO, nur wie regeln Zufallsmaps das?
Wo find ich denn die entsprechenden Skriptzeilen?
In den Random inis gibts zwar son paar Zeilen:

on:changeday {
          $mapc=mapsize();
          $mapc=($c/1024);
          // Spawn Birds
          if (count("unit",25)<$mapc){ randomcreate "unit",25; }
          // Spawn Butterflies
          if (count("unit",6)<$mapc){ randomcreate "unit",6; }
          if (count("unit",7)<$mapc){ randomcreate "unit",7; }          
          freevar $mapc;
     }


aber das scheint nich richtig zu funktionieren und die Haie macht das ja offensichtlich auch nicht...

alt Re: Scripting - Fragen/Probleme

DEATHSHEAD
User Off Offline

Zitieren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
on:changeday {
          $mapc=mapsize();  
// Deklariert die Variable $mapc als grösse der Map

          $mapc=($c/1024);  
// Deklariert dei Var $mapc neu und setzt $c/1025 ein (was auch immer $c ist)

          // Spawn Birds
          if (count("unit",25)<$mapc){ randomcreate "unit",25; }  
// Wenn weniger Vögel vorjhanden sind als $mapc, wird eine neue zufällige Anzahl an Vögeln erstellt

          // Spawn Butterflies
          if (count("unit",6)<$mapc){ randomcreate "unit",6; }
// Wenn weniger Scmetterlinge vorjhanden sind als $mapc, wird eine neue zufällige Anzahl an Schmetterlingen erstellt

          if (count("unit",7)<$mapc){ randomcreate "unit",7; }  
// Wenn weniger Unit7 vorjhanden sind als $mapc, wird eine neue zufällige Anzahl an Unit7 erstellt   

          freevar $mapc;  // Die Variable $mappc wird "geleert"
     }

Wobei ich auch nicht verstehe was $c sein soll (steht warsch. irgendwo als globele Variable) und warum am anfng die Variable $mapc mit der Mapgrösse erstellt wird und in der nächsten zeile mit $c/1025 überschrieben wird.

alt Re: Scripting - Fragen/Probleme

Govi
User Off Offline

Zitieren
Hey, vielen Dank für die Hilfe
hat sich wohl einer vertippt???
wenn man
$mapc=($mapc/1024);
schreibt, klappts. Macht ja sonst auch keinen Sinn...

Bleibt nur die Frage offen wie die Haie auf Zufallsmaps nachkommen.

alt Re: Scripting - Fragen/Probleme

DEATHSHEAD
User Off Offline

Zitieren
Die Haie kommen theoretisch genau gleich auf eine Zufallsmap.
1
if (count("unit",HaiID)<$mapc){ randomcreate "unit",HaiID; }
Das müsste irgendwo stehen, es gibt mehrere random-Dateien.
Jede Schwierigkeitsstufe hat seine eigene Random-Datei, und wenn du z.B. in die für ein einfaches spiel schaust wirst du keine Haie finden.

Ich hab Die Dateien grad nich hier, aber neben "random.inf" gibt es auch "random_endless_hard.inf" (oder so).
Such darin mal nach Haien.

Haoffe ich konnte helfen

alt Re: Scripting - Fragen/Probleme

Govi
User Off Offline

Zitieren
hab das mal alles durchgeguckt, ich glaub das gibts nicht
vllt. kommen Haie gar nich nach?
wie auch immer, ich versuch jetzt mal für alle wichtigen units nen object zu skripten das die reproduziert so wie Löwenstein oder Nester

vielen Dank für die Hilfe

alt Re: Scripting - Fragen/Probleme

DEATHSHEAD
User Off Offline

Zitieren
Hi
gibt es eine möglichkeit über scripts (ohne dateien zu verändern) zu überprüfen, ob eie Taste gedrückt wird.

Als einfaches beispiel:
Wie kann ich wenn ich auf [H]-Taste drücke eine Nachricht (z.B. "HalloWelt") erscheinen lassen?

Danke im vorraus

alt Re: Scripting - Fragen/Probleme

Mc Leaf
Super User Off Offline

Zitieren
DEATHSHEAD hat geschrieben
Hi
gibt es eine möglichkeit über scripts (ohne dateien zu verändern) zu überprüfen, ob eie Taste gedrückt wird.

Als einfaches beispiel:
Wie kann ich wenn ich auf [H]-Taste drücke eine Nachricht (z.B. "HalloWelt") erscheinen lassen?

Danke im vorraus

Naja, es gäbe da diese Möglichkeit über scriptkey (bei game.inf) eine Taste einzustellen, aber da müsstest du halt, wie gesagt, Dateien ändern...

alt Re: Scripting - Fragen/Probleme

DEATHSHEAD
User Off Offline

Zitieren
Schade
Es ist halt ungeschickt wenn man nur eine map machen will und dann für die map noch irgendwelche inf-Dateien mitliefern muss.

Aber trotzdem danke

alt Re: Scripting - Fragen/Probleme

Hecky3
User Off Offline

Zitieren
muss man um z.B. die Hungerleiste wenn sie (fast) leer ist blinken (also so wie bei der Lebensleiste) zu lassen den source code ändern? wenn nicht wo ist das festgelegt?
2× editiert, zuletzt 31.03.10 18:22:19

alt Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Zitieren
diese leisten blinken wenn sie (fast) voll sind - weil es dann sinn macht denn das ist der kritische punkt bei ihnen.

dieses verhalten ist im sourcecode festgelegt und kann dementsprechend nur dort geändert werden.

man kann höchstens noch das blinken deaktivieren, in dem man die gleiche grafik für die helle und dunkle version dieser leisten benutzt.

alt Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Zitieren
also, ich habe ein problem:

ich habe ein script geschrieben, durch dass beim benutzen eines objektes ein zweites objekt an der selben stelle und mit der gleichen ausrichtung (gleicher yaw-winkel) erstellt wird.

solange der yaw-winkel 0, 90, -90, 180 pder -180 grad beträgt ist das ganze ja noch einfach, da dann das zweite objekt nur auf der x- und auf der z- achse verschoben werden muss:

(das zweite objekt soll um 2 einheiten nach vorne und um 3 einheiten nach links verschoben werden.)
IMG:https://img706.imageshack.us/img706/8798/unbenanntcjj.png




das habe ich soweit auch ncoh gut hinbekommen.
was mir jetzt probleme bereitet ist das verschieben des zweiten objektes wenn der yaw-winkel eben nicht auf der x- oder z- achse liegt:

IMG:https://img144.imageshack.us/img144/3484/unbenannt2q.png


in diesem fall müsste das objekt in zwei teilschritten verschoben werden, zunächst einmal bis zu dem knick bei dem roten strich und dann im zweiten schritt weiter bis zu dem hellgrünen punkt.
da man ja auch weiterhin nur auf der x- und z- achse verschieben kann muss man hier mit sinus und cosinus vorgehen.

ich hab es mittlerweile geschafft für den bereich oben link (also wenn der yaw-winkel zwischen null und 90 ist) ein script zu schreiben, wenn ich das allerdings auf die anderen 3 bereiche übertragen will bekomm ich das irgendwie nicht hin.

hier mal das script:
das hier steht im ersten objekt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
on:use{
	$buildingsite_x=getx("self");
	$buildingsite_y=gety("self");
	$buildingsite_z=getz("self");
	$buildingsite_yaw=getyaw("self");


	$ank=cos($buildingsite_yaw, 0);
	$geg=sin($buildingsite_yaw, 0);
	$ank_final=$ank*$placeholder_offset;
	$geg_final=$geg*$placeholder_offset;

	$ank_rightangle=cos($buildingsite_yaw+90, 0);
	$geg_rightangle=sin($buildingsite_yaw+90, 0);
	$ank_rightangle_final=$ank_rightangle*$placeholder_offset;
	$geg_rightangle_final=$geg_rightangle*$placeholder_offset;


	event "placeholder08", "global";

und das hier steht im globalen script:
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
on:start {
	$placeholder_offset=15;
}



on:placeholder08{

	// hier wird das zweite objekt erstellt, an die position (nur die höhem, die x- und z- position wird ja schon beim erstellen angegeben) des ersten obejektes angegelichen, das klappt auch noch alles gut
	$id=create("object", 750, $buildingsite_x, $buildingsite_z);
	setpos "object", $id, "self", $buildingsite_y, "self";
	setrot "object", $id, "self", $buildingsite_yaw, "self";

	// hier wird der bereich festgelegt, bei dem das script gelten soll, also zwischen 0 und 90 yaw
	if(($buildingsite_yaw>0) && ($buildingsite_yaw<90)) {
		
		// Verschiebung 1
		$ph_x08_a=-$geg_final*2;
		$ph_z08_a=$ank_final*2;

		rpos "object", $id, $ph_x08_a, 0, $ph_z08_a;


		// Verschiebung 2
		$ph_x08_b=-$geg_rightangle_final*3;
		$ph_z08_b=$ank_rightangle_final*3;

		rpos "object", $id, $ph_x08_b, 0, $ph_z08_b;
	}
}

nach meiner theorie müsste das zweite objekt ja jetzt, wenn man die vorzeichen der entsprechenden variablen bei den rpos -befehlen umkehrt, um zwei einheiten nach unten/rechts und um drei einheiten nach rechts/rechts verschoben werden, was man dann also gebrauchen könnte, wenn man die verschiebung im bereich unten rechts bestimmen will, also der bereich zwischen -180 und -90 yaw.

und genau das ist der ounkt, an dem der fehler auftritt, irgendwie wird das zweite objekt nicht an die richtige stelle verschoben...

kann mir da einer weiterhelfen? bin echt ratlos was ich im moment falsch mache...

alt Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Zitieren
Stampf dein Script in und lösche es aus dem Papierkorb.


Des Rätsels Lösung lautet s2 cmd rpos. Allerdings ist der Befehl fehlerhaft, wenn du die Winkel (pitch, yaw & roll) weglässt wird immer von 0 ausgegangen und nicht von der Eigenrotation. Um die zu kriegen muss man self angeben.
Dieses Script hier verschiebt ein Objekt um 20 vorwärts und 5 nach links:
1
2
3
4
on:use
	{
	rpos "self", 5, 0, -20, "self", "self", "self";
	}
Ist das eine akzeptable Lösung für dich?

alt hilfe

supersb
User Off Offline

Zitieren
hi mein stargeyt oder wie das ding heißt geht nicht,ich habe iris und das ding angeschaltet aber ich geh immer nur hindurch.


was nun?

alt Re: Scripting - Fragen/Probleme

Westbeam
User Off Offline

Zitieren
Dein was geht nicht? Was geht den daran nicht. Was ist iris, und welches ding hast du angeschaltet? Durch was gehst du immer nur hindurch? Ein paar mehr Angaben wären sehr hilfreich
Zum Anfang Vorherige 1 2305 306 307339 340 Nächste Zum Anfang
Einloggen, um zu antworten Scripts-ÜbersichtStranded II-ÜbersichtForenübersicht