Ph3n0m PoWeR
Dieses Script verändert einen Bildschirm ständig. Ich werde zeitig selbst versuchen, so etwas zu erstellen, bei sechs verschiedenen Bildern werden fünf versteckt, und jede Sekunde der Intervall auf das nächste verschoben. Sind alle einmal gezeigt worden beginnt es von Neuem. Leider kann man keine richtigen BIK-Videos im MP zeigen, das wäre natürlich noch besser, aber für meine Zwecke reicht auch ein einfacher Bildschirm.
--- Edit by Nightwing: Thema in Scripthilfe verschoben ---
Ph3n0m PoWeR
Ich habe mal einen Anfang gemacht, aber ich bin nicht sehr erfahren was das angeht, vor Allem weil es keine direkten Tutorials gibt.
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:
|
main()
{
video.screen = getentarray("videoscreen","targetname");
for(i=0;i<videoscreen.size;i++)
{
videoscreen[i] thread changer(videoscreen);
}
}
changer(videoscreen)
{
FirstState = getent(self.target,"targetname");
SecondState = getent(FirstState.target,"targetname");FirstState hide();
ThirdState = getent(SecondState.target, "targetname");SecondState hide();
FourthState = getent(ThirdState.target, "targetname");ThirdState hide();
FifthState = getent(FourthState.target, "targetname");FourthState hide();
FifthState hide();
while(!videochange)
wait (self) 1;
{
|
|
Es gibt hier fünf verschiedene Stadien (Bilder). Jede Sekunde wird das vorherige versteckt und das nächste gezeigt. Wenn alle gezeigt wurden, beginnt das Ganze von vorn. Für einen Script-Profi doch sicher kein Problem? Einige Elemente aus dem BAT-Programmieren wie die gute alte Sprungmarke habe ich nicht im Cod4-Script-Lexikon gefunden.
Banana2077
hmh ich habe gesehn das war111 (youtube) das in seiner map hast, am besten du fragst in einfach mal
grüße
banana
Nightwing
Mal ganz spontan und ohne jegliche Funktionsgarantie:
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:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
|
screenchanger(){
screen_1 = getent("screen_1","targetname");
screen_2 = getent("screen_2","targetname");
screen_3 = getent("screen_3","targetname");
screen_4 = getent("screen_4","targetname");
screen_5 = getent("screen_5","targetname");
screen_6 = getent("screen_6","targetname");
time = 1;
while(1){
screen_1 hide();
wait 0.1;
screen_2 hide();
wait 0.1;
screen_3 hide();
wait 0.1;
screen_4 hide();
wait 0.1;
screen_5 hide();
wait 0.1;
screen_6 hide();
wait 0.1;
screen_1 show();
wait time;
screen_1 hide();
wait 0.1;
screen_2 show();
wait time;
screen_2 hide();
wait 0.1;
screen_3 show();
wait time;
screen_3 hide();
wait 0.1;
screen_4 show();
wait time;
screen_4 hide();
wait 0.1;
screen_5 show();
wait time;
screen_5 hide();
wait 0.1;
screen_6 show();
wait time;
screen_6 hide();
wait 0.1;
}
}
|
|
ToM
Oi!mel
Hallo,
Ich habe mich mal von deinem Script inspirieren lassen.
Mein Ziel ist es, zwei verschiedene Skys zu machen, die abwechselnd erscheinen.
So hab ich dein Script angepasst:
_skychanger.gsc
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:
|
main(){
skychanger();
}
skychanger(){
sky_1 = getent("sky_1","targetname");
sky_2 = getent("sky_2","targetname");
time = 1;
while(1){
sky_1 hide();
wait 0.1;
sky_2 hide();
wait 0.1;
sky_1 show();
wait time;
sky_1 hide();
wait 0.1;
sky_2 show();
wait time;
sky_2 hide();
wait 0.1;
}
} |
|
Dann habe ich das in mein map.gsc eingefügt:
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
|
maps\mp\_skychanger::main(); |
|
Danach habe ich zwei Prefabs gemacht, jedes enthält einen Himmel.
Beide in die Map eingefügt und einem targetname sky_1 gegeben, dem anderen sky_2.
Wenn ich jetzt aber die Map starten will kommt folgender Fehler:
Kann mir jemand helfen? Bitte! Was hab ich falsch gemacht?
OLD MAN WITH GUN
Undefined is not an entity.
sky_1 wurde nicht definiert (ist undefined) weil es kein Script-Objekt (script_model, script_brushmodel) in deiner map gibt, das den targetname "sky_1" hat.
Hast du den eingefügten Prefabs einen targetname gegeben (was falsch wäre und nicht funktioniert) oder hast du die brushes, die jeweils deinen sky bilden, als script_brushmodels definiert und denen dann den targetname gegeben (so muss es gemacht werden).
Also jeweils (für jeden sky) 4 Wände, Dach und Boden erstellen, alle 6 Objekte selektieren, zum script_brushmodel konvertieren, targetname geben und als Prefab speichern.
Anschließend diese Prefabs in deine Map laden.
Oi!mel
Danke dir. Hab mit scripting nicht so viel am Hut. Aber funktioniert ja jetzt- echt super!
Auch wenn es einen richtig blöd macht beim spielen wenn sich der himmel jede sekunde ändert xD
Danke
Ph3n0m PoWeR
Danke Nightwing. Du wirst selbstverständlich im Loadscreen und in den Credits genannt. Meine Arbeit schreitet voran, es ist spätestens nächste Woche fertig. Es gibt keine (verständlichen) Script-Tutorials im Internet, weshalb ich es nie richtig lernen konnte.
Nightwing
Danke für die Rückmeldung. Da ich mich mit dem Radiant nicht auskenne, konnte ich das Script nicht testen.
Freut mich, das es funktioniert.
ToM
Ph3n0m PoWeR
Warum kannst du dann scripten?
Bevor jetzt Fehler auftreten, ein Compile mit schnellsten Einstellungen dauert 25 Minuten, soll ich die getents jetzt einfach nur einstellen? Ich rede hierbei von script_brushmodels, die ihren jeweiligen Targetname haben.
T.R.Graves
Wenn ein Compile bei dir 20 Min dauert machst du was falsch. Wenn du im Radiant was eingebaut welches gescripted ist, reicht es compile bsp zu machen das licht brauchst du da nicht zu compilieren, sieht zwar scheisse aus aber du kannst das script testen.
Funktioniert das script ingame aber die Zeitspanne oder die Bewegung passt dir nicht und du änderst das im script reicht bei scriptänderungen build fastfile.
Willst du in deiner Map Modelle oder Lichter (entinities allgemein) ändern oder einbauen reicht es wenn du bei den optionen onlyents anklicktst.
Aber da würde ich die Lightoptions auch compilieren, dabei ist bei mir aber nur fast angeklickt.
Ph3n0m PoWeR
Ich mach immer auf Fast, und wenn es dann fertig ist mit verbose, modelshadow und debug lightmaps.