Skriptthread zum Creation Kit

Dieses Thema im Forum "[Skyrim] Creation Kit" wurde erstellt von Eldarie, 2. Oktober 2011.

  1. blackHawk

    blackHawk Abenteurer

    Ist das wahr? Wenn ja, habe ich zwei Fragen:

    1. Gibtes neben "AddItem" noch eine Alternative?

    2. Wie könnte man den Patch 1.6 deinstallieren?

    Was ich erreichen möchte:

    Nach einem Dialog soll der Spieler 10 Gold zahlen und einen Schlüssel erhalten.
     
    Zuletzt bearbeitet: 11. August 2013
  2. Kahmul

    Kahmul Angehöriger

    Dein Schlüssel ist kein "Container". Daher erübrigt sich das. Ich glaube, du hast vergessen, die Properties zu füllen. Außerdem, worauf liegt das Skript überhaupt? Es scheint ja auf einem Objekt zu liegen; wenn dieses geladen wird, wird das Skript ausgeführt. Ist es das was du willst? Denn dann läuft das Skript nur einmal.
     
  3. blackHawk

    blackHawk Abenteurer

    Was genau meinst du mit "Properties füllen"? Meinst du die Properties im Script zu schreiben, oder ist noch ein weiterer Schritt nötig? Compile funktioniert, keine Fehlermeldung.

    Also eigentlich will ich folgendes:

    Das Script sollte man auf den Vermieter oder auf die Quest legen können.
     
  4. xXBlackWorkXx

    xXBlackWorkXx Abenteurer

    Hallöchen an alle,
    ich bin ziemlich neu in der Modding Geschichte und ganz besonders mit Scripten, weil ich mich damit fast gar nicht auskenne, sonder nur manches verstehe. Aber ich wollte hier trotzdem mal nach 2 Scripts fragen.

    Zum erstem Script, ich weiß nichtmal ob ich dafür ein Script benötige allerdings habe ich nichts in den anderen Einstellungen gefunden. Auf jeden fall habe ich einen NPC erstellt und in eine Höhle platziert. In dieser Höhle befinden sich Käfige die teilweise auch abgeschlossen sind (auch der, wo mein NPC drin ist). Diese Käfige werden von Zufalls generierten Banditen (teilweise irgendwas wie z.b. "LvlBanditMessis" oder so) "bewacht".
    Wenn ich nun aber in die Höhle reingehe wird mein NPC angegriffen, was natürlich klar ist, da er ein Feind für die Banditen ist. Dieser NPC gehört einer Quest an und ich wollte es so machen, dass ich ihn retten muss.
    Wie stelle ich das nun ein oder mit welchem Script kann ich es schaffen, dass die Banditen meinen NPC sozusagen "ignorieren" oder evtl. als Gefangenen ansehen und ihn nicht töten wollen? Ich hatte schon versucht ein Relationship für NPC und Banditen zu erstellen, nur kann man da leider keine Banditen auswählen.


    Zum zweiten Script, welches auch wieder mit meiner Quest zu tun hat. Und zwar habe ich eingestellt, dass ein Bandit mich angreift und wenn ich ihn getötet habe ich eine Notiz in seiner Leiche finde. Diese Notiz soll mithilfe eines Scriptes abhängig eines vorher entschiedenen Ereignis jeweils verändert werden bzw. einen anderen Inhalt an Text in sich stehen haben.
    Also, wenn ich eine Frage mit einer Lüge beantwortet habe, dann soll etwas anderes in der Notiz drin stehen, als wenn ich die Wahrheit sagen würde. Ist das möglich?

    Vielen Dank für jegliche Hilfe! :)

    - xXBlackWorkXx
     
    Zuletzt bearbeitet: 25. August 2013
  5. Little Ice

    Little Ice Abenteurer

    Zu deinem ersten Problem wäre afaik nur ein Erstellen/Zuweisen, einer gemeinsamen Faction
    notwendig.
    Über eine Queststage, so dein NPC den Banditen gegenüber danach erneut als Feind gesehen werden soll,
    müsste dieser Zustand wieder aufgehoben werden.

    Dein zweites Problem wird wahrscheinlich nur mit einem Skript zu lösen sein, welches ich dir leider
    nicht bieten kann.
    Jedoch würde ich, als Lösungsansatz, so viele Notizen erstellen, wie es auch Antworten gibt und sie
    über ein Skript nach jeweiliger Entscheidung des Spielers, zur Leiche hinzufügen lassen.
    Wie gesagt, ist nur ein Lösungsansatz.

    MfG
     
  6. xXBlackWorkXx

    xXBlackWorkXx Abenteurer

    Hm, ok dann werde ich mal schauen ob ich da etwas finde, das mir auch nützt ^^

    Zum zweiten muss ich dir recht geben, genau so hatte ich es auch vor, nur ich weiß ja leider nicht genau wie ich das machen soll, ob mit Script oder ohne :D
     
  7. Amkaos

    Amkaos Abenteurer

    Hey,
    ich bräuchte bitte ein Script das folgendes Bewirken soll:
    Also das Objekt dient als Tür von Zelle 1 zu Zelle 2 aber gleichzeitig auch von Zelle 2 zu Zelle 3. Is sch.. zu beschreiben wie wenn ich mit einer Tür in wahlweise in zwei verschiedene Zellen kommen würde. Vlt. ne Messege Box anzeigen die z.B

    "Möchtet ihr nach Zelle 1 oder Zelle 2?"
    "1" "2"

    Hat jemand eine Idee?:?:
    Nem ich dafür ne Tür und schmeis das Script drauf, oder brauch ich nen Activator?:(
     
  8. Amkaos

    Amkaos Abenteurer

    Hat keiner eine Idee oder einen Vorschlag wie ich vorgehen sollte. :?
     
  9. Hier mein Vorschlag: erstelle eine Message mit den beiden Auswahlmöglichkeiten und platziere 2 XMarkerHeading an den jeweiligen Zielorten.

    Das Skript sollte sowohl mit einer Door als auch mit Activator funktionieren (Properties zuweisen nicht vergessen;)).
    Code:
    Scriptname TestSkript extends ObjectReference
    
    ObjectReference Property TeleportMarker01 auto
    ObjectReference Property TeleportMarker02 auto
    Message Property TeleportMessage auto
    Actor Property PlayerRef auto
    
    Event OnActivate(ObjectReference akActionRef)
        if akActionRef == PlayerRef
            int Auswahl = TeleportMessage.Show()
            if Auswahl == 0
                PlayerRef.MoveTo(TeleportMarker01)
            elseif Auswahl == 1
                PlayerRef.MoveTo(TeleportMarker02)
            else
                Debug.MessageBox("Hier stimmt was nicht")
            endif
        endif
    EndEvent
    Der Nachteil bei MoveTo ist, dass es nur den Spieler teleportiert, nicht die Begleiter. Alternativ dazu könntest du auch mal die Funktion FastTravel antesten.
     
    Amkaos gefällt das.
  10. Amkaos

    Amkaos Abenteurer

    Funzt alles 1000 DANK :hail:
     
  11. blackHawk

    blackHawk Abenteurer

    Hi, ich suche nach einem Befehl.

    Es ist so, ich will, das wenn ein MiscObject im Menü angeklickt wird, ein Script ausgeführt wird. Jedoch habe ich dazu noch kein passendes Event gefunden. OnEquipped fällt weg, da man MiscObjects nicht ausrüsten kann. Hat jemand ne Idee? Thanks
     
  12. raanubis

    raanubis Fremdländer

    Hi,

    OnGrab, bzw OnActivate sollte dir hier weiterhelfen.
     
  13. Sammael666

    Sammael666 Abenteurer

    Hallo ich brauche ein ganz einfaches Skript. Aber das was ich bis jetzt Probiert habe funktionierte nicht.

    Ich möchte das wenn ich objekt Schwert1 ausrüste dann ein Zauber hinzugefügt werden soll. Und wenn es nicht mehr ausgerüstet ist dann soll der Zauber nicht mehr vorhanden sein.

    PHP:
    ScriptName T1 Extends ObjectReference

    Event OnEquipped
    (Actor akActor)
      if(
    akActor == game.getplayer())
        
    akActor.addspell(<01Tspell1>)
      endif
    EndEvent

    Event OnUnEquipped
    (Actor akActor)
      if(
    akActor == game.getplayer())
        
    akActor.removespell(<01Tspell1>)
      endif
    EndEvent
    Aber ich kann es nicht compliemieren. Es kommt immer bei den CK failed.

    Und wie kann ich es schreiben das ab LEVEL 7 noch ein Zauber hinzugefügt wird. Also gleich 2 aufeinmal? Die dann natürlich auch gleich wieder enfernt werden wenn die Waffe abgelegt wird.

    Danke im vorraus.
     
  14. Kahmul

    Kahmul Angehöriger

    Code:
    Scriptname T1 extends ObjectReference
    
    Spell Property T1spell auto
    Spell Property T1spellLevel7 auto
    
    Event OnEquipped(Actor akActor)
      if(akActor == game.getplayer())
        akActor.addspell(T1spell)
        if(akActor.getLevel() >= 7)
            akActor.addspell(T1spellLevel7)
        endif
      endif
    EndEvent
    
    Event OnUnEquipped(Actor akActor)
      if(akActor == game.getplayer())
        akActor.removespell(T1spell)
        if(akActor.hasSpell(T1spellLevel7))
            akActor.removespell(T1spellLevel7)
        endif
      endif
    EndEvent  
    
    Die Properties musst du dann eben noch mit den gewünschten Zaubern füllen.
     
  15. Sammael666

    Sammael666 Abenteurer

    Also wenn ich es bei C++ reinkopiere unter welchen datei Typ soll es abgespeichert werden?

    Es kommt gleich wieder failed als fehler im CK.
     
    Zuletzt bearbeitet: 29. Oktober 2013
  16. Kahmul

    Kahmul Angehöriger

    Was? Hier geht's doch gar nicht um C++.
     
  17. Sammael666

    Sammael666 Abenteurer

    Ich habe es bei C++ reinkopiert. Und als Txt gespeichert. Dann selbst die endung in .psc geändert. Und im CK unter Gamply -> Compile Papyrus Script dieses Script angklickt um es zu Complimieren. Da kommt jetzt immer failed.

    Hier das fertige Script:

    PHP:
    Scriptname T1 extends ObjectReference

    Spell Property 01Tspell1 auto
    Spell Property 01Tspell2 auto

    Event OnEquipped
    (Actor akActor)
      if(
    akActor == game.getplayer())
        
    akActor.addspell(01Tspell1)
        if(
    akActor.getLevel() >= 7)
            
    akActor.addspell(01Tspell2)
        endif
      endif
    EndEvent

    Event OnUnEquipped
    (Actor akActor)
      if(
    akActor == game.getplayer())
        
    akActor.removespell(01Tspell1)
        if(
    akActor.hasSpell(01Tspell2))
            
    akActor.removespell(01Tspell2)
        endif
      endif
    EndEvent
     
    Zuletzt bearbeitet: 29. Oktober 2013
  18. Kahmul

    Kahmul Angehöriger

    Warum machst du es so umständlich? Du kannst auch einfach Notepad benutzen. Noch dazu macht es doch mehr Sinn, das Skript gleich im Fenster deiner Waffe zu erstellen und es direkt auf sie zu legen. Außerdem wäre die Fehlermeldung auch noch hilfreich. Mit "CK failed" kann ich nichts anfangen.
     
  19. Sammael666

    Sammael666 Abenteurer

    Ja da hast du recht. Hatte irgendwie einen Schreibefehler im Script. Hat jetzt funktioniert. Danke vielmals

    So zurück. Jetzt kann ich das Script auf das Schwert legen aber die Zauber werden nicht hinzugefügt???
     
    Zuletzt bearbeitet: 29. Oktober 2013
  20. Kahmul

    Kahmul Angehöriger

    Dann hast du die Properties nicht gefüllt.
     
  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