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 » Scripting » 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 [  «  <  1  2  3  >  »  ]
Garak
Admin




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

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

Hmm... sollte eigentlich per onpcadd gehen...Falls der Kelch vor der Übergabe nicht im Spiel existiert könnte auch einfach ein Script reichen, dass beim ersten Aufruf einmal Dein Menue auslöst, da das script ja vor der existenz des kelches auch nicht ausgeführt wird...


__________________
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

11.12.2002, 10:50 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Deepthroat
Bard



Dabei seit: Oktober 2002
Geschlecht: keine Angabe
Herkunft:
Beiträge: 30

Deepthroat 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

Ok, das hab ich mir auch schon gedacht. Und was muss ich da alles ändern? Denn es wäre doch zu schön gewesen, dass ich das statt OnActivate einfach eingefügt hätte und das funktionieren würde.

11.12.2002, 17:11 Profil von Füge  deiner Freunde-Liste hinzu Email an Deepthroat senden
Garak
Admin




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

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

Du brauchst eine Doonce-abfrage, z.b.

short doonce

if (doonce ==0)
...; dein menue
set doonce to 1
endif

doonce ist nicht vordefiniert, kannst Du nennen, wie Du willst!...


__________________
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

12.12.2002, 10:49 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Deepthroat
Bard



Dabei seit: Oktober 2002
Geschlecht: keine Angabe
Herkunft:
Beiträge: 30

Deepthroat 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

So hab da jetzt probiert aber find irgendwie nicht raus wo ich das einfügen muss. Ich weiß für dass müsste ich mich eigentlich erschießen!!!

12.12.2002, 20:05 Profil von Füge  deiner Freunde-Liste hinzu Email an Deepthroat senden
Garak
Admin




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

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

Einfach am anfang Deines scriptes! Ein (gegenstandsgebundenes) Script wird nicht ausgeführt, solange im Spiel keine Referenz dieses Gegenstandes in der Nähe (in Aussenzellen - frag mich bloss nicht, wie viele Nachbarzellen "in der Nähe" umfasst) bzw in der aktuellen Zelle (bei Interiorzellen) befindet. Wenn Du Deinen Trank von Einem NPC-Übergeben lassen willst, darf der Gegenstand nicht im Inventar des NPC's sein, sondern im Dialog erst mit einem Player-> additem "erschaffen" werden. dadurch wird das Skript gestartet und Dein Menü erscheint sofort auf dem Bildschirm. Wär vieleicht sinnvoll, das Menü auf nach dem Ende des Dialogs zu verschieben... dazu muss vor der doonce-Abfrage noch folgendes eingeschoben werden:

if (menumode == 1)
return
endif

Diese Befehlsfolge bricht die Scriptausführung (für diesen Frame) ab, falls eines der Menues die scheinbar die Zeit anhalten aktiv ist.


__________________
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

13.12.2002, 09:28 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Deepthroat
Bard



Dabei seit: Oktober 2002
Geschlecht: keine Angabe
Herkunft:
Beiträge: 30

Deepthroat 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

begin my_vamp_blood_qu

short button
short messageOn
short drink
short gone
short doonce

if ( gone == 1 )
Disable
set gone to 0
return
endif

if ( MenuMode == 1 )
return
endif


if ( Activate == 1 )
set messageOn to 2
endif

if ( messageOn == 0 )
return
endif

if ( messageOn == 2 )
if ( vampclan != 1 )
if ( vampclan != 2 )
if ( doonce == 0 )
MessageBox "Wollt Ihr vom Blut des Quarra-Fürsten kosten?" "Ja" "Nein"
set messageOn to 1
set doonce to 1
endif
endif
endif
endif

if ( messageOn == 1)
set button to GetButtonPressed
if ( button == 0 )
set drink to 1
set messageOn to 0
endif
if ( button == 1 )
Activate
set messageOn to 0
return
endif
endif

if ( drink == 1 )
PlaySound "Potion Success"
Player->AddSpell, "Vampire Blood Quarra"
MessageBox "Ihr habt euch mit der Blutkrankheit infiziert! Euer Fürst ruft Euch: Kommt nach Druscathi!" "OK"
set gone to 1
set drink to 0
Player->AddItem, "potion_vamp_blood_qu_emp" 1
endif

if ( vampclan == 1 )
MessageBox "Ihr seid bereits Mitglied des Aundae Clans"
endif

