Construction Set Der Scriptthread

Dieses Thema im Forum "[MW] Plugins und Mods" wurde erstellt von The Nici, 25. April 2006.

  1. Killfetzer

    Killfetzer Super-Moderator Mitarbeiter

    @Rey-the-Master: Mit normalen Speeren ist das nicht möglich. Aber du kannst es so machen:
    Erstelle einen neuen Activator und gib ihm das Aussehen eines Speers (my_speer). Erstelle dann eine globale Variable (my_speer_var). Lege dann auf den Kelch (my_kelch) dieses Script:

    begin my_kelch_script

    if ( OnActivate == 1 )
    set my_speer_var to 1
    endif

    end


    Auf den Speer legst du dann ein Script in dieser Art:

    begin my_speer_script

    short doOnce

    HurtCollidingActor 20

    if ( doOnce == 0 )
    if ( my_speer_var == 1 )
    if ( GetPos Z > 12345 )
    MoveWorld Z - 100
    else
    set doOnce to 1
    endif
    endif
    endif

    end


    Natürlich musst du noch die Höhe, Geschwindigkeit und Schadenswirkung anpassen.

    @Nici: Dafür brauchst du erst mal Tribunal (wegen der benötigten Befehle). Dann erstellst du ein Misc-Item mit dem entsprechenden Aussehen und eine Kreatur mit dem Aussehen (und den Animationen). Dann musst du das so aufbauen:
    Auf das Miscitem legst du ein Script, dass wenn es abgelegt werden soll es stattdessen aus dem Inventar entfernt wird und eine Kreatur vor dem Spieler erschaffen wird. Über Dialog kannst du dann die nötigen Optionen wie warten und folgen steuern. Bei Einpacken musst du erst eine neues Miscitem dem Inventar hinzufügen, dann die Kreatur disablen und danach mit setdelete entfernen. Das lässt sich am besten über eine lokale Variable und ein angehängtes Script steuern. In diesem Script kannst du auch überprüfen, dass wenn die Kreatur stirbt sie automatisch gelöscht wird und ein neues Misc dem Inventar hinzugefügt wird.
    Mit nicht kämpfen geht in sofern leicht, dass du ihren Fightwert einfach auf 0 stellst.
    Ein Beispiel für ein wie oben beschreibenes Script kannst du in meinem magischen Zirkel beim tragbaren Kraftfeld finden.
     
    Illidan_00 gefällt das.
  2. The Nici

    The Nici Gebannter Benutzer

    @Killfetzer: Danke :ugly: Leider steht das momentan nicht zur verfügung.

    Jetzt brauch ich so ein einfaches:
    Wenn die Kreatur X getötet wurde, öffnet sich ein Tor. Also ein Activator soll von Position "0, 9664, -320 [90, 0, 0]" auf position "0, 9664, 704 [90, 0, 0]" fahren.
     
    Zuletzt bearbeitet: 19. September 2006
  3. Killfetzer

    Killfetzer Super-Moderator Mitarbeiter

    Also, bitte! Das kannst du doch auch selbst!

    Die nötige Abfrage lautet OnDeath und der Teleporterbefehl PositionCell, xpos, ypos, zpos, zrot, "Zellenname"

    begin my_creature_script

    if ( OnDeath == 1 )
    my_tor->PositionCell, xpos, ypos, zpos, zrot, "Zellenname"
    endif

    end

    Wenn das ganze noch animiert sein soll, geht es zB. auch so:
    begin my_tor_script

    short state

    if ( GetDeadCount "my_creature" > 0 )
    set state to 1
    PlaySound "Door Stone Open"
    endif

    if ( state == 1 )
    if ( GetPos Z < 704 )
    MoveWorld Z 100
    else
    set state to 2
    endif
    endif

    end
     
  4. The Nici

    The Nici Gebannter Benutzer

    Wenn ich wüsste wie :-/
    Ich kann ja nicht scripten. Naja ich lerns mal mit deinem Tutorial.
     
  5. Lichtkrieger

    Lichtkrieger Abenteurer

    NPC-Beschwören

    Hallo,
    Ich hatte vor das man ein Amulett anlegt und dann ein NPC vor dem Player erscheint.
    Wenn man nun das Amulett wieder abnimmt verschwindet der NPC.(in eine Zelle die man nciht betreten kann oder ins nirgendwo :))
    er soll aber auch verschwinden sobalt man das Dialog mit ihm erst öffnet und dann wieder schließt. Dann soll das Amulett automatisch abenommen wird aber noch im Inventar bleibt.
    Wie muss der Script dazu aussehen?

    Danke in Vorraus

    MfG. Lichti
     
  6. ReneMiner

    ReneMiner Bürger

    Lichtkrieger gefällt das.
  7. The Nici

    The Nici Gebannter Benutzer

    z.b. ich xD
    (Für alle faulen!)
     
    Lichtkrieger gefällt das.
  8. Lichtkrieger

    Lichtkrieger Abenteurer

    So werde mcih morgen dann an die Arbeit machen.
     
  9. Lichtkrieger

    Lichtkrieger Abenteurer

    Sry für Doppelpost aber was muss man an den Amulett in den Script noch einfügen das man ihn nicht mehr verkaufen kann. denn man soll ja einen händler beschwören und wenn ich das amulett bei ihm auf die verkaufsliste setze und dann wieder zurück nehme mach MW eine Flocke.
     
  10. Killfetzer

    Killfetzer Super-Moderator Mitarbeiter

    Ich denke nicht, dass das mit einem Script geht. Da musst dann wohl ausschließen, dass der Händler Kleidungsstücke ankauft.
     
    Lichtkrieger gefällt das.
  11. Yves

    Yves Bürger

    Npc gehen

    hi

    ich wollte wissen wie man machen kann das Npc an einen bestimte stele gehen?

    danke im voraus
     
  12. Lichtkrieger

    Lichtkrieger Abenteurer

    Aus irgendeinem Grund wenn ich den Händler was verkaufe das amulett abnehmme und wieder anlege sind die sachen die ich ihm verkauft habe weg warum wie kann ich das beheben?
     
  13. Killfetzer

    Killfetzer Super-Moderator Mitarbeiter

    @Lichtkrieger: Das liegt an dem DONTSAVEOBJECT im Script. Das verhindert, das irgendwelche Änderungen an ihm gespeichert werden. Sobald der Händler die Zelle verlässt, wird er wieder auf Anfang zurückgesetzt.
    Ich hba mir das Script nicht genau angeguckt, aber probier einfach mal diese Zeile wegzulassen.
     
  14. ReneMiner

    ReneMiner Bürger

    Nicht ganz: Es wird jedesmal eine neue Instanz des NPC's vor den Spieler gesetzt. Mit Editor-Ausgangs-Einstellungen. Warum hast Du nicht gesagt das Du einen Händler willst?

    Dann musst Du das anders machen und den NPC als persistent markieren.
    Stell ihn im Editor an einem Ort auf an dem Du ihn treffen willst.
    Da er bestimmt magische Items oder Kleidungsstücke verkauft gib ihm das Amulett in's Inventar ( am Besten -2 Stück - so hat er immer Nachschub und kann maximal eins selbst anlegen)

    An den NPC brauchst Du kein Script zu machen. Das Beschwör-Script brauchst DU hiersu auch nicht und das AmulettAuszieh--Script auch nicht.

    Mach also mal ein neues Amulett, mach eine Verzauberung drauf, z.B. festigen Feilschen 10000 Punkte für 1 Sekunde bei BENUTZEN- das ist wichtig. Gib dem Amulett einen schönen Namen- z.B. "Amulett des Magischen Handels" und eine nette ID, ist egal. Aber den NPC nenn ich jetzt für's Beispiel wieder "meinNPC"

    begin RufeHaendler

    ; script an ein verzaubertes Kleidungsstück machen
    ; Zauber muss Wirkung bei Benutzen haben
    ; "meinNPC" muss vorher aufgestellt und persistent markiert sein
    ; er darf nicht in eine Zelle gesetzt werden die der Spieler vor Einsatz
    ; des PlugIns schonmal betreten haben könnte

    short OnPCEquip
    short PCSkipEquip

    set PCSkipEquip to 1
    if ( OnPCEquip )
    set OnPCEquip to 0
    "MeinNPC"-> ForceGreeting
    endif

    end


    Gib dem NPC das Amulett zum Verkaufen ins Inventar. Wichtig ist das der Spieler das Amulett erst bekommt nachdem der Spieler dem NPC begegnet ist.

    Der Zauber daran ist: Das Amulett kann durch einfachen Klick auf den Namen im Magiemenu aktiviert werden und es wird dem Spieler kein anderes Amulett dafür ausgezogen weil er dieses nicht anlegen kann...
     
    Lichtkrieger gefällt das.
  15. The Nici

    The Nici Gebannter Benutzer

    Travel Package. Unter AI zu finden.
    Für das musst du aber noch Waypoints setzen. Es gibt aber Tutorials dafür.
     
  16. Yves

    Yves Bürger

    Wo zum beispiel
     
  17. The Nici

    The Nici Gebannter Benutzer

  18. The Nici

    The Nici Gebannter Benutzer

    Ich suche ein Script der nach einer gewissen Anzahl von Schlägen darauf ein tor öffnet. Also eigentlich eine Steuerkonsole die zerstört werden muss^^
     
  19. ReneMiner

    ReneMiner Bürger

    Erstelle eine neue Rasse so das Du einen unsichtbaren NPC erstellen kannst.

    Diesen NPC stell im Editor vor dem Tor auf und gib ihm Lebensenergie so viel sich nur eintragen lässt und in etwa so ein Script wenn Du das Teil mit einer beliebigen Waffe zerschlagen willst:

    begin HaueZählen

    short OnPCHitMe
    short gehauen

    ;damit er nicht davonläuft:
    skipanim

    if ( OnPCHitMe )

    setHealth 1000000000000000000000000 ; naja ganz so viel wird nicht gehen, aber eben maximum...

    ; diese Zeile nur wenn es mit einer bestimmten Waffe sein soll:
    ; if ( Player-> HasItemEquipped "ID_bestimmteWaffe )

    set Gehauen to Gehauen +1

    if ( Gehauen >= 5 )
    ; also nach mindestens 5 Schlägen
    disable ;schaltet sich der NPC ab
    ; messagebox "Ihr habt 5 mal zugeschlagen"
    ;"EchteKiste"-> Disable
    ;"KaputteKiste"-> Enable
    endif

    ; diese Zeile nur wenn es mit einer bestimmten Waffe sein soll:
    ;endif

    endif

    end

    RichtigeKiste und KaputteKiste beziehen sich auf die Steuerkonsole bzw. da musst Du eben einsetzen was sich ändern soll...
     
    Zuletzt bearbeitet: 22. Dezember 2006
  20. Teridan

    Teridan Mr. Morrowind 2007

    Ich muss wohl richtig blöd sein, denn ich bekomme das einfachste Script nicht hin. Also, ich möchte, dass sich eine Wand anhand der X-Achse im Raum bewegt, also einfach nur zur Seite fährt, wenn ich sie aktiviere. Doch leider bewegt sich der Gegenstand nicht, was mache ich falsch? Hier das Script:

    Begin Mara_HiddendoorScript

    if ( GetJournalIndex XXXXX >= 15 )
    if ( onactivate == 1 )
    Journal XXXXX 40
    PlaySound "Door Stone Open"
    MoveWorld, x, 1000
    endif
    endif

    End Mara_HiddendoorScript
     
  21. Werbung (Nur für Gäste)
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden