DocClox Posted April 27, 2012 Posted April 27, 2012 Download This is the first SKSE release with papyrus support, which means that it's the first one we can use to script some of the cool stuff they add to the game [spoiler=Feature List] SKSE 1.5.4 Papyrus Functions Actor.psc - Get/SetCombatStyle - GetOutfit - Get/SetClass - GetWornForm Apparatus.psc - Get/SetQuality Armor.psc - Get/Set/ModArmorRating - Get/SetSlotMask - AddTo/RemoveFromSlotMask - GetMaskForSlot - Slot properties Cell.psc - GetNumRefs - GetNthRef CombatStyle.psc - Get/SetOffensiveMult - Get/SetDefensiveMult - Get/SetGroupOffensiveMult - Get/SetAvoidThreatChance - Get/SetMeleeMult - Get/SetRangedMult - Get/SetShoutMult - Get/SetStaffMult - Get/SetUnarmedMult - Get/SetMeleeAttackStaggeredMult - Get/SetMeleePowerAttackStaggeredMult - Get/SetMeleePowerAttackBlockingMult - Get/SetMeleeBashMult - Get/SetMeleeBashRecoiledMult - Get/SetMeleeBashAttackMult - Get/SetMeleeBashPowerAttackMult - Get/SetMeleeSpecialAttackMult - Get/SetAllowDualWielding - Get/SetCloseRangeDuelingCircleMult - Get/SetCloseRangeDuelingFallbackMult - Get/SetCloseRangeFlankingFlankMult - Get/SetCloseRangeFlankingStalkMult - Get/SetLongRangeStrafeMult - Get/SetFlightHoverChance - Get/SetFlightDiveBombChance - Get/SetFlightFlyingAttackChance Enchantment.psc - GetNumEffects - GetNthEffectMagnitude - GetNthEffectArea - GetNthEffectDuration - GetNthEffectMagicEffect - GetCostliestEffectIndex Form.psc - GetType - Get/SetName - Get/SetWeight - SetGoldValue - GetNumKeywords - GetNthKeyword FormType.psc - properties listing Form.GetType return values. Currently unusable. Ingredient.psc - GetNumEffects - GetNthEffectMagnitude - GetNthEffectArea - GetNthEffectDuration - GetNthEffectMagicEffect - GetCostliestEffectIndex Input.psc - IsKeyPressed - TapKey - HoldKey - ReleaseKey Keyword.psc - GetString Math.psc - Left/RightShift - LogicalAnd/Or/Xor/Not ObjectReference.psc - GetNumItems - GetNthForm - IsHarvested Outfit - GetNumParts - GetNthPart Potion.psc - IsFood - GetNumEffects - GetNthEffectMagnitude - GetNthEffectArea - GetNthEffectDuration - GetNthEffectMagicEffect - GetCostliestEffectIndex SKSE.psc - GetVersion - GetVersionMinor - GetVersionBeta - GetVersionRelease SoulGem.psc - GetSoulSize - GetGemSize Spell.psc - GetCastTime - GetPerk - GetNumEffects - GetNthEffectMagnitude - GetNthEffectArea - GetNthEffectDuration - GetNthEffectMagicEffect - GetCostliestEffectIndex StringUtl.psc - GetLength - GetNthChar - IsLetter/Digit/Punctuation/Printable - Find - Substring - AsOrd/Char Weapon.psc - Get/SetBaseDamage - Get/SetReach - Get/SetSpeed - Get/SetStagger - Get/SetWeaponType - Get/SetModelPath - Get/SetIconPath - Get/SetMessageIconPath Still a few things in the pipeline, but this is going to make some things a lot easier.
Guest Donkey Posted April 27, 2012 Posted April 27, 2012 This part looks disturbing : Installation of SKSE has now gotten more complex, as the extended .pex and .psc files must also now be installed. The .pex files in the Data\Scripts\ folder in the archive should be copied into the Data\Scripts\ folder of your Skyrim installation. If you want to write mods using the SKSE functions you need to also install the .psc files found in Data\Scripts\Source\ of the archive into Data\Scripts\Source in your installation. Witch means there is higher chance of errors when installing. overriding the wrong files etc.. Backups are now more importtant. Or you will be reinstalling this game allot more.
DocClox Posted April 27, 2012 Author Posted April 27, 2012 This part looks disturbing : Installation of SKSE has now gotten more complex' date=' as the extended .pex and .psc files must also now be installed. The .pex files in the Data\Scripts\ folder in the archive should be copied into the Data\Scripts\ folder of your Skyrim installation. If you want to write mods using the SKSE functions you need to also install the .psc files found in Data\Scripts\Source\ of the archive into Data\Scripts\Source in your installation.[/quote'] Witch means there is higher chance of errors when installing. overriding the wrong files etc.. Backups are now more importtant. Or you will be reinstalling this game allot more. Hard to see what else they could have done, though. The game needs the script stubs to access native functions from papyrus. Arguably they should be naming their scrpts as SKSE_foo.pex rather than foo.pex. Still, if they did that, they couldn't add new functions to classes like Actor. It's possibly not a good solution. But I think it may well be the best one given the alternatives.
Guest Donkey Posted April 27, 2012 Posted April 27, 2012 yes but here comes the problem. Let's say you create new mods who uses xy.pex you install another mod who also adds xy.pex but it totally different then what you created for this. So now you open your own mod again and continue where you left but then notice damn what happened to my script xy.pex that is not right. Noramlly when you install a mod xy.pex is not needed but after reading this installing xy.pex will be needed in the future. There has to be way to prevent your own source to be overitten or else you would get allot of incompatible mods. Unless i am missing the point here ?? The first animated prostitution installed all files included source directory. After the first release JoshNZ got allot of angry users saying that his mod killed there game. Even though normally anyone would have just extracted the file first to seperate directory then copy paste the needed file to skyrim\data minus the source directory. But seeing you now need the source it will be more difficult to keep track of it is really part of your mod or part of a different mod.
TheSmithsDog Posted April 27, 2012 Posted April 27, 2012 I don't know that modders scripts will or should be changing these so I don't really see a problem. User scripts would extend these like Scriptname pHernScript extends actor Conditional. I could be wrong but I don't see why mod scripts would touch these.
DocClox Posted April 27, 2012 Author Posted April 27, 2012 you install another mod who also adds xy.pex but it totally different then what you created for this. Mmmm. It's a concern for Papyrus generally though. Namespaces and classpaths would be a welcome addition to the language' date=' but meanwhile, the general consensus seems to be to include mod prefixes in file names. So instead of dostuff.psc, I'd create SSG_dostuff.psc. Admittedly, I'll still get problems if someone makes a mod called Sultry Sirens of Ghostgate and they also have a dostuff module, but generally the problem seems no worse than were naming clashes in Oblivion. But seeing you now need the source it will be more difficult to keep track of it is really part of your mod or part of a different mod. I think the source files are mainly there so that the Papyrus compiler knows the the APIs, and so you can inherit from them. I don't believe it's intended or required that modders should alter them.
TheSmithsDog Posted April 27, 2012 Posted April 27, 2012 you install another mod who also adds xy.pex but it totally different then what you created for this. Mmmm. It's a concern for Papyrus generally though. Namespaces and classpaths would be a welcome addition to the language' date=' but meanwhile, the general consensus seems to be to include mod prefixes in file names. So instead of dostuff.psc, I'd create SSG_dostuff.psc. Admittedly, I'll still get problems if someone makes a mod called Sultry Sirens of Ghostgate and they also have a dostuff module, but generally the problem seems no worse than were naming clashes in Oblivion. But seeing you now need the source it will be more difficult to keep track of it is really part of your mod or part of a different mod. I think the source files are mainly there so that the Papyrus compiler knows the the APIs, and so you can inherit from them. I don't believe it's intended or required that modders should alter them. What you're saying is correct in the sense of normal scripting but what SKSE seems to be doing is add stuff to top level objects, like actor, that modders shouldn't be touching anyway as they're native functions, ie in the game code. SKSE injects code and therefore can add native functions. The other script name stuff that modders do is inherited stuff is really irrelevant to what Donkey is complaining about. No user script should touch those top level objects as they don't inject code. I know this is probably not the best explanation, Friday and too much beer, but I hope you get what I'm saying. Edit: I get 404 when I try to DL the new SKSE.. Care to attach it so I can look? Edit2: Forget that.. Not to be uploaded to any other site.. I'll have to wait.
Guest Donkey Posted April 27, 2012 Posted April 27, 2012 Thanks for explaining. I was getting a bit worried since we already see people making aditions to vanilla scripts. Let's say you see one of those married mods they all seem to alter vanilla quest scripts so if you would install any of it while you working on your onw adittion there's will clash with your own now. Creating scripted events for companions will see this heavily if you make one for lydia all other mods who also alter lydia scripts will auto override your own now. So backups are neccessary now. previous scripting language din not see this. because scripts are only saved within the esp you made so this problem would not have occured with oblivion nor fallout games.
TheSmithsDog Posted April 27, 2012 Posted April 27, 2012 Thanks for explaining. I was getting a bit worried since we already see people making aditions to vanilla scripts. Let's say you see one of those married mods they all seem to alter vanilla quest scripts so if you would install any of it while you working on your onw adittion there's will clash with your own now. Creating scripted events for companions will see this heavily if you make one for lydia all other mods who also alter lydia scripts will auto override your own now. So backups are neccessary now. previous scripting language din not see this. because scripts are only saved within the esp you made so this problem would not have occured with oblivion nor fallout games. Yeah, you'll still get that conflicting modifying of vanilla scripts that make mods incompatible unfortunately.. Scripting did see this in older games, really the only difference is the scripts are external to the mods now. The changed scripts were part of the plugin before so it wasn't as obvious but they still made mods incompatible as the latest loaded mods scripts were used. The problem I see is that scripts are still within the mod in effect as they are in the BSA files that come with them. I find myself unpacking BSAs before I install mods, just to be sure. Edit: So it was a reasonable enough explanation? Edit2: For clarity
DocClox Posted April 27, 2012 Author Posted April 27, 2012 What you're saying is correct in the sense of normal scripting but what SKSE seems to be doing is add stuff to top level objects' date=' like actor, that modders shouldn't be touching anyway as they're native functions, ie in the game code. SKSE injects code and therefore can add native functions. The other script name stuff that modders do is inherited stuff is really irrelevant to what Donkey is complaining about. No user script should touch those top level objects as they don't inject code. [/quote'] Yeah. SKSE is an exception to the "don't modify vanilla classes, since they're adding new native functions and there's no other way to expose them to the scripting mechanism. Well, arguably they could make helper functions in a SKSE library, I suppose. But I'm inclined to cut them some slack on the basis that they constitute a special case. Edit2: Forget that.. Not to be uploaded to any other site.. I'll have to wait. Haven't had a chance to play with it myself yet. D.L seems to be working again though. Thanks for explaining. I was getting a bit worried since we already see people making aditions to vanilla scripts. Let's say you see one of those married mods they all seem to alter vanilla quest scripts so if you would install any of it while you working on your onw adittion there's will clash with your own now. Yeah' date=' it's bad practice since any mod that alters (say) actor.psc is going to conflict with every other mod that modifies actor.psc. Which doesn't mean that people aren't going to do it of course. Hopefully we'll see awareness of the problem rise as more people get burned by badly written mods. Creating scripted events for companions will see this heavily if you make one for lydia all other mods who also alter lydia scripts will auto override your own now. Thing is, you don't need to alter Actor to change AI. Start a quest, slap Lydia into a reference alias, and pile all the packages you want onto that alias. Her behavior changes, it can still work with other mods that affect her (at least if the packages are for different circumstances) and when the quest ends, her old behavior resumes. So backups are neccessary now. previous scripting language din not see this. because scripts are only saved within the esp you made so this problem would not have occured with oblivion nor fallout games. What we really need is a decent mod manager. Something that tracks scripts and source files as well as other assets. Don't know if anyone's got that far yet' date=' though. The changed scripts were part of the plugin before so it wasn't as obvious but they still made mods incompatible as the latest loaded mods scripts were used. I think that's about the size of it. It does mean that you can't manage which script executes based purely on load order though. On the other hand, that could be good thing too.
TheSmithsDog Posted April 27, 2012 Posted April 27, 2012 What you're saying is correct in the sense of normal scripting but what SKSE seems to be doing is add stuff to top level objects' date=' like actor, that modders shouldn't be touching anyway as they're native functions, ie in the game code. SKSE injects code and therefore can add native functions. The other script name stuff that modders do is inherited stuff is really irrelevant to what Donkey is complaining about. No user script should touch those top level objects as they don't inject code. [/quote'] Yeah. SKSE is an exception to the "don't modify vanilla classes, since they're adding new native functions and there's no other way to expose them to the scripting mechanism. Well, arguably they could make helper functions in a SKSE library, I suppose. But I'm inclined to cut them some slack on the basis that they constitute a special case. Edit2: Forget that.. Not to be uploaded to any other site.. I'll have to wait. Haven't had a chance to play with it myself yet. D.L seems to be working again though. Thanks for explaining. I was getting a bit worried since we already see people making aditions to vanilla scripts. Let's say you see one of those married mods they all seem to alter vanilla quest scripts so if you would install any of it while you working on your onw adittion there's will clash with your own now. Yeah' date=' it's bad practice since any mod that alters (say) actor.psc is going to conflict with every other mod that modifies actor.psc. Which doesn't mean that people aren't going to do it of course. Hopefully we'll see awareness of the problem rise as more people get burned by badly written mods. Creating scripted events for companions will see this heavily if you make one for lydia all other mods who also alter lydia scripts will auto override your own now. Thing is, you don't need to alter Actor to change AI. Start a quest, slap Lydia into a reference alias, and pile all the packages you want onto that alias. Her behavior changes, it can still work with other mods that affect her (at least if the packages are for different circumstances) and when the quest ends, her old behavior resumes. So backups are neccessary now. previous scripting language din not see this. because scripts are only saved within the esp you made so this problem would not have occured with oblivion nor fallout games. What we really need is a decent mod manager. Something that tracks scripts and source files as well as other assets. Don't know if anyone's got that far yet' date=' though. The changed scripts were part of the plugin before so it wasn't as obvious but they still made mods incompatible as the latest loaded mods scripts were used. I think that's about the size of it. It does mean that you can't manage which script executes based purely on load order though. On the other hand, that could be good thing too. I think you're misunderstanding me or beer != good for my reading skills. There is no point to anyone editing actor.psc(for eg) as it contains native(game engine) functions. No-one will edit it, it won't happen in normal circumstances. SKSE can because it adds new native functions. Actors is an object that other scripts use that editing would just break the game unless you inject code for what you add and normal mods just can't do that. Edit: Actors.psc could be seen as a library definition file that defines functions a library contains, adding crap the the file won't change what the library holds and will break the game unless, like skse, you inject the code for the new functions...
Princessity Posted April 28, 2012 Posted April 28, 2012 Aww it has all the functions except those I was hoping for ._. But I'm still very very happy that SKSE is finally adding papyrus functions! I was getting a little afraid that the new system made it impossible (or difficult like animations)
bradleyh Posted April 28, 2012 Posted April 28, 2012 The Data Files inside of the current SKSE download can be installed by BAIN. This is a known way to ensure that the original SKSE files do not get overwritten, and are always available for writing over a modders error.
demongoat Posted April 29, 2012 Posted April 29, 2012 interesting. this looks more and more like you will be able to script the possibility of swapping body meshes and clothing out on the fly. or does the CK allow that already? an undies underneath system would be cool, along with a break undies one.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.