Registrierung Häufig gestellte Fragen Suche Mitgliederliste Portal - Planet Skyrim.de Kalender Moderatoren und Administratoren Startseite
Morrowind&OblivionForum.de - PMM-Projects Network » The Elder Scrolls III: Morrowind » Morrowind Editor Help » PlaceAtPC (Z-Achse ?) » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag
Worf
Healer




Dabei seit: Januar 2003
Geschlecht:
Herkunft: Odai Plateau
Beiträge: 68

Worf ist offline
  PlaceAtPC (Z-Achse ?)Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hi, ich bins wieder

mein plugin ist bald fertig (habe jetzt sogar ein model)
nun zu meiner frage:

ich arbeite im Script mit PlaceAtPC, da man ein Activator ja nicht ins Inventar aufnehmen kann.
bei PlaceAtPC kann man, wenn ich mich recht erinnere,
die anzahl des objekts, die entfernung und richtung einstellen, oder ?
Nun habe ich aber das problem, dass mein item fast gänzlich unter der erde ist!
deswegen wollte ich fragen, ob man auch irgendwie die "höhe" (z-Achse) bestimmen kann ?


__________________
IT'S A GOOD DAY TO DIE

09.05.2004, 12:27 Profil von Füge  deiner Freunde-Liste hinzu Email an Worf senden
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9256

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

welche version benutzt Du? ab tribunal nimmt der setpos-Befehl variablen an, für mw 1.2 musst Du wohl oder übel mit move oder moveworld arbeiten.


__________________
drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen

09.05.2004, 12:40 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Worf
Healer




Dabei seit: Januar 2003
Geschlecht:
Herkunft: Odai Plateau
Beiträge: 68

Worf ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

habe trib und bloodmoon

wie soll ich die denn eingeben ?
normalerweise geht das ja so:

PlaceAtPC, "Object_ID", 1(anzahl), 0(distance), 0(direction)



__________________
IT'S A GOOD DAY TO DIE

Dieser Beitrag wurde von Worf am 09.05.2004, 13:00 Uhr editiert.

09.05.2004, 12:58 Profil von Füge  deiner Freunde-Liste hinzu Email an Worf senden
GreyWanderer
Crusader



Dabei seit: Januar 2004
Geschlecht:
Herkunft: Cuiviénen
Beiträge: 465

GreyWanderer ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Also die Funktionen
Position x y z Rot (exteriors) [float]
PositionCell x y z Rot "Cell" (interiors&exteriors) [float]
SetAngle (x, y oder z) [short]
SetPos (x, y oder z) [float]

erlauben ab Tribunal Variablen. Was wohl irgendwie nicht heißt, dass man da irgendwie die derzeitige Zelle des PCs benutzen kann. Also muss man ausweichen....

PlaceAtPC und dann SetPos für die X Y und Z Position und SetAngle für die Rotation.


__________________

Abenteuer Mittel Erde
     Please visit us!

Dieser Beitrag wurde von GreyWanderer am 09.05.2004, 18:41 Uhr editiert.

09.05.2004, 18:35 Profil von Füge  deiner Freunde-Liste hinzu Email an GreyWanderer senden
Worf
Healer




Dabei seit: Januar 2003
Geschlecht:
Herkunft: Odai Plateau
Beiträge: 68

Worf ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

also:

PlaceAtPC, "Object_ID", 1, 0, 0
setPos, z, 120

muss man nicht für setPos noch eine Object ID angeben, oder funktioniert das so ?


__________________
IT'S A GOOD DAY TO DIE

09.05.2004, 19:58 Profil von Füge  deiner Freunde-Liste hinzu Email an Worf senden
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9256

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

setpos z 120 bringt den gegenstand grundsätzlich in die nähe des meeresspiegels - ausserdem kannst du mit placeatpc gesetzte objekte nicht mehr eindeutig von aussen adressieren, sobald der 2. davon gesetzt ist.
das positionsscript sollte also auf dem gegenstand liegen, mit nem doonce - mechanismus auf einmaliges ausführen beschränkt werden, die aktuelle z-position auslesen, die 120 dazuaddieren und die neue zposition setzen.


__________________
drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen

09.05.2004, 23:55 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Worf
Healer




Dabei seit: Januar 2003
Geschlecht:
Herkunft: Odai Plateau
Beiträge: 68

