Wishmaster
Habe leider noch ein problemAlso mein Rolltor geht super und wollte das jetzt mit einem Fahrstuhl machen,aber irgendwie klapt das nicht..
Habe die Daten verändert aber es passiert nichts.Kann mir einer helfen.Brauche ein Fahrstuhl der nur ohne drücken von [Use],rauf und runter fährt!!!
volgenes habe ich benutz:::
Rolltor:
main()
{
door3 = getent ("d3", "targetname");
trigger3 = getent ("d3t", "targetname");
while (1)
{
wait(2.5);
door3 movez (96, 2.5, 0, 0.5);
door3 waittill ("movedone");
wait (2.5);
door3 movez (-96, 2.5, 0, 0.5);
door3 waittill ("movedone");
}
}
Fahrstuhl::
main()
{
door2 = getent ("d31", "targetname");
trigger2 = getent ("d32", "targetname");
while (1)
{
wait(3.5);
door2 movez (494, 5.5, 0, 0.5);
door2 waittill ("movedone");
wait (3.5);
door2 movez (-494, 5.5, 0, 0.5);
door2 waittill ("movedone");
}
}
Habe ich da irgendwas falsch gemacht,das er den 2. nicht erkennt????
Bitte dringend um hilfe. Danke......
DA-VINCI
Tach auch ,oder auch moin
habe davon leider auch nicht wirklich ahnung ...aber habe auch mal nen aufzug gemacht allerdings mit 2 trigger use villeicht kannst ja was mit dem script anfangen wenn du es etwas abänderst ....
gruss
Script:
main()
{
level.fs_moving = false;
level.fs_et1 = true;
level.fs_et3 = false;
thread fs1();
thread fs4();
}
fs1()
{
fs = getent ("elevatormodel","targetname");
fs_trig1 = getent ("elevatorswitch_ground","targetname");
while (1)
{
fs_trig1 waittill ("trigger");
if (level.fs_moving == true)
{
thread fs1();
return;
}
else if (level.fs_moving == false)
{
if (level.fs_et1 == true)
{
level.fs_moving = true;
fs movez (352, 1.5);
fs waittill ("movedone");
level.fs_et1 = false;
level.fs_et3 = true;
level.fs_moving = false;
thread fs1();
return;
}
else if (level.fs_et3 == true)
{
level.fs_moving = true;
fs movez (-352, 1.5);
fs waittill ("movedone");
level.fs_et1 = true;
level.fs_et3 = false;
level.fs_moving = false;
thread fs1();
return;
}
}
}
}
fs4()
{
fs = getent ("elevatormodel","targetname");
fs_trig4 = getent ("elevatorswitch_top","targetname");
while (1)
{
fs_trig4 waittill ("trigger");
if (level.fs_moving == true)
{
thread fs4();
return;
}
else if (level.fs_moving == false)
{
if (level.fs_et1 == true)
{
level.fs_moving = true;
fs movez (352, 1.5);
fs waittill ("movedone");
level.fs_et3 = true;
level.fs_et1 = false;
level.fs_moving = false;
thread fs4();
return;
}
else if (level.fs_et3 == true)
{
level.fs_moving = true;
fs movez (-352, 1.5);
fs waittill ("movedone");
level.fs_et1 = true;
level.fs_et3 = false;
level.fs_moving = false;
thread fs4();
return;
}
}
}
}
musst mal schauen ob du dir da das passende raussuchen kannst .Ist glaube ich mal für mehrere Aufzüge geschrieben wurden ... ist auch nicht von mir ,habe es hier irgendwo mal gelesen ....
somit auch Gruß an den Verfasser des Scriptes
Wishmaster
Danke für deine Antwort.
Aber leider ist das nicht,was ich suche..
Fahrstuhl mit 6 triggern habe ich bereits,aber ich brauche einen der ganz ohne trigger auskommt.Also einfach nur hoch und runter fährt..
Leviathan@CJhelper
zeig mal bitte deine gsc, so wie das aussieht hast du beide while-Schleifen hintereinander in der Mainfunktion hast -.-?
also bitte mal komplette gsc posten
Wishmaster
hir meine GSC datei...
main() {
maps\mp\_load::main();
maps\mp\mp_parkhaus_aufzug::main();
maps\mp\mp_parkhaus_aufzug1::main();
maps\mp\mp_parkhaus_rolltor::main();
maps\mp\mp_parkhaus_planes::main();
}
und die flugzeuge gehen auch nicht.lol
Wishmaster
und hir die gsc vom fahrstuhl.weis ja nicht ob das so geht.lol
main()
{
door3 = getent ("fahrstuhl1", "targetname");
trigger3 = getent ("fahrstuhl1t", "targetname");
while (1)
{
wait(2.5);
door3 movez (496, 2.5, 0, 0.5);
door3 waittill ("movedone");
wait (2.5);
door3 movez (-496, 2.5, 0, 0.5);
door3 waittill ("movedone");
}
}
{LSB} Squall69
Da du keinen Trigger haben willst brauchst du auch keinen trigger im Script
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:
|
main()
{
//find the elevater
Fahrstuhl = getent ("fahrstuhl1", "targetname");
Fahrstuhl thread ElevaterMoveWOTrig();
}
ElevaterMoveWOTrig()
{
self movez (496, 2.5, 0, 0.5);
self waittill ("movedone");
wait (2.5);
self movez (-496, 2.5, 0, 0.5);
self waittill ("movedone");
wait (2.5);
self thread ElevaterMoveWOTrig();
}
|
|
Edit: So der Strichpunkt ist jetzt da