if ( vampclan == 2 )
MessageBox "Ihr seid bereits Mitglied des Berne Clans"
endif

end my_vamp_blood_qu


Das kursive is das was ich geändert habe. Richtig so? Und wie geht das jetzt noch, damit sich das erst aktiviert, wenn er mir das ins Inventar gibt. Das mit dem Dialog hab ich auch schon.

13.12.2002, 10:02 Profil von Füge  deiner Freunde-Liste hinzu Email an Deepthroat senden
Garak
Admin




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

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

if (activate ==...

sollte nicht funktionieren - Activate als Befehl führt die Standartaktion durch, ein Test auf Aktivierung geht mit OnActivate

die doonceabfrage gehört ganz an den Anfang - das ganze soll ja, als autoaktivierung bei beginn der existenz des Trankes alternativ zur onactivate-abfrage funktionieren...also muss nach dem menumode test (hoffentlich macht der keinen ärger mit der Messagebox... falls das nicht funktioniert lass den menumodetest einfach weg) folgendes stehen:

if (doonce ==0 )
set doonce to 1
set messageon to 2
endif

dass der trank nur einmal verwendet werden kann stellst Du ja mit der disable-aktion sicher...


__________________
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

Dieser Beitrag wurde von Garak am 13.12.2002, 10:29 Uhr editiert.

13.12.2002, 10:27 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Deepthroat
Bard



Dabei seit: Oktober 2002
Geschlecht: keine Angabe
Herkunft:
Beiträge: 30

Deepthroat 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

Hab mich verschrieben. Im script hab ich eh, onactivate == 1. Aber das gehört dann sowieso weg oder, da ja dann das doonce den Platz einnimmt? Denn da hab ich ja dann setmessage on to 2 was ich ja eigentlich bei dem onactivate hab.

Dieser Beitrag wurde von Deepthroat am 14.12.2002, 12:51 Uhr editiert.

14.12.2002, 12:47 Profil von Füge  deiner Freunde-Liste hinzu Email an Deepthroat senden
Garak
Admin




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

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

soll ja ne alternative sein: wenn Du beides verwendest, geht der Dialog sowohl los, wenn der Trank beginnt zu existieren, als auch, wenn er aktiviert (= aufgenommen aus der Umgebung) wird. wenn Du nur das Doonce verwendest, hat man, nachdem man ein mal abgelehnt hat , keine chance mehr, den Trank zu aktivieren!


__________________
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

16.12.2002, 09:09 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Deepthroat
Bard



Dabei seit: Oktober 2002
Geschlecht: keine Angabe
Herkunft:
Beiträge: 30

Deepthroat 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

Genau das Problem hab ich mit dem done zuerst auch gehabt. Also da führt wohl kein Weg vorbei, den Trank beim ersten Mal zu schlucken.

16.12.2002, 18:38 Profil von Füge  deiner Freunde-Liste hinzu Email an Deepthroat senden
Garak
Admin




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

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

nur zur sicherheit: Du hast jetzt die doonce-Abfrage direkt um die Messagebox entfernt oder?


__________________
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

17.12.2002, 10:14 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Deepthroat
Bard



Dabei seit: Oktober 2002
Geschlecht: keine Angabe
Herkunft:
Beiträge: 30

Deepthroat 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

Ja und dort hingetan, wo du gesagt hast. Also

if ( OnActivate == 1 )
íf ( doonce == 0 )
set messageOn to 2
set doonce to 1
endif
endif

Wieso? Denn es hätte auch funktioniert, wenn ich es direkt bei der MessageBox hingeschrieben. Zumindest hab ich keinen Fehler gefunden.

17.12.2002, 12:43 Profil von Füge  deiner Freunde-Liste hinzu Email an Deepthroat senden
Garak
Admin




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

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

so, wie Du es JETZT hast, ist es eine "und"-Verknüpfung beider bedingungen - was ich erreichen wollte war "oder", also zwei If-abfragen hintereinander (aber NICHT ineienander)


__________________
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

17.12.2002, 13:15 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Deepthroat
Bard



Dabei seit: Oktober 2002
Geschlecht: keine Angabe
Herkunft:
Beiträge: 30

Deepthroat 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

Jetzt is mir klar was du meinst. So:

if ( doonce == 0 )
set messageOn to 2
set doonce to 1
endif

if ( OnActivate == 1 )
set messageOn to 2
endif

Richtig so?

Dass heißt dann, dass die Messagebox beim Existieren nur einmal erscheint, aber beim Aktivieren (wenn es wo rum steht) so oft wie man will.

Damit dass aber nur beim ablehen funzt, ersetz ich bei der antwort ja, den trank durch ein anderes Item (z.b. leere Flasche). Könnte hin haun oder?

Aber wieso kann ich nicht statt Onactivate OnPCAdd verwenden? Da macht er mir einen Fehler!

Dieser Beitrag wurde von Deepthroat am 17.12.2002, 20:47 Uhr editiert.

17.12.2002, 20:31 Profil von Füge  deiner Freunde-Liste hinzu Email an Deepthroat senden
Garak
Admin




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

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

OnPCAdd ist keine Funktion im eigentlichen Sinne, sondern eine Variable, die die Engine automatisch setzt, falls sie im Script definiert ist (weis der Geier, warum die da so einen Stolperstein eingebaut haben)
ein

Short OnPCAdd

am anfang Deines Scriptes sollte das beheben...ohne Gewähr, ich hab das bisher nur mit OnPCDrop gemacht...


__________________
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

Dieser Beitrag wurde von Garak am 18.12.2002, 11:04 Uhr editiert.

18.12.2002, 11:04 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Deepthroat
Bard



Dabei seit: Oktober 2002
Geschlecht: keine Angabe
Herkunft:
Beiträge: 30

Deepthroat 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 hab ich schon gehabt. Hab mir das nämlich in der Hilfe durchgelesen. Komischerweise funktioniert es wenn ich doonce oder done, also eine eigene Variable verwenden würde. Also eine und Verknüpfung.

18.12.2002, 17:48 Profil von Füge  deiner Freunde-Liste hinzu Email an Deepthroat senden
spu
Bard




Dabei seit: Juni 2003
Geschlecht: keine Angabe
Herkunft:
Beiträge: 47

spu 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

wenn OnPcAdd nur funkt wenn der gegenstand vorher nicht im spiel vertreten ist, was verwende ich dann am besten wenn ich herrausfinden will ob der spieler einen gegens. aus einer kiste genommen hat und in seinem inventory gedropped hat ?


greetings

spu

27.10.2003, 11:53 Profil von Füge  deiner Freunde-Liste hinzu Email an spu senden
Garak
Admin




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

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 spu
wenn OnPcAdd nur funkt wenn der gegenstand vorher nicht im spiel vertreten ist,


bin grade schwer von begriff - wo genau hast Du das oben gelesen?
Zitat:
Original von spu
was verwende ich dann am besten wenn ich herrausfinden will ob der spieler einen gegens. aus einer kiste genommen hat und in seinem inventory gedropped hat ?




player -> getitemcount objectID - das wiederum ist natürlich nur sinnvoll, wenn der entsprechende Gegenstand sonst nirgends zu haben ist....


__________________
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

27.10.2003, 12:42 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
spu
Bard




Dabei seit: Juni 2003
Geschlecht: keine Angabe
Herkunft:
Beiträge: 47

spu 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
bin grade schwer von begriff - wo genau hast Du das oben gelesen?


ganz oben... war sogar von dir


aber GetItemCount wird doch schon auf +1 gesetzt wenn der Gegenstand noch am cursor klebt.... oder

edit:
habs grad probiert wird schon gesetzt wenns noch am cursor klebt.
das problem ist das der gegenstand denn ich aufnehmen will (aus ner kiste, wenn ich "alles nehmen" klick gehts. aber das is ja nicht wirklich benutzerfreundlich) per script mit einem anderen ausgetauscht wird. weil er aber noch am cursor klebt crashed das spiel

Dieser Beitrag wurde von spu am 28.10.2003, 02:57 Uhr editiert.

28.10.2003, 02:43 Profil von Füge  deiner Freunde-Liste hinzu Email an spu senden
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos 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

Hast du

if ( MenuMode == 1 )
..return
endif

in deinem Script verwendet? Diese Zeilen beendet das Script, wenn du im Menü-Modus bist. Sollten daher dein Problem beim Aufnehmen des Gegenstandes beheben. Damit das funktioniert, müssen diese Zeilen allerdings sehr weit oben im Script stehen, gleich nach der Definition der Variablen.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

28.10.2003, 07:49 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
[  «  <  1  2  3  >  »  ]   « 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