Zordiac
Hi Leute,
ich habe da mal ´ne Frage. Hat einer von Euch ein Script mit dem ich Türen öffnen kann?
Ich habe eine Schiebetür incl. Origin-Brush gemacht (Script_Brushmodel)
Targetname: Schiebetuer1
einen Trigger_Use
Targetname: Switch1
Jetzt benötige ich noch ein script für die .gsc
evtl mit Sound.
Private Grob, hast Du nicht noch das Fahrstuhlscript COD-UO von LD.de?
Die Seite ist ja zur Zeit nicht on.
K4nonenfutter
Ich habe in meiner Map ne Schiebetür, die nach oben aufgeht. Die Tür heißt d3, der Trigger d3t und der Origin d3o.
door3()
{
sound_d3 = getent ("d3o", "targetname");
door3 = getent ("d3", "targetname");
trigger3 = getent ("d3t", "targetname");
while (1)
{
trigger3 waittill ("trigger");
door3 movez (78, 1.5, 0, 0.5);
sound_d3 playsound ("door_3");
door3 waittill ("movedone");
wait (2.5);
door3 movez (-78, 1, 0, 0.5);
door3 waittill ("movedone");
}
}
Private Grob
Hallo Zordiac,
hier das Fahrstuhlscript:
// Original by LordBlank
// Modified by Sgt. Skywalker and Private Grob
main() {
level.elevatorDown = true; // elevator starts at bottom: true/false
level.elevatorMoving = false; // elevator is not currently moving
thread elevator_start();
}
elevator_start() {
elevator = getentarray ("elevatorswitch","targetname");
if ( isdefined(elevator) )
for (i = 0; i < elevator.size; i++)
elevator[i] thread elevator_think();
}
elevator_think() {
while (1) {
self waittill ("trigger");
if (!level.elevatorMoving)
thread elevator_move();
}
}
elevator_move() {
elevatormodel = getent ("elevatormodel", "targetname");
level.elevatorMoving = true;
speed = 3;
height = -320;
if (level.elevatorDown) { // moves to top
wait (1);
elevatormodel playsound ("elevator1");
elevatormodel moveZ (height, speed);
elevatormodel waittill ("movedone");
level.elevatorDown = false;
}
else { // moves to bottom
wait (1);
elevatormodel playsound ("elevator1");
elevatormodel moveZ (height - (height * 2), speed);
elevatormodel waittill ("movedone");
level.elevatorDown = true;
}
level.elevatorMoving = false;
}
Grüße
Private Grob
(Micka)
Zordiac
Danke für die schnellen Antworten.
Ich werde die scipts gleich mal für meine Bedürfnisse umschreiben.
Schiebetür()
{
Tuersound = getent ("Schiebetuer", "targetname");
Schiebetuer = getent ("Schiebetuer", "targetname");
Switch = getent ("Switch", "targetname");
while (1)
{
Switch waittill ("trigger");
Schiebetuer movex (640, 4, 0, 0.5);
Tuersound playsound ("barn_door_open");
Schiebetuer waittill ("movedone");
wait (5);
Schiebetuer movex (-640, 4, 0, 0.5);
Tuersound playsound ("barn_door_open");
Schiebetuer waittill ("movedone");
}
self thread schiebetuer
return;
}
@K4noenfutter
Wieso hast Du denn den Sound extra auf ein Origin gelegt?
Wenn du ihn auf die Schiebetür legst wie ich oben beschrieben, dann wandert der Sound mit.
Den Sound habe ich noch von COD-UO importiert.
funzt Super. danke für die Anregungen.
@Grob der Fahrstuhl funzt ohne Probs. alles in Ordnung
Private Grob
Original von Zordiac
@Grob der Fahrstuhl funzt ohne Probs. alles in Ordnung
Na wunderbar, dann mal viel Spaß beim rumbasteln.
Ich liebe dieses Script, es ist soviel damit zu realisieren .........
Wie z.B. meine startende V2 damals auf Alpenrod_UO und Amberg_UO. Das war auch nichts anderes als das Fahrstuhlscript, ausgeschmückt mit weiteren Sounds und Effekten.
Grüße
Private Grob
(Micka)
K4nonenfutter
Original von Zordiac
Wieso hast Du denn den Sound extra auf ein Origin gelegt?
Wenn du ihn auf die Schiebetür legst wie ich oben beschrieben, dann wandert der Sound mit.
Das Script ist ursprünglich von CoDUO, da hatte ich immer Probleme, wenn ich Sounds von einem normalen Brushmodel abspielen wollte, und hab deshalb immer extra einen Origin gemacht. Deshalb hab ichs auch bei CoD2 so gemacht, und nach dem Motto "never change a running system" hab ich so gelassen.
langer79
Hallo Leutz vielleicht kann mir hier einer helfen.
Habe mittlerweile auch ein paar Türen in meiner Map die ich öffnen und schließen kann.
Habe nur ein Problem mit meiner Wintergartentür die ich schiebend öffnen will. Irgendwas funzt hier nicht. Habe zb auch ein Garagentor das ich wärend des rotierends in x Richtung bewege das funktioniert einwandfrei aber die einfache move Bewegung für meine Schiebetür nicht.
Kann eine Tür wie in diesem Fall aus mehrern Brushes bestehen?
(Rahmenteile und Glass)
Oder muss ich die Brushes irgendwie gruppieren?
Wo muss denn der Originbrush hin bei so einer Tür?
Script:
main()
{
thread door_s();
}
door_s()
{
door_s = getent ("door_s","targetname");
door_garage_trigger = getent ("door_s_trigger","targetname");
while (1)
{
door_s_trigger waittill ("trigger");
door_s movey (60, 1.5, 0, 0.5);
door_s waittill ("movedone");
{
door_s_trigger waittill ("trigger");
door_s movey (-60, 1.5, 0, 0.5);
door_s waittill ("movedone");
}
}
self thread door_s();
return;
}
Wäre für Hilfe sehr dankbar.
Gruß Langer
Private Grob
Original von langer79
Kann eine Tür wie in diesem Fall aus mehrern Brushes bestehen?
(Rahmenteile und Glass)
Oder muss ich die Brushes irgendwie gruppieren?
Wo muss denn der Originbrush hin bei so einer Tür?
Eine Tür, die aus mehreren Brushes ist kein Problem. Es können ohne Probleme viele Brushes sein. Was du nicht machen darfst ist ein Mix aus Brushes und Xmodel. Die Brushes müssen zu einem Script Brushmodel zusammengefaßt werden. Verwendest du ein Origin muß das ebenfalls mit zum Brushmodel zusammengefaßt werden.
Dein Script schaue ich mir heute Abend mal in Ruhe an.
Grüße
Private Grob
(Micka)
langer79
Danke erstmal für die Antwort....
Ok dann mach ich das ja mal grundsätzlich richtig. Werde auch noch mal weiter testen.
@private
Das wäre nett wenn du dir das mal anschauen könntest.
Wie ist das aber dann mit der zb Stuka(XModel) muss du da kein origin drauf legen?
Wollte eigentlich noch als Gag ein per Trigger fahrendes Auto machen….hätte dies eigentlich auch mit xmodel einfügen Originbrush drauf Namen vergeben und script anpassen oder bin ich da falsch?
Gruß Langer
Zordiac
Hi,
Du brauchst kein Origin auf das Model legen.
Nimm ein script_model, dann kannst Du es einfach über Dein Script bewegen.
langer79
Ich sag mal danke werde ich gleich heute abend probieren....
langer79
Morgen....
Habe gestern mit der Schiebetür nochmal probiert aber irgendwie geht das nicht. Ich denke ich mach schon ein Fehler vor dem Script. Hatte gestern das Schiebetürscript einfach gegen ein funktionierendes door script von mir ausgewechselt und targetname/trigger angepasst. Dann habe ich einfach die Tür nochmal neu erstellt und zwar einfach meine Rahmen(einzelne brushes) und glass textur gegen eine ausgewechselt und diese nochmal mit einer origin textur belegt allles wie gehabt funzt nicht. An was könnte das liegen die anderen Türen gehen ja auch gibt es noch ein paar Dinge auf die ich achten muss?
Das mit dem bewegbaren Fahrzeug(xmodel) kommt mir etwas schwer vor oder gibt es da eine gute Anleitung. Wollte einfach einen jeep in x richtung und ein wenig in y richtung bewegen mit einem trigger.
Gruß Langer
Zordiac
Mit dem fahrenden xmodel, ist auch nicht schwerer als die Schiebetür.
Du benutzt ein script_model, also kein misc_model, gibst ihm ein targetname.
Jetzt nurnoch das Script anpassen und fertig.
langer79
Ok aber die Schiebetür bekomme ich ja irgendwie nicht hin...werd noch wahnsinnig das mit den script_model kapier ich schon weil ich auch ein paar sounds auf manche gelegt habe. werde ich mal testen vielleicht bekomm ich das vehicle mal zum rollen....
merci mal
Zordiac
Hast Du die einzelnen Brushes der Schiebetür incl. Origin als script_brushmodel zusammengefasst?
Wird die Tür von irgendetwas blockiert? Von ´nem anderen Brush oder Model?
Private Grob
Rollendes Fahrzeug ist eigentlich recht einfach:
Fahrzeug moveto ((x,y,z),s);
Fahrzeug waittill ("movedone");
Das war es eigentlich schon.
Grüße
Private Grob
(Micka)
langer79
@Zordiac
Ja habe alle brushes selectiert und dann ein script_brusmodel erstellt. Irgedwas passt bei diesem Vorgang aber nicht. Habe es genauso wie bei meinen anderen Türen aber wenn ich bei einer anderen Tür den origin selektiere wird die Türtextur auch gleich angewählt so das ich seh ahhhhhh die gehören zusammen oddder so
…
Wenn ich das bei meiner Schiebetür mache also den origin selektiere ist dieser alleine selektiert.
Blockieren:
Kann ich mir nicht vorstellen habe die Fensterelemente aus zwei von einander getrennte Elemente gemacht der beweglich teil soll hinter den festen Teil fahren also so wie es auch ist. Die Tür ist zwar umrahmt von anderen Elementen aber blockiert wird sie nicht
@Private Grob
Also einfach trigger zuweisen targetname und Koordinaten festlegen und der Bock rollt
Danke euch herzlich
Zordiac
Mmhhh,
tja ist nicht so einfach zu sagen woran es liegt. Kommt eine Fehlermeldung, wenn Du versuchst die Tür zu öffnen. Oder beim Compilieren?
Vielleicht ist der Origin-Brush nicht zugeordnet. Dann kommt bei Compilieren der Map eine Fehlermeldung, dass ein Origin-Brush alleine nicht in einer Map stehen darf. Es wird dann keine .bsp erstellt.
Vielleicht startet er immer noch die alte .bsp
Kopier mal Deine .bsp in einen anderen Ordner und compilier mal neu.
langer79
Es kommt eigentlich immer beim starten der map eine Fehlermeldung script compile error oder so.
Habe es glaub ich schon zehnmal oder so neu zugeordnet (origin). Hatte gestern noch ein anderes Problem mit einem Portal das ärger gemacht hat dann habe ich den Vorgang mit der Map in einem anderen Ordner speichern schon gemacht um den Fehler zu beseitigen also die Änderungen werden alle übernommen nach dem compilieren.
Dann muss ich noch mal probieren werde einfach mal heute abend eine funktionierende Tür kopieren und an diese Position schieben und schauen was er da macht. Muss ich mal Schritt für Schritt zerlegen.
Danke mal vorerst für die Mühe
Zordiac
Script compile error
Es scheint mir, als wäre das der Fehler. Was steht da genau. Es in der Konsole meistens genau beschrieben wo der Fehler in der .gsc ist.
Kannst Du mal den Fehler der in der Konsole steht posten?