|
|
Kiste öffnen |
|
Hey Leute!
Hoffe das ihr mir auch diesmal wieder so toll helfen könnt wie bisher!
Ich würde gerne wissen ob und wenn ja wie es möglich ist eine Kiste zu öffnen wenn man im Spiel F drückt.
Habe breits eine Kiste erstellt, diese ausgehölt und einen Deckel draufgesetzt..
Direkt vornweg: Ich bin absoluter Neuling was Scripte und ihren Einsatz angeht!
Eine kleine Erklärung zu allem wäre also super!
Danke schonmal im vorraus für eure tolle Hilfe hier im Forum! <3
|
|
|
|
|
|
Das Script funktioniert ja, nur soll sich das ganze in eine andere Richtung bewegen..
Soll halt nicht wie eine Tür seitlich gedreht werden sondern vorne angehoben und nach oben aufgeklappt werden.. :x
Das 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:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
|
main()
{
doortriggers = getentarray("doortrig","targetname");
for(i = 0; i < doortriggers.size; i++)
doortriggers[i] thread door_think();
}
door_think()
{
self.doormoving = false;
self.doorclosed = true;
self.doormodel = getent(self.target, "targetname");
while (1)
{
self waittill("trigger");
if(!self.doormoving)
self thread door_move();
}
}
door_move()
{
self.doormoving = true;
if(self.doorclosed)
{
self.doormodel rotateyaw(-90,1,0.5,0.5);
self.doormodel waittill("rotatedone");
self.doorclosed = false;
}
else
{
self.doormodel rotateyaw(90,1,0.5,0.5);
self.doormodel waittill("rotatedone");
self.doorclosed = true;
}
self.doormoving = false;
}
|
|
|
|
|
|
|
|
Genau da liegt ja das Problem, ich versteh nicht so ganz wie genau das ganze auszusehen hat. Ich mein klar, den Befehl auswechseln ist kein Problem, aber dazu müssen dann ja auch noch Angaben wie sich das ganze bewegen soll.. :x
|
|
|
|
|
|
rotateRoll war das richtige! <3
Musste zwar noch 90 zu -90 ändern und -90 zu 90 weil sie sonst falschrum aufging..
Achja und mein Schanier war wohl an der falschen Stelle, Kiste hat sich immer mittig aufgedreht aber habs jetzt alles hinbekommen.. Vielen Danke!
/edit:
Ok, eine Kleinigkeit gibt es da aber dann doch die ich gerne ändern würde..
Ich habe jetzt in die Kiste eine Waffe gelegt welche man aufheben kann. Wenn die Kiste zu ist kommt man nicht an die Waffe und das ist auch gut so!
Nun liegt der Trigger in welchem man sich befinden muss um die Kiste zu öffnen natürlich vor der Kiste wo man im normalfall auch steht. Solange man sich im Trigger befindet ist man aber nicht dazu in der Lage die Waffe zu nehmen Weil man sonst die Kiste direkt wieder schließt. Gibt es vielleicht eine Möglichkeit den Trigger mit welchem man die Kiste öffnet für eine bestimmte Zeit verschwinden zu lassen und zusätzlich die Kiste von alleine wieder schließen zu lassen? Also z.B. so das man sich vor die Kiste stellt, sie öffnet, der Trigger verschwindet und man hat 10sec. Zeit sich die Waffe zu nehmen. Danach schließt sich die Kiste wieder von alleine und der Trigger ist wieder vorhanden womit man die Kiste erneut öffnen kann.
Das aktuelle 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:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
|
main()
{
doortriggers = getentarray("doortrig","targetname");
for(i = 0; i < doortriggers.size; i++)
doortriggers[i] thread door_think();
}
door_think()
{
self.doormoving = false;
self.doorclosed = true;
self.doormodel = getent(self.target, "targetname");
while (1)
{
self waittill("trigger");
if(!self.doormoving)
self thread door_move();
}
}
door_move()
{
self.doormoving = true;
if(self.doorclosed)
{
self.doormodel rotateRoll(90,1,0.5,0.5);
self.doormodel waittill("rotatedone");
self.doorclosed = false;
}
else
{
self.doormodel rotateRoll(-90,1,0.5,0.5);
self.doormodel waittill("rotatedone");
self.doorclosed = true;
}
self.doormoving = false;
}
|
|
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von DjTranceFire: 01.03.2012 19:48.
|
|
|
|
|
serthy
Codemeister
Dabei seit: 29.07.2010
Beiträge: 628
|
|
door_move()
{
self.doormoving = true;
if(self.doorclosed)
{
self.doormodel rotateRoll(90,1,0.5,0.5);
self.doormodel waittill("rotatedone");
self.doorclosed = false;
}
else
{
self.doormodel rotateRoll(-90,1,0.5,0.5);
self.doormodel waittill("rotatedone");
self.doorclosed = true;
}
self.doormoving = false;
self.origin += (0,0,-10000);
wait 5;
self.origin += (0,0,10000);
}
|
|
|
|
|
|
Danke, klappt prima!
Nur noch eine letzte Frage zu dem Thema..
Hab es jetzt noch nicht ausprobiert da ich grade erstmal alles austeste und sammel bevor ich mich an die hauptmap setze, deshalb frage ich jetzt hier schonmal direkt..
Kann ich jetzt auch mehrere Kisten mit dem Script erstellen oder muss ich dafür das Script mehrfach vorhanden haben und etwas darin ändern?
Wenn ich das richtig sehe müsste das ja funktionieren da der Trigger durch welchen man das ganze aktiviert ja mit dem Brushmodel verbunden ist.
|
|
|
|
|
|
Habe jetzt 4 Kisten in der Map und es klappt wunderbar!
Musste allerdings das Script doppelt einfügen und jeweils wieder die 90 und -90 ändern da wenn ich die Kiste gedreht habe sich der Deckel wieder nach unten geöffnet hat..
Danke für die tolle Hilfe hier!
|
|
|
|
|
|
|
|
Impressum ||Datenschutzerklärung
|