Flugzeuge mit verschiedenen Geschwindigkeiten

darksmi
Hallo Leute.....
also meine Map ist nun fast fertig.

Jetzt mal meine Frage :
Ich habe 3 verschiedene Arten von Flugzeugen in der Map, welche mit unterschiedlichem Timing und Geschwindigkeiten fliegen.
Dazu habe ich jetzt 3 Scriptfiles erstellt.
Ist es möglich Flugzeuge mit unterschiedlichen Erscheinungszeiten und Geschwindigkeiten auch in ein Scriptfile zu packen ????


Also das könnt Ihr Euch halt so vorstellen:

Es fliegen 3 Condor-Bomber in Formation über die Map (Planespeed 30). Als Geleitschutz werden diese bei Überflug von 3 Mustangs (Planespeed 7) überholt. Etwa 10 Sekunden später fliegen 2 Stukas (Planespeed 3) hinterher.

Screenshot : http://www.mydarc.de/dk2och/map.htm

Also wie gesagt: Momentan laufen 3 Plane-Scripte dafür. Hmmm aber ich denke doch, das das auch in einem Script gehen müsste oder?

Gruß darksmi
bangingbernie
Klar geht das. So sieht das bei mir aus:

main()
{
thread plane1();
thread plane2();
thread plane3();
}

plane1()
{
level.PlaneSpeed = 3.5;

stuka1 = getent ("stuka1","targetname");

temp = getent (stuka1.target,"targetname");
stuka1.dest = temp.origin;
stuka1.start = stuka1.origin;
stuka1 hide();

wait 20;

while (1)
{
stuka1 thread plane_flyby1("stuka_flyby");

wait 180;
}
}


plane_flyby1(sound)
{
if (isdefined (sound))
self playsound ("siren");
wait 10;
self playsound (sound);
wait 2;
self playsound ("stuka_shoot");
self show();
self moveto(self.dest, level.PlaneSpeed, 0.1, 0.1);

wait level.PlaneSpeed;
self hide();
self.origin = self.start;
}

plane2()
{
level.PlaneSpeed = 3.5;

spitfire1 = getent ("spitfire1","targetname");

temp = getent (spitfire1.target,"targetname");
spitfire1.dest = temp.origin;
spitfire1.start = spitfire1.origin;
spitfire1 hide();

wait 40;

while (1)
{
spitfire1 thread plane_flyby2("spitfire_flyby");

wait 240;
}
}


plane_flyby2(sound)
{
if (isdefined (sound))
self playsound (sound);
wait 2;
self playsound ("stuka_shoot");
self show();
self moveto(self.dest, level.PlaneSpeed, 0.1, 0.1);

wait level.PlaneSpeed;
self hide();
self.origin = self.start;
}

plane3()
{
level.PlaneSpeed = 3.5;

condor1 = getent ("condor1","targetname");

temp = getent (condor1.target,"targetname");
condor1.dest = temp.origin;
condor1.start = condor1.origin;
condor1 hide();

wait 60;

while (1)
{
condor1 thread plane_flyby3("condor_flyby");

wait 120;
}
}


plane_flyby3(sound)
{
if (isdefined (sound))
self playsound (sound);
wait 11;
self show();
self moveto(self.dest, level.PlaneSpeed, 0.1, 0.1);

wait level.PlaneSpeed;
self hide();
self.origin = self.start;
}

Wie Du siehst, musst Du die Threads am Anfang in Ihrer Reihenfolge angeben und dann aufführen.

Gruss
Bernie
darksmi
Ja... Genauso etwas meinte ich....

Cool..... Das werd ich nachher mal machen.....

Danke Dir !!!! Augenzwinkern