[Tutorial] Notepad++ Papyrus Setup

E

Ehemaliger Benutzer

Gast
Der langen Rede kurzer Sinn. Kopiert den Text von hier in eine leere Textdatei und speichert diese als =>Papyrus.xml. Anschliessend kopiert Ihr diese nach

\Notepad++\plugins\APIs

Anschliessend kopiert ihr euch für das Syntax Highlightning folgenden Text und speichert ihn als PapyrusSyntax.xml

Code:
<NotepadPlus>
    <UserLang name="Papyrus" ext="psc">
        <Settings>
            <Global caseIgnored="yes" />
            <TreatAsSymbol comment="yes" commentLine="yes" />
            <Prefix words1="no" words2="no" words3="no" words4="no" />
        </Settings>
        <KeywordLists>
            <Keywords name="Delimiters">&quot;00&quot;00</Keywords>
            <Keywords name="Folder+">Event Function If State While</Keywords>
            <Keywords name="Folder-">EndEvent EndFunction EndIf EndState EndWhile Native</Keywords>
            <Keywords name="Operators">- ! % &amp; ( ) * , . / [ ] | + &lt; = &gt;</Keywords>
            <Keywords name="Comment">1{ 2} 0;</Keywords>
            <Keywords name="Words1">abs acos Activate Add AddAchievement AddDependentAnimatedObjectReference AddForm AddHavokBallAndSocketConstraint AddInventoryEventFilter AddItem AddPerk AddShout AddSpell AddToFaction AddToMap AdvanceSkill AllowBleedoutDialogue AllowPCDialogue Apply ApplyCrossFade ApplyHavokImpulse asin atan AttachAshPile BlockActivation CalculateEncounterLevel CalculateFavorCost CanFastTravelToMarker CanPayCrimeGold CaptureFrameRate Cast Ceiling CenterOnCell CenterOnCellAndWait Clear ClearArrested ClearDestruction ClearExtraArrows ClearForcedMovement ClearKeepOffsetFromActor ClearLookAt ClearPrison ClearTempEffects CloseUserLog CompleteAllObjectives CompleteQuest cos CreateDetectionEvent DamageActorValue DamageAV DamageObject DBSendPlayerPosition DebugChannelNotify DegreesToRadians Delete DeleteWhenAble Disable DisableNoWait DisablePlayerControls Dispel DispelAllSpells DispelSpell DoCombatSpellApply DropObject DumpAliasData Enable EnableAI ENableFastTravel EnableFastTravel EnableNoWait EnablePlayerControls EndFrameRateCapture EquipItem EquipShout EquipSpell EvaluatePackage FadeOutGame FailAllObjectives FastTravel FindClosestActor FindClosestReferenceOfAnyTypeInList FindClosestReferenceOfType FindRandomActor FindRandomReferenceOfAnyTypeInList FindRandomReferenceOfType FindWeather Fire Floor ForceActive ForceActorValue ForceAddRagdollToWorld ForceAV ForceFirstPerson ForceLocationTo ForceMovementDirection ForceMovementDirectionRamp ForceMovementRotationSpeed ForceMovementRotationSpeedRamp ForceMovementSpeed ForceMovementSpeedRamp ForceRefTo ForceRemoveRagdollFromWorld ForceStart ForceTargetAngle ForceTargetDirection ForceTargetSpeed ForceThirdPerson GameTimeToString Get GetActorBase GetActorOwner GetActorReference GetActorValue GetActorValuePercentage GetAlias GetAngleX GetAngleY GetAngleZ GetAnimationVariableBool GetAnimationVariableFloat GetAnimationVariableInt GetAssociatedSkill GetAt GetAV GetAverageFrameRate GetAVPercentage GetBaseActorValue GetBaseAV GetBaseObject GetBribeAmount GetBudgetCount GetBudgetName GetCasterActor GetClass GetClassification GetCombatState GetCombatTarget GetConfigName GetCrimeFaction GetCrimeGold GetCrimeGoldNonViolent GetCrimeGoldViolent GetCurrentBudget GetCurrentDestructionStage GetCurrentGameTime GetCurrentLocation GetCurrentMemory GetCurrentPackage GetCurrentRealTime GetCurrentScene GetCurrentStageID GetCurrentWeather GetCurrentWeatherTransition GetDeadCount GetDialogueTarget GetDistance GetEditorLocation GetEquippedItemType GetEquippedShield GetEquippedShout GetEquippedSpell GetEquippedWeapon GetFactionOwner GetFactionRank GetFactionReaction GetFavorPoints GetFlyingState GetForcedLandingMarker GetForm GetFormID GetGameSettingFloat GetGameSettingInt GetGameSettingString GetGiftFilter GetGoldAmount GetGoldValue GetHeadingAngle GetHeight GetHigestRelationshipRank GetHighestRelationshipRank GetInfamy GetInfamyNonViolent GetInfamyViolent GetItemCount GetItemHealthPercent GetKey GetKeywordData GetKiller GetLength GetLevel GetLeveledActorBase GetLightLevel GetLinkedRef GetLocation GetLockLevel GetLowestRelationshipRank GetMass GetMaxFrameRate GetMinFrameRate GetNoBleedoutRecovery GetNthLinkedRef GetOpenState GetOutgoingWeather GetOwningQuest GetParentCell GetPlatformName GetPlayer GetPlayerControls GetPlayerGrabbedRef GetPlayersLastRiddenHorse GetPositionX GetPositionY GetPositionZ GetRace GetReaction GetRealHoursPassed GetReference GetRefTypeAliveCount GetRefTypeDeadCount GetRegard GetRelationshipRank GetReputation GetScale GetSex GetSitState GetSize GetSkyMode GetSleepState GetStage GetStageDone GetState GetStolenItemValueCrime GetStolenItemValueNoCrime GetTargetActor GetTemplate GetTriggerObjectCount GetValue GetVersionNumber GetVoiceRecoveryTime GetVoiceType GetWidth GetWorldSpace GoToState GtLockLevel HasAssociation HasCommonParent HasEffectKeyword HasFamilyRelationship HasForm HasKeyword HasLOS HasMagicEffect HasMagicEffectWithKeyword HasNode HasParentRelationship HasPerk HasRefType HasSpell HideTitleSequenceMenu IgnoreFriendlyHits IncrementSkill IncrementSkillBy IncrementStat InterruptCast Is3DLoaded IsActionComplete IsActivateChild IsActivateControlsEnabled IsActivationBlocked IsActive IsAlarmed IsAlerted IsAllowedToFly IsArrested IsArrestingTarget IsAttached IsBleedingOut IsBribed IsCamSwitchControlsEnabled IsChild IsCleared IsCommandedActor IsCompleted IsDead IsDetectedBy IsDisabled IsDoingFavor IsEquipped IsEssential IsEuiped IsFactionInCrimeGroup IsFastTravelEnabled IsFightingControlsEnabled IsFlying IsFurnitureInUse IsFurnitureMarkerInUse IsGhost IsGuard IsHostile IsHostileToActor IsIgnoringFriendlyHits IsInCombat IsInDialogueWithPlayer IsInFaction IsInInterior IsInKillMove IsInMenuMode IsInterior IsIntimidated IsInvulnerable IsJournalControlsEnabled IsLoaded IsLockBroken IsLocked IsLookingControlsEnabled IsMapMarkerVisible IsMenuControlsEnabled IsMovementControlsEnabled IsObjectiveCompleted IsObjectiveDisplayed IsObjectiveFailed IsPlayerExpelled IsPlayersLastRiddenHorse IsPlayerTeammate IsPlaying IsProtected IsRunning IsSameLocation IsSneaking IsSneakingControlsEnabled IsSprinting IsStageDone IsStartin IsStarting IsStopped IsStopping IsTrespassing IsUnconscious IsUnique IsWeaponDrawn IsWordUnlocked KeepOffsetFromActor Kill KillSilent KnockAreaEffect LearnAllEffects LearnEffect LearnNextEffect Lock MessageBox ModActorValue ModAV ModCrimeGold ModFactionRank ModFavorPoints ModFavorPointsWithGlobal ModReaction ModRegard MoveTo MoveToInteractionLocation MoveToMyEditorLocation MoveToNode MoveToPackageLocation MoveToWhenUnloaded Mute Notification OpenInventory OpenUserLog OverBudget PathToReference Pause PlaceActorAtMe PlaceAtMe Play PlayAndWait PlayAnimation PlayAnimationAndWait PlayerKnows PlayerMoveToAndWait PlayerPayCrimeGold PlayGamebryoAnimation PlayIdle PlayIdleWithTarget PlayImpactEffect PlaySubGraphAnimation PlaySyncedAnimationAndWaitSS PlaySyncedAnimationSS PlayTerrainEffect PopTo pow PrecacheCharGen PrecacheCharGenClear ProcessTrapHit PushActorAway QueryStat QuitGame QuitToMainMenu RadiansToDegrees RandomFloat RandomInt RegisterForAnimationEvent RegisterForLOS RegisterForSingleLOSGain RegisterForSingleLOSLost RegisterForSingleUpdate RegisterForSingleUpdateGameTime RegisterForSleep RegisterForTrackedStatsEvent RegisterForUpdate RegisterForUpdateGameTime ReleaseOverride RemoteCast Remove RemoveAddedForm RemoveAllInventoryEventFilters RemoveAllItems RemoveCrossFade RemoveDependentAnimatedObjectReference RemoveFromAllFactions RemoveFromFaction RemoveHavokConstraints RemoveInventoryEventFilter RemoveItem RemovePerk RemoveShout RemoveSpell RequestAutoSave RequestModel RequestSave Reset ResetHealthAndLimbs ResetHelpMessage RestoreActorValue RestoreAV Resurrect Revert Say SendAnimationEvent SendAssaultAlarm SendPlayerToJail SendStealAlarm SendStoryEvent SendStoryEventAndWait SendTrespassAlarm SendWereWolfTransformation ServeTime Set SetActive SetActorCause SetActorOwner SetActorValue SetAlert SetAllowFlying SetAlly SetAlpha SetAngle SetAnimationVariableBool SetAnimationVariableFloat SetAnimationVariableInt SetAttackActorOnSight SetAV SetBeastForm SetBribed SetCameraTarget SetCleared SetCrimeFaction SetCrimeGold SetCrimeGoldViolent SetCriticalStage SetCurrentStageID SetDestroyed SetDoingFavor SetEnemy SetEssential SetFactionOwner SetFactionRank SetFogPlanes SetFogPower SetFootIK SetForcedLandingMarker SetFrequency SetGhost SetGodMode SetHeadTracking SetHudCartMode SetInChargen SetINIBool SetINIFloat SetINIInt SetINIString SetInstanceVolume SetIntimidated SetInvulnerable SetKeywordData SetLockLevel SetLookAt SetMotionType SetNoBleedoutRecovery SetNoFavorAllowed SetNotShowOnStealthMeter SetObjectiveCompleted SetObjectiveDisplayed SetObjectiveFailed SetOpen SetOutfit SetPlayerAIDriven SetPlayerControls SetPlayerEnemy SetPlayerExpelled SetPlayerReportCrime SetPlayerResistingArrest SetPlayerTeammate SetPosition SetProtected SetPublic SetRace SetRaction SetReaction SetRelationshipRank SetRestrained SetScale SetSittingRotation SetStage SetUnconscious SetValue SetVehicle SetVoiceRecoveryTime SetVolume ShakeCamera ShakeController Show ShowAsHelpMessage ShowBarterMenu ShowFirstPersonGeometry ShowGiftMenu ShowRaceMenu ShowRefPosition ShowTitleSequenceMenu ShowTrainingMenu sin SplineTranslateTo SplineTranslateToRefNode sqrt Start StartCannibal StartCombat StartFrameRateCapture StartObjectProfiling StartScriptProfiling StartStackProfiling StartTitleSequence StartVampireFeed Stop StopCombat StopCombatAlarm StopInstance StopObjectProfiling StopScriptProfiling StopStackProfiling StopTranslation TakeScreenshot tan TeachWord TetherToHorse ToggleAI ToggleCollisions ToggleMenus Trace TraceConditional TraceStack TraceUser TranslateTo TrapSoul TriggerScreenBlood TryoEnable TryToAddToFaction TryToDisable TryToKill TryToMoveTo TryToRemoveFromFaction TryToReset TryToStopCombat UnequipAll UnEquipItem UnequipItem UnequipShout UnequipSpell UnLockOwnedDoorsInCell UnlockWord UnMute UnPause UnregisterForAnimationEvent UnregisterForLOS UnregisterForSleep UnregisterForTrackedStatsEvent UnregisterForUpdate UnregisterForUpdateGameTime UpdateCurrentInstanceGlobal UsingGamepad Wait WaitForAnimationEvent WaitGameTime WaitMenuMode WillIntimidateSucceed WornHasKeyword</Keywords>
            <Keywords name="Words2">OnActivate OnAnimationEvent OnAttachedToCell OnBeginState OnCellAttach OnCellDetach OnCellLoad OnClose OnCombatStateChanged OnContainerChanged OnDeath OnDying OnDestructionStageChanged OnDetachedFromCell OnEffectFinish OnEffectStart OnEndState OnEnterBleedout OnEquipped OnGainLOS OnGetUp OnGrab OnHit OnInit OnItemAdded OnItemRemoved OnLoad OnLocationChange OnLockStateChanged OnLostLOS OnMagicEffectApply OnObjectEquipped OnObjectUnequipped OnOpen OnPackageChange OnPackageEnd OnPackageStart OnRaceSwitchComplete OnRead OnRelease OnReset OnSell OnSleepStart OnSleepStop OnStoryActivateActor OnStoryAddToPlayer OnStoryArrest OnStoryAssaultActor OnStoryBribeNPC OnStoryCastMagic OnStoryChangeLocation OnStoryCraftItem OnStoryCrimeGold OnStoryCure OnStoryDialogue OnStoryDiscoverDeadBody OnStoryEscapeJail OnStoryFlatterNPC OnStoryHello OnStoryIncreaseLevel OnStoryIncreaseSkill OnStoryInfection OnStoryIntimidateNPC OnStoryJail OnStoryKillActor OnStoryNewVoicePower OnStoryPayFine OnStoryPickLock OnStoryPlayerGetsFavor OnStoryRelationshipChange OnStoryRemoveFromPlayer OnStoryScript OnStoryServedTime OnStoryTrespass OnTrackedStatsEvent OnTranslationAlmostComplete OnTranslationComplete OnTranslationFailed OnTrapHit OnTrapHitStart OnTrapHitStop OnTrigger OnTriggerEnter OnTriggerLeave OnUnequipped OnUnload OnUpdate OnUpdateGameTime OnWardHit</Keywords>
            <Keywords name="Words3">Action Activator ActiveMagicEffect Actor ActorBase Alias Ammo Apparatus Armor AssociationType Book Cell Class ConstructibleObject Container Debug Door EffectShader Enchantment EncounterZone Explosion Faction Flora Form FormList Furniture Game GlobalVariable Hazard Idle ImageSpaceModifier ImpactDataSet Ingredient Key Keyword LeveledActor LeveledItem LeveledSpell Light Location LocationAlias LocationRefType MagicEffect Math Message MiscObject MusicType ObjectReference Outfit Package Perk Potion Projectile Quest Race ReferenceAlias Scene Scroll Shout SoulGem Sound SoundCategory Spell Static TalkingActivator Topic TopicInfo Utility VisualEffect VoiceType Weapon Weather WordOfPower WorldSpace</Keywords>
            <Keywords name="Words4">As Auto AutoReadOnly Bool Conditional Debug Else ElseIf EndProperty Extends False Float Game Global Hidden Import Int Length New None Parent Property Return ScriptName Self String True Utility</Keywords>
        </KeywordLists>
        <Styles>
            <WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="FOLDEROPEN" styleID="12" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" />
            <WordsStyle name="FOLDERCLOSE" styleID="13" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" />
            <WordsStyle name="KEYWORD1" styleID="5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" />
            <WordsStyle name="KEYWORD2" styleID="6" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="1" />
            <WordsStyle name="KEYWORD3" styleID="7" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="1" />
            <WordsStyle name="KEYWORD4" styleID="8" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" />
            <WordsStyle name="COMMENT" styleID="1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="3" />
            <WordsStyle name="COMMENT LINE" styleID="2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="2" />
            <WordsStyle name="NUMBER" styleID="4" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="OPERATOR" styleID="10" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" />
            <WordsStyle name="DELIMINER1" styleID="14" fgColor="000000" bgColor="FFFF00" fontName="" fontStyle="2" />
            <WordsStyle name="DELIMINER2" styleID="15" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="DELIMINER3" styleID="16" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
        </Styles>
    </UserLang>
</NotepadPlus>

Nun Importiert ihr diese über Sprachen =>Eigene Sprache definieren =>Importieren in den Editor und speichert es als "Papyrus".

Als nächstes drückt F5 und teilt Notepad++ den Pfad zum Compiler in eurem Sykrim Verzeichnis mit:

"Installations Pfad zu \Steam\steamapps\common\skyrim\Papyrus compiler\ScriptCompile.bat" $(FILE_NAME)

zum Beispiel:

G:\Progamme
oder
C:\Program Files(x86)

Speichert dies mit einem sinnvollen Shortcut Namen => Papyrus Compiler.

Als letztes müsst ihr noch den Pfad innerhalb der ScriptCompile.bat an den euerer Skyrim Installation anpassen. Zum Beispiel:

"G:\Programme\Steam\SteamApps\Common\Skyrim\Papyrus Compiler\PapyrusCompiler.exe" %1 -f="TESV_Papyrus_Flags.flg" -i="G:\Programme\Steam\SteamApps\Common\Skyrim\Data\Scripts\Source" -o="G:\Programme\Steam\SteamApps\Common\Skyrim\Data\Scripts"

Thats it. Ihr könnt nun eurer Skripte ohne das CK erstellen und compilieren.
Die Skript Quelltexte werden unter Data\Scripts\Source gespeichert, die compilierten Skripte befinden sich einen Ordner höher.
Vergesst dabei nicht, dass der Dateiname EXAKT so wie der Name des Skripts lauten muss.


Autovervollständigung:

Sollte bei euch Autovervollständigung noch nicht aktiviert sein, könnt ihr dies unter

Einstellungen=>Optionen=>Sicherheitskopie/Autovervollständigung nachholen.



Wem dass nach zuviel Fachchinesisch klingt, kann sich hier eine etwas ausführlichere Version des Tuts zu Gemüte führen.
 
Zuletzt bearbeitet von einem Moderator:
Danke für das Tutorial. Die Einrichtung hat bei mir soweit geklappt, ich kann Scripts schreiben/bearbeiten und speichern und bekomme die Scripts auch im CK angezeigt (nach Aktualisierung), allerdings funktioniert das Kompilieren noch nicht. Wenn ich den Compiler ausführe, passiert nichts. Wenn ich die "ScriptCompile.bat" alleine ausführe, bekomme ich die Fehlermeldung

Code:
[...]
No output generated for -f=TESV_Papyrus_Flags.flg
[...]
Failed on -f=TESV_Papyrus_Flags.flg

was wohl daran liegen wird, dass ich in diesem Fall nichts kompiliere. Der angegebene Pfad in dieser Datei ist allerdings korrekt und normalerweise sollte ich doch von Notepad oder vom CK eine Meldung bekommen, oder nicht?
 
Voraussetzung ist aber zwingend die aktuelle Notepad Plus Version.
Denn gerade gestern wollte ich das auch mithilfe des englischen CK Wikis machen und musste feststellen, das es in meiner Version von Notepad Plus den Import Button garnicht gibt. Nach einem Update ging dann aber alles gut.