Worf ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

das problem ist ja, dass ich die höhe relativ zur player position haben will.

Ich habe ein misc item im invi, auf dem ein script liegt, der es verschwinden lässt, wenn der pc es ablegen will und dafür einen activator (muss ein activator sein) mit placeAtPc in die welt setzt.
das funzt ja auch alles prima, nur ist da eben das problem, dass der gegenstand meist unter der erdoberfläche ist! da man den gegenstand ja überall hinpacken kann und wieder mitnehmen kann (disable, playeradditem ...), kann ich keine feste position setzen, sondern muss das immer relativ zur player position sehen.

ich hoffe ich habe mich verständlich ausgedrückt, kann solche probleme immer so schlecht formulieren


__________________
IT'S A GOOD DAY TO DIE

10.05.2004, 14:57 Profil von Füge  deiner Freunde-Liste hinzu Email an Worf senden
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9256

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von Garak
die aktuelle z-position auslesen, die 120 dazuaddieren und die neue zposition setzen.



wie ich schon sagte... für das"relativ zum player sorgt ja schon das placeatpc


__________________
drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen

10.05.2004, 19:02 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Worf
Healer




Dabei seit: Januar 2003
Geschlecht:
Herkunft: Odai Plateau
Beiträge: 68

Worf ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

ich bin jetzt momentan irgendwie schwer von begriff:

wie soll ich jetzt auf dem gegenstand das script legen ?
soll ich jetzt irgendwie das script den z-wert auslesen lassen und die gewünschte zahl hinzuaddieren ?
wie ???


__________________
IT'S A GOOD DAY TO DIE

10.05.2004, 21:38 Profil von Füge  deiner Freunde-Liste hinzu Email an Worf senden
GreyWanderer
Crusader



Dabei seit: Januar 2004
Geschlecht:
Herkunft: Cuiviénen
Beiträge: 465

GreyWanderer ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Also wie wär's hiermit: In dem Script von dem misc eine (global-)Var auf 1 setzen wenn er den Befehl PlaceAtPC verwendet. Beim Script von dem Activator dann

short ZPosition

set ZPosition to ( ( player->GetPos, z ) + 15 ) ;anstatt 15 vielleicht was Anderes?

if ( Var == 1 )
.....SetPos, z ZPosition
.....set Var to 0
endif

Also die Z Position vom player + 15 units ist die neue Höhe vom Activ. kannst du aber noch ändern, sodass es passt...


__________________

Abenteuer Mittel Erde
     Please visit us!

10.05.2004, 21:44 Profil von Füge  deiner Freunde-Liste hinzu Email an GreyWanderer senden
Worf
Healer




Dabei seit: Januar 2003
Geschlecht:
Herkunft: Odai Plateau
Beiträge: 68

Worf ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Alt:Ja, so funktionierts. Danke !

Bis jetzt wusste ich noch gar nichts von global variablen,
sind ja ne tolle sache. und durch ( player->GetPos, z )
wird die z-position vom player ausgelesen, oder ? (Wieder was gelernt) Vielen Dank !


Schön wärs! einmal funktioniert es, doch sobald der script einmal ausgeführt wurde, klappt es nicht wieder.
ich stelle hier einfach noch mal beide scripte rein, ich wüsste nicht wo der fehler liegt.( Var hab ich als global eingestellt )

misc_item script
begin laptop_script_invi_redo
short OnPCDrop

if ( OnPCDrop == 1 )
Disable
PlaceAtPC, "laptop_redoran", 1, 0, 0
set Var to 1
Set OnPCDrop to 0
endif
end laptop_script_invi_redo


activator_item script
begin laptop_script_redo

short ZPosition

set ZPosition to ( ( player->GetPos, z ) + 40 )
if ( Var == 1 )
SetPos, z ZPosition
set Var to 0
endif
end laptop_script_redo


__________________
IT'S A GOOD DAY TO DIE

Dieser Beitrag wurde von Worf am 10.05.2004, 22:50 Uhr editiert.

10.05.2004, 22:04 Profil von Füge  deiner Freunde-Liste hinzu Email an Worf senden
  « Vorheriges Thema Nächstes Thema »
Neues Thema erstellen Antwort erstellen
Gehe zu:

Design by: Garak - Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR