Jump to content

CK question


ghowriter

Recommended Posts

New to Skyrim and to the creation kit. I dont have the script thing installed and would prefer not to for the time being. Let me adjust to the vanilla before trying to install extras.

 

Anyway, disappointed with the game and how fast we level, I am in the creation kit trying to impose some kind of mod to reduce skill leveling by 50%. I have looked through the files and CK and I think I figured out how B did the boosts for the stones (thief, warrior, and mage) and I can imply duplicate those effects and change the multiplier. I am confused how the effect is applied to the player character as a permanent constant effect. From what I am seeing, they're using spells and they apply a specific named effect with no variable so either it's hardcoded or I'm missing something.

 

Please don't send me links to sites with tutorials on scripting. I've likely visited a hundred such sites in two days and found most, if not all, utterly useless. If it cannot be done in the creation kit as a constant fire and forget effect then I'll discard the notion.

 

I've even duplicated a perk that would actually do what I want if I could find some way to give the perk automatically. I won't use the console.

 

Thanks id advance. I look forward to any response.

Link to comment
Share on other sites

The doom stones cast an ability type spell whose magic effect adds a perk to the player. Magic effects associated with an ability spell persist while the ability remains active on the player. And perks applied by a magic effect remain in place for as long as the magic effect is active. Thus when the doom stone ability is changed the current perk gets removed and the new one added.

 

You could duplicate the doom stone setup, by placing a new instance of the doom stone (or any static object for that matter), and having it apply your custom spell / magic effect / perk combo when activated. Which would require a little bit of scripting on the activator to allow it to cast the ability spell. The existing script would not work as it is tailored to work specifically with the doom stones.

 

But how to adapt that to a spell that the player casts, I am unsure.

 

It would be possible to add an enchantment to a piece of gear (a ring for example) that would apply the magic effect / perk combo. As long as the piece of gear was worn, the perk would remain in place. Thus you could reduce leveling when performing certain activities and increase leveling when doing others should you so choose.

Link to comment
Share on other sites

Thanks I was kind of hoping to apply it automatically at character creation. I figured out how to give abilities and such from looking at the race list. Just cannot figure how to auto give a perk at all and nothing I've tried has worked. (No indication in active effects.) I even made my own custom race and this would be the final ability to make her viable.
Link to comment
Share on other sites

  • 2 weeks later...

12 days now and still no answer.... I know you people don't like to share the info I am needing and the resourses onlike detailing script are ambigeous at best, totally wrong in most cases. I finally got CK to actually let me into the script editor... of course, now I have to find the correct method to send a single command to the game engine....

 

Game.GetPlayer().AddPerk(MyPerkToAdd)

 

that's all I want it to do but, of course, it fails to compile. I am not new to scripting. I did a lot of it in NWN using NWScript so I know this script needs something more. I've reviewed over a thousand scripts and most, if not all, use an OnEvent() function. Is there a list of events I can review to properly assign one? Not that I can see. It's no wonder this game has died with the entire modding community refusing to share information like this. At least the NWN community isn't so closed minded about things.

 

I am hoping someone, anyone, can lend even a hint at a tidbit of info concerning this but I dont expect it. Not based on what I am seeing from the community.

 

Script as is now (edited to keep my names mine)....:

----------------------------------------------
Scriptname ActorXYZ extends ObjectReference
Game.GetPlayer().AddPerk(MyPerkToAdd) ; I make the perk already
----------------------------------------------
And this is the compiler response:
----------------------------------------------
Starting 1 compile threads for 1 files...
Compiling "ActorXYZ"...
%PATH_OMITTED%\Skyrim Special Edition\Data\Source\Scripts\temp\ActorXYZ.psc(2,4): no viable alternative at input '.'
No output generated for ActorXYZ, compilation failed.
Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on ActorXYZ
----------------------------------------------
I am not asking anyone to write the script, I am asking for a reference to the format required for the compiler to understand what it is I am trying to do.
In NWScript I would have to make it a function,
void main()
{
script commands would go here;
}
I believethis would be similar but I'll be buggered if I can fins ANY info about it. People just assume that if we're trying to script we know how to script. THey ALL forget that they once had to learn how it all worked.
Edited by ghowriter
Link to comment
Share on other sites

