Jump to content

[LE] Some scripting Tips? Making a auto sell stuff mod...


Recommended Posts

Thanks Dylbil. I will try this for sure. It is so confusing what to define or not really. Just look in C, when I used separate files for every function I made, I had to define everything in them, every time even. Talk about memory leaking.... ;) Defining loads of stuff most likely never used. :D At least Oblivion informs us when we defined something that we never are using. I test your script example tomorrow.

Link to comment
Share on other sites

  • Replies 82
  • Created
  • Last Reply

Top Posters In This Topic

That article did mention I must Import the Utility as one example to be able to use Wait or type Utility.wait as one example. Can it be something like that causing my errors?

 

I did not change your version of the script this time. I copied and pasted it as it is and the Compiler cannot find GetNumItems() nor UnRegisterForMenu and I made sure now again to copy EVERY script from the SKSE64 package, for v1.5.97 which is the game version I am using, so I use SKSE64 2.00.20

 

My Oblivion and Morrowind scripting knowledge means nothing really eight now. I have some real problems here now I guess as something is not working properly.

 

Scriptname PekSellChestSCR extends ObjectReference  
{The Script at the container}

ObjectReference ChestForm 


Event OnActivate (ObjectReference akActionRef)
    ChestForm = Self
    Debug.Notification ("This is "  + Self as String + ChestForm as String)
    
    MiscUtil.PrintConsole ("Chest is open")
    RegisterForMenu("ContainerMenu")
EndEvent

Event OnMenuClose(String menuName)
    If menuName == "ContainerMenu"
        UnRegisterForMenu("ContainerMenu")
        Int ItemsIndex = ChestForm.GetNumItems()
        MiscUtil.PrintConsole ("Chest is Closed, ItemCount = " + ItemsIndex as string )
        Int MyInt = MyCustomIntFunction() 
        Debug.Notification(MyInt)
    Endif 
EndEvent

Int Function MyCustomIntFunction()
    return 5 
EndFunction
I get these errors, and I should not get them really.

 

Starting 1 compile threads for 1 files...
Compiling "PekSellChestSCR"...
I:\The Elder Scrolls - Skyrim - Special Edition\Data\Source\Scripts\temp\PekSellChestSCR.psc(12,4): RegisterForMenu is not a function or does not exist
I:\The Elder Scrolls - Skyrim - Special Edition\Data\Source\Scripts\temp\PekSellChestSCR.psc(17,8): UnRegisterForMenu is not a function or does not exist
I:\The Elder Scrolls - Skyrim - Special Edition\Data\Source\Scripts\temp\PekSellChestSCR.psc(18,35): GetNumItems is not a function or does not exist
I:\The Elder Scrolls - Skyrim - Special Edition\Data\Source\Scripts\temp\PekSellChestSCR.psc(18,12): type mismatch while assigning to a int (cast missing or types unrelated)
No output generated for PekSellChestSCR, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on PekSellChestSCR

Lets peek at GetNumItems() - That function is inside the Data\Scripts\ObjectReference.pex and the source is in Data\Scripts\Source\ObjectReference.psc so the problem I have seems to be that something here is really screwed up? I get the impression I must import these functions in some way? Just look at the PrintConsole, as I got that one working after I typed MiscUtil.PrintConsole

 

In C we must include every header file in every Script and for every function we are using, from each specific precompiled source... It must be something here I really missed to do... I have not edited the ini settings.

Link to comment
Share on other sites

As this seems to be a technical problem, I sent an email to the SKSE team, as if someone can tell me what is wrong here, they can. This is now more of a technical issue than a modding issue.

Link to comment
Share on other sites

Dylbill. I did copy the whole Script folder to the Source folder, but I will try again, and do exactly what you did type now, a last attempt until I really give it up. I am at the brink now... :/

Link to comment
Share on other sites

Dylbill: I LOVE YOU!!!!! :D

 

Starting 1 compile threads for 1 files...
Compiling "PekSellChestSCR"...
Starting assembly of PekSellChestSCR
0 error(s), 0 warning(s)
Assembly succeeded

Compilation succeeded.
DAMN!!!! :D
Link to comment
Share on other sites

