[Tutorial] Rotierender Ventilator mit Licht-Effekten * |
yoda
Böser Admin
Dabei seit: 21.01.2004
Beiträge: 12.269
|
|
[Tutorial] Rotierender Ventilator mit Licht-Effekten * |
|
Vorlage von AmishThunder auf MODSonline.com
Rotierender Ventilator mit Licht-Effekten in CoD4
Dieses Tutorial erfordert ein wenig Vertrautheit mit dem Scripting und dem Lighting (= Beleuchtung), auf geht´s machen wir uns mal die Hände ein wenig schmutzig...
Erstelle als erstes das Areal, in dem Du Deinen Ventilator platzieren möchtest.
Platziere nun einen Ventilator:
Klicke mit der rechten Maustaste in der 2D-Ansicht und wähle
-> script -> script_model
Wähle nun das Model "icbm_turbofan64" oder eine von Dir gewünschte Größe (sollte im Ordner \raw\xmodel zu finden sein).
Öffne das Entity-Fenster mit der Taste "n" und vergib diese Werte:
Key targetname
Value fan1
Als nächstes platzierst Du ein Scheinwerfer-Licht (spot light).
Erstelle Dein light entity, null und verbinde sie.
Falls Du nicht sicher bist, wie das geht, schau Dir das Tutorial "Lighting 101" an.
Wähle nun "Primary_Spot" für Dein Licht und passe den Rest an Deine Wünsche an, so dass das Licht ganz klar die Oberflächen berührt, die per Schatten getroffen werden sollen.
Das war´s schon in Deiner Map!
***
Nun machen wir uns an den Script-Teil, das ist halb so wild wie es vielleicht klingen mag.
Öffne Deine .GSC-Datei.
Solltest Du keine haben, dann öffne einfach die "mp_test.gsc" und passe sie an Deinen Map-Namen an.
Erstelle Deinen Thread.
Füge dies in den ersten main()-Bereich ein:
thread fanSpin();
Unter die letzte Klammer } im main()-Bereich setzt Du diesen Code-Teil:
fanSpin() { fan1 = getEnt( "fan1" , "targetname" );
//fan2 = getEnt( "fan2" , "targetname" );
//Code by AmishThunder
// www.kramerartanddesign.com
while (1)
{
fan1 rotateyaw( 360, 5, 0, 0 );
//fan1 rotateyaw( degrees, time in seconds, 0, 0 );
//fan2 rotateyaw( 360, 5, 0, 0 );
wait 4.9;
}
}
Du kannst so viele Ventilatoren einbauen, wie Du möchtest, aber füge dann ein neues Segment ein und erhöhe die Zahl um 1.
***
by AmishThunder
http://www.kramerartanddesign.com
---
Direkt verlinken:
https://www.opferlamm-clan.de/wbb2/thread.php?threadid=10378
***
__________________ "Fürs Internet sollte das Baumhaus-Prinzip gelten:
Wer zu alt ist, um ohne Hilfe reinzukommen, soll uns darin auch keine Vorschriften machen."
Diskutiere nie mit einem Idioten - zuerst zwingt er Dich auf sein Niveau herab und dann schlägt er Dich mit Erfahrung...
|
|
|
|
|
|
Kann man als getestet ansehen. Nach der Anleitung habe ich das auch schon in meiner Map eingebaut und funktioniert.
Grüße
Private Grob
|
|
|
|
|
Verni@hter
*bM.Verni@hter~
Dabei seit: 24.01.2006
Beiträge: 1.461
|
|
Das ist super, ich habe es nähmlich auch getestet nur bei mir will der venti keinen Schatten werfen. Kannste vielleicht mal ein kleines Prefab machen wenn du mal Luft zwischen durch hast mit Venti, info null und Licht das man mal sieht wie das aussehen soll. Wenn ich des mache im Radianten wirft der Venti einen Super Schatten (an meine hintere Wand) im Spiel ist davon nix zusehen.
__________________
Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook
|
|
|
|
|
Verni@hter
*bM.Verni@hter~
Dabei seit: 24.01.2006
Beiträge: 1.461
|
|
|
|
|
|
Verni@hter
*bM.Verni@hter~
Dabei seit: 24.01.2006
Beiträge: 1.461
|
|
Auch bei deiner Version wird mir kein Schatten angezeigt.
__________________
Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook
|
|
|
|
|
|
Könnte das mit deinen Grafikeinstellungen zu tun haben?
Grüße
Private Grob
|
|
|
|
|
Verni@hter
*bM.Verni@hter~
Dabei seit: 24.01.2006
Beiträge: 1.461
|
|
Ich habe alles auf superhoch und auch Schatten von Bäumen werden mir angezeigt. Finds auch komisch.
__________________
Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook
|
|
|
|
|
|
Hast du vielleicht in dem Raum noch ein weiteres, "normales" Licht, das so hell ist, das es den Schatten vom Primary_Spot eliminiert?
Das kann nämlich durchaus passieren.
Grüße
Private Grob
|
|
|
|
|
Verni@hter
*bM.Verni@hter~
Dabei seit: 24.01.2006
Beiträge: 1.461
|
|
Ich habe da nix weiter eingefügt, ich habe mir den testraum geladen von BadMan bei ihm sieht er schatten bei mir nicht.
__________________
Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook
|
|
|
|
|
|
Ist im Ordner \raw\xmodel.
__________________
|
|
|
|
|
-tiger-
Steuerzahler
Dabei seit: 22.01.2008
Beiträge: 189
|
|
Danke für den tip, habe ein script_brushmodel mit folgenden Einstellungen erstellt.
script_accumulate 40
script_threshold 20
targetname destructable (dadurch werden die funktionen der _destructables.gsc aufgerufen)
rotate skript:
Code angehängt. Klicke hier zum Ein-/Ausblenden
code: |
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:
|
main()
{
rotate_obj = getentarray("destructable","targetname");
if(isdefined(rotate_obj))
{
for(i=0;i<rotate_obj.size;i++)
{
rotate_obj[i] thread ra_rotate();
}
}
}
ra_rotate()
{
if (!isdefined(self.speed) || self.speed == 0)
self.speed = 25;
if (!isdefined(self.script_noteworthy))
self.script_noteworthy = "x";
while(true)
{
// rotateYaw(float rot, float time, <float acceleration_time>, <float deceleration_time>);
if (self.script_noteworthy == "y")
self rotateYaw(360,self.speed);
else if (self.script_noteworthy == "x")
self rotateRoll(360,self.speed);
else if (self.script_noteworthy == "z")
self rotatePitch(360,self.speed);
wait ((self.speed)-0.1); // removes the slight hesitation that waittill("rotatedone"); gives.
}
} |
|
Soweit funktioniert das auch aber sobald das script_brushmodel weg ist wird die map geschlossen und ich befinde mich wieder im cod4 menu. Ich vermute mal das es an der rotate funktion liegt weil die nicht im skript gestopt wird.
edit:
Scheinbar habe ich mit meiner Vermutung richtig gelegen. Ich habe das rotate skript etwas verändert und nun funktioniert es mit script_brushmodel oder script_model ohne Probleme.
Code angehängt. Klicke hier zum Ein-/Ausblenden
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
|
main()
{
rotate = getentarray("destructable","targetname");
for(i=0;i<rotate.size;i++)
rotate[i] thread rotatefan();
}
rotatefan()
{
while(1)
{
self rotateYaw(360,10, 0, 0);
self waittill ("rotatedone");
thread rotatefan();
return;
}
}
|
|
__________________
Processor: Intel Core2 Quad Q6600 | Mainboard: ABIT IP35 | Grafikkarte: GeForce 9800 GTX | Arbeitsspeicher: 2 GB G-Skill | Netzteil: Be Quiet! Straight Power
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von -tiger-: 25.04.2008 19:34.
|
|
|
|
|
|
|
|
Impressum ||Datenschutzerklärung
|