I used the Creation Kit wiki pages when learning how to script. I would also use a search engine online and preface what I wanted to do with "Creation Kit" and often times be given links to pages on the Creation Kit wiki. The Creation Kit wiki is where a lot of the information is located. It is not perfect and can be lacking at times. However, it is better than nothing. All stock Papyrus functions and events have pages. Many but not all SKSE functions and events have pages. https://www.creationkit.com/index.php?title=Category:Papyrus Locate a function or event that you want to know more about, click the link. Syntax, an example and in some cases additional information will be provided.

 

You will need an event that gets triggered by the game in order to run the code that you want. You need to think about when you want it to run. Do you want it to start when the game starts? Do you want it to run when the player interacts with something?

 

I surmise that you want code to run during or just after character creation as you want a specific perk applied to the player character.

I would probably use a start game enabled quest that adds it immediately at game start with a check to ensure that the character does not have it before adding it. I would then use SKSE functions and events to catch when the character creation screen is closed and check the player for the perk and add as needed.

 

This method would cover the times that the user adds the mod mid-game as well as for new games.

 

script on start game enabled quest:

 

 

Scriptname QuestXYZ extends Quest

;**** Properties and local variable defintions ***
Perk Property MyPerkToAdd Auto

;**** Stock Events ****
Event OnInit()
  RegisterForMenu("RaceSex Menu")
  CheckForAndAddPerkAsNeeded(Game.GetPlayer(),MyPerkToAdd)
EndEvent

;**** SKSE Events ****
Event OnMenuClose(String MenuName)
  If MenuName == "RaceSex Menu"
    CheckForAndAddPerkAsNeeded(Game.GetPlayer(),MyPerkToAdd)
  EndIf
EndEvent

;**** Custom Function(s) ****
Function CheckForAndAddPerkAsNeeded(Actor myActor, Perk myPerk)
   If !myActor.HasPerk(myPerk) ;does not have perk
    myActor.AddPerk(myPerk) ; add perk
  EndIf
EndFunction 

Link to comment
Share on other sites

I do appreciate the response. It's currently tied to an OnEffect or something like that. It shows in acive effects but I suspect it's not doing what it's supposed to. It's supposed to reduce all XP from skill jumps by 50% but I cannot tell if this is true. I gave up on it. I've searched Google and has 15 tabs of the wifi opened and didnt find even a sliver of info directly or indirectly related to what I was trying to accomplish. Maybe I'll look into running a mini quest on game start but it's not meant for mid game saves since the perk and associated abilities are tied to a custom race.

 

I will not, however, install SKSE again. It requires a mod manager which I refuse to install. It also has too many requirements and/or dependencies to make it worthwhile. I had it installed along with racemenu and the xpme (likely wrong acronym) for skeleton mods. Never could get any of it working and I followed all the directions to the letter with the exception of installing a third party mod organizer which is likely why.

 

Installing all those made my insanely expensive and fast PC run this game like it was twenty years old. FPS was at an all time low of 10 - 15 and CPU was at 100% all the time. The game was totally unstable with more than a dozen CTD in the first hour alone. No, I'll pass on SKSE and the like for now. This incident did teach me to back up my mods though, something I ought to have known. I deleted everything in the data folder and let Steam redownload the game files and had to start my mod over. No big deal, it's always fun to lose three weeks of work to stupidity and it was that indeed.

 

Still, thank you so much for the reply here and the attempt to help. I should have noted that I wouldn't reinstall SKSE. If it cannot be done without that, I don't need it. :smile:

 

EDIT: My scripting issue was due to the scripts folder having been deleted. I uninstalled CK and deleted it's INI which forced it to behave as if a first run which restored the scripts folder. (I ought to note that this was noted on several forums but not one of those posts had the required folder path right.) Go figure.

Edited by ghowriter
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...