HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   Punktgenaues Platzieren (zB. Zug auf Gleis) (https://hx3.de/editing-scripting-167/punktgenaues-platzieren-zb-zug-gleis-22126/)

sandmanGER 24.12.2012 12:22

Punktgenaues Platzieren (zB. Zug auf Gleis)
 
Hallo, ich bin am verzweifeln :D

Ich bin grad dabei einige Züge + Waggons auf Gleise zu platzieren... Allerdings ist das ziemlich kniffelig. Die Räder stehen meistens falsch und wenn man das dann versucht zu berichtigen, entstehen direkt neue Probleme. Hat jmd. ne Idee wie man das vereinfachen kann?

Vll. per Script auf die Gleise stellen?! Hab auch schonmal was von einem 3d- Editor gelesen, allerdings sei dieser noch ziemlich unausgereift und hätte dann beim abspeichern das falsche Format, um es dann anschließend wieder im normalen Editor bearbeiten zu können.

Vienna 24.12.2012 15:31

Kopiere diese Routine in einen Funk-Auslöser:

Code:

temp = [ObjektName,X_verschieben,Y_verschieben] spawn
 {
  _o = _this select 0;
  _x = _this select 1;
  _y = _this select 2;
  _o setPos [(getPos _o select 0)+_x,(getPos _o select 1)+_y];
  player groupChat format["Position %1: %2",_o,getPos _o]
 };

Als Parameter schreibst du z.B. folgendes: temp = [Objektname, 0.1,0.1] spawn

Hier wird das Objekt immer um 10 cm in beide Richtungen verschoben. Aus der Textzeile kannst du immer die Position ablesen. Die ausgelesene gewünschte Position gibst du dann in die Initialisierungszeile des Objekts so ein:

this setPos [X-Wert, Y-Wert]

sandmanGER 25.12.2012 11:54

Danke Vienna,
für diejenigen die darauf noch stoßen werden:

Hab 5 Funkauslöser, jeder von denen verändert eine der beiden Koordinaten
(-x | x | -y| y). Der letzte Auslöser kopiert die Koordinaten ins Clipboard.

Code:

copyToClipboard format[""%1"",position Zug1];
(mit Strg + V einfügbar)

BSP.:
Code:

temp = [ObjektName,-0.05,0] spawn
 {
  _o = _this select 0;
  _x = _this select 1;
  _y = _this select 2;
  _o setPos [(getPos _o select 0)+_x,(getPos _o select 1)+_y];
  player groupChat format["Position %1: %2",_o,getPos _o]
 };

usw...

--------------------------------------------------------------------------
Jetzt kommt noch meine Frage:

Jetzt fehlt mir nur noch der setDir Abschnitt, damit ich das Objekt auch noch drehen kann.
Wieder mit zwei Funkauslösern, der eine + 0.5° der andere -0,5°. Wie würde das aussehen?

PS: noch allen einen schönen 1. Weihnachtstag :)

Vienna 25.12.2012 16:13

_o setDir (getDir _o + 0.5);

Bin sicher du schaffst den Rest für eine Dir-Routine allein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119