PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Scriptproblem: CoE mit Variablen



Praecipitator
17-08-05, 08:38
Ich will einen Teleporter machen, bei dem man mit Hilfe von Schaltern die Zielkoordinaten eingeben kann und dann dorthin teleportiert wird. Das mit dem zahlen eingeben funktioniert, aber ich lande an den falschen Koordinaten. 16/16 bringt mich in die Ashländerregion in der nähe von balmora, wenn ich direkt COE 16 16 eingebe, lande ich irgendwo nordöstlich von vvardenfell.

der wesentliche Teil des scripts ist:

set t_x to pra_tele_x
set t_y to pra_tele_y
messageBox "Mache CoE nach X=%G Y=%G", t_x, t_y
Player -> CoE, t_x, t_y


(t_x und t_y sind lokale short-wariablen, pra_tele_x und pra_tele_y entspr. globale. hab sie erst direkt verwendet, weil ich dachte, die Funktion hat probleme mit globalen)
die messagebox zeigt die richtigen Koordinaten an, dh die eingabeschalter funktionieren, aber auch wenn ich die Variablen vorher im Script definiere (also set t_x to 12,...) passiert das gleiche

Praecipitator
17-08-05, 08:38
Ich will einen Teleporter machen, bei dem man mit Hilfe von Schaltern die Zielkoordinaten eingeben kann und dann dorthin teleportiert wird. Das mit dem zahlen eingeben funktioniert, aber ich lande an den falschen Koordinaten. 16/16 bringt mich in die Ashländerregion in der nähe von balmora, wenn ich direkt COE 16 16 eingebe, lande ich irgendwo nordöstlich von vvardenfell.

der wesentliche Teil des scripts ist:

set t_x to pra_tele_x
set t_y to pra_tele_y
messageBox "Mache CoE nach X=%G Y=%G", t_x, t_y
Player -> CoE, t_x, t_y


(t_x und t_y sind lokale short-wariablen, pra_tele_x und pra_tele_y entspr. globale. hab sie erst direkt verwendet, weil ich dachte, die Funktion hat probleme mit globalen)
die messagebox zeigt die richtigen Koordinaten an, dh die eingabeschalter funktionieren, aber auch wenn ich die Variablen vorher im Script definiere (also set t_x to 12,...) passiert das gleiche

Killfetzer
17-08-05, 09:08
der coe (genauso wie der coc) Befehl funktionieren nur ingame in der Konsole.
Wenn du einen der Befehle (oder einen anderen undefinierten Transport) per script auslöst, wirst du automatisch an den "Ursprung" Vvardenfells teleportiert. (Cell 0,0 x=0, y=0, z=Bodenhöhe)und das ist nordöstlich von Balmora in bei einem daedrischen schrein.

Wenn du soetwas wie bestimmte Variablen eingeben willst, musst du mit PositionCell arbeiten und natürlich für alle möglichen Zellen einen eigenen Ort bestimmen. (viel Spass bei der Arbeit http://forums.ubi.com/infopop/emoticons/icon_wink.gif )

Praecipitator
17-08-05, 10:39
hm und wenn ich stattdessen SetPos verwende? (das rangerzelt verwendet das, wenn man aus dem zelt rausgeht)
wie kann ich Zellenkoordinaten in setpos-kompatible umrechnen (=wie viele Einheiten ist eine cell breit)?

Praecipitator
17-08-05, 14:07
ähm habs inzwischen gefunden, jetzt funktioniert alles wie es soll^^

jsc-850
18-08-05, 14:26
Teilweise funktionieren Konsolenbefehle auch in Scripts. Ist aber nicht wirklich die feine Art wenn es entsprechend funktionierende Scriptbefehle gibt (coc mit entsprechenden Set... ersetzen z.B.)

ReneMiner
18-08-05, 19:08
Vieleicht SetPos statt COE?

Mein Senf:

Es gibt konsolenbefehle die auch in scripts funktionieren. Z.B. FixMe kann man nehmen, dazu muss man aber vorher Force1stPerson machen da FixMe nur in Ego-Perspektive klappt.

Man kann mit GetPos die Positionen merken bzw. mit SetPos den Spieler auch an die gemerkte Position ins Exterior (zurück-) setzen.
Dabei wird er zuerst an die richtige Stelle gesetzt aber die Zelle selbst wird nicht geladen. Dann hilft FixMe.

Es nützt aber nichts sich die Kamera-Einstellung (ob 1st- oder 3rd-Person-View) zu merken denn die Force3rdPerson-Anweisung funktioniert leider nicht.

Sollte das entsprechende, hieraus gebastelte Teleport-Script im Interior gestartet werden muss man den Spieler erst mit einer Position-Anweisung nach draussen bringen. Interiors lassen sich leider nicht so "markieren".

Ob's was nützt?

Praecipitator
19-08-05, 07:26
naja es soll nichts markiert werden, sondern man soll die Koordinaten im SPiel über Tasten angeben können, was jetzt auch über SetPos funktioniert.
(hab mich etwas am script des rangerzeltes orientiert^^)
Jetzt will ich den Zielort noch über eine Karte anwählbar machen bzw die eingegebenen Koordinaten dort anzeigen. es funktioniert zwar, ist aber noch nicht allzu genau