I did send the SKSE64 team an email, telling them to update their package, putting the files at the right location. How hard can it be for them? They are the best of the best after all when it comes to coding Skyrim and if this is a known issue, why do they not solve it as SKSE and SKSE64 is something every damn player and modder are using, so a problem like that should really be a big issue if you ask me. Damn... I feel we wasted a week here for nothing, both of my time but also of your time, but I do feel happy now for sure.

 

In the other hand, I got to know some new marvelous and helpull modders like you Dylbill but also IsharaMeradin and I hope we will have more contact in the future. Well i will soon get new problems anyway, so I be back sooner then we can say ... :wink:

 

As soon as I got a workin script, I will publish it. I guess more than just me are tired of spending time at the merchants, specially as soon as SpeechCraft gets to 100. I do like to buy stuff in the shops, stuff I need like resources but still, I am very tired of reselling Iron Daggers, over and over again. There is funnier things to do in the game than spending time at a bloody Merchant. :D It is Immersive and realistic, but still... I want to be more effective than this.

Edited by Pellape
Link to comment
Share on other sites

Perhaps this bit of information would have been helpful and will be helpful going forward:

 

Scripts

Scripts do not need to be recompiled. Despite rumors that they will break, this is not the case even for things that relied on SKSE. All vanilla and DLC Papyrus .pex files work out of the box, as do all SKSE script when being used with SKSE64. You should have no reason to need to recompile any of your own .pex files when porting to SSE.

That doesn't mean you're home free though - you may have a special situation with a Papyrus script written to work with a specialty SKSE64 plugin that needs to be recompiled to work. You'll have to check with that plugin's author to find out if that needs to be done.

In my personal experience, all of my scripts for all of my mods worked right out of the box. This includes all of the MCM related scripts that began working as though nothing was wrong when SKSE64 finally came out.

One thing you do need to keep in mind though is that the CK's default folder for scripts has changed. Instead of being stored under Data\Scripts, they will now show up under Data\Source. There are 2 solutions to this issue:

1. Leave this as it is and copy all of your own scripts to match the new path names.

2. Change the location in your CreationKitCustom.ini file to point to the old one. The line should look like this: sScriptSourceFolder = ".\Data\Scripts\Source"

Whichever solution you choose you need to be sure that all vanilla and DLC scripts are in that location or the CK will not be able to find them.

Soure: https://www.afkmods.com/index.php?/topic/4633-skyrim-se-porting-a-mod-from-le-to-sse/

Link to comment
Share on other sites

Well thanks for the link but it should not be this way to handle this as firstly, I did not knew I really has a technical issue as I see it as such. We did spend a lot of time here, for nothing, when the package that the SKSE64 team did publish, for Skyrim SE, should have the right path's from the beginning and so I have told them now as I did sent them an email, asking them to put their files in the right place as that package is ONLY for Skyrim SE, even if Skyrim now use that path. This is not Skyrim, it is Skyrim SE :D

 

I should not say it was for nothing, as you all are very very helpful and I feel happy.

 

So, if I knew I had a technical issue, finding that specific post at afk mods, would almost have been impossible. I am not that bright really... :wink: But when we get an issue, when we try to solve it, it is easy to paint our self into a bloody corner. I solve stuff ofetn when I leave the computer, either when I walk with my dog or try to sleep at night. I do not know how many coding issues I solved in the middle of the night in the bed really and it is also then, I get the most crazy ideas about what I wanna add in game, in my mod. No wonder I time to time get the question. What does your mod really do? And I made a wall of text in my description, did I really miss what the mod really is doing? It does so many things, that I really do not know right now :D 2 years of adding stuff... 2-300 scripts... Tools, spells, factions, 70 quests... Nw 3D objects and new Textures... Well what does it do? ;)

 

I would compare this to if you or me made a mod, we put our files in the wrong paths, and made a post of it elsewhere, without saying a word about it at the description of our mods and without linking to that post at all, telling the player if he complain:

 

Did you use Google as I did post about this Elsewhere, so learn how to read :D

 