Tom das hast wohl shon des Öfteren gesehen
Wishmaster
bekomme leider bei dem script folgene fehlermeldung:::
bad syntax: (file 'maps/mp/rolltor1.gsc', line 21)
}
Was kann das sein??????
meine gsc sieht so aus:
main() {
maps\mp\_load::main();
maps\mp\rolltor1::main();
}
und die gsc heist auch rolltor1.gsc und habe dein script eingefügt!!
Nightwing
Lach, den Fehler kenn ich
In Zeile 20 fehlt ein Strichpunkt, habs rot markiert:
self thread ElevaterMoveWOTrig()
;
ToM
Wishmaster
cool danke für die Antwort
Wishmaster
lol
Also bei mir ist derPunkt drenn!Und ich bekomme immer noch die selbe fehlermeldung!
Woran kann es liegen???Bin überfragt..
Bitte helft mir.:-)
{LSB} Squall69
Sei nicht immer so geizig mit deinen Infos, ist echt schwer dir so zu sagen was nicht stimmt.
Anhand deines letzten Post kann ich nur eins sagen.
Strichpunkt ; und nicht Punkt .
Wishmaster
self thread ElevaterMoveWOTrig();
das hast du mir doch geschrieben und er zeigt mir die als fehler an und es ist doch hinten ; drann und nicht punkt!!!lol
{LSB} Squall69
Original von {LSB} Squall69
Sei nicht immer so geizig mit deinen Infos, ist echt schwer dir so zu sagen was nicht stimmt.
Anhand deines letzten Post kann ich nur eins sagen.
Ja diese Zeile stimmt jetzt.
Wenn du keine Infos bereitstellst kann dir niemand sagen was falsch ist.
Das Forum geht sicher nicht down wenn du mehr in ein Post packst.
Wishmaster
bekomme immer fehlermeldung line 21 angblich in der fahrstuhl.gsc und die sieht so aus wenn ich nachschaue:
bad syntax: (file 'maps/mp/rolltor1.gsc', line 21)
}
und das:
self thread ElevaterMoveWOTrig();
}
als fehlermeldung.ich weis nicht mehr weiter wo jetzt noch der fehler liegen soll
wgs./w@Lly
Original von Wishmaster
bad syntax: (file 'maps/mp/rolltor1.gsc', line 21)
}
und das:
self thread ElevaterMoveWOTrig();
}
So als absoluter Scriptlaie aber der englischen Sprache etwas mächtig:
Müsste es nicht heissen:
self thread Elevat
orMoveWOTrig();
Oder ist das nicht wichtig?
OLD MAN WITH GUN
Original von wgs./w@Lly
So als absoluter Scriptlaie aber der englischen Sprache etwas mächtig:
Müsste es nicht heissen:
self thread Elevat
orMoveWOTrig();
Oder ist das nicht wichtig?
Jein!
Von der Rechtschreibung her hast du recht, aber da er den thread mit ElevaterMoveWOTrig(); aufruft und der Thread auch ElevaterMoveWOTrig(); heißt, stimmt es wieder (der Name spielt keine Rolle, er muss nur übereinstimmen)
@Wishmaster:
Ändere den Script mal folgendermaßen (Endlosschleife anstatt rekursivem Aufruf)
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:
|
main()
{
//find the elevater
Fahrstuhl = getent ("fahrstuhl1", "targetname");
Fahrstuhl thread ElevatorMoveWOTrig();
}
ElevatorMoveWOTrig()
{
while(1)
{
self movez (496, 2.5, 0, 0.5);
self waittill ("movedone");
wait (2.5);
self movez (-496, 2.5, 0, 0.5);
self waittill ("movedone");
wait (2.5);
}
} |
|
Ich habe im Script auch das Elevater in Elevator geändert
Wishmaster
100%. Klapt super mit der GSC-Datei.Danke noch mal.......
Wishmaster
so muß leider noch mal stöhren.lol.............
Also der fahrstuhl geht so.Jetzt mein anderes problem.Habe ein Rolltor,und 2 fahrstühle drenn aber irgendwie will nur 1. immer nur gehen zusammen gehen die 3 sachen nicht???
Woran kann es liegen???
Hir meine Map-GSC
main() {
maps\mp\_load::main();
maps\mp\rolltor::main();
maps\mp\fahrstuhl1::main();
maps\mp\fahrstuhl5::main();
}
und hir die vom Rolltor:
main()
{
door3 = getent ("d3", "targetname");
trigger3 = getent ("d3t", "targetname");
while (1)
{
wait(2.5);
door3 movez (96, 2.5, 0, 0.5);
door3 waittill ("movedone");
wait (2.5);
door3 movez (-96, 2.5, 0, 0.5);
door3 waittill ("movedone");
}
}
und hir die 2 fahrstühle,nur der targetname habe ich verändert!!:
main()
{
//find the elevater
Fahrstuhl = getent ("fahrstuhl1", "targetname");
Fahrstuhl thread ElevatorMoveWOTrig();
}
ElevatorMoveWOTrig()
{
while(1)
{
self movez (496, 2.5, 0, 0.5);
self waittill ("movedone");
wait (2.5);
self movez (-496, 2.5, 0, 0.5);
self waittill ("movedone");
wait (2.5);
}
}
muß ich die sachen in einer GSC alles packen das die alle miteinander laufen?????
Verstehe das nicht so recht!
OLD MAN WITH GUN
Ändere das mal so in deine map gsc Datei
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
main() {
maps\mp\_load::main();
thread maps\mp\rolltor::main();
thread maps\mp\fahrstuhl1::main();
thread maps\mp\fahrstuhl5::main();
}
|
|
Ohne das
thread werden die Routinen nicht als eigenständige Threads gestartet (die gleichzeitig laufen) sondern als Unterroutine (von der nornmalerweise in die Routine zurückgesprungen wird, von wo sie aus aufgerufen wurde). Da in der ersten schon eine Endlosschleife ist, wird die Zweite und die folgenden natürlich nicht mehr gestartet.