Und damit der Post auch noch einen wirklichen Sinn erfüllt gleich noch eine Frage.
Im englischen Wiki wird vor bösartigem Code in der Papyrus.xml gewarnt und man solle diese nicht ausführen weil sonst das System kompromittiert wird.
Das las ich aber leider erst nachdem ich die Datei dort anklickte und sie im Firefox geladen wurde. Wusste nicht, das der Download nur über "Ziel speichern" funktioniert. Habe ich mir nun mein System kompromittiert? Bin da etwas verunsichert, obwohl mir die Logik sagt, das eine einfache Anzeige im Firefox nicht bedenklich sein sollte.
 
Dank dafür :)
Ich kann die PapyrusSyntax.xml nicht unter 'Papyrus' speichern.
Fehler: Der Name wird von einer anderen Sprache verwendet.

Mach ich etwas falsch?

Edit: Hat sich erledigt, es sieht so aus als wurde das ganze beim Import bereits gespeichert.

Vielleicht kann man noch hinzufügen das man unter 'einstellungen/optionen/Datei-verknüpfungen' '.psc' eintragen kann um die Scripts per doppelklick zu öffnen.
 
Zuletzt bearbeitet:
Danke für das Tutorial. Die Einrichtung hat bei mir soweit geklappt, ich kann Scripts schreiben/bearbeiten und speichern und bekomme die Scripts auch im CK angezeigt (nach Aktualisierung), allerdings funktioniert das Kompilieren noch nicht.

