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 Wahn Teil 1 =- » 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
Terrorspike
Bard
Verwarnung: 1




Dabei seit: Januar 2005
Geschlecht:
Herkunft: ist mir unbekannt
Beiträge: 47

Terrorspike ist offline
  -= Scripting Wahn Teil 1 =-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, Leute, hab ewig nach nem guten MW - Forum gesucht aber ist irgenwie voll schwierig was zu finden wo man sich zum Thema Modding austauschen kann...

Mal ne Frage:

Ich hab da n Script gemacht das aktiviert wird sobald ich eine Quest erledigt habe, danach soll ne gewisse zeit vergehen, und dann soll ne MB auftauchen und wenn man dann auf ok klickt oder von mir aus auch gleichzeitig soll ne Notiz ein paar Meter voraus erscheinen, schön und gut, klappt ja auch alles aber...

Das fenster lässt sich nicht schließen und die notiz erscheint immer und immer wieder, dupt sich also irgendwie oder so...

Was mach ich falsch?

Hier das Script:

code:


Begin SPIKE_Mordrag_Quest_01

Float timer

Set timer to ( timer + GetSecondsPassed )
if timer > 60

MessageBox "Ihr steht so da, nichtsahnend plötzlich fliegt ein Vogel oder so etwas ähnliches an euch vorbei, bis ihr registriert was passiert ist ist er auch schon dahin, doch er hat etwas fallen lassen, einen Zettel, nur ein paar meter vor euch...", "OK"

PlaceAtPC, "SPIKE_VLM_Aufnahmebrief_01", 1, 800, 0

endif

End




Bitte zu Hilf !! THX !!

-= greetz Terorspike =-


__________________
-=Gewalt ist die Sprache der geistig schwachen=-

--= aber manchmal hifts echt !! =--

Dieser Beitrag wurde von Terrorspike am 07.01.2005, 01:24 Uhr editiert.

07.01.2005, 01:20 Profil von Füge  deiner Freunde-Liste hinzu Email an Terrorspike senden Füge Terrorspike in deine Contact-Liste ein
F.I.M.
Acid Monk




Dabei seit: März 2004
Geschlecht:
Herkunft: 127.0.0.1
Beiträge: 2058

F.I.M. 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 musste ein DoOnce vaiable einbauen...

am anfang vom script -> Short DoOne

dann vor der aktion -> if ( DoOnce == 0 )

und nach PlaceAtPc -> Set DoOnce to 1

so inetwa


__________________

07.01.2005, 02:07 Profil von Füge  deiner Freunde-Liste hinzu Email an F.I.M. senden Homepage von F.I.M. Xfire Screenname: acidguru
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

Wie wäre es, das Script eine Zeile vor "endif" schlicht zu stoppen? Das Script wäre sowieso üvberflüssig und muss ja nur einmal ausgeführt werden...


__________________

Abenteuer Mittel Erde
     Please visit us!

07.01.2005, 08:35 Profil von Füge  deiner Freunde-Liste hinzu Email an GreyWanderer 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

Abgesehen von der DoOnce Variable sehe ich ein generelles Problem mit dem PlaceatPC-Befehl.
Der Zettel erscheint immer in der selben Höhe: Wenn du am Fuße eines Berges stehst also unterirdisch und damit unerreichbar, wenn du am Gipfel stehst schwebt er in der Luft. Und was ist wenn du in einem Interior gerade mt den Gesicht zur Wand stehst....

Deswegen wäre es besser in der Box anzumerken, daß der Spieler den Zettel sofort aufhebt und ihm danach mit additem im Inventar zu plazieren.


__________________


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

07.01.2005, 11:03 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Terrorspike
Bard
Verwarnung: 1




Dabei seit: Januar 2005
Geschlecht:
Herkunft: ist mir unbekannt
Beiträge: 47

Terrorspike 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

@ Grey, ich kann das endif nicht entfernen, der compiler nimmt mir das so nicht ab...

@Hephaistos: Das ist kein Problem, das werde ich vieleicht noch ändern falls es wirklich von nöten ist, aber danke für den tip, hab ich auch schon dran gedacht...

