Jump to content

ReDragon2013

Members
  • Posts

    640
  • Joined

  • Last visited

Nexus Mods Profile

About ReDragon2013

Profile Fields

  • Country
    Germany
  • Favourite Game
    Skyrim

ReDragon2013's Achievements

Proficient

Proficient (10/14)

  • First Post
  • Collaborator Rare
  • Posting Machine Rare
  • Conversation Starter
  • Week One Done

Recent Badges

0

Reputation

  1. I finally go through the papyrus source code and I was really astonished about this construct Function Update_HAC_Spells(Spell akSpell) string s = akSpell.GetName() ; get the spell name as string StorageUtil.SetFormValue(None, s, akSpell as Form) ; Make sure that the spell name string is mapped to the correct formid StorageUtil.StringListAdd(None, "HAC_Spells", s, False) ; Add a new spell name to stringlist with allowdupes == FALSE EndFunction(1) Next code line makes no sense, should be removed! StorageUtil.SetFormValue(None, s, akSpell as Form) ; Make sure that the spell name string is mapped to the correct formid(2) We know its not possible to have a duplicated spell by creation process, so we take the default value StorageUtil.StringListAdd(None, "HAC_Spells", s) ; Add a new spell name to stringlist with allowdupes == TRUEversion 10 with threading For race specific spells, you have to create a formlist which has the vanilla spells. If DLCs or other mods should have such spells you can look for mod loaded by GeFormFromFile() and add such spell to list on the fly by using this https://www.creationkit.com/index.php?title=AddForm_-_FormList Sometimes it makes a different in runtime to use Utility.Wait() in functions and/or events. (3) maybe its faster to use this SKSE native spell function instead to get the MagicEffect of spell and check for ME.castingtype() ; return the base magicka cost of the spell int Function GetMagickaCost() native
  2. version 9 like Sphered gave us the hint. https://www.creationkit.com/index.php?title=GetNthSpell_-_Actor About version 8:
  3. Like Sphered wrote anything to reduce the spell array entries and is fast in runtime would speed up your stringlist creation. You wrote: "And I can't for the life of me figure out why....." Not every script change is always the way in the right direction. As you know "Trial and Error" is the way to go. So I was thinking about my theory in version 6 and 7 and come to this. version 8 consists of 3 scripts its70_PlayerAliasGlobal its70_PlayerAliasScriptExtender its70_PlayerAliasScript
  4. I changed the code from version 6 and add to the same posting of mine version 7.
  5. I do not have any experience with skyui event management. suggestion version 6a What is new? Try to get speed up by using two threads to create the final stringlist, required more conditions, more code and more script variables Be warned it's an approach, not fully tested! In theory we could run three threads at time without using "futures or callbacks". https://www.creationkit.com/index.php?title=Creating_Multithreaded_Skyrim_Mods suggestion version 7 required some debugging to calculate the right counter conditions for the loops !!
  6. suggestion version 5 What is new? - OnSpellLearned() got own thread handling - You should try, if its useful to make "string s" as script variable instead of function variable! - The conditions in main loop has been changed. Maybe useful for speed up!
  7. as Sphered wrote: this code int i i = i + 1do the same as next code int i i += 1BUT, what is better to understand? Keep in mind there is no different in papyrus executable script. wiki link: https://www.creationkit.com/index.php?title=Statement_Reference version 3 for code optimization version 4 for studying, it is creating the formlist first and the stringlist after
  8. (1) Keep in mind: If I rewrite the papyrus code I thought something about it. My version do the same, but is faster code. If (akSpell) && akSpell.GetNthEffectMagicEffect(0).GetCastingType() ; get the first MagicEffect of the spellyour version If (akSpell) && akSpell.GetNthEffectMagicEffect(0).GetCastingType() > 0 ; get the first MagicEffect of the spell(2) about event handling, try this: (3) Its surely faster to store only one formlist like "HAC_SpForms" and create a temporary Stringlist like "HAC_Spells" on th fly, if its recomended by MCM menu. But without to see code dependencies its a hint only.
  9. IA710 wrote: "Any suggestions are welcome." Maybe you remember to an older MCM posting, I wrote similiar 'use functions to separate code and reduce redundancy'. I think the use of "HAC_PlSpellForms" does not make sense. Link to storageutil papyrus source: https://github.com/Vicyntae/SCLSE/blob/master/Data/Source/Scripts/StorageUtil.psc My optimizations as follow:
  10. Hmm.. to get them work you have to change the script from extending objectReference into actor (I edited my previous posting)! But that is out of "good coding practice" for the player or any other unique vanilla actor. https://www.creationkit.com/index.php?title=OnObjectEquipped_-_Actor So we have to change the whole script as follow. https://www.creationkit.com/index.php?title=OnEquipped_-_ObjectReference colo_FluidAnimationScript v2
  11. or this way by using google search "skyrim OSA" you'll find https://www.nexusmods.com/skyrim/mods/76744?tab=files download the archive: OSA-Plus Preview 1
  12. (1) you wrote: "I'm VERY NEW to scripting." Well.. a reason, but no thank you or any other good sign of you. I am really disappointed, in older days your postings were called "script kiddies"! original scriptnames DF_Script_Trophy_Base.psc DF_Script_Trophy_Misc.psc DF_Script_Trophy_Activator.pscmy scriptnames wilw_Trophy_Base.psc wilw_Trophy_Misc.psc wilw_Trophy_Activator.psc (oRef as wilw_Trophy_Activator).myF_Init(i) ; <-- By changing script name adjust here !!!your scriptnames cg_Trophy_Base.psc cg_Trophy_Misc.psc cg_Trophy_Activator.psc (oRef as cg_Trophy_Activator).myF_Init(i) ; <-- By changing script name adjust here !!!(2) you wrote: "how do i make a spoiler tag" Did you have a brain? If yes, use an internet web searcher or the forum search function (right on top).
  13. DF_Script_Trophy_Activator wilw_Trophy_Activator Advantage you do not have to deal with a lot of "X axis position of the X-Marker".
  14. Sometimes its a good idea to use spoiler tags and its always fine to post a link where to find the original scripts. Keep it in mind! mod: "Ressource Pack" made by Darkfox127 https://www.nexusmods.com/skyrim/mods/79519?tab=files video: "Creation Kit (Custom Trophy Stands)", How to create multiple trophies? https://www.youtube.com/watch?v=-4igxAUcJ3A The trophy creation is using next three scripts. 1 - DF_Script_Trophy_Base.psc 2 - DF_Script_Trophy_Misc.psc 3 - DF_Script_Trophy_Activator.pscAt first do not use the scriptnames (from above) provided by ressource pack. Make it unique enough like next: wilw_Trophy_Base.psc wilw_Trophy_Misc.psc wilw_Trophy_Activator.pscNow I changed the original scripts in some code parts to make it easier to handle. You have to use an array and also to create a formlist. DF_Script_Trophy_Base wilw_Trophy_Base DF_Script_Trophy_Misc wilw_Trophy_Misc
  15. As Sphered already mentioned: What ever you do, do never use x, y or z as variable or property names within scripts of type objectreference! Its caused by vanilla script "ObjectReference.psc", so the papyrus compiler handles x as self.X etc.
×
×
  • Create New...