Kiste öffnen

DjTranceFire
Hey Leute! smile
Hoffe das ihr mir auch diesmal wieder so toll helfen könnt wie bisher! Zunge raus
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! grosses Grinsen
Eine kleine Erklärung zu allem wäre also super! Augenzwinkern
Danke schonmal im vorraus für eure tolle Hilfe hier im Forum! <3
Jeremin
einfach:
[Tutorial] Öffnende Tür erstellen *

fortgeschritten:
[Tutorial] Tür öffnen mit Sound & Adminfunktion

schau sonst mal die tuts durch, dort werden vermutlich auch sonst viele deiner fragen beantwortet Augenzwinkern

gruss
jeremin
DjTranceFire
Irgendwie bin ich zu blöd für das ganze hab ich das Gefühl.. :D
Habe das Tutorial auf meine Kiste angewendet aber es tut sich absolut nichts.
Zwar gibt es keine Fehlermeldung aber wenn ich F drücke passiert einfach nichts.
Habe dann um zu sehen ob sich überhaupt irgendetwas verändert den Hintstring eingebaut.
Wieder nichts! Nichtmal der wird angezeigt! o.O Die Kiste steht einfach leblos im Raum und egal was man macht nichts funktioniert.
Habe auch versucht den Trigger zu vergrößern nicht das es daran liegt das er zu klein ist.
Aber solange der hintstrint nicht angezeigt wird, klappt alles andere natürlich auch nicht weils ja der selbe Trigger ist.. :x
Wo könnte das Problem liegen? Es scheint als wäre der Trigger in der Map gar nicht vorhanden!? :(


/edit:
Ok, nachdem mich die Tools eins nach dem anderem nun alle mehrfach verarscht haben und ein Problem nach dem anderem verursacht haben (angefangen damit das nichts gespeichert wurde), welches nach der Behebung direkt vom nächsten Problem abgelößt wurde, klappt das ganze nun doch.. Ein Problem gibt es dann aber leider welches ich selbst absolut nicht behoben bekomme da ich das System des Scripts nicht ganz verstehe.

So sieht das ganze im Normalzustand aus:
http://s7.directupload.net/images/120301/bqs287lt.jpg

So sieht es aus wenn man den Trigger benutzt hat:
http://s7.directupload.net/images/120301/e3lg98yl.jpg

Und so sollte das ganze eigentlich aussehen:
http://s1.directupload.net/images/120301/bdry5cme.jpg

Weiß vllt einer was genau ich im Script ändern muss damit sich das ganze so bewegt? :x

BTW: Wie macht man denn hier im Board nen Spoiler? o.O
Wollte die Bilder eigentlich in nen Spoiler werfen aber weils nicht ging und ich nicht mit irgendwelchen Bildern den Thread sprengen wollte hab ich sie mal als Link eingefügt! :P

/edit2:
Falls sich tatsächlich jemand Mühe und Zeit darin stecken sollte mir das ganze so zu machen das es auf die Kiste anwendbar ist, fehlt natürlich noch das wichtigste.. :D

XY Top:
http://s7.directupload.net/images/120301/ubbxkcek.jpg

XZ Front:
http://s7.directupload.net/images/120301/htknap3f.jpg

YZ Side:
http://s1.directupload.net/images/120301/eeq7arrs.jpg


Danke! <3
serthy
damit das geht musst du 2 dinge beachten:
1. muss das im radiant richtig sein (hast du ein origin brush gemacht als 'scharnier'?)
2. das script muss stimmen, poste es mal hier

ohne das kann ich nicht viel sagen, aber wahrscheinlich hast du i-wo stehen 'rotateRoll rotatePitch rotateYaw' im script, spiel mit den 3 funktionen rum, das sind die achsen um was sich dein deckel rotiert
DjTranceFire
Das Script funktioniert ja, nur soll sich das ganze in eine andere Richtung bewegen.. grosses Grinsen
Soll halt nicht wie eine Tür seitlich gedreht werden sondern vorne angehoben und nach oben aufgeklappt werden.. :x

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:
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;
}

serthy
naja ^^ ersetze doch mal das rotateyaw durch rotateroll oder rotatepitch und schau was passiert
DjTranceFire
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
serthy
was für angaben?
pitch > x-achse
yaw > y-achse
roll > z-achse
alle 3 haben die selben parameter:
rotateYaw( angles , time )
rotatePitch( angles , time )
rotateRoll( angles , time )

wo ist jetzt genau dein problem dabei?

rotateYaw dreht falsch, also wird es wohl rotateRoll oder rotatePitch sein
DjTranceFire
rotateRoll war das richtige! <3
Musste zwar noch 90 zu -90 ändern und -90 zu 90 weil sie sonst falschrum aufging.. grosses Grinsen
Achja und mein Schanier war wohl an der falschen Stelle, Kiste hat sich immer mittig aufgedreht aber habs jetzt alles hinbekommen.. Vielen Danke! smile


/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! smile
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 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:
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;
}


serthy
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);

}
DjTranceFire
Danke, klappt prima! smile
Nur noch eine letzte Frage zu dem Thema.. grosses Grinsen
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.. grosses Grinsen
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.
serthy
es sollte ohne probleme gehen dass du die kiste kopieren kannst und neu einfügen (sooft du willst)
DjTranceFire
Habe jetzt 4 Kisten in der Map und es klappt wunderbar! smile
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.. grosses Grinsen
Danke für die tolle Hilfe hier! smile
serthy
super das alles klappt