@F.I.M: kannst du mir vieleicht kurz schreiben wie das mit der doonce var GENAU aussieht...
heißt, wie das in meinem script aussehen muß, wenn ichs einmal gesehen hab kann ichs...
Ich habs zwar schonmal gemacht is aber ewig her und war bei NWN..

Ich skripte nicht so oft, bin grad dabei mich wieder einzuarbeiten...

ThX !!!

greetz Spikey


__________________
-=Gewalt ist die Sprache der geistig schwachen=-

--= aber manchmal hifts echt !! =--

Dieser Beitrag wurde von Terrorspike am 09.01.2005, 01:09 Uhr editiert.

09.01.2005, 01:06 Profil von Füge  deiner Freunde-Liste hinzu Email an Terrorspike senden Füge Terrorspike in deine Contact-Liste ein
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

Zitat:
Original von Terrorspike
@ Grey, ich kann das endif nicht entfernen, der compiler nimmt mir das so nicht ab...
DU solltest ja endif nciht entfernen Du solltest das Script stoppen, sodass es nicht nochmal ausgeführt wird.

Scriptbefehl:

StopScript, "Script_ID"

Was DoOnce angeht...ich fände da Button praktischer...

Aber mit AddItem hat Hephaistos natürlich Recht. Das Ding so zu platzieren bringt nichts. Mach lieber ne MessageBox "Zettel erhalten" oder so und füge es gleich dem Inventar hinzu.


__________________

Abenteuer Mittel Erde
     Please visit us!

09.01.2005, 02:29 Profil von Füge  deiner Freunde-Liste hinzu Email an GreyWanderer 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 GreyWanderer


StopScript, "Script_ID"


Ergänzung: da sich das script ja selbst stoppen soll, kannst Du die ScriptID natürlich auch weglassen. Kleiner Hinweis zu Stopscript: Das Skript wird nach dem Stopscript für diesen einen Frame noch fertig ausgeführt, nur im nächsten Frame nicht mehr neu angefangen. . Einen sofortigen Stop erreicht man mit

Stopscript
Return


Zitat:
Original von GreyWanderer
Was DoOnce angeht...ich fände da Button praktischer...





er hat ja nen Button drin, und solange es nur einer ist, kann man sich den ganzen GetButtonPressed-Zirkus sparen.


__________________
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.01.2005, 11:11 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
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

Er will ja, dass der "Zettel" erst nach dem "OK"-Klicken erscheint, bzw. die Benachrichtigung "Zettel erhalten"...nen Button mit Return würde da sicherlich besser passen als DoOnce...


__________________

Abenteuer Mittel Erde
     Please visit us!

09.01.2005, 18:11 Profil von Füge  deiner Freunde-Liste hinzu Email an GreyWanderer 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

wenn mich nicht alles Täuscht gillt ne Messagebox als Menumode == 1 - man müste also nur auf Menumode == 0 warten um das OK abzufangen


__________________
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.01.2005, 20:40 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Terrorspike
Bard
Verwarnung: 1




Dabei seit: Januar 2005
Geschlecht:
Herkunft: ist mir unbekannt
Beiträge: 47

Terrorspike 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

Hmmm, äßerst komisch...

Hab das nun so gemacht und erschien mir auch sinnig, aber
irgendwie oassiert jetzt GAR NICHTS... *heul*

Hab jetzt glaub entgültig den Faden verloren...
was hab ich denn jetzt falsch gemacht?

so siehts aus:


code:


Begin SPIKE_Mordrag_Quest_01

Float timer

Set timer to ( timer + GetSecondsPassed )
if timer > 60

MessageBox "Ihr steht so da, nichtsahnend plötzlich
fliegt ein Vogel oder so etwas ähnliches an euch vorbei,
bis ihr registriert was passiert ist ist er auch schon
dahin, doch er hat etwas fallen lassen, einen Zettel, nur
ein paar meter vor euch, ihr hasstet zu ihm hin und hebt
ihn auf", "OK"

AddItem "SPIKE_VLM_Aufnahmebrief_01" 1

endif

Stopscript SPIKE_Mordrag_Quest_01
Return

End