Honestly, I would never treat my worse hate object at these forums that way, even if he is a bloody troll and got our moderator so tired, he stay away from that troll as much as possible :D I still give that troll the best and pedagogic support I can, try my best to make everyone happy for another TES game and if I say which, it gets to easy to figure out which troll I am talking about as that is not the point I wanna make. We do this on our free time, it is not like we are making a profit of it and that includes the whole SKSE team as well. They do not make a single coin, unless someone freely gives it to them. They are all extremely bright, otherwise they would not been accepted into that team at all. So my point with this is, how hard can it be for 1 single member of the SKSE team to really fix this small issue as it is a small issue that has a very big impact on the community. It is fixed within 1 minute. It is not a serious bug, that requires months to solve. We have the solution now and they only need to get their thumbs out and fix it. More modders then I must have this problem, as it has no impact on the player really. If a mesh or texture or whatever is missing in my projects, I fix it as fast as I can. I do not ever wanna hear that I am a lazy modder that do not support my users really... :wink:

 

A post like the one we saw at AFK Mods, shouldn't been necessary to make at all if SKSE just put their files for Skyrim SE in the SKSE64 package in the first place. They have not read my emails yet as far as I can see but I bet their inbox is full... :wink: In the other hand, instead of just whining and complaining right now, what is good?

 

Both SKSE and OBSE made life so much easier and the job they made, allowed us to make anything, as I cannot find anything I wanted to make, that I couldn't make, not yet, not until I tried to mod Skyrim at least. I did not know about OBSE until 2 years ago and I do think I had SKSE installed 2011 but I do not really remember, as my Skyrim was a bloody mess 2011 and all mods where made with low level tools as CK did not come 2012, just when I got tired of all problems in Skyrim and deleted it. :D

 

I recall I made a script, a long script for Oblivion 2008, without OBSE and I was so angry and pissed over how stupid and simple the vanilla CS scripting is made. I mean, we could make smart, optimized and good looking coding in C 1990, or even 1969 when it first came I guess, but I do not know as I started with it 1990, and I did learn structed cooding, either if it was from a book called C for dummies or at a C course where we learned how to code GEM, the UI used on Atari ST and Apple computers, before Win 1.0 was made 1991. More then me must got as frustrated as I can suddenly code nice scripts with OBSE and also SKSE I guess, if I now can make a script to work as I want it to that is. :D So the OBSE and SKSE teams really made scripting funnier and when I scripted Vanilla Oblivion 2008, I only felt so frustrated and pissed. It was not fun, writing so much code for nothing really, no loops, no nothing, even more stupid than a bloody MS-DOS batch... I would go so far to say, even MS-DOS was smarter and funnier to type and Vanilla CS scipt's :D Bethesda could have done it. They are not stupid. They could really make the script language better and funnier and more optimized from the beginning. That's the backside with Bethesda really. The players needs to fix everything they did not manage to fix in the first place. If they had made the script language smarter from the start, we would never needed SKSE or OBSE really. Just look at the Unofficial bug fixes for all our TES games, TES 1-2 excluded, they are huge. TES 2 is supported by the Unity team these days and they made a very very nice job with Unity and it looks fantastic and it is really fun to play as I did start playing TES 2 1996 and still likes it. I do wonder now how many bugs we get with Starfield next year? How long time will it take until we get the tools to fix their bugs? It took them 1 year to release CK after the release of Skyrim and I recall I was so frustrated as I really wanted to mod Skyrim. :smile: if I get it right, they do have the modding community in mind as they will make 1000 full size planets but only have content on 100, so that leaves us with 900 planets we can do whatever we want with. Those 900 planets will have some resources and Tos said they are there for exploring, Exploring what? I guess he really meant player creations. :wink: Damn it will be bigger than Daggerfall if I get it right? No world is as big, with so much waste and emptiness as Daggerfall, so pointless, but still... :wink: I did try to fly over it with an airship and it took forever. I think I gave up after 15 min, flying in speed 200 or whatever it was and then I had just left the region Daggerfall, west side.

 

Well, sorry for a wall of text but here you have my thoughts how I think things should be handled. I do feel like a bloody whiner right now :wink: But a whiner only whines, instead of doing something about it. :wink:

Well I needed to write some whining, which I rarely do really, very very rarely. I like positive energy, not negative really.... :wink: I should feel happy instead now when we did solve this and I am happy now.

 

I will now open CK, try to make that script and publish my first mod for Skyrim, 10 years to late, well it is soon 11 years, when I think about it. 2011.11.11 :D Almost sounds like RUSH 2112, well the same numbers at least... :wink: Lets see if I can manage to stay happy and make things working instead of whining about how stuff is supported and should be supported here... :wink:

Edited by Pellape
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...