Hallihallo,
hier ist dann jetzt das gewünschte tut+beispielmap
sorry dass es etwas lnger gedauert hat aber mein pc hat gesponnen-> neuinstallation -.-
wie auch immer hier ist es:
Öffenbare Türen.
zuerst machen wir mal ne Tür, dazu ziehn wir einfach nen brush und packen ne Türen texture drauf(die seiten mit ner holztexture verzieren).
dann brauchen wir ne achse, also die "Schaniere" in der die tür sich nachher öffnen soll, dazu ziehn wir wieder einmacl einen brush der ungefähr 4x4x[höhe der tür] hat und packen die Texture "Origin" drauf(ist bei den tools-texturen zu finden).
jetzt markieren wir den origin und den türbrush, RMT in der 2d-Ansicht und dann script->brushmodel.
dann drücken wir bei markiertem brushmodel N und geben bei key "Targetname" und bei value "door"(der ist bfrei bestimmbar muss aber nachher in der gsc richtig angepasst werden)ein.
dann brauchen wir noch den auslöser, hierzu stehen uns mehrer varianten zur verfügung:
-trigger_use (tür mit "F" öffnen)
-trigger_use_touch (sollte eigentlich beim behrühren öffnen hat bei mir aber nicht gefuntzt, dafür habe ich den triger_radius genommen, ist zwar rund erfüllt aber seine arbeit genau so gut)
-trigger_radius(gleiche funktion wie use_toucj haben sollte)
-trigger_damage(tür öffnet sich bei drauf schiessen)
Nun kann man 2 trigger benutzen um die tür in beide richtungen zu öffnen, oder aber nur einen um die tür nur in eine richtung öffenbar zu machen.
Ihm/ihnen geben wir den "targetname" "door_trigger"(oder "door_trigger_left"und "door_trigger_right" wenn wir 2 benutzen)
dann gehts an's script:
in der mp_meinemap.gsc fügen wir folgendes bei
maps\mp\mp_meinemap_door::main();
(muss an den mapnamen angepasst werden)
dann erstellen wir eine neue gsc und nennen sie mp_meinemap_door.gsc
hierein kommt das eigentliche script:
-beispiel 1xtrigger:
main()
{
thread door();
}
door()
{
door = getent ("door","targetname");
doortrigger = getent ("doortrigger","targetname");//wir sagen dem script die namen der tür und des/der trigger
while (1) //begin der funktion
{
doortrigger waittill ("trigger");//wenn der trigger ausglöst wird...
door rotateyaw (90,2);//...dreht sich die tür um 90° in 2 sekunden
door waittill ("rotatedone");//trigger wartet bis die bewegung fertig ist
wait 5;//die tür bleibt 5 sekunden lang geöffnet
door rotateyaw (-90,2);//wir bewegen die tür wieder in die ausgangsposition zurück(-90°)
door waittill ("rotatedone");//trigger wartet bis die bewegung zu ende ist und ist danach wieder funktionstüchtig
}
}
-beispiel 2x trigger:
das mit den 2 triggern funtzt genau gleich wie mit einem nur dass wir ihm sagen dass, wenn der 1.trigger betätigt wird die tür zuerst nach rechts und dann nach links bewegt wird und bei dem 2. trigger in der umgekehrten reihenfolge.
So das war's dann auch schon, hoffe ich hab mich klar genug ausgedrückt, fall's nicht könnt ihr euch die testmap mal anschaun(auch wenn ihr alles kapiert habt schadets nicht

)
zum tut