Danke für die Hilfe, find ich echt supi
-= greetz Ramona=-


P.S: ich wollte in der MB eigentlich noch mehr reinschreiben
aber dann bekahm ich ne Fehlermeldung vom TES das
die linie in der ich das reigekrizelt hab zu lang ist...
kann mann das nicht irgendwie machen, wenn ich noch mehr Text einfügen will
muss ich doch nochmal anführungszeichen verwenden
aber dann wird ausm text doch ein riesiger Button oder ???


__________________
-=Gewalt ist die Sprache der geistig schwachen=-

--= aber manchmal hifts echt !! =--

Dieser Beitrag wurde von Terrorspike am 10.01.2005, 15:30 Uhr editiert.

10.01.2005, 15:29 Profil von Füge  deiner Freunde-Liste hinzu Email an Terrorspike senden Füge Terrorspike in deine Contact-Liste ein
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

AddItem braucht einen "Bezug" oder ein "Ziel"...in dem Falle der Spieler...also...

Player->AddItem "Zettel_ID" 1

Auch soll das Script ja nur gestoppt werden, wenn der Zettel hinzugefügt wurde...also noch in die if-endif Verschachtelung rein...das Return kannst du dir dabei auch sparen, weil es dann sowieso keinen Code unter endif gibt, der irgendwie abgebrochen werden müsste...

Auch hat Garak den Vorschlag mit MenuMode gemacht (@Garak: Was dir immer alles einfällt ), den du vielleicht einbauen solltest.


__________________

Abenteuer Mittel Erde
     Please visit us!

10.01.2005, 15:53 Profil von Füge  deiner Freunde-Liste hinzu Email an GreyWanderer senden
F.I.M.
Acid Monk




Dabei seit: März 2004
Geschlecht:
Herkunft: 127.0.0.1
Beiträge: 2058

F.I.M. 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

wegen den MB kann man ja zwei machen.....


__________________

10.01.2005, 15:59 Profil von Füge  deiner Freunde-Liste hinzu Email an F.I.M. senden Homepage von F.I.M. Xfire Screenname: acidguru
Terrorspike
Bard
Verwarnung: 1




Dabei seit: Januar 2005
Geschlecht:
Herkunft: ist mir unbekannt
Beiträge: 47

Terrorspike 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, ok, soweit klar, aber wie muß ich das mit dem if
und end if machen das MW weiß wann das script
gestoppt werden soll ?

also:


Begin

timer zeugs

Message box

item zeug

und dann:

if ???

Stopscript SPIKE_Mordrag_Quest_01

endif

End



oder wie??

oder soll ich einfach das endif vor das Stopscript hauen?

-= greetz ramona =-


__________________
-=Gewalt ist die Sprache der geistig schwachen=-

--= aber manchmal hifts echt !! =--

10.01.2005, 16:05 Profil von Füge  deiner Freunde-Liste hinzu Email an Terrorspike senden Füge Terrorspike in deine Contact-Liste ein
Terrorspike
Bard
Verwarnung: 1




Dabei seit: Januar 2005
Geschlecht:
Herkunft: ist mir unbekannt
Beiträge: 47

Terrorspike 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

Haha !! Juhu !! Hüpf und Spring !!!

Hab hinbekommen !!!!

hier:

code:


Begin SPIKE_Mordrag_Quest_01

Float timer

Set timer to ( timer + GetSecondsPassed )
if timer > 600

MessageBox "bla blaaa blaaaa", "OK"

Player->AddItem "SPIKE_VLM_Aufnahmebrief_01" 1

Stopscript SPIKE_Mordrag_Quest_01
Return

endif

End




*STRIKE*

THX @ all wart mir echt ne Hilfe, hätte sonst noch ewig
gebrauch und bin jetzt wieder um ne Funktion klüger

-= greetz Ramonzki =-


__________________
-=Gewalt ist die Sprache der geistig schwachen=-

--= aber manchmal hifts echt !! =--

10.01.2005, 16:15 Profil von Füge  deiner Freunde-Liste hinzu Email an Terrorspike senden Füge Terrorspike in deine Contact-Liste ein
  « 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