Dann hast du entweder beim der "Execute" Shortcut oder in der ScriptCompile.bat entweder ein " Vergessen / zuviel (wie ich) oder einen Tippfehler drin.
 
Es tut mir ja aufrichtig Leid wenn ich nerven muss. Aber auch mir ist es nicht möglich ein Script mit notepad++ zu kompilieren. Die Batchdatei wird korrekt, aus dem Script heraus, ausgeführt. Also ist soweit alles klar. Nur dann kommt diese Fehlermeldung.

D:\Programme\Office\Notepad++>"D:\Games\Steam\SteamApps\Common\Skyrim\Papyrus Co
mpiler\PapyrusCompiler.exe" -f="TESV_Papyrus_Flags.flg" -i="D:\Games\Steam\Stea
mApps\Common\Skyrim\Data\Scripts\Source" -o="D:\Games\Steam\SteamApps\Common\Sky
rim\Data\Scripts"
Starting 1 compile threads for 1 files...
Compiling "-f=TESV_Papyrus_Flags.flg"...
<unknown>(0,0): unable to locate script -f=TESV_Papyrus_Flags.flg
No output generated for -f=TESV_Papyrus_Flags.flg, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on -f=TESV_Papyrus_Flags.flg

D:\Programme\Office\Notepad++>pause
Drücken Sie eine beliebige Taste . . .

