Originally posted by Mr.Slurp@26.12.05, 01:14
Ihr immer mit euren scripten
Mach doch einfach ne "func_door" die über einen "trigger_once" aktiviert wird. Der trigger steht halt auf der Platform, läufst du drauf setzt sich das ganze in Bewegung. Wahrscheinlich wirst du das ganze mit "lip" optimieren müssen aber besser/einfacherer als scripten ist es imho alle mal.
Nachteil ist halt das deine Platform dann relativ flott wieder zurückkommt (tür schließt sich halt) was mit "wait" oder "locked" in den griff zu bekommen sein müsste. Näheres zu den entity befehlen im bezug auf türen findest du im Tür und Tor Tutorial.
:stolz:
ROFL omg
Das nenn ich wirklich mal ne SUPERNOOB Lösung, sorry, is aber wirklich so... Das scripten is da wirklich einfacher als ne halbe Stunde das mit nem func door zu machen und zu probieren...
Ich erkläre das mal kurz wie das mit einem script funktionieren würde
Ist ganz einfach
Der Brush der die plattform darstellen soll, den macht ihr zu einem func_mover
Dann geht in den Texteditor von windows und gebt z.b. das hier ein
void plattform()
{
while(true)
{
$func_mover_1.move(90, 120);
$func_mover_1.time(3);
$sys.wait(2);
$func_mover_1.move(180, 120);
$func_mover_1.time(3);
$sys.wait(2);
}
}
void main()
{
setup_objects();
}
Und das speichert ihr in euren maps ordner und zwar so: "MAPNAME.script"
dann markiert ihr den info_player_start und gebt Key:"call" Val: "plattform" ein, so wird das script sofort aufgerufen sobald die map gestartet ist.
So, jetzt zur erklärung der befehle im script:
void plattform = plattform ist der Name für den befehl den das script ausführen soll.
while(true) = mit while(true) wird das script nach dem letzten befehl wieder von vorne ausgeführt (sowas wird unter anderem "loop" genannt)
$func_mover_1.move(180, 120); = so, das $ zeichen sagt dem spiel welches entity jetzt verwendet werden soll, func_mover_1 ist das entity, move ist der befehl was dieses entity machen soll die erste zahl in der klammer "180"(das wäre im editor in der top view jetzt z.b. nach links) ist die richtung in der des entity fahren soll, die zweite zahl "120" ist wieviele units sich das entity bewegen soll.
$func_mover_1.time(2); = das ist die zeit wie lange der func_mover brauch von punkt a nach punkt b, des is immer in sekunden
$sys.wait(2); = mit dem befehl wartet das system nach dem letzten ausgeführten befehl (in unserem beispiel der func_mover_1.move) 2 sekunden und macht dann mit dem nächsten befehl weiter,
das letzte void main ist dazu da um fehler zu vermeiden, wenn man das nicht reinmacht (so wars zu mindest mal bei mir) fährt der func_mover z.b. in der ersten runde die er dreht innerhalb von 1 oder 2 sekunden durch und dann erst nach der angeordneten zeit die man im script eingegeben hat.
So, ich hoffe ihr könnt das verwenden bzw. ich hoffe dass das euch jetzt geholfen hat