Fahrstuhlproblem

jump4life
Hi,

ich habe mal wieder ein Problem. Und zwar möchte ich einen Fahrstuhl in meine Map einbauen welcher auf Knopfdruck nach unten fährt.Das Script habe ich auf einer anderen Seite gefunden. Es sieht folgendermaßen aus.

Fahrstuhl fährt runter:

Zitat:

main()
{
thread elevator();
}

elevator()
{
elevator=getent("elevator","targetname");
trig=getent("trig_elevator","targetname");
while(1)
{
trig waittill ("trigger");
elevator movez (250,7,1.9,1.9);
elevator waittill ("movedone");
wait(1);
elevator movez (-250,7,1.9,5);
elevator waittill ("movedone");
}
}


Fahrstuhl fährt hoch:

Zitat:

main()
{
thread elevator();
}

elevator()
{
elevator=getent("elevator","targetname");
trig=getent("trig_elevator","targetname");
while(1)
{
trig waittill ("trigger");
elevator movez (-250,7,1.9,1.9);
elevator waittill ("movedone");
wait(1);
elevator movez (250,7,1.9,5);
elevator waittill ("movedone");
}
}



Ich habe den Fahrstuhl bereits mit Brushes gezogen und alles vorbereitet mit script - Brushmodel. Der Trigger (schalter) ist auch fertig.

Jetzt machen mich allerdings diese Zeilen im Script stutzig da ich mir sicher bin das ich die Zahlen dort ändern muss damit der Fahrstuhl weiss bis wohin er fahren soll.

Zitat:

elevator movez (250,7,1.9,1.9);


Zitat:

elevator movez (-250,7,1.9,5);


Meine Frage ist: Wo sehe ich die Zahlen die ich dort eingeben muss?

Evtl. ist ja auch wichtig das mein Fahrstuhl aus mehreren Brushes besteht. Hier mal ein screenshot



EDIT:Hat sich erledigt smile . Durch rumspielen am Script hab ich es noch hin bekommen.
DoFi97
Ich weiß net wie man einen aufzug in einer map baut radiant und so hab ich ja alles aber wie geht das?
jump4life
1.) Erstell deinen Fahrstuhl wie du ihn willst. Wenn du das hast selektiere alle Brushes die dein Fahrstuhl ergeben und geh in die 2D ansicht und klick mit rechts "Script -> Brushmodel" und mach dann den Entity Editor auf (N). Gib bei Key "targetnake" ein und bei Value "elevator" und drück dann Enter.

2.) Erstell in der Nähe deines Fahrstuhl´s einen Brush (Schalter oder Knopf) der den Fahrstuhl zum laufen bring soll. Dann erstellst du einen zweiten Brush der deinen gerade erstellten Schalter umschliest und klickst mit der rechten Maustaste in das 2D Fenster "Trigger -> Use_Touch" (Use_Touch ist nur ein Beispiel Augenzwinkern Use_Touch bedeutet das du die Benutzentaste drüken musst bevor der Fahrstuhl sich bewegt).

3.) Dann selektierst du denn soeben erstellten Trigger und öffnest erneut den Etity Editor (N) und gibst bei Key "targetname" ein und bei Value "trig_elevator" und drückst wieder Enter.

Im Radianten war´s das soweit.

Jetzt erstellt du eine neue .gsc Datei mit dem Namen "mp_elevator.gsc" und dort fügst du folgendes ein.

Zitat:


main()
{
thread elevator();
}

elevator()
{
elevator=getent("elevator","targetname");
trig=getent("trig_elevator","targetname");
while(1)
{
trig waittill ("trigger");
elevator movez (-250,7,1.9,1.9);
elevator waittill ("movedone");
wait(1);
elevator movez (250,7,1.9,5);
elevator waittill ("movedone");
}
}


Folgende Zeilen musst du anpassen damit der Fahrstuhl weiss wie weit er fahren soll

Zitat:

elevator movez (-250,7,1.9,1.9);


Hier passt du die -250 an (das - bedeutet das der Fahrstuhl erst runter fährt. Lässt du das - weg fährt er hoch)

Zitat:

elevator movez (250,7,1.9,5);


Hier passt du ebenfalls die 250 an jeh nachdem wie weit dein Fahstuhl fahren soll.


Ich hoffe ich habe es deutlich genug geschrieben Augenzwinkern . Wenn nicht frag einfach erneut.
maxim1110555
Hey danke es hat geklappt. Der aufzug geht aber wie muss ich die gsc dateinen machen, wenn ich z.B. zwei habe?
Bitte antworte
Badboy
einfach

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:
main() 
{ 
thread elevator();
thread elevator2();
}  

elevator() { 
elevator=getent("elevator","targetname");
trig=getent("trig_elevator","targetname"); 
while(1) 
{ trig waittill ("trigger"); 
elevator movez (-250,7,1.9,1.9); 
elevator waittill ("movedone"); 
wait(1); 
elevator movez (250,7,1.9,5); 
elevator waittill ("movedone"); 
}
}

elevator2() { 
elevator=getent("elevator2","targetname");
trig=getent("trig_elevator2","targetname"); 
while(1) 
{ trig waittill ("trigger"); 
elevator movez (-250,7,1.9,1.9); 
elevator waittill ("movedone"); 
wait(1); 
elevator movez (250,7,1.9,5); 
elevator waittill ("movedone"); 
}
}



und halt den targetname vom 2. fahrstuhl in
key targetname
value elevator2

und von dem trigger genauso
key targetname
value trig_elevator2
maxim1110555
achsoo vielen vielen vielen.... dank
jump4life
Hey Badboy,
wenn ich das jetzt richtig verstehe kann ich so gesehen alle Scripte die ich in einer Map benutze durch folgende Zeile in eine .gsc packen

Zitat:

thread elevator();


Das elevator muss man halt abändern.

Ist das richtig?
Badboy
hmm ich denke schon wenn ich dich jetzt richtig verstehe

musst halt blos immer den namen der Funktion ändern und das script anpassen
jump4life
Ich habe mal wieder ein erneutes Problem. Und zwar würde ich gerne ein Detailreichen Fahrstuhl bauen der so funktioniert wie ein echter.

Drausen befindet sich der Knopf um ihn zu öffnen. Innen befindet sich der Knopf um den Fahrstuhl zu benutzen. Wenn der Fahrstuhl in benutzung ist und eine andere Person den Knopf zum öffnen drückt soll die Tür nicht aufgehen. Erst wenn der Fahrstuhl wieder in Position ist soll er aufgehen. Halt ein üblicher Fahrstuhl. ist soetwas möglich Wenn ja gibt es dazu ein Tutorial oder kann mir jmd. erklären wie da geht?

Gruß J4L