Hier noch der Inhalt meiner Batchdatei:

"D:\Games\Steam\SteamApps\Common\Skyrim\Papyrus Compiler\PapyrusCompiler.exe" %1 -f="TESV_Papyrus_Flags.flg" -i="D:\Games\Steam\SteamApps\Common\Skyrim\Data\Scripts\Source" -o="D:\Games\Steam\SteamApps\Common\Skyrim\Data\Scripts"
pause

Wie man sieht wurde sie editiert, die Pfade sind korrekt. Es hat irgendwie den Anschein als ob der Compiler versucht eine "-f=TESV_Papyrus_Flags.flg" zu kompilieren, die überhaupt nicht vorhanden ist. Würde mich über einen Tipp, was da falsch läuft, freuen.

PS.: Es hat jetzt doch geklappt. :-D Hatte vergessen in Notepad, in der Kommandozeile, anzugeben daß auch die aktuelle Datei übergeben werden soll so daß der Kompiler natürlich keine Datei zum kompilieren gefunden hat. Mein Fehler. Außerdem gehört diese Angabe zur flg-Datei ans Ende der Zeile und daß ich auch dort einen Pfad angeben muß hätte ja vielleicht auch ruhig in der ck-wiki stehen können.

Nun ja, wie dem auch sei, habe jetzt erfolgreich mein erstes Script mit notepad kompiliert.

Aj ja, korrekt sieht die Batch-Datei dann so aus.

"D:\Games\Steam\SteamApps\common\Skyrim\Papyrus Compiler\PapyrusCompiler.exe" %1 -i="D:\Games\Steam\SteamApps\common\Skyrim\Data\Scripts\Source" -o="D:\Games\Steam\SteamApps\common\Skyrim\Data\Scripts" -f="D:\Games\Steam\SteamApps\common\Skyrim\Data\Scripts\Source\TESV_Papyrus_Flags.flg"
pause
 
Zuletzt bearbeitet:
Aj ja, korrekt sieht die Batch-Datei dann so aus.


"D:\Games\Steam\SteamApps\common\Skyrim\Papyru s Compiler\PapyrusCompiler.exe" %1 -i="D:\Games\Steam\SteamApps\common\Skyrim\Data\Scr ipts\Source" -o="D:\Games\Steam\SteamApps\common\Skyrim\Data\Scr ipts" -f="D:\Games\Steam\SteamApps\common\Skyrim\Data\Scr ipts\Source\TESV_Papyrus_Flags.flg"
pause

Dies funktioniert dagegen bei mir nicht. Der Compiler spuckt bei zum Schluss angehängten Flags eine ganze Serie Fehlermeldungen aus. Sowohl aus der Batchdatei heraus, wie auch direkt über CMD.

