Einfaches "move to" script

Matrixpro
Hi, leider bin ich mit dem scrips nicht so gut vertraut auch wenn es bestimmt einfach ist also zumindest das was ich machen möchte..

ich brauche nur ein einfach move... also ich habe ein paket auf nem band das sozu sagen im rechteck fahren soll

also beisoeil
von x0 nach x 350 dann y0 nach y60

und dann wieder
von x 350 nach x0

und wieder nach y 0

also so ein bsichen kann ich mir vorstellen wie das im scrip aussehen muss..

also so in der gsc

Code einblendenCode 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:
main()
{
thread parcel();
}

parcel()
{
parcel = getent ("parcel","targetname");
parceltrigger = getent ("parcel_rigger","targetname");
while (1)
{
parceltrigger waittill ("trigger");
parcel movez (250,5);
parcel waittill ("movedone");
wait 1;
parcel movey (60,5);
parcel waittill ("movedone");
wait 1;
parcel movez (-250,5);
parcel waittill ("movedone");
wait 1;
parcel movey (-60,5);
parcel waittill ("movedone");
wait 2;
}
self thread parcel();
return;
}



müste es ohne trigger so sein im scrip?

Code einblendenCode 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:
main()
{
thread parcel();
}

parcel()
{
parcel = getent ("parcel","targetname");

{

parcel movez (250,5);
parcel waittill ("movedone");
wait 1;
parcel movey (60,5);
parcel waittill ("movedone");
wait 1;
parcel movez (-250,5);
parcel waittill ("movedone");
wait 1;
parcel movey (-60,5);
parcel waittill ("movedone");
wait 2;
}
self thread parcel();
return;
}





also ich habe hier einfach mal das türenöffungs scrip benutzt und ein bischen geändert.

nur bei meinen paket brauche ich eigentlich keinen auslöser also es soll allein die ganze zeit fahren..

wie muss das scrip dann aussehen und reist es dann das paketmodel und die tool textur orig zu nutzen? kann mir einer dabei helfen? Danke schon mal. cu


--- Edit by Nightwing: Thema in Scripthilfe verschoben ---
OLD MAN WITH GUN

Zitat:

Original von Matrixpro
reicht es dann das paketmodel und die tool textur orig zu nutzen?
Ja.

Dein Script stimmt schon fast

Code einblendenCode 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:
parcel()
{
  parcel = getent ("parcel","targetname");

  while(1)
  {
    parcel movex (350,5);
    parcel waittill ("movedone");
    wait 1;
    parcel movey (60,5);
    parcel waittill ("movedone");
    wait 1;
    parcel movex (-350,5);
    parcel waittill ("movedone");
    wait 1;
    parcel movey (-60,5);
    parcel waittill ("movedone");
    wait 2;
  }
}


Das speicherst du im Ordner raw/maps/mp z.B. mit dem Namen _parcel.gsc ab.
Dann fügst du deiner map.gsc noch folgende Zeile hinzu (unter die Zeile maps\mp\_load::main(); )
thread maps\mp\_parcel::parcel();

Zum Schluss fügst du noch folgende Zeile in dein Zone File ein:
rawfile,maps/mp/_parcel.gsc
Matrixpro
klasse danke und wenn ich mehr pakete habe dann halt immer parcer 2 3 usw... das scrip natrürlich immer anpassen,

reicht es denn wenn ich dem xmodel im radiant

targetname
parcel1


usw.. mache cu
Matrixpro
hym scheinbar reicht das nicht, weil ich jetzt die melung bekomme das es sich nicht um ein entity handelt wie mache ich das denn? cu
OLD MAN WITH GUN
Schau dir dazu doch mal diesen Thread an (ob Stufen einer Rolltreppe oder Pakete ist dem Script ja egal)

Rolltreppe
Matrixpro
hi danke für den link aber schlau bin ich darus nicht geworden, weil bei der rolltreppe handelt es sich ja um nen "brush" bei mir geht es um ein xmodel... ich hatte schon mal auf meiner alten map nen panzer zum fahren gebracht aber ich weis auch nicht mehr wie..

es geht übrings um der xmodel

com_cardboardbox06

hym da muss es doch auch ne lösung geben. cu
Matrixpro
naja dachte das es mit nem misc_model geht, weil einmal lief es, dann habe ich die x,y sache richtig, und nun geht es nicht mehr kommt immer not entity, komisch weil vorher lief es ja auch... mit nem stück mauer geht es. cu
OLD MAN WITH GUN

Zitat:

Original von Matrixpro
naja dachte das es mit nem misc_model geht, weil einmal lief es, dann habe ich die x,y sache richtig, und nun geht es nicht mehr kommt immer not entity, komisch weil vorher lief es ja auch... mit nem stück mauer geht es. cu
Ein misc_model kann man nicht per Script bewegen, nur ein script_model (wie der Name schon sagt).
Dem Rolltreppenscript ist es übrigens vollkommen Wurscht, ob es ein script_model oder ein script_brush ist (gäbe es Rolltreppenstufen als xmodels, hätte man die in der Map genommen anstatt sich mit brushes selber welche zu bauen).
Matrixpro
hym ok, muss ich also nur rechtsklick scrip model und gut? cu

*edit*

also jetzt funzt es, nur jetzt wollen meine explo bezinfäßer und meine autos nicht mehr in die luft gehen, es kommt aber kein fehler, man kann drauf schießen aber es passiert nicht.
Oi!mel
Wie kommt es dass sich mein Objekt nur nach oben bewegt?

Code einblendenCode 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:
parcel()
{
parcel = getent ("parcel","targetname");

while(1)
{
parcel movez (912,5);
parcel waittill ("movedone");
wait 1;
parcel movez (928,1);
parcel waittill ("movedone");
wait 1;
parcel movez (912,1);
parcel waittill ("movedone");
wait 1;
parcel movez (1024,8);
parcel waittill ("movedone");
wait 2;
}
}


Zu Beginn ist das Objekt auf z 1024 positioniert
Danach müsste es sich doch nach unten bewegen, kurz wieder nach oben, dann kurz nach unten, und danach wieder komplett rauf. Tut es aber nicht, es bewegt sich nur nach oben.
Woran kann das liegen?
Danke
Nightwing
Ganz einfach: Mit der ersten Zahl legst Du die Wegstrecke fest, die zurückgelegt werden soll.
In Deinem Fall bewegt es sich also 912, 928, 912 und 1024 Einheiten in Richtung Z+
Für Dein Vorhaben solltest Du einfach z.B. eingeben: 20, -50, -20, 50

ToM
Oi!mel
Ach so einfach?. Danke dir =)
Oi!mel
Ich bin wohl für die einfachsten scripts zu blöde

Ich habe mehrere Objekte auf meiner Map die sich bewegen sollen.
Jetzt habe ich schon sehr viel ausprobiert dass ich mehrere zum laufen bekommen. Aber entweder bewegt sich keines, nur eines, oder alle nach der Reihe. Sie sollen sich jedoch alle gleichzeitig bewegen. Es handelt sich um 6 Objekte.

Wie müsste ich das Script verändern?

Danke
T.R.Graves
Wenn der trigger ausglöst wird bewegt sich nur ein Brush weil es im Script so definiert ist parcel waittill ("movedone");
Das heisst der zweite Brush warte so lange bis der erste die Bewegung beendet hat. Lösung Zeile löschen.
Ausserdem definiert wait 0.1 auch eine Pause.
Oi!mel
Danke
Oi!mel
Eiso ganz ohne parcel waittill ("movedone"); geht es bei mir nicht. Mein Script funktioniert zwar jetzt, aber frag mich nicht warum:

Code einblendenCode 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:
parcel()
{
parcel = getent ("parcel","targetname");
parcel1 = getent ("parcel1","targetname");
parcel2 = getent ("parcel2","targetname");
parcel3 = getent ("parcel3","targetname");
parcel4 = getent ("parcel4","targetname");
parcel5 = getent ("parcel5","targetname");
parcel6 = getent ("parcel6","targetname");


while(1)
{
parcel movex (-300,3);
parcel1 movex (300,3);
parcel2 movey (-300,3);
parcel3 movex (400,4);
parcel4 movey (300,3);
parcel5 movey (-300,3);
parcel6 movez (-800,6);
parcel waittill ("movedone");
parcel movex (300,3);
parcel1 movex (-300,3);
parcel2 movey (300,3);
parcel3 movex (-400,4);
parcel4 movey (-300,3);
parcel5 movey (300,3);
parcel6 movez (800,6);
parcel waittill ("movedone");

}
}

Oi!mel
hmm- das ein eine script das ich oben gezeigt habe funktioniert. Aber dieses hier nicht. Kann mir jemand erklären was ich falsch gemacht haben könnte? Danke
Das Script:

Code einblendenCode 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:
jumpmachine()
{
jm1 = getent ("jm1","targetname");
jm2 = getent ("jm2","targetname");
jm3 = getent ("jm3","targetname");
jm4 = getent ("jm4","targetname");
jm5 = getent ("jm5","targetname");
jm6 = getent ("jm6","targetname");

while(1)
{
jm1 movex (204,3);
jm2 movex (192,3);
jm3 movex (316,3);
jm4 movex (164,3);
jm5 movex (448,3);
jm6 movex (208,3);
jm1 waittill ("movedone");
jm1 movex (-204,3);
jm2 movex (-192,3);
jm3 movex (-316,3);
jm4 movex (-164,3);
jm5 movex (-448,3);
jm5 movex (-208,3);
jm1 waittill ("movedone");

}
}



Im Radiant sieht es so aus:


Aber leider Gottes bewgen sich jm5 und jm6 langsam aber sicher Richtung Osten:


Kann mir jemand helfen?
Oi!mel
Fehler gefunden

jm5 movex (-448,3);
jm5 movex (-208,3);

Da gehört eine 6 hin.