Skriptthread zum Creation Kit

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

  1. Sammael666

    Sammael666 Abenteurer

    -------------kann gelöscht werden-----------
     
    Zuletzt bearbeitet: 5. November 2013
  2. Sammael666

    Sammael666 Abenteurer

    Hallo ich habe einen Zauber erstellt. Nun habe ich das Problem das wenn er ausgeführt wurde (klappt alles) das alle meine Waffen aus dem Inventar verschwinden. Auch wenn der Zauber vorbei ist kommen sie nicht wieder.

    Hat jemand eine Idee warum das so ist und wie ich es lösen kann?

    PHP:
    scriptName Dark extends activemagiceffect

    ;-- Properties --------------------------------------
    activator property PlacedActivator auto
    Armor property Armor1 auto
    Scene property RiseScene auto
    Idle property IdleWerewolfTransformation auto
    Idle property IdleStopLoose auto
    Idle property IdlePlayer auto
    Armor property Shield auto
    Spell property Swordspell auto

    ;-- Variables ---------------------------------------
    bool KeepUpdating true
    objectReference ActivatorRef
    form TargetActor

    ;-- Functions ---------------------------------------

    function 
    OnEffectFinish(Actor TargetActor Caster)

        
    Caster.removeitem(Armor1)
        
    Caster.removeitem(Shield)
        
    Caster.removespell(Swordspell)

    endFunction

    function OnEffectStart(Actor TargetActor Caster)
     

        if 
    Target.GetActorBase().GetSex() == 0
            Target
    .PlayIdle(IdleWerewolfTransformation)
            
    utility.wait(as float)
            
    Caster.additem(Armor1)
            
    Caster.equipItem(Armor1)
            
    Caster.additem(Shield)
            
    Caster.equipItem(Shield)
            
    Caster.addspell (Swordspell)
            
    Target.PlayIdle(IdleStopLoose)
        endIf
        if 
    Target.GetActorBase().GetSex() == 1
            Target
    .PlayIdle(IdleWerewolfTransformation)
            
    utility.wait(as float)
            
    Caster.additem(Armor1)
            
    Caster.equipItem(Armor1)
            
    Caster.additem(Shield)
            
    Caster.equipItem(Shield)
            
    Caster.addspell (Swordspell)
            
    Target.PlayIdle(IdleStopLoose)
        endIf
    endFunction

     
    Zuletzt bearbeitet: 5. November 2013
  3. Tywele

    Tywele Ehrbarer Bürger

    Ich meine die ganze Zeit, dass es sowas eigentlich geben müsste und ich das auch schon irgendwo gesehen habe im CKWiki, aber ich finde es einfach nicht mehr oder ich habe mich doch geirrt.
    Ich suche eine Funktion, die mir das Objekt liefert, welches der Spieler gerade ansieht. Also das Objekt, von dem gerade die Informationen im HUD angezeigt werden und der Spieler mit dem Fadenkreuz draufzeigt.
     
  4. Markas

    Markas Abenteurer

    Tywele gefällt das.
  5. Tywele

    Tywele Ehrbarer Bürger

    Ah danke, genau was ich gesucht habe. Muss ich wohl die ganze Zeit überlesen haben, als ich in der Kategorie nachgeschaut habe. :D
     
    Zuletzt bearbeitet: 6. Januar 2014
  6. bjoernret

    bjoernret Hausbruder

    Ich habe eine kleine Frage zu dem Befehl "resurrect": Wirkt der Befehl auch, wenn die Leiche des NPC's schon seit längerer Zeit verschwunden ist und wenn nein, wie kann ich einen solchen NPC per Script wiederbeleben?
     
  7. Oblvion_Member

    Oblvion_Member Angehöriger

    Vielleicht hilft dir dieser LINK und dieses Zitat weiter;

    Gruß
     
    bjoernret gefällt das.
  8. bjoernret

    bjoernret Hausbruder

    Die Konsole hilft mir leider nicht, da ich den Befehl in ein Script einbauen will. Den Befehl "prid" finde ich leider nicht unter den Script-Befehlen.
     
  9. Oblvion_Member

    Oblvion_Member Angehöriger

    Ich habe hier eine Diskussion (Englisch) gefunden wo es über dieses Thema ging: Klick

    Vllt hilft dir einer der Beiträge dort weiter.

    Gruß
     
  10. bjoernret

    bjoernret Hausbruder

    Mh, leider nicht. Mir geht es nicht um einen Begleiter, sondern um einen Non-Essential-Vanilla-NPC. Ich spiele gerade mit dem CK rum und probiere verschiedene Sachen aus, um mich mit ihm vertraut zu machen. Wenn sich eine Quest auf einen Non-Essential-Vanilla-NPC bezieht wäre es ja blöd, wenn dieser NPC tot wäre, denn dann könnte man die Mod ja nicht spielen. Um dieses Problem zu lösen hab ich ein Script geschrieben, dass beim ersten Start den entsprechenden NPC auf Essential stellt. Nun kann es aber auch vorkommen, dass der entsprechende NPC schon längere Zeit tot ist und die Leiche schon "aufgeräumt" wurde. Nun möchte ich per Script diesen leichenlosen NPC wiederbeleben/wieder ins Spiel bringen, damit der Spieler die Mod trotzdem spielen kann. Daher meine Frage.

    (Irgendwie ist das schwer zu beschreiben, selbst mir kommt mein Text etwas wirr vor :blink: )
     
  11. Oblvion_Member

    Oblvion_Member Angehöriger

    Und wie wäre es mit einem Spruch oder über andere NPC so wie hier: Klick ?

    Gruß
     
    bjoernret gefällt das.
  12. bjoernret

    bjoernret Hausbruder

    Danke, habs hinbekommen :)
     
  13. blackHawk

    blackHawk Abenteurer

    Hallo, hab ein kleines Problem.

    Ist eigentlich ganz simpel, einem Actor ein Package entfernen und dafür ein anderes hinzufügen. Leider habe ich noch nicht den richtigen Befehl oder die richtige Möglichkeit gefunden.
    Das Einzige wäre "RemoveScriptPackage", aber der Befehl scheint der falsche zu sein (Kann mich irren).
     
  14. Oblvion_Member

    Oblvion_Member Angehöriger

    Vielleicht hilft dir dies als Input: Klick

    Gruß
     
  15. blackHawk

    blackHawk Abenteurer

    Hi, vielen Dank für deine Antwort. Leider hat es mir nicht weitergeholfen, dennoch habe ich die Lösung gefunden. Es war eigentlich sehr einfach, ich konnte das mit den Conditions innerhalb der Packages und "Getstage" regeln. Ich muss aufhören an das CS von Oblivion zu denken...
     
  16. Tywele

    Tywele Ehrbarer Bürger

    Ich habe ein kleines Problem. Zwei besser gesagt:

    Screenshots

    Die Fehlermeldung im ersten Screenshot tritt auf, sobald ich auf Properties gehe.
    Wenn ich dann auf "OK" im Error Fenster klicke kann ich scheinbar ganz normal meine Properties zum Script hinzufügen.
    Die Fehlermeldung im zweiten Screenshot tritt auf, sobald ich ein Savegame fertig geladen habe, sobald ich auf "OK" geklickt habe, ist mein Widget ohne Probleme zu sehen.
    Aber das kann ja so nicht richtig sein, dass da 'ne Fehlermeldung kommt.

    Das dazu gehörige Script sieht folgendermaßen aus (es lässt sich ohne Fehlermeldung kompilieren):

    Code:
    Scriptname AttributeIconWidgetScript extends SKI_WidgetBase
    
    string function GetWidgetSource()
     return "AIW/attribute_icon_widget.swf"
    endFunction
    
    string function GetWidgetType()
     return "AttributeIconWidgetScript"
    endFunction
    
    event OnWidgetReset()
     parent.OnWidgetReset()
    endEvent
    Ich hoffe, jemand kann mir bei diesen Problemen helfen.

    Edit: Beide Probleme haben sich gelöst. Lösung zum ersten: Die kompilierten Scripte von SkyUI haben gefehlt. Lösung zum zweiten: Ich musste die Property "RequireExtend" auf false setzen.
     
    Zuletzt bearbeitet: 18. März 2014
  17. TripleBlade

    TripleBlade Fremdländer

    Per Script den Actor Name ändern

    Hi, ich benötige ein Script, dass den im Spiel angezeigten Namen eines Actors, wenn dieser von einem speziellen Zauberspruch getroffen wird, speichern soll.
    Danach soll dieser Name dann einem anderen Actor zugewiesen werden. Weiß jemand von euch, wie man das anstellt?
    mfg, TripleBlade
     
  18. bjoernret

    bjoernret Hausbruder

    Das müsste mit dem Befehl SetName funktionieren.
     
  19. TripleBlade

    TripleBlade Fremdländer

    Genau da liegt mein Problem. Ich bin beim Scripten mit dem Creation Kit und SKSE ein ziemlicher Neuling.
    Geht das in etwa so? Das Problem ist auch, dass ich einem zweiten NPC den Namen des ersten geben will.
    Code:
    Scriptname Renamertest extends ActiveMagicEffect
    
    actorbase PROPERTY thebaseactor AUTO
    
    thebaseactor =  akTarget.GetActorBase()
    thebaseactor.GetBaseObject.SetName("Bob")
    
    Also, in der Wiki heißt es ja, dass es mit einem Actor nicht geht, dafür aber mit einem BaseActor. Trotzdem gibt das Creation Kit mir beim kompilieren aus, dass SetName nicht existiert:
    Code:
    (32,14): SetName is not a function or does not exist
    
    Was mache ich falsch?
     
    Zuletzt bearbeitet: 15. März 2014
  20. bjoernret

    bjoernret Hausbruder

    Am besten fängst du mit ein paar Tutorials fürs Scripten an. Hier wird der Aufbau beschrieben. ;)

    Was dein Script angeht:

    Code:
    [COLOR=#111111]Scriptname Renamertest extends ActiveMagicEffect
    [/COLOR]
    ActorBase Property name auto
    ActorBase Property NPC auto
    
    Event OnEffectStart(Actor akTarget, Actor akCaster)
    name = akTarget.GetBaseObject().GetName()
    akTarget.GetBaseObject().SetName("Neuer Name")
    NPC.SetName(name)
    EndEvent
    
    Ich weiß nicht, ob das so richtig ist und funktioniert. Was das Scripten angeht, bin ich noch am lernen, aber es sollte als Basis dienen.
     
    TripleBlade gefällt das.
  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