Code:
"G:\Programme\Steam\SteamApps\Common\Skyrim\Papyrus Compiler\PapyrusCompiler.exe" %1 -f="TESV_Papyrus_Flags.flg" -i="G:\Programme\Steam\SteamApps\Common\Skyrim\Data\Scripts\Source" -o="G:\Programme\Steam\SteamApps\Common\Skyrim\Data\Scripts"

Warum muss es bei dir anders angeordnet werden muss, dass wäre interessant zu wissen.
 
Keine Ahnung warum das so ist. Vielleicht liegt es auch am Betriebssystem. Habe Windows 7 64 Bit.

Habe, nachdem ich hier gepostet habe, natürlich noch weiter nach einer Lösung gesucht. Auf die Idee die Angabe zur flag ans Ende zu setzen brachte mich dieser Artikel aus der ck-wiki und eben die Fehlermeldung aus meinem vorherigen posting der zu entnehmen ist daß der Compiler versucht die "-f=TESV_Papyrus_flags.flg" zu kompilieren.

Die Idee dann noch den kompletten Pfad zur flg-datei anzugeben gab mir ein Thread aus dem Ei der Zeit - glaube auf jeden Fall daß es dort war. Ist auch logisch. Die Datei befindet sich bei mir im Source-Ordner und dort konnte Windows sie ohne komplette Pfadangabe nicht finden.
 
Hey ich habe ein Problem. Ich habe die Installation befolgt und das Notepad++ speichert auch die scripte unter dem Ordner "Source" ab als .psc. Allerdings wird mein Script nicht im CK angezeigt. Kann mir jemand helfen?
 
Schönes Tutorial, aber warum habt ihr nicht reingestellt bzw. gesagt das Notepad++ sogar eine Autovervollständigenfunktion hat. Somit korrigiert er sogar die Scripts: Die Autocomplete Datei ist hier: http://www.creationkit.com/Papyrus_Autocomplete

Den Inhalt markieren und als XML ebenfalls unter den API Ordner reinkopieren dann unter Einstellungen-Optionen auf Registerkartei Sicherungskopie/Autovervollständigen klicken und ein Häckchen bei Aktiviere Autovervollständigung somit fügt Notepad++ undefinierte Variablen etc. selbstständig hinzu.

Ich Zitiere:
[h=3]Autocomplete[/h]
  1. Open up Notepad++
  2. Copy the content from this page into a new file: Papyrus Autocomplete Language Definitions
  3. Save the new file as papyrus.xml in your Notepad++\plugins\APIs directory (for example, C:\Program Files (x86)\Notepad++\plugins\APIs)
  4. In the Backup/Auto-Completion tab of the Preferences window of Notepad++ (under Settings), tick the "Enable auto-completion on each input" and configure the feature to work how you want.
    Currently, a portion of the functions have parameter information defined, so if you tick "Function parameters hint on input" you will see more information when typing these functions.
 
Zuletzt bearbeitet:
Schönes Tutorial, aber warum habt ihr nicht reingestellt bzw. gesagt das Notepad++ sogar eine Autovervollständigenfunktion hat.

Ups.

Ja, dass hatte ich gleich zu Anfang gemacht und dann vergessen. Als "fortgeschrittener Benutzer" nimmt man manchmal Sachen als selbstverständlich an, auf die ein Anfänger gar nicht erst kommt.

Ich habe es im Tut hinzugefügt. Danke für den Hinweis.
 
Nicht einfach umbenennen, sondern wirklich kompilieren.
Ich persönlich erstelle immer im CK ein neues Skript und öffne es dann mit Notepad++. Dann musst du dir keine Gedanken über Import machen...
 
  • Like
Reaktionen: Xenos
Manchmal ist mir zum weinen zu Mute, wenn ich mir dieses Forum anschaue.

Xenos, du musst die Skripte kompilieren. Meine Beschreibung war wohl etwas zu kurz und bündig.

Öffne im CK den ScriptManager: Gameplay=>Papyrus Script Manager und suche dir aus der Liste deines raus. Mach einen Rechtsklick darauf und wähle Compile. Sollten sich in der Quelltext Datei (*.psc )Fehler eingeschlichen haben, macht dich der Compiler mit einem Warnfenster darauf aufmerksam. Ansonsten erzeugt er die ausführbare Skriptdatei (*.psx), die du dann an dein Objekt hängen kannst.

Btw. Dein Quelltext (*.psc) sollte sich dazu im Ordner Skyrim\Data\Scripts\Source befinden.
 
Ich könnte mir dir Haare rausreisen. Ich habe es jetzt zig mal versucht. Und ich schaff es einfach nicht..

Ich habe folgegen .bat Pfade benutzt:
1. Den wie ich ihn aus dem Tutorial hier oder auf dem Wiki entnehme
Code:
"C:\ProgramFiles(x86)\Steam\SteamApps\Common\Skyrim\Papyrus Compiler\PapyrusCompiler.exe" %1 -f="TESV_Papyrus_Flags.flg" -i="C:\ProgramFiles(x86)\Steam\SteamApps\Common\Skyrim\Data\Scripts\Source" -o="C:\ProgramFiles(x86)\Steam\SteamApps\Common\Skyrim\Data\Scripts"

2. Die Version von Anjar
Code:
"C:\ProgramFiles(x86)\Steam\SteamApps\common\Skyrim\Papyrus Compiler\PapyrusCompiler.exe" %1 -i="C:\ProgramFiles(x86)\Steam\SteamApps\common\Skyrim\Data\Scripts\Source" -o="C:\ProgramFiles(x86)\Steam\SteamApps\common\Skyrim\Data\Scripts" -f="C:\ProgramFiles(x86)\Steam\SteamApps\common\Skyrim\Data\Scripts\Source\TESV_Papyrus_Flags.flg" 
pause

Hier mein Pfad den ich für die ScriptCompile.bat brauche im Notepad++
Code:
"C:\Program Files (x86)\Steam\steamapps\common\skyrim\Papyrus compiler\ScriptCompile.bat" $(FILE_NAME)

Ich finde einfach den blöden Fehler nicht. Ich suche und suche. Jedesmal bekomm ich beim Ausführen "Shift+F5" im CMD die meldung das der Pfad nicht gefunden wird.

Die Sprache wurde auch richtig ins Notepad ++ Importiert. Aber daran kann es ja eigentlich auch nicht liegen.


EDIT: Es geht. Endlich geht es. Zwar per Umwege aber immerhin :)
 
Zuletzt bearbeitet:
Als allererstes mal ein großes Danke für dieses Turorial!:)

Allerdings habe ich mich nun, ich habe Skyrim auf Win7/64Bit installiert, doch ein wenig schwer getan, das alles hinzubekommen. Es hat 2 Stunden gedauert, um draufzukommen, dass mein Fehler einzig ein fehlendes Leerzeichen war, und zwar jeweils zwischen "Files" und "(x86)"
Da es hier leider auch nicht steht, poste ich einfach mal die exakte Eingabe für Win7, vielleicht hilft es ja dem einen oder anderen von euch:
Compile Bat:
"C:\Program Files (x86)\Steam\SteamApps\Common\Skyrim\Papyrus Compiler\PapyrusCompiler.exe" %1 -f="TESV_Papyrus_Flags.flg" -i="C:\Program Files (x86)\Steam\SteamApps\Common\Skyrim\Data\Scripts\Source" -o="C:\Program Files (x86)\Steam\SteamApps\Common\Skyrim\Data\Scripts"
pause
Und was mir aufgefallen war, ist, dass bei mir die Reihenfolge irgendwie anders war. Erst als beim Aktivieren der Compile Bat alles ok war, konnte ich im Notepad unter F5 die "Papyrus Compiler" -Zeile eintragen. Vorher klappte es einfach nicht.
 
C:\Program Files (x86)\Steam\SteamApps\Common\Skyrim\Papyrus Compiler\PapyrusCompiler.exe" %1

Du musst die Pfade an den deiner Steam Installation anpassen, dann klappt es auch mit dem Compiler. Dass zuerst der in der BAT Datei passen muss, bevor NP++ diese nutzen kann versteht sich von selber.

Meine sieht sogar noch ein wenig anders aus, da ich zudem noch ein externes Verzeichnis für die Source Dateien (*.psc) habe.
 
Zuletzt bearbeitet